diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 6365a0ab3ac3..77d44867904a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,7 +11,7 @@ Add a changelog entry for this PR by answering the following questions: - [ ] Other, please clarify 2. When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month. 3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month. - 4. If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published. + 4. If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published. - [ ] SDK of .NET (need service team to ensure code readiness) - [ ] SDK of Python - [ ] SDK of Java diff --git a/.github/comment.yml b/.github/comment.yml index d3da85602813..27fdaa1b3350 100644 --- a/.github/comment.yml +++ b/.github/comment.yml @@ -48,7 +48,7 @@ openapiHub: https://portal.azure-devex-tools.com keywords: - "I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow." - onOpenedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use [API Specs Comparison Report Generator](${openapiHub}/tools/diff?pr=${owner}/${repo}/${PRNumber})
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md)

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com" + onOpenedComments: "Hi, @${PRAuthor} Thanks for your PR. I am workflow bot for review process. Here are some small tips.
  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use [API Specs Comparison Report Generator](${openapiHub}/tools/diff?pr=${owner}/${repo}/${PRNumber})
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. [How to fix?](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md)

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com" - rule: type: PROpen diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml index 35e732656b33..6a022d31b7bc 100644 --- a/.github/pull_request_assignment.yml +++ b/.github/pull_request_assignment.yml @@ -65,8 +65,7 @@ - leni-msft - ruowan - jianyexi - - zhenglaizhang - + - rule: paths: "specification/@(resources|powerplatform|appplatform|deviceupdate|servicelinker)/**" @@ -81,7 +80,7 @@ - rule: paths: "specification/sql/**" reviewers: - - zhenglaizhang + - raych1 - rule: paths: "specification/signalr/**" @@ -147,10 +146,11 @@ - weidongxu-microsoft - rule: - paths: - - "specification/keyvault/**" + paths: + - "specification/securityinsights/**" reviewers: - - zhenglaizhang + - dw511214992 + - rule: paths: @@ -178,7 +178,6 @@ reviewers: - akning-ms - raych1 - - zhenglaizhang - rule: # manager-plane PR @@ -193,7 +192,6 @@ - leni-msft - ruowan - jianyexi - - zhenglaizhang - chunyu3 - changlong-liu - msyyc diff --git a/CODEOWNERS b/CODEOWNERS index ef5eecc22608..0fcee181aaa1 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,7 +3,7 @@ /specification/alertsmanagement/ @ofirmanor @olalavi @erangon @orieldar @ilaizi @shakednai1 @khaboasb @orenhor /specification/apimanagement/ @promoisha @solankisamir /specification/applicationinsights/ @alexeldeib -/specification/applicationinsights/data-plane/Monitor.Exporters/ @ramthi @trask @hectorhdzg @lzchen +/specification/applicationinsights/data-plane/Monitor.Exporters/ @ramthi @trask @hectorhdzg @lzchen @Azure/api-stewardship-board /specification/asazure/ @athipp /specification/authorization/ @darshanhs90 @stankovski /specification/automation/ @vrdmr @@ -13,11 +13,12 @@ /specification/billing/ @wilcobmsft @asarkar84 /specification/cdn/ @jorinmejia @yunhemsft @jessicl-ms @sinadell @rrahulms @t-bzhan /specification/cognitiveservices/ @felixwa @yangyuan +/specification/cognitiveservices/data-plane/Language/ @rokulka @ChongTang @annatisch @heaths @Azure/api-stewardship-board /specification/compute/ @bilaakpan-ms @sandido @dkulkarni-ms @haagha @madewithsmiles @MS-syh2qs @grizzlytheodore @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov /specification/consumption/ @kjeur @panda-wang /specification/containerinstance/ @novinc /specification/containerregistry/ @djyou -/specification/containerservice/ @yangl900 +/specification/containerservice/ @palma21 @weinong @seguler @alvinli222 @justindavies @matthchr @robbiezhang @paulgmiller @yizhang4321 @circy9 @qike-ms /specification/cosmos-db/ @dmakwana @MehaKaushik @wmengmsft @shurd /specification/customer-insights/ @tjlvtao /specification/datafactory/ @Frey-Wang @zhangyd2015 @davidzhaoyue @@ -62,7 +63,7 @@ /specification/relay/ @v-ajnava @dsouzaarun @damodaravadhani /specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus /specification/scheduler/ @pinwang81 -/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty +/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty @Azure/api-stewardship-board /specification/search/resource-manager/ @abhi1509 @tjacobhi /specification/serialconsole/ @amitchat @craigw @asinn826 /specification/service-map/ @daveirwin1 @@ -70,7 +71,7 @@ /specification/servicefabric/ @juhacket @samedder /specification/sql/ @jamestao @ericshape @apurvans /specification/storage/ @jasonyang-msft @xiaonlimsft -/specification/storage/data-plane/ @seanmcc-msft +/specification/storage/data-plane/ @seanmcc-msft @Azure/api-stewardship-board /specification/storageimportexport/ @leoz-ms /specification/storagesync/ @ankushbindlish2 /specification/storsimple8000series/ @manaas-microsoft @@ -86,3 +87,4 @@ /specification/**/resource-manager/**/readme.cli.md @jsntcy @qiaozha /specification/**/resource-manager/**/readme.go.md @ArcturusZhang /specification/**/resource-manager/**/readme.python.md @msyyc @BigCat20196 +/specification/*/data-plane/ @Azure/api-stewardship-board diff --git a/cSpell.json b/cSpell.json index 36737a9bcf4c..c3f16db96ed3 100644 --- a/cSpell.json +++ b/cSpell.json @@ -39,7 +39,7 @@ "softwareTerms", "typescript" ], - "overrides": [ + "overrides": [ { "filename": "**/specification/databox/resource-manager/Microsoft.DataBox/stable/2018-01-01/databox.json", "words": [ @@ -82,6 +82,12 @@ "Tera" ] }, + { + "filename": "**/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/databox.json", + "words": [ + "Tera" + ] + }, { "filename": "**/specification/servicebus/resource-manager/Microsoft.ServiceBus/stable/2017-04-01/Rules.json", "words": [ @@ -281,31 +287,7 @@ ] }, { - "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.1/storage.json", - "words": [ - "Regenerte" - ] - }, - { - "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2-preview/storage.json", - "words": [ - "Regenerte" - ] - }, - { - "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/storage.json", - "words": [ - "Regenerte" - ] - }, - { - "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/storage.json", - "words": [ - "Regenerte" - ] - }, - { - "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/storage.json", + "filename": "**/specification/keyvault/data-plane/Microsoft.KeyVault/**/storage.json", "words": [ "Regenerte" ] @@ -834,7 +816,7 @@ ] }, { - "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/*/confluent.json", + "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/*/*/confluent.json", "words": [ "orgvalidate" ] diff --git a/custom-words.txt b/custom-words.txt index 5027b540a04c..6bd421f65d5a 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -43,6 +43,7 @@ ADSIs ADTO adultscore afd +afdx affinitized AFRINIC agentpool @@ -797,6 +798,7 @@ Geofence geofences Geofencing geojson +Geopair georegions georeplication geospatial @@ -1035,6 +1037,7 @@ keyname Keyschannel keyspace keyspaces +keytab Keyvault keyvaultproperties keyvaulturi @@ -1060,6 +1063,7 @@ kubeconfig kubeconfigs kubelet Kubelet +kubelogin kubenet kubernetes Kustomization @@ -1151,6 +1155,7 @@ Lucene Lumia LUNs Luxembourgish +Lminimal machinelearning machinelearningcompute machinelearningexperimentation @@ -1183,6 +1188,7 @@ marketplacecatalog marketplaceordering maxclients maxcoordinates +MAXDOP MAXERRORS maxfragmentationmemory maximumblobsize @@ -1307,6 +1313,7 @@ mystore myvolume myworkbooks nagios +nameserver namespace's nanoserver Napoli @@ -1321,6 +1328,7 @@ ndwi NDWI Neighbourhood netapp +netbios netbsd netdev Netdev @@ -1462,6 +1470,7 @@ pagelist Parallelise paramref PARAVIRTUAL +parentpath partnertopic Passthrough passwd @@ -2015,6 +2024,8 @@ subtasksinfo subteam subtree subtrees +subvolume +subvolumes subwoofer subword subwords @@ -2459,6 +2470,11 @@ schemagroups videoanalyzer Unsecure Noreuse +linkconnections +edittables +detailedstatus +linktables +querytablestatus loadtestservice testmanager additionalmetrics @@ -2475,6 +2491,29 @@ xvalue yvalue servermetrics IAASVM +napt +Napt +NAPT +Plmn +IMSI +UE's +Preemptable +Ambr +AMBR +rfsp +Rfsp +snssai +Snssai +NSSAI +Tbps +Vuln +IAASVM +Quickbase +Smartsheet +Qualys +servermetrics +Picometer +Petabit +questionanswering Picometer Petabit -questionanswering \ No newline at end of file diff --git a/documentation/Breaking changes guidelines.md b/documentation/Breaking changes guidelines.md index fb5369c8b7d0..b68c1e685b58 100644 --- a/documentation/Breaking changes guidelines.md +++ b/documentation/Breaking changes guidelines.md @@ -1,3 +1,5 @@ + + # Azure REST API version change guide ## Overview diff --git a/documentation/ContributingGuidelines.md b/documentation/ContributingGuidelines.md index 5c23dbd5ac32..3f53d95f3f8f 100644 --- a/documentation/ContributingGuidelines.md +++ b/documentation/ContributingGuidelines.md @@ -1,2 +1,5 @@ -### Please refer to the [`wiki`](https://github.com/Azure/adx-documentation-pr/wiki) for internal contribution guidelines. -[`Link your GitHub account`](https://repos.opensource.microsoft.com/) to the 'Azure' organization for access. +For internal contributor, for management plane, please refer to https://aka.ms/rpguidelines; + +For data-plane, please refer to [Guide to design and creation of Data Plane REST API and Client Libraries](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/591/Guide-to-design-and-creation-of-Data-Plane-REST-API-and-Client-Libraries); + +For contribution access to spec repos, please refer to [Public repo vs. Private repo: To get write access](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/202/Overall-Process-of-Management-Plane-SDK-Onboarding?anchor=2.-create/update-the-openapi-specifications%2C-and-launch-swagger-pr-review) diff --git a/documentation/samplefiles/readme.python.md b/documentation/samplefiles/readme.python.md index 78ad9e67d936..77370bd6ea83 100644 --- a/documentation/samplefiles/readme.python.md +++ b/documentation/samplefiles/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-[[ServiceName]] -no-namespace-folders: true +namespace: azure.mgmt.[[ServiceName]] package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/[[ServiceName]]/azure-mgmt-[[ServiceName]]/azure/mgmt/[[ServiceName]] ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/[[ServiceName]]/azure-mgmt-[[ServiceName]] -``` diff --git a/documentation/x-ms-examples.md b/documentation/x-ms-examples.md index bc19619c692b..4a51c7778919 100644 --- a/documentation/x-ms-examples.md +++ b/documentation/x-ms-examples.md @@ -57,7 +57,7 @@ _This will keep the spec cleaner and easy to manage._ ## Structure of the extension - **How the extension would look in the swagger spec?** - - JSON schema for the extension can be found [here](https://github.com/Azure/autorest/blob/master/packages/libs/autorest-schemas/swagger-extensions.json#L1903-L1916). + - JSON schema for the extension can be found [here](https://github.com/Azure/autorest/blob/main/packages/libs/autorest-schemas/swagger-extensions.json#L1844-L1858). ```json5 { "info": { ... }, @@ -79,7 +79,7 @@ _This will keep the spec cleaner and easy to manage._ } ``` - **Skeleton/Schema of the example provided in an individual example (json) file** - - The JSON schema for the content to be provided in the example file can be found [here](https://github.com/Azure/autorest/blob/master/packages/libs/autorest-schemas/example-schema.json). + - The JSON schema for the content to be provided in the example file can be found [here](https://github.com/Azure/autorest/blob/main/packages/libs/autorest-schemas/example-schema.json). ```json5 "x-ms-examples": { "example-name": { //Name of the example/scenario. It is free-form text and should succinctly describe the scenario. diff --git a/package-lock.json b/package-lock.json index 251071956c75..83a9e41a2617 100644 --- a/package-lock.json +++ b/package-lock.json @@ -241,15 +241,23 @@ } }, "node_modules/@ts-common/virtual-fs/node_modules/node-fetch": { +<<<<<<< HEAD + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz", + "integrity": "sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==", +======= "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "dependencies": { "whatwg-url": "^5.0.0" }, "engines": { "node": "4.x || >=6.0.0" +<<<<<<< HEAD +======= }, "peerDependencies": { "encoding": "^0.1.0" @@ -258,6 +266,7 @@ "encoding": { "optional": true } +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 } }, "node_modules/@tsconfig/node10": { @@ -514,6 +523,12 @@ } }, "node_modules/chokidar": { +<<<<<<< HEAD + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, +======= "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", @@ -524,6 +539,7 @@ "url": "https://paulmillr.com/funding/" } ], +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -668,6 +684,20 @@ "dev": true }, "node_modules/data-uri-to-buffer": { +<<<<<<< HEAD + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", +======= "version": "4.0.0", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz", "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==", @@ -680,6 +710,7 @@ "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "dependencies": { "ms": "2.1.2" @@ -773,9 +804,15 @@ } }, "node_modules/fetch-blob": { +<<<<<<< HEAD + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz", + "integrity": "sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ==", +======= "version": "3.1.4", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz", "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "funding": [ { @@ -788,7 +825,10 @@ } ], "dependencies": { +<<<<<<< HEAD +======= "node-domexception": "^1.0.0", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "web-streams-polyfill": "^3.0.3" }, "engines": { @@ -852,6 +892,8 @@ "integrity": "sha1-Ay3KShFiYqEsQ/TD7IVmQWxbLZU=", "dev": true }, +<<<<<<< HEAD +======= "node_modules/formdata-polyfill": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", @@ -864,6 +906,7 @@ "node": ">=12.20.0" } }, +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "node_modules/front-matter": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz", @@ -903,9 +946,15 @@ } }, "node_modules/glob": { +<<<<<<< HEAD + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", +======= "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -1029,9 +1078,15 @@ } }, "node_modules/is-glob": { +<<<<<<< HEAD + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.2.tgz", + "integrity": "sha512-ZZTOjRcDjuAAAv2cTBQP/lL59ZTArx77+7UzHdWW/XB1mrfp7DEaVpKmZ0XIzx+M7AxfhKcqV+nMetUQmFifwg==", +======= "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "dependencies": { "is-extglob": "^2.1.1" @@ -1207,32 +1262,55 @@ "dev": true }, "node_modules/mocha": { +<<<<<<< HEAD + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.2.tgz", + "integrity": "sha512-ta3LtJ+63RIBP03VBjMGtSqbe6cWXRejF9SyM9Zyli1CKZJZ+vfCTj3oW24V7wAphMJdpOFLoMI3hjJ1LWbs0w==", +======= "version": "9.2.0", "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz", "integrity": "sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", +<<<<<<< HEAD + "chokidar": "3.5.2", + "debug": "4.3.2", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.1.7", +======= "chokidar": "3.5.3", "debug": "4.3.3", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", "glob": "7.2.0", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "growl": "1.10.5", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "3.0.4", "ms": "2.1.3", +<<<<<<< HEAD + "nanoid": "3.1.25", +======= "nanoid": "3.2.0", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", "which": "2.0.2", +<<<<<<< HEAD + "workerpool": "6.1.5", +======= "workerpool": "6.2.0", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" @@ -1338,9 +1416,15 @@ "dev": true }, "node_modules/nanoid": { +<<<<<<< HEAD + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", + "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", +======= "version": "3.2.0", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "bin": { "nanoid": "bin/nanoid.cjs" @@ -1349,6 +1433,16 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, +<<<<<<< HEAD + "node_modules/node-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0.tgz", + "integrity": "sha512-bKMI+C7/T/SPU1lKnbQbwxptpCrG9ashG+VkytmXCPZyuM9jB6VU+hY0oi4lC8LxTtAeWdckNCTa3nrGsAdA3Q==", + "dev": true, + "dependencies": { + "data-uri-to-buffer": "^3.0.1", + "fetch-blob": "^3.1.2" +======= "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -1377,6 +1471,7 @@ "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", "formdata-polyfill": "^4.0.10" +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" @@ -1536,9 +1631,15 @@ } }, "node_modules/picomatch": { +<<<<<<< HEAD + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", +======= "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "engines": { "node": ">=8.6" @@ -1827,9 +1928,15 @@ } }, "node_modules/web-streams-polyfill": { +<<<<<<< HEAD + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz", + "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==", +======= "version": "3.2.0", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz", "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true, "engines": { "node": ">= 8" @@ -1873,9 +1980,15 @@ "dev": true }, "node_modules/workerpool": { +<<<<<<< HEAD + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz", + "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==", +======= "version": "6.2.0", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", +>>>>>>> 219b2b3dea0233e3cb43f72d2764c0e4e4d8fcd3 "dev": true }, "node_modules/wrap-ansi": { diff --git a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json index 1927068ae594..cb2ce9da5f50 100644 --- a/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json +++ b/specification/addons/resource-manager/Microsoft.Addons/preview/2018-03-01/addons-swagger.json @@ -298,7 +298,8 @@ "description": "The status of all Canonical support plans for a subscription.", "items": { "$ref": "#/definitions/CanonicalSupportPlanInfoDefinition" - } + }, + "x-ms-identifiers": [] }, "CanonicalSupportPlanInfoDefinition": { "type": "object", @@ -350,7 +351,10 @@ "description": "List of supported operations.", "items": { "$ref": "#/definitions/OperationsDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "OperationsDefinition": { "type": "object", diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json index db6b8de68e43..3eec324c255e 100644 --- a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json +++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json @@ -878,6 +878,10 @@ "items": { "$ref": "#/definitions/DataPoolLocation" }, + "x-ms-identifiers": [ + "name", + "encryption/keyName" + ], "description": "Gets or sets the collection of locations where Data Pool resources should be created" }, "tags": { @@ -1070,14 +1074,21 @@ "type": "array", "items": { "$ref": "#/definitions/OperationLogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "metricSpecifications": { "description": "Details about operations related to metrics", "type": "array", "items": { "$ref": "#/definitions/OperationMetricSpecification" - } + }, + "x-ms-identifiers": [ + "name", + "sourceMdmAccount" + ] } } }, @@ -1140,7 +1151,8 @@ "type": "array", "items": { "$ref": "#/definitions/OperationMetricAvailability" - } + }, + "x-ms-identifiers": [] } } }, @@ -1167,6 +1179,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the Resource Provider" }, "nextLink": { @@ -1205,6 +1220,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/adp/resource-manager/readme.python.md b/specification/adp/resource-manager/readme.python.md index 365fa9086cb0..9911afd82004 100644 --- a/specification/adp/resource-manager/readme.python.md +++ b/specification/adp/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-adp -no-namespace-folders: true +namespace: azure.mgmt.adp package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp -``` diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json index 789f65d262af..cd04e7963e7c 100644 --- a/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json +++ b/specification/advisor/resource-manager/Microsoft.Advisor/stable/2020-01-01/advisor.json @@ -936,7 +936,10 @@ "type": "array", "items": { "$ref": "#/definitions/DigestConfig" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1164,7 +1167,8 @@ "additionalProperties": { "type": "object" } - } + }, + "x-ms-identifiers": [] }, "remediation": { "description": "The automated way to apply recommendation.", @@ -1259,7 +1263,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationEntity" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/advisor/resource-manager/readme.python.md b/specification/advisor/resource-manager/readme.python.md index 4fc829a9b050..1ac39d226032 100644 --- a/specification/advisor/resource-manager/readme.python.md +++ b/specification/advisor/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.advisor @@ -13,12 +13,8 @@ package-version: 9.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor/azure/mgmt/advisor ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/advisor/azure-mgmt-advisor -``` diff --git a/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json index 09e106523d9b..8ab7bedab8c5 100644 --- a/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json +++ b/specification/agrifood/resource-manager/Microsoft.AgFoodPlatform/preview/2020-05-12-preview/agfood.json @@ -1029,6 +1029,9 @@ "items": { "$ref": "#/definitions/DetailedInformation" }, + "x-ms-identifiers": [ + "apiName" + ], "readOnly": true } } diff --git a/specification/agrifood/resource-manager/readme.python.md b/specification/agrifood/resource-manager/readme.python.md index 8d1ac3775c76..a28f9e0a5bfe 100644 --- a/specification/agrifood/resource-manager/readme.python.md +++ b/specification/agrifood/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(python) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.agrifood @@ -12,12 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/agrifood/azure-mgmt-agrifood/azure/mgmt/agrifood ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/agrifood/azure-mgmt-agrifood -``` diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json deleted file mode 100644 index 9b17f3d56e34..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-08-04-preview", - "title": "Azure Alerts Management Service Resource Provider", - "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/providers/Microsoft.AlertsManagement/operations": { - "get": { - "operationId": "Operations_List", - "description": "List all operations available through Azure Alerts Management Resource Provider.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "produces": [ - "application/json" - ], - "responses": { - "200": { - "description": "OK. Successfully retrieved operations list.", - "schema": { - "$ref": "#/definitions/operationsList" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, - "definitions": { - "operation": { - "description": "Operation provided by provider", - "properties": { - "name": { - "type": "string", - "description": "Name of the operation" - }, - "display": { - "type": "object", - "description": "Properties of the operation", - "properties": { - "provider": { - "type": "string", - "description": "Provider name" - }, - "resource": { - "type": "string", - "description": "Resource name" - }, - "operation": { - "type": "string", - "description": "Operation name" - }, - "description": { - "type": "string", - "description": "Description of the operation" - } - } - } - } - }, - "operationsList": { - "description": "Lists the operations available in the AlertsManagement RP.", - "properties": { - "nextLink": { - "description": "URL to fetch the next set of operations.", - "type": "string" - }, - "value": { - "description": "Array of operations", - "type": "array", - "items": { - "$ref": "#/definitions/operation" - } - } - }, - "required": [ - "value" - ] - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json deleted file mode 100644 index 82b212290f05..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2020-08-04-preview", - "title": "Azure Alerts Management Service Resource Provider", - "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/resourceHealthAlertRules": { - "get": { - "tags": [ - "HealthAlerts" - ], - "description": "Retrieve health alert rule definitions in a subscription.", - "operationId": "HealthAlerts_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successful request for a list of health alerts", - "schema": { - "$ref": "#/definitions/HealthAlertResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "x-ms-examples": { - "ListResourceHealthAlertRules": { - "$ref": "./examples/listResourceHealthAlertRules.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlertRules": { - "get": { - "tags": [ - "HealthAlerts" - ], - "description": "Retrieve alert rule definitions in a resource group.", - "operationId": "HealthAlerts_ListByResourceGroup", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successful request for a list of health alerts", - "schema": { - "$ref": "#/definitions/HealthAlertResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "x-ms-examples": { - "ListResourceHealthAlertRules": { - "$ref": "./examples/listResourceHealthAlertRules.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlertRules/{ruleName}": { - "get": { - "tags": [ - "HealthAlerts" - ], - "description": "Retrieve an alert rule definition.", - "operationId": "HealthAlerts_Get", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successful request for a list of health alerts", - "schema": { - "$ref": "#/definitions/HealthAlertResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-examples": { - "GetResourceHealthAlertRuleRule": { - "$ref": "./examples/getResourceHealthAlertRule.json" - } - } - }, - "put": { - "tags": [ - "HealthAlerts" - ], - "description": "Create or update an health alert definition.", - "operationId": "HealthAlerts_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/HealthAlertResource" - }, - "description": "The parameters of the rule to create or update." - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/HealthAlertResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-examples": { - "CreateResourceHealthAlertRule": { - "$ref": "./examples/createOrUpdateResourceHealthAlertRule.json" - } - } - }, - "patch": { - "tags": [ - "HealthAlerts" - ], - "description": "Update an health alert definition.", - "operationId": "HealthAlerts_Update", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/HealthAlertResourcePatch" - }, - "description": "The parameters of the rule to update." - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/HealthAlertResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-examples": { - "PatchResourceHealthAlertRule": { - "$ref": "./examples/patchResourceHealthAlertRule.json" - } - } - }, - "delete": { - "tags": [ - "HealthAlerts" - ], - "description": "Delete an alert rule definition.", - "operationId": "HealthAlerts_Delete", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/RuleNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successful request to delete an health alert rule" - }, - "204": { - "description": "No content: the request was successful, but the response is empty" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/HealthAlertsErrorResponse" - } - } - }, - "x-ms-examples": { - "DeleteResourceHealthAlertRule": { - "$ref": "./examples/deleteResourceHealthAlertRule.json" - } - } - } - } - }, - "definitions": { - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Azure resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" - }, - "location": { - "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ], - "x-ms-azure-resource": true, - "description": "An azure resource object" - }, - "HealthAlertAction": { - "description": "An alert action.", - "properties": { - "actionGroupId": { - "type": "string", - "description": "the id of the action group to use." - }, - "webHookProperties": { - "type": "object", - "additionalProperties": { - "type": "string", - "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." - }, - "description": "The properties of a webhook object." - } - } - }, - "HealthAlertProperties": { - "required": [ - "enabled", - "description", - "criteria" - ], - "properties": { - "description": { - "type": "string", - "description": "the description of the health alert that will be included in the alert email." - }, - "enabled": { - "type": "boolean", - "description": "the flag that indicates whether the health alert is enabled." - }, - "scopes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "the list of resource id's that this health alert is scoped to." - }, - "criteria": { - "$ref": "#/definitions/HealthAlertCriteria", - "description": "defines the specific alert criteria information." - }, - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/HealthAlertAction" - }, - "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." - }, - "lastUpdatedTime": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "Last time the rule was updated in ISO8601 format." - } - }, - "description": "An alert rule." - }, - "HealthAlertResource": { - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "required": [ - "properties" - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/HealthAlertProperties", - "description": "The alert rule properties of the resource." - } - }, - "description": "The health alert resource." - }, - "HealthAlertResourcePatch": { - "properties": { - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/HealthAlertProperties", - "description": "The alert rule properties of the resource." - } - }, - "description": "The health alert resource for patch operations." - }, - "HealthAlertResourceCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/HealthAlertResource" - }, - "description": "the values for the alert rule resources." - } - }, - "description": "Represents a collection of alert rule resources." - }, - "HealthAlertCriteria": { - "type": "object", - "properties": { - "allOf": { - "type": "array", - "items": { - "$ref": "#/definitions/HealthAlertCriterion" - }, - "description": "The list of metric criteria for this 'all of' operation. " - } - }, - "description": "Specifies the resource health alert criteria for a single resource that has multiple metric criteria." - }, - "HealthAlertCriterion": { - "type": "object", - "additionalProperties": { - "type": "object" - }, - "discriminator": "namespace", - "properties": { - "namespace": { - "type": "string", - "enum": [ - "GuestVmHealth" - ], - "x-ms-enum": { - "name": "HealthAlertsNamespace", - "modelAsString": true - }, - "description": "specifies the type of the alert criterion." - } - }, - "required": [ - "namespace" - ], - "description": "The rule criterion that defines the conditions of the alert rule." - }, - "VmGuestHealthAlertCriterion": { - "x-ms-discriminator-value": "GuestVmHealth", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/HealthAlertCriterion" - } - ], - "properties": { - "monitorNames": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Names of health monitor on which to define alert" - }, - "monitorTypes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Names of health monitor type on which to define alert" - }, - "healthStates": { - "type": "array", - "items": { - "$ref": "#/definitions/HealthState" - }, - "description": "Health states to alert on" - } - }, - "required": [ - "healthStates" - ], - "description": "Specifies the health alert criteria to alert on." - }, - "HealthState": { - "type": "object", - "properties": { - "healthStateName": { - "type": "string", - "description": "Health state name", - "enum": [ - "Warning", - "Critical" - ], - "x-ms-enum": { - "name": "HealthStateName", - "modelAsString": true - } - }, - "severity": { - "type": "integer", - "format": "int64", - "description": "Severity of alert fired" - } - }, - "required": [ - "healthStateName", - "severity" - ], - "description": "Specifies the health state to alert on and the corresponding severity" - }, - "HealthAlertsErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/HealthAlertsErrorResponseBody" - } - } - }, - "HealthAlertsErrorResponseBody": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The Azure subscription Id." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group.", - "x-ms-parameter-location": "method" - }, - "RuleNameParameter": { - "name": "ruleName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the rule.", - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlertRule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlertRule.json deleted file mode 100644 index 199a988ca62d..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlertRule.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "parameters": { - "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", - "resourceGroupName": "gigtest", - "ruleName": "highcpu", - "api-version": "2020-08-04-preview", - "parameters": { - "location": "global", - "properties": { - "description": "This is the description of the rule1", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": [ - "root" - ], - "healthStates": [ - { - "name": "Critical", - "severity": 2 - }, - { - "name": "Warning", - "severity": 3 - } - ], - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", - "type": "Microsoft.AlertsManagement/resourceHealthAlerts", - "location": "global", - "properties": { - "description": "This is the description of the first rule", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": "root", - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlertRule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlertRule.json deleted file mode 100644 index 0d5dfed02952..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlertRule.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parameters": { - "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", - "resourceGroupName": "gigtest", - "ruleName": "highcpu", - "api-version": "2018-03-01" - }, - "responses": { - "200": {}, - "204": {} - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlertRule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlertRule.json deleted file mode 100644 index 96ce9b3e6cec..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlertRule.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "parameters": { - "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", - "resourceGroupName": "gigtest", - "ruleName": "highcpu", - "api-version": "2020-08-04-preview" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", - "type": "Microsoft.AlertsManagement/resourceHealthAlerts", - "location": "global", - "properties": { - "description": "This is the description of the rule1", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": [ - "root" - ], - "healthStates": [ - { - "name": "Critical", - "severity": 2 - }, - { - "name": "Warning", - "severity": 3 - } - ], - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlertRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlertRules.json deleted file mode 100644 index 10d0ac94ba11..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlertRules.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "parameters": { - "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", - "resourceGroupName": "gigtest", - "api-version": "2020-08-04-preview" - }, - "responses": { - "200": { - "headers": {}, - "body": { - "value": [ - { - "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", - "type": "Microsoft.AlertsManagement/resourceHealthAlerts", - "location": "global", - "properties": { - "description": "This is the description of the first rule", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": [ - "root" - ], - "healthStates": [ - { - "name": "Critical", - "severity": 2 - }, - { - "name": "Warning", - "severity": 3 - } - ], - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - ] - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlertRule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlertRule.json deleted file mode 100644 index 4c80833897c5..000000000000 --- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlertRule.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "parameters": { - "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7", - "resourceGroupName": "gigtest", - "ruleName": "highcpu", - "api-version": "2020-08-04-preview", - "parameters": { - "properties": { - "description": "This is the description of the rule1", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": [ - "root" - ], - "healthStates": [ - { - "name": "Critical", - "severity": 2 - }, - { - "name": "Warning", - "severity": 3 - } - ], - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - }, - "responses": { - "200": { - "headers": {}, - "body": { - "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/resourceHealthAlerts/highcpu", - "type": "Microsoft.AlertsManagement/resourceHealthAlerts", - "location": "global", - "properties": { - "description": "This is the description of the rule1", - "enabled": true, - "scopes": [ - "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/Microsoft.Compute/virtualMachines/gigwadme" - ], - "criteria": { - "allOf": [ - { - "monitorNames": [ - "root" - ], - "healthStates": [ - { - "name": "Critical", - "severity": 2 - }, - { - "name": "Warning", - "severity": 3 - } - ], - "namespace": "GuestVmHealth" - } - ] - }, - "actions": [ - { - "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2", - "webHookProperties": { - "key11": "value11", - "key12": "value12" - } - } - ] - } - } - } - } -} diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md index 4cd35a1e52da..0a328b7f0105 100644 --- a/specification/alertsmanagement/resource-manager/readme.md +++ b/specification/alertsmanagement/resource-manager/readme.md @@ -148,16 +148,6 @@ input-file: - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json ``` -### Tag: package-2020-08-04-preview - -These settings apply only when `--tag=package-2020-08-04` is specified on the command line. - -``` yaml $(tag) == 'package-2020-08-04-preview' -input-file: -- Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json -- Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json -``` - --- # Code Generation diff --git a/specification/alertsmanagement/resource-manager/readme.python.md b/specification/alertsmanagement/resource-manager/readme.python.md index c0946a274a69..18edc4ca3a65 100644 --- a/specification/alertsmanagement/resource-manager/readme.python.md +++ b/specification/alertsmanagement/resource-manager/readme.python.md @@ -5,7 +5,7 @@ Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-apimanagement -no-namespace-folders: true +namespace: azure.mgmt.apimanagement package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/apimanagement/azure-mgmt-apimanagement/azure/mgmt/apimanagement ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/apimanagement/azure-mgmt-apimanagement -``` diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/AuthConfigs.json new file mode 100644 index 000000000000..3bbe8e1d6082 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/AuthConfigs.json @@ -0,0 +1,980 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get the Container App AuthConfigs in a given resource group.", + "operationId": "ContainerAppsAuthConfigs_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfigCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Auth Configs by Container Apps": { + "$ref": "./examples/AuthConfigs_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{name}": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get a AuthConfig of a Container App.", + "operationId": "ContainerAppsAuthConfigs_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's AuthConfig": { + "$ref": "./examples/AuthConfigs_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Create or update the AuthConfig for a Container App.", + "description": "Description for Create or update the AuthConfig for a Container App.", + "operationId": "ContainerAppsAuthConfigs_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "name": "authConfigEnvelope", + "in": "body", + "description": "Properties used to create a Container App AuthConfig", + "required": true, + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Delete a Container App AuthConfig.", + "description": "Description for Delete a Container App AuthConfig.", + "operationId": "ContainerAppsAuthConfigs_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "204": { + "description": "Container App AuthConfig does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_Delete.json" + } + } + } + } + }, + "definitions": { + "AuthConfigCollection": { + "description": "AuthConfig collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthConfig" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AuthConfig": { + "description": "Configuration settings for the Azure ContainerApp Service Authentication / Authorization feature.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "AuthConfig resource specific properties", + "type": "object", + "properties": { + "platform": { + "$ref": "#/definitions/AuthPlatform", + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "globalValidation": { + "$ref": "#/definitions/GlobalValidation", + "description": "The configuration settings that determines the validation flow of users using Service Authentication/Authorization." + }, + "identityProviders": { + "$ref": "#/definitions/IdentityProviders", + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "$ref": "#/definitions/Login", + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "$ref": "#/definitions/HttpSettings", + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + } + }, + "x-ms-client-flatten": true + } + } + }, + "AuthPlatform": { + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "enabled": { + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", + "type": "boolean" + }, + "runtimeVersion": { + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", + "type": "string" + } + } + }, + "GlobalValidation": { + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientActionV2", + "modelAsString": false + } + }, + "redirectToProvider": { + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", + "type": "string" + }, + "excludedPaths": { + "description": "The paths for which unauthenticated flow would not be redirected to the login page.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HttpSettings": { + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "requireHttps": { + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", + "type": "boolean" + }, + "routes": { + "$ref": "#/definitions/HttpSettingsRoutes", + "description": "The configuration settings of the paths HTTP requests." + }, + "forwardProxy": { + "$ref": "#/definitions/ForwardProxy", + "description": "The configuration settings of a forward proxy used to make the requests." + } + } + }, + "HttpSettingsRoutes": { + "description": "The configuration settings of the paths HTTP requests.", + "type": "object", + "properties": { + "apiPrefix": { + "description": "The prefix that should precede all the authentication/authorization paths.", + "type": "string" + } + } + }, + "ForwardProxy": { + "description": "The configuration settings of a forward proxy used to make the requests.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used to determine the url of the request made.", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ForwardProxyConvention", + "modelAsString": false + } + }, + "customHostHeaderName": { + "description": "The name of the header containing the host of the request.", + "type": "string" + }, + "customProtoHeaderName": { + "description": "The name of the header containing the scheme of the request.", + "type": "string" + } + } + }, + "Login": { + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "routes": { + "$ref": "#/definitions/LoginRoutes", + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "preserveUrlFragmentsForLogins": { + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false.", + "type": "boolean" + }, + "allowedExternalRedirectUrls": { + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", + "type": "array", + "items": { + "type": "string" + } + }, + "cookieExpiration": { + "$ref": "#/definitions/CookieExpiration", + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "$ref": "#/definitions/Nonce", + "description": "The configuration settings of the nonce used in the login flow." + } + } + }, + "LoginRoutes": { + "description": "The routes that specify the endpoints used for login and logout requests.", + "type": "object", + "properties": { + "logoutEndpoint": { + "description": "The endpoint at which a logout request should be made.", + "type": "string" + } + } + }, + "CookieExpiration": { + "description": "The configuration settings of the session cookie's expiration.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used when determining the session cookie's expiration.", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ], + "type": "string", + "x-ms-enum": { + "name": "CookieExpirationConvention", + "modelAsString": false + } + }, + "timeToExpiration": { + "description": "The time after the request is made when the session cookie should expire.", + "type": "string" + } + } + }, + "Nonce": { + "description": "The configuration settings of the nonce used in the login flow.", + "type": "object", + "properties": { + "validateNonce": { + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true.", + "type": "boolean" + }, + "nonceExpirationInterval": { + "description": "The time after the request is made when the nonce should expire.", + "type": "string" + } + } + }, + "IdentityProviders": { + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The configuration settings of the Azure Active directory provider." + }, + "facebook": { + "$ref": "#/definitions/Facebook", + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "$ref": "#/definitions/GitHub", + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "$ref": "#/definitions/Google", + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "$ref": "#/definitions/Twitter", + "description": "The configuration settings of the Twitter provider." + }, + "apple": { + "$ref": "#/definitions/Apple", + "description": "The configuration settings of the Apple provider." + }, + "azureStaticWebApps": { + "$ref": "#/definitions/AzureStaticWebApps", + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } + } + } + }, + "AzureActiveDirectory": { + "description": "The configuration settings of the Azure Active directory provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration", + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin", + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "isAutoProvisioned": { + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryLogin": { + "description": "The configuration settings of the Azure Active Directory login flow.", + "type": "object", + "properties": { + "loginParameters": { + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", + "type": "array", + "items": { + "type": "string" + } + }, + "disableWWWAuthenticate": { + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryRegistration": { + "description": "The configuration settings of the Azure Active Directory app registration.", + "type": "object", + "properties": { + "openIdIssuer": { + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", + "type": "string" + }, + "clientId": { + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret of the relying party application.", + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", + "type": "string" + }, + "clientSecretCertificateSubjectAlternativeName": { + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + }, + "clientSecretCertificateIssuer": { + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + } + } + }, + "AzureActiveDirectoryValidation": { + "description": "The configuration settings of the Azure Active Directory token validation flow.", + "type": "object", + "properties": { + "jwtClaimChecks": { + "$ref": "#/definitions/JwtClaimChecks", + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "allowedAudiences": { + "description": "The list of audiences that can make successful authentication/authorization requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultAuthorizationPolicy": { + "$ref": "#/definitions/DefaultAuthorizationPolicy", + "description": "The configuration settings of the default authorization policy." + } + } + }, + "JwtClaimChecks": { + "description": "The configuration settings of the checks that should be made while validating the JWT Claims.", + "type": "object", + "properties": { + "allowedGroups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedClientApplications": { + "description": "The list of the allowed client applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultAuthorizationPolicy": { + "description": "The configuration settings of the Azure Active Directory default authorization policy.", + "type": "object", + "properties": { + "allowedPrincipals": { + "$ref": "#/definitions/AllowedPrincipals", + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "allowedApplications": { + "description": "The configuration settings of the Azure Active Directory allowed applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AllowedPrincipals": { + "description": "The configuration settings of the Azure Active Directory allowed principals.", + "type": "object", + "properties": { + "groups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "identities": { + "description": "The list of the allowed identities.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Facebook": { + "description": "The configuration settings of the Facebook provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppRegistration", + "description": "The configuration settings of the app registration for the Facebook provider." + }, + "graphApiVersion": { + "description": "The version of the Facebook api to be used while logging in.", + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppRegistration": { + "description": "The configuration settings of the app registration for providers that have app ids and app secrets", + "type": "object", + "properties": { + "appId": { + "description": "The App ID of the app used for login.", + "type": "string" + }, + "appSecretSettingName": { + "description": "The app setting name that contains the app secret.", + "type": "string" + } + } + }, + "LoginScopes": { + "description": "The configuration settings of the login flow, including the scopes that should be requested.", + "type": "object", + "properties": { + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GitHub": { + "description": "The configuration settings of the GitHub provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the GitHub provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "ClientRegistration": { + "description": "The configuration settings of the app registration for providers that have client ids and client secrets", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "Google": { + "description": "The configuration settings of the Google provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the Google provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + } + }, + "AllowedAudiencesValidation": { + "description": "The configuration settings of the Allowed Audiences validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Twitter": { + "description": "The configuration settings of the Twitter provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration", + "description": "The configuration settings of the app registration for the Twitter provider." + } + } + }, + "TwitterRegistration": { + "description": "The configuration settings of the app registration for the Twitter provider.", + "type": "object", + "properties": { + "consumerKey": { + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", + "type": "string" + }, + "consumerSecretSettingName": { + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" + } + } + }, + "Apple": { + "description": "The configuration settings of the Apple provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppleRegistration", + "description": "The configuration settings of the Apple registration." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppleRegistration": { + "description": "The configuration settings of the registration for the Apple provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "AzureStaticWebApps": { + "description": "The configuration settings of the Azure Static Web Apps provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureStaticWebAppsRegistration", + "description": "The configuration settings of the Azure Static Web Apps registration." + } + } + }, + "AzureStaticWebAppsRegistration": { + "description": "The configuration settings of the registration for the Azure Static Web Apps provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + } + } + }, + "CustomOpenIdConnectProvider": { + "description": "The configuration settings of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration", + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin", + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectRegistration": { + "description": "The configuration settings of the app registration for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "clientId": { + "description": "The client id of the custom Open ID Connect provider.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential", + "description": "The authentication credentials of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig", + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectClientCredential": { + "description": "The authentication client credentials of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "method": { + "description": "The method that should be used to authenticate the user.", + "enum": [ + "ClientSecretPost" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCredentialMethod", + "modelAsString": false + } + }, + "clientSecretSettingName": { + "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", + "type": "string" + } + } + }, + "OpenIdConnectConfig": { + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "authorizationEndpoint": { + "description": "The endpoint to be used to make an authorization request.", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint to be used to request a token.", + "type": "string" + }, + "issuer": { + "description": "The endpoint that issues the token.", + "type": "string" + }, + "certificationUri": { + "description": "The endpoint that provides the keys necessary to validate the token.", + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "description": "The endpoint that contains all the configuration endpoints for the provider.", + "type": "string" + } + } + }, + "OpenIdConnectLogin": { + "description": "The configuration settings of the login flow of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "nameClaimType": { + "description": "The name of the claim that contains the users name.", + "type": "string" + }, + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json new file mode 100644 index 000000000000..d74fb9991175 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json @@ -0,0 +1,548 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "EnvironmentVar": { + "description": "Container App container environment variable.", + "type": "object", + "properties": { + "name": { + "description": "Environment variable name.", + "type": "string" + }, + "value": { + "description": "Non-secret environment variable value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Container App secret from which to pull the environment variable value.", + "type": "string" + } + } + }, + "Container": { + "description": "Container App container definition.", + "type": "object", + "properties": { + "image": { + "description": "Container image tag.", + "type": "string" + }, + "name": { + "description": "Custom container name.", + "type": "string" + }, + "command": { + "description": "Container start command.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Container start command arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Container environment variables.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resources": { + "$ref": "#/definitions/ContainerResources", + "description": "Container resource requirements." + }, + "probes": { + "description": "List of probes for the container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + }, + "x-ms-identifiers": [ + "type" + ] + }, + "volumeMounts": { + "description": "Container volume mounts.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "volumeName" + ] + } + } + }, + "ContainerResources": { + "description": "Container App container resource requirements.", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "Required CPU in cores, e.g. 0.5", + "type": "number" + }, + "memory": { + "description": "Required memory, e.g. \"250Mb\"", + "type": "string" + }, + "ephemeralStorage": { + "description": "Ephemeral Storage, e.g. \"1Gi\"", + "type": "string", + "readOnly": true + } + } + }, + "ContainerAppProbe": { + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "type": "object", + "properties": { + "failureThreshold": { + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "httpGet": { + "description": "HTTPGet specifies the http request to perform.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "type": "array", + "items": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "description": "The header field name", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP.", + "type": "string" + } + } + }, + "initialDelaySeconds": { + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "tcpSocket": { + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the pod IP.", + "type": "string" + }, + "port": { + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + } + } + }, + "terminationGracePeriodSeconds": { + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)", + "type": "integer", + "format": "int64" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "type": { + "description": "The type of probe.", + "enum": [ + "liveness", + "readiness", + "startup" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "CustomScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "type": { + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.", + "type": "string" + }, + "metadata": { + "description": "Metadata properties to describe custom scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "DefaultErrorResponse": { + "description": "App Service error response.", + "type": "object", + "properties": { + "error": { + "description": "Error model.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "details": { + "type": "array", + "description": "Details or the error", + "items": { + "description": "Detailed errors.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "x-ms-identifiers": [ + "code" + ] + }, + "innererror": { + "description": "More information to debug error.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "HttpScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata properties to describe http scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "QueueScaleRule": { + "description": "Container App container Azure Queue based scaling rule.", + "type": "object", + "properties": { + "queueName": { + "description": "Queue name.", + "type": "string" + }, + "queueLength": { + "format": "int32", + "description": "Queue length.", + "type": "integer" + }, + "auth": { + "description": "Authentication secrets for the queue scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "Scale": { + "description": "Container App scaling configurations.", + "type": "object", + "properties": { + "minReplicas": { + "format": "int32", + "description": "Optional. Minimum number of container replicas.", + "type": "integer" + }, + "maxReplicas": { + "format": "int32", + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.", + "type": "integer" + }, + "rules": { + "description": "Scaling rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ScaleRule": { + "description": "Container App container scaling rule.", + "type": "object", + "properties": { + "name": { + "description": "Scale Rule Name", + "type": "string" + }, + "azureQueue": { + "$ref": "#/definitions/QueueScaleRule", + "description": "Azure Queue based scaling." + }, + "custom": { + "$ref": "#/definitions/CustomScaleRule", + "description": "Custom scale rule." + }, + "http": { + "$ref": "#/definitions/HttpScaleRule", + "description": "HTTP requests based scaling." + } + } + }, + "ScaleRuleAuth": { + "description": "Auth Secrets for Container App Scale Rule", + "type": "object", + "properties": { + "secretRef": { + "description": "Name of the Container App secret from which to pull the auth params.", + "type": "string" + }, + "triggerParameter": { + "description": "Trigger Parameter that uses the secret", + "type": "string" + } + } + }, + "Secret": { + "description": "Secret definition.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string" + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Template": { + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created", + "type": "object", + "properties": { + "revisionSuffix": { + "description": "User friendly suffix that is appended to the revision name", + "type": "string" + }, + "containers": { + "description": "List of container definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scale": { + "$ref": "#/definitions/Scale", + "description": "Scaling properties for the Container App." + }, + "volumes": { + "description": "List of volume definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Volume": { + "description": "Volume definitions for the Container App.", + "type": "object", + "properties": { + "name": { + "description": "Volume name.", + "type": "string" + }, + "storageType": { + "description": "Storage type for the volume. If not provided, use EmptyDir.", + "enum": [ + "AzureFile", + "EmptyDir" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageName": { + "description": "Name of storage resource. No need to provide for EmptyDir.", + "type": "string" + } + } + }, + "VolumeMount": { + "description": "Volume mount for the Container App.", + "type": "object", + "properties": { + "volumeName": { + "description": "This must match the Name of a Volume.", + "type": "string" + }, + "mountPath": { + "description": "Path within the container at which the volume should be mounted.Must not contain ':'.", + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json new file mode 100644 index 000000000000..4ddf1ed27cb1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json @@ -0,0 +1,873 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given subscription.", + "operationId": "ContainerApps_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by subscription": { + "$ref": "./examples/ContainerApps_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given resource group.", + "operationId": "ContainerApps_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by resource group": { + "$ref": "./examples/ContainerApps_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the properties of a Container App.", + "operationId": "ContainerApps_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "404": { + "description": "Not found.", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App": { + "$ref": "./examples/ContainerApps_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerApps" + ], + "summary": "Create or update a Container App.", + "description": "Description for Create or update a Container App.", + "operationId": "ContainerApps_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "description": "Properties used to create a container app", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "201": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App": { + "$ref": "./examples/ContainerApps_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerApps" + ], + "summary": "Delete a Container App.", + "description": "Description for Delete a Container App.", + "operationId": "ContainerApps_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "202": { + "description": "Delete operation is in progress." + }, + "204": { + "description": "Container App does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App": { + "$ref": "./examples/ContainerApps_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ContainerApps" + ], + "summary": "Update properties of a Container App", + "description": "Patches a Container App. Currently only patching of tags is supported", + "operationId": "ContainerApps_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "required": true, + "description": "Properties of a container app that need to be updated", + "schema": { + "$ref": "#/definitions/ContainerAppPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App updated successfully.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Container App": { + "$ref": "./examples/ContainerApps_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listCustomHostNameAnalysis": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Analyzes a custom hostname for a Container App", + "operationId": "ContainerApps_ListCustomHostNameAnalysis", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "customHostname", + "in": "query", + "description": "Custom hostname.", + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomHostnameAnalysisResult" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze Custom Hostname": { + "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}/listSecrets": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "List secrets for a container app", + "operationId": "ContainerApps_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Secrets": { + "$ref": "./examples/ContainerApps_ListSecrets.json" + } + } + } + } + }, + "definitions": { + "Configuration": { + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app", + "type": "object", + "properties": { + "secrets": { + "description": "Collection of secrets used by a Container app", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "activeRevisionsMode": { + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode", + "enum": [ + "multiple", + "single" + ], + "type": "string", + "x-ms-enum": { + "name": "ActiveRevisionsMode", + "modelAsString": true + } + }, + "ingress": { + "$ref": "#/definitions/Ingress", + "description": "Ingress configurations." + }, + "registries": { + "description": "Collection of private container registry credentials for containers used by the Container app", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + }, + "x-ms-identifiers": [ + "server" + ] + }, + "dapr": { + "$ref": "#/definitions/Dapr", + "description": "Dapr configuration for the Container App." + } + } + }, + "ContainerApp": { + "description": "Container App.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "description": "managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "description": "ContainerApp resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Container App.", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerAppProvisioningState", + "modelAsString": true + } + }, + "managedEnvironmentId": { + "description": "Resource ID of the Container App's environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "latestRevisionName": { + "description": "Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "latestRevisionFqdn": { + "description": "Fully Qualified Domain Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "customDomainVerificationId": { + "description": "Id used to verify domain name ownership", + "type": "string", + "readOnly": true + }, + "configuration": { + "$ref": "#/definitions/Configuration", + "description": "Non versioned Container App configuration properties." + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App versioned application definition." + }, + "outboundIPAddresses": { + "description": "Outbound IP Addresses for container app.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ContainerAppCollection": { + "description": "Container App collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerApp" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ContainerAppPatch": { + "description": "Container App Patch.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "Dapr": { + "description": "Container App Dapr configuration.", + "type": "object", + "properties": { + "enabled": { + "description": "Boolean indicating if the Dapr side car is enabled", + "type": "boolean" + }, + "appId": { + "description": "Dapr application identifier", + "type": "string" + }, + "appProtocol": { + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http", + "enum": [ + "http", + "grpc" + ], + "type": "string", + "x-ms-enum": { + "name": "appProtocol", + "modelAsString": true + } + }, + "appPort": { + "format": "int32", + "description": "Tells Dapr which port your application is listening on", + "type": "integer" + } + } + }, + "Ingress": { + "description": "Container App Ingress configuration.", + "type": "object", + "properties": { + "fqdn": { + "description": "Hostname.", + "type": "string", + "readOnly": true + }, + "external": { + "description": "Bool indicating if app exposes an external http endpoint", + "default": false, + "type": "boolean" + }, + "targetPort": { + "format": "int32", + "description": "Target Port in containers for traffic from ingress", + "type": "integer" + }, + "transport": { + "description": "Ingress transport protocol", + "enum": [ + "auto", + "http", + "http2" + ], + "type": "string", + "x-ms-enum": { + "name": "IngressTransportMethod", + "modelAsString": true + } + }, + "traffic": { + "description": "Traffic weights for app's revisions", + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + }, + "x-ms-identifiers": [ + "revisionName" + ] + }, + "customDomains": { + "description": "custom domain bindings for Container Apps' hostnames.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "allowInsecure": { + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections", + "type": "boolean" + } + } + }, + "RegistryCredentials": { + "description": "Container App Private Registry", + "type": "object", + "properties": { + "server": { + "description": "Container Registry Server", + "type": "string" + }, + "username": { + "description": "Container Registry Username", + "type": "string" + }, + "passwordSecretRef": { + "description": "The name of the Secret that contains the registry login password", + "type": "string" + } + } + }, + "SecretsCollection": { + "description": "Container App Secrets Collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppSecret" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ContainerAppSecret": { + "description": "Container App Secret.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + } + } + }, + "TrafficWeight": { + "description": "Traffic weight assigned to a revision", + "type": "object", + "properties": { + "revisionName": { + "description": "Name of a revision", + "type": "string" + }, + "weight": { + "format": "int32", + "description": "Traffic weight assigned to a revision", + "type": "integer" + }, + "latestRevision": { + "description": "Indicates that the traffic weight belongs to a latest stable revision", + "default": false, + "type": "boolean" + } + } + }, + "CustomDomain": { + "description": "Custom Domain of a Container App", + "type": "object", + "required": [ + "name", + "certificateId" + ], + "properties": { + "name": { + "description": "Hostname.", + "type": "string" + }, + "bindingType": { + "description": "Custom Domain binding type.", + "enum": [ + "Disabled", + "SniEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "bindingType", + "modelAsString": true + } + }, + "certificateId": { + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.", + "type": "string" + } + } + }, + "CustomHostnameAnalysisResult": { + "description": "Custom domain analysis.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "CustomHostnameAnalysisResult resource specific properties", + "type": "object", + "properties": { + "hostName": { + "description": "Host name that was analyzed", + "type": "string", + "readOnly": true + }, + "isHostnameAlreadyVerified": { + "description": "true if hostname is already verified; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "customDomainVerificationTest": { + "description": "DNS verification test result.", + "enum": [ + "Passed", + "Failed", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DnsVerificationTestResult", + "modelAsString": false + } + }, + "customDomainVerificationFailureInfo": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse", + "description": "Raw failure information if DNS verification fails.", + "readOnly": true + }, + "hasConflictOnManagedEnvironment": { + "description": "true if there is a conflict on the Container App's managed environment; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "conflictingContainerAppResourceId": { + "description": "Name of the conflicting Container App on the Managed Environment if it's within the same subscription.", + "type": "string", + "readOnly": true + }, + "cNameRecords": { + "description": "CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "txtRecords": { + "description": "TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "aRecords": { + "description": "A records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateCNameRecords": { + "description": "Alternate CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateTxtRecords": { + "description": "Alternate TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json new file mode 100644 index 000000000000..fb2cebb000f2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json @@ -0,0 +1,588 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get the Revisions for a given Container App.", + "operationId": "ContainerAppsRevisions_ListRevisions", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App for which Revisions are needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RevisionCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's revisions": { + "$ref": "./examples/Revisions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get a revision of a Container App.", + "operationId": "ContainerAppsRevisions_GetRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Revision" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision": { + "$ref": "./examples/Revisions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/activate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Activates a revision for a Container App", + "operationId": "ContainerAppsRevisions_ActivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was activated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Activate Container App's revision": { + "$ref": "./examples/Revisions_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/deactivate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Deactivates a revision for a Container App", + "operationId": "ContainerAppsRevisions_DeactivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was deactivated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Deactivate Container App's revision": { + "$ref": "./examples/Revisions_Deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "Get a replica for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_GetReplica", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision Replica.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision replica": { + "$ref": "./examples/Replicas_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "List replicas for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_ListReplicas", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicaCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's replicas": { + "$ref": "./examples/Replicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/restart": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Restarts a revision for a Container App", + "operationId": "ContainerAppsRevisions_RestartRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was restarted" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart Container App's revision": { + "$ref": "./examples/Revisions_Restart.json" + } + } + } + } + }, + "definitions": { + "Revision": { + "description": "Container App Revision.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "format": "date-time", + "description": "Timestamp describing when the revision was created\nby controller", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "Fully qualified domain name of the revision", + "type": "string", + "readOnly": true + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time", + "readOnly": true + }, + "active": { + "description": "Boolean describing if the Revision is Active", + "type": "boolean", + "readOnly": true + }, + "replicas": { + "format": "int32", + "description": "Number of pods currently running for this revision", + "type": "integer", + "readOnly": true + }, + "trafficWeight": { + "format": "int32", + "description": "Traffic weight assigned to this revision", + "type": "integer", + "readOnly": true + }, + "provisioningError": { + "description": "Optional Field - Platform Error Message", + "type": "string", + "readOnly": true + }, + "healthState": { + "description": "Current health State of the revision", + "enum": [ + "Healthy", + "Unhealthy", + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionHealthState", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Current provisioning State of the revision", + "enum": [ + "Provisioning", + "Provisioned", + "Failed", + "Deprovisioning", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionProvisioningState", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "RevisionCollection": { + "description": "Container App Revisions collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Revision" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Replica": { + "description": "Container App Revision Replica.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Replica resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "type": "string", + "description": "Timestamp describing when the pod was created by controller", + "format": "date-time", + "readOnly": true + }, + "containers": { + "description": "The containers collection under a replica.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaContainer" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "ReplicaCollection": { + "description": "Container App Revision Replicas collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + } + } + }, + "ReplicaContainer": { + "description": "Container object under Container App Revision Replica.", + "type": "object", + "properties": { + "name": { + "description": "The Name of the Container", + "type": "string" + }, + "containerId": { + "description": "The Id of the Container", + "type": "string" + }, + "ready": { + "description": "The container ready status", + "type": "boolean" + }, + "started": { + "description": "The container start status", + "type": "boolean" + }, + "restartCount": { + "format": "int32", + "description": "The container restart count", + "type": "integer" + } + } + } + }, + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json new file mode 100644 index 000000000000..4e5f5f8b3124 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json @@ -0,0 +1,356 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get the Dapr Components for a managed environment.", + "operationId": "DaprComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr Components": { + "$ref": "./examples/DaprComponents_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{name}": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get a dapr component.", + "operationId": "DaprComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr Component": { + "$ref": "./examples/DaprComponents_Get.json" + } + } + }, + "put": { + "tags": [ + "DaprComponents" + ], + "summary": "Creates or updates a Dapr Component.", + "description": "Creates or updates a Dapr Component in a Managed Environment.", + "operationId": "DaprComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component.", + "required": true, + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr component": { + "$ref": "./examples/DaprComponents_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponents" + ], + "summary": "Delete a Dapr Component.", + "description": "Delete a Dapr Component from a Managed Environment.", + "operationId": "DaprComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component": { + "$ref": "./examples/DaprComponents_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + } + }, + "definitions": { + "DaprComponentsCollection": { + "description": "Dapr Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprComponent": { + "description": "Dapr Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr Component resource specific properties", + "type": "object", + "properties": { + "componentType": { + "description": "Component type", + "type": "string" + }, + "version": { + "description": "Component version", + "type": "string" + }, + "ignoreErrors": { + "description": "Boolean describing if the component errors are ignores", + "type": "boolean" + }, + "initTimeout": { + "description": "Initialization timeout", + "type": "string" + }, + "secrets": { + "description": "Collection of secrets used by a Dapr component", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metadata": { + "description": "Component metadata", + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scopes": { + "description": "Names of container apps that can use this Dapr component", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprMetadata": { + "description": "Dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Metadata property name.", + "type": "string" + }, + "value": { + "description": "Metadata property value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Dapr Component secret from which to pull the metadata property value.", + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json new file mode 100644 index 000000000000..a60af63ef565 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.App/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available RP operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all operations": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json new file mode 100644 index 000000000000..e5a6084931a1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json @@ -0,0 +1,924 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all Environments for a subscription.", + "description": "Get all Managed Environments for a subscription.", + "operationId": "ManagedEnvironments_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by subscription": { + "$ref": "./examples/ManagedEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all the Environments in a resource group.", + "description": "Get all the Managed Environments in a resource group.", + "operationId": "ManagedEnvironments_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by resource group": { + "$ref": "./examples/ManagedEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{name}": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get the properties of a Managed Environment.", + "description": "Get the properties of a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environments by name": { + "$ref": "./examples/ManagedEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Creates or updates a Managed Environment.", + "description": "Creates or updates a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create environments": { + "$ref": "./examples/ManagedEnvironments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Delete a Managed Environment.", + "description": "Delete a Managed Environment if it does not have any container apps.", + "operationId": "ManagedEnvironments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is in progress" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete environment by name": { + "$ref": "./examples/ManagedEnvironments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Update Managed Environment's properties.", + "description": "Patches a Managed Environment. Only patching of tags is supported currently", + "operationId": "ManagedEnvironments_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Environment": { + "$ref": "./examples/ManagedEnvironments_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the Certificates in a given managed environment.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by Managed Environment": { + "$ref": "./examples/Certificates_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates/{name}": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the specified Certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/Certificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Create or Update a Certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Certificate to be created or updated", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/Certificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Deletes the specified Certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/Certificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Update properties of a certificate", + "description": "Patches a certificate. Currently only patching of tags is supported", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a certificate that need to be updated", + "schema": { + "$ref": "#/definitions/CertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App updated successfully.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/Certificates_Patch.json" + } + } + } + } + }, + "definitions": { + "AppLogsConfiguration": { + "description": "Configuration of application logs", + "type": "object", + "properties": { + "destination": { + "description": "Logs destination", + "type": "string" + }, + "logAnalyticsConfiguration": { + "description": "Log Analytics configuration", + "$ref": "#/definitions/LogAnalyticsConfiguration" + } + } + }, + "VnetConfiguration": { + "type": "object", + "description": "Configuration properties for apps environment to join a Virtual Network", + "properties": { + "internal": { + "type": "boolean", + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if enabling this property", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. This subnet must be in the same VNET as the subnet defined in runtimeSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "runtimeSubnetId": { + "type": "string", + "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "ManagedEnvironment": { + "description": "An environment for hosting container apps", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Managed environment resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EnvironmentProvisioningState", + "modelAsString": true + } + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "vnetConfiguration": { + "description": "Vnet configuration for the environment", + "$ref": "#/definitions/VnetConfiguration" + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the Environment", + "type": "string", + "readOnly": true + }, + "appLogsConfiguration": { + "$ref": "#/definitions/AppLogsConfiguration", + "description": "Cluster configuration which enables the log daemon to export\napp logs to a destination. Currently only \"log-analytics\" is\nsupported" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ManagedEnvironmentsCollection": { + "description": "Collection of Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedEnvironmentPatch": { + "description": "An environment for hosting container apps", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "LogAnalyticsConfiguration": { + "description": "Log analytics configuration", + "type": "object", + "properties": { + "customerId": { + "description": "Log analytics customer id", + "type": "string" + }, + "sharedKey": { + "description": "Log analytics customer key", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Certificate": { + "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the certificate.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "DeleteFailed", + "Pending" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": true + } + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "byte", + "description": "PFX or PEM blob", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + } + } + } + }, + "x-ms-client-flatten": true + }, + "CertificateCollection": { + "description": "Collection of Certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CertificatePatch": { + "description": "A certificate to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + } + }, + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..621aacc539ee --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json @@ -0,0 +1,321 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get all storages for a managedEnvironment.", + "description": "Get all storages for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages/{name}": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get storage for a managedEnvironment.", + "description": "Get storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Create or update storage for a managedEnvironment.", + "description": "Create or update storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Delete storage for a managedEnvironment.", + "description": "Delete storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "AzureFileProperties": { + "description": "Azure File Properties.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name for azure file.", + "type": "string" + }, + "accountKey": { + "description": "Storage account key for azure file.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "Azure file share name.", + "type": "string" + } + } + }, + "ManagedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + } + } + }, + "ManagedEnvironmentStorage": { + "description": "Storage resource for managedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json new file mode 100644 index 000000000000..d07f59442b89 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json @@ -0,0 +1,425 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.App/containerApps/{containerAppName}/sourcecontrols": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get the Container App SourceControls in a given resource group.", + "operationId": "ContainerAppsSourceControls_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App's Source Controls": { + "$ref": "./examples/SourceControls_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols/{name}": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get a SourceControl of a Container App.", + "operationId": "ContainerAppsSourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's SourceControl": { + "$ref": "./examples/SourceControls_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Create or update the SourceControl for a Container App.", + "description": "Description for Create or update the SourceControl for a Container App.", + "operationId": "ContainerAppsSourceControls_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlEnvelope", + "in": "body", + "description": "Properties used to create a Container App SourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "202": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App SourceControl": { + "$ref": "./examples/SourceControls_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Delete a Container App SourceControl.", + "description": "Description for Delete a Container App SourceControl.", + "operationId": "ContainerAppsSourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "202": { + "description": "Delete operation is in progress." + }, + "204": { + "description": "Container App SourceControl does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App SourceControl": { + "$ref": "./examples/SourceControls_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "SourceControl": { + "description": "Container App SourceControl.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SourceControl resource specific properties", + "type": "object", + "properties": { + "operationState": { + "description": "Current provisioning State of the operation", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SourceControlOperationState", + "modelAsString": true + } + }, + "repoUrl": { + "description": "The repo url which will be integrated to ContainerApp.", + "type": "string" + }, + "branch": { + "description": "The branch which will trigger the auto deployment", + "type": "string" + }, + "githubActionConfiguration": { + "$ref": "#/definitions/GithubActionConfiguration", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time" + } + }, + "x-ms-client-flatten": true + } + } + }, + "GithubActionConfiguration": { + "description": "Configuration properties that define the mutable settings of a Container App SourceControl", + "type": "object", + "properties": { + "registryInfo": { + "$ref": "#/definitions/RegistryInfo", + "description": "Registry configurations." + }, + "azureCredentials": { + "$ref": "#/definitions/AzureCredentials", + "description": "AzureCredentials configurations." + }, + "dockerfilePath": { + "description": "Docker file path", + "type": "string" + }, + "publishType": { + "description": "Code or Image", + "type": "string" + }, + "os": { + "description": "Operation system", + "type": "string" + }, + "runtimeStack": { + "description": "Runtime stack", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime Version", + "type": "string" + } + } + }, + "RegistryInfo": { + "description": "Container App registry information.", + "type": "object", + "properties": { + "registryUrl": { + "description": "registry server Url.", + "type": "string" + }, + "registryUserName": { + "description": "registry username.", + "type": "string" + }, + "registryPassword": { + "description": "registry secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "AzureCredentials": { + "description": "Container App credentials.", + "type": "object", + "properties": { + "clientId": { + "description": "Client Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "clientSecret": { + "description": "Client Secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "tenantId": { + "description": "Tenant Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "subscriptionId": { + "description": "Subscription Id.", + "type": "string" + } + } + }, + "SourceControlCollection": { + "description": "SourceControl collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceControl" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..5422803f9e55 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview", + "authConfigEnvelope": { + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json new file mode 100644 index 000000000000..0e5bef780ac5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json new file mode 100644 index 000000000000..13ea6ad6826e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json new file mode 100644 index 000000000000..430b204cc013 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json new file mode 100644 index 000000000000..07bc10b63a27 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "PFX-or-PEM-blob" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json new file mode 100644 index 000000000000..a94acec7bb08 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json new file mode 100644 index 000000000000..eb8e38e7f2c5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..7c6b2f990233 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json new file mode 100644 index 000000000000..43ab98b79927 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json new file mode 100644 index 000000000000..a3361fe80a45 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview", + "containerAppEnvelope": { + "location": "East US", + "properties": { + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json new file mode 100644 index 000000000000..420bed6a0dc5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testWorkerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/workerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-02-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json new file mode 100644 index 000000000000..71afe563ddb9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json new file mode 100644 index 000000000000..2469e1ed62a7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json new file mode 100644 index 000000000000..82e0e4447180 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json new file mode 100644 index 000000000000..21f55a593221 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "customHostname": "my.name.corp", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "properties": { + "hostName": "my.name.corp", + "isHostnameAlreadyVerified": true, + "customDomainVerificationTest": "Passed", + "customDomainVerificationFailureInfo": {}, + "hasConflictOnManagedEnvironment": false, + "conflictingContainerAppResourceId": "", + "cNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "txtRecords": [ + "txtRecord1", + "txtRecord2" + ], + "aRecords": [ + "aRecord1", + "aRecord2" + ], + "alternateCNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "alternateTxtRecords": [ + "txtRecord1", + "txtRecord2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json new file mode 100644 index 000000000000..d3f43ccab4a2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json new file mode 100644 index 000000000000..2646a946d4ca --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview", + "containerAppEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "grpc" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..c09192bf024f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey", + "value": "keyvalue" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json new file mode 100644 index 000000000000..fd76e6ce55f4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json new file mode 100644 index 000000000000..f9ed1449c963 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json new file mode 100644 index 000000000000..ed1b8068ca8c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..0b7eec3a2c2f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..54eeba3bf4cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..c185a05cd353 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..bfc6a88b3d6a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..7ac16d8719d2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-01-01-preview", + "environmentEnvelope": { + "location": "East US", + "properties": { + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json new file mode 100644 index 000000000000..b322bbcf5aaf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "examplekenv", + "api-version": "2022-01-01-preview", + "location": "East US" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json new file mode 100644 index 000000000000..1c8bd516969b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..791c90155cd4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..5364b81eee11 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json new file mode 100644 index 000000000000..bb568449f413 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-01-01-preview", + "location": "East US", + "environmentEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..11f45af01c93 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.App/containerApps/Read", + "display": { + "provider": "Microsoft Apps", + "resource": "Container App", + "operation": "Get Container App", + "description": "Get the properties of a Container App" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json new file mode 100644 index 000000000000..e80b3b98fc67 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json new file mode 100644 index 000000000000..bb35abdefe3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json new file mode 100644 index 000000000000..42ae3b8bf0fa --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json new file mode 100644 index 000000000000..42ae3b8bf0fa --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json new file mode 100644 index 000000000000..3092e525c708 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppcontainerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "active": true, + "replicas": 1 + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json new file mode 100644 index 000000000000..aed17be62c3c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerapps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "active": true, + "replicas": 1 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json new file mode 100644 index 000000000000..1bad2b7270cc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testStaticSite0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json new file mode 100644 index 000000000000..a3a5bd3e2b5d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview", + "sourceControlEnvelope": { + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg", + "registryPassword": "" + }, + "azureCredentials": { + "clientId": "", + "clientSecret": "", + "tenantId": "" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + }, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/5a7f31af-8ae5-489b-a67e-f0a2d11df796?api-version=2021-03-01" + }, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json new file mode 100644 index 000000000000..aa78c78930c5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/14a787ee-c65f-462d-8a8b-897f69a2ab4f?api-version=2021-03-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json new file mode 100644 index 000000000000..2a1f2bd09f10 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json new file mode 100644 index 000000000000..04792da0ee0f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/AuthConfigs.json new file mode 100644 index 000000000000..114240879a9c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/AuthConfigs.json @@ -0,0 +1,980 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get the Container App AuthConfigs in a given resource group.", + "operationId": "ContainerAppsAuthConfigs_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfigCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Auth Configs by Container Apps": { + "$ref": "./examples/AuthConfigs_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{name}": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get a AuthConfig of a Container App.", + "operationId": "ContainerAppsAuthConfigs_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's AuthConfig": { + "$ref": "./examples/AuthConfigs_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Create or update the AuthConfig for a Container App.", + "description": "Description for Create or update the AuthConfig for a Container App.", + "operationId": "ContainerAppsAuthConfigs_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "name": "authConfigEnvelope", + "in": "body", + "description": "Properties used to create a Container App AuthConfig", + "required": true, + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Delete a Container App AuthConfig.", + "description": "Description for Delete a Container App AuthConfig.", + "operationId": "ContainerAppsAuthConfigs_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "204": { + "description": "Container App AuthConfig does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_Delete.json" + } + } + } + } + }, + "definitions": { + "AuthConfigCollection": { + "description": "AuthConfig collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthConfig" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AuthConfig": { + "description": "Configuration settings for the Azure ContainerApp Service Authentication / Authorization feature.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "AuthConfig resource specific properties", + "type": "object", + "properties": { + "platform": { + "$ref": "#/definitions/AuthPlatform", + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization." + }, + "globalValidation": { + "$ref": "#/definitions/GlobalValidation", + "description": "The configuration settings that determines the validation flow of users using Service Authentication/Authorization." + }, + "identityProviders": { + "$ref": "#/definitions/IdentityProviders", + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization." + }, + "login": { + "$ref": "#/definitions/Login", + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization." + }, + "httpSettings": { + "$ref": "#/definitions/HttpSettings", + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization." + } + }, + "x-ms-client-flatten": true + } + } + }, + "AuthPlatform": { + "description": "The configuration settings of the platform of ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "enabled": { + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", + "type": "boolean" + }, + "runtimeVersion": { + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", + "type": "string" + } + } + }, + "GlobalValidation": { + "description": "The configuration settings that determines the validation flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientActionV2", + "modelAsString": false + } + }, + "redirectToProvider": { + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", + "type": "string" + }, + "excludedPaths": { + "description": "The paths for which unauthenticated flow would not be redirected to the login page.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HttpSettings": { + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "requireHttps": { + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", + "type": "boolean" + }, + "routes": { + "$ref": "#/definitions/HttpSettingsRoutes", + "description": "The configuration settings of the paths HTTP requests." + }, + "forwardProxy": { + "$ref": "#/definitions/ForwardProxy", + "description": "The configuration settings of a forward proxy used to make the requests." + } + } + }, + "HttpSettingsRoutes": { + "description": "The configuration settings of the paths HTTP requests.", + "type": "object", + "properties": { + "apiPrefix": { + "description": "The prefix that should precede all the authentication/authorization paths.", + "type": "string" + } + } + }, + "ForwardProxy": { + "description": "The configuration settings of a forward proxy used to make the requests.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used to determine the url of the request made.", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ForwardProxyConvention", + "modelAsString": false + } + }, + "customHostHeaderName": { + "description": "The name of the header containing the host of the request.", + "type": "string" + }, + "customProtoHeaderName": { + "description": "The name of the header containing the scheme of the request.", + "type": "string" + } + } + }, + "Login": { + "description": "The configuration settings of the login flow of users using ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "routes": { + "$ref": "#/definitions/LoginRoutes", + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "preserveUrlFragmentsForLogins": { + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false.", + "type": "boolean" + }, + "allowedExternalRedirectUrls": { + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", + "type": "array", + "items": { + "type": "string" + } + }, + "cookieExpiration": { + "$ref": "#/definitions/CookieExpiration", + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "$ref": "#/definitions/Nonce", + "description": "The configuration settings of the nonce used in the login flow." + } + } + }, + "LoginRoutes": { + "description": "The routes that specify the endpoints used for login and logout requests.", + "type": "object", + "properties": { + "logoutEndpoint": { + "description": "The endpoint at which a logout request should be made.", + "type": "string" + } + } + }, + "CookieExpiration": { + "description": "The configuration settings of the session cookie's expiration.", + "type": "object", + "properties": { + "convention": { + "description": "The convention used when determining the session cookie's expiration.", + "enum": [ + "FixedTime", + "IdentityProviderDerived" + ], + "type": "string", + "x-ms-enum": { + "name": "CookieExpirationConvention", + "modelAsString": false + } + }, + "timeToExpiration": { + "description": "The time after the request is made when the session cookie should expire.", + "type": "string" + } + } + }, + "Nonce": { + "description": "The configuration settings of the nonce used in the login flow.", + "type": "object", + "properties": { + "validateNonce": { + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true.", + "type": "boolean" + }, + "nonceExpirationInterval": { + "description": "The time after the request is made when the nonce should expire.", + "type": "string" + } + } + }, + "IdentityProviders": { + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The configuration settings of the Azure Active directory provider." + }, + "facebook": { + "$ref": "#/definitions/Facebook", + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "$ref": "#/definitions/GitHub", + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "$ref": "#/definitions/Google", + "description": "The configuration settings of the Google provider." + }, + "twitter": { + "$ref": "#/definitions/Twitter", + "description": "The configuration settings of the Twitter provider." + }, + "apple": { + "$ref": "#/definitions/Apple", + "description": "The configuration settings of the Apple provider." + }, + "azureStaticWebApps": { + "$ref": "#/definitions/AzureStaticWebApps", + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } + } + } + }, + "AzureActiveDirectory": { + "description": "The configuration settings of the Azure Active directory provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration", + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin", + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "isAutoProvisioned": { + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryLogin": { + "description": "The configuration settings of the Azure Active Directory login flow.", + "type": "object", + "properties": { + "loginParameters": { + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", + "type": "array", + "items": { + "type": "string" + } + }, + "disableWWWAuthenticate": { + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", + "type": "boolean" + } + } + }, + "AzureActiveDirectoryRegistration": { + "description": "The configuration settings of the Azure Active Directory app registration.", + "type": "object", + "properties": { + "openIdIssuer": { + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", + "type": "string" + }, + "clientId": { + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret of the relying party application.", + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", + "type": "string" + }, + "clientSecretCertificateSubjectAlternativeName": { + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + }, + "clientSecretCertificateIssuer": { + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + } + } + }, + "AzureActiveDirectoryValidation": { + "description": "The configuration settings of the Azure Active Directory token validation flow.", + "type": "object", + "properties": { + "jwtClaimChecks": { + "$ref": "#/definitions/JwtClaimChecks", + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "allowedAudiences": { + "description": "The list of audiences that can make successful authentication/authorization requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultAuthorizationPolicy": { + "$ref": "#/definitions/DefaultAuthorizationPolicy", + "description": "The configuration settings of the default authorization policy." + } + } + }, + "JwtClaimChecks": { + "description": "The configuration settings of the checks that should be made while validating the JWT Claims.", + "type": "object", + "properties": { + "allowedGroups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedClientApplications": { + "description": "The list of the allowed client applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "DefaultAuthorizationPolicy": { + "description": "The configuration settings of the Azure Active Directory default authorization policy.", + "type": "object", + "properties": { + "allowedPrincipals": { + "$ref": "#/definitions/AllowedPrincipals", + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "allowedApplications": { + "description": "The configuration settings of the Azure Active Directory allowed applications.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AllowedPrincipals": { + "description": "The configuration settings of the Azure Active Directory allowed principals.", + "type": "object", + "properties": { + "groups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "identities": { + "description": "The list of the allowed identities.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Facebook": { + "description": "The configuration settings of the Facebook provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppRegistration", + "description": "The configuration settings of the app registration for the Facebook provider." + }, + "graphApiVersion": { + "description": "The version of the Facebook api to be used while logging in.", + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppRegistration": { + "description": "The configuration settings of the app registration for providers that have app ids and app secrets", + "type": "object", + "properties": { + "appId": { + "description": "The App ID of the app used for login.", + "type": "string" + }, + "appSecretSettingName": { + "description": "The app setting name that contains the app secret.", + "type": "string" + } + } + }, + "LoginScopes": { + "description": "The configuration settings of the login flow, including the scopes that should be requested.", + "type": "object", + "properties": { + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GitHub": { + "description": "The configuration settings of the GitHub provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the GitHub provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "ClientRegistration": { + "description": "The configuration settings of the app registration for providers that have client ids and client secrets", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "Google": { + "description": "The configuration settings of the Google provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the Google provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + } + }, + "AllowedAudiencesValidation": { + "description": "The configuration settings of the Allowed Audiences validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Twitter": { + "description": "The configuration settings of the Twitter provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration", + "description": "The configuration settings of the app registration for the Twitter provider." + } + } + }, + "TwitterRegistration": { + "description": "The configuration settings of the app registration for the Twitter provider.", + "type": "object", + "properties": { + "consumerKey": { + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", + "type": "string" + }, + "consumerSecretSettingName": { + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" + } + } + }, + "Apple": { + "description": "The configuration settings of the Apple provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppleRegistration", + "description": "The configuration settings of the Apple registration." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppleRegistration": { + "description": "The configuration settings of the registration for the Apple provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" + } + } + }, + "AzureStaticWebApps": { + "description": "The configuration settings of the Azure Static Web Apps provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureStaticWebAppsRegistration", + "description": "The configuration settings of the Azure Static Web Apps registration." + } + } + }, + "AzureStaticWebAppsRegistration": { + "description": "The configuration settings of the registration for the Azure Static Web Apps provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + } + } + }, + "CustomOpenIdConnectProvider": { + "description": "The configuration settings of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "enabled": { + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration", + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin", + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectRegistration": { + "description": "The configuration settings of the app registration for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "clientId": { + "description": "The client id of the custom Open ID Connect provider.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential", + "description": "The authentication credentials of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig", + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectClientCredential": { + "description": "The authentication client credentials of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "method": { + "description": "The method that should be used to authenticate the user.", + "enum": [ + "ClientSecretPost" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCredentialMethod", + "modelAsString": false + } + }, + "clientSecretSettingName": { + "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", + "type": "string" + } + } + }, + "OpenIdConnectConfig": { + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "authorizationEndpoint": { + "description": "The endpoint to be used to make an authorization request.", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint to be used to request a token.", + "type": "string" + }, + "issuer": { + "description": "The endpoint that issues the token.", + "type": "string" + }, + "certificationUri": { + "description": "The endpoint that provides the keys necessary to validate the token.", + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "description": "The endpoint that contains all the configuration endpoints for the provider.", + "type": "string" + } + } + }, + "OpenIdConnectLogin": { + "description": "The configuration settings of the login flow of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "nameClaimType": { + "description": "The name of the claim that contains the users name.", + "type": "string" + }, + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json new file mode 100644 index 000000000000..169dde52642d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/CommonDefinitions.json @@ -0,0 +1,548 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "EnvironmentVar": { + "description": "Container App container environment variable.", + "type": "object", + "properties": { + "name": { + "description": "Environment variable name.", + "type": "string" + }, + "value": { + "description": "Non-secret environment variable value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Container App secret from which to pull the environment variable value.", + "type": "string" + } + } + }, + "Container": { + "description": "Container App container definition.", + "type": "object", + "properties": { + "image": { + "description": "Container image tag.", + "type": "string" + }, + "name": { + "description": "Custom container name.", + "type": "string" + }, + "command": { + "description": "Container start command.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Container start command arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Container environment variables.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resources": { + "$ref": "#/definitions/ContainerResources", + "description": "Container resource requirements." + }, + "probes": { + "description": "List of probes for the container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + }, + "x-ms-identifiers": [ + "type" + ] + }, + "volumeMounts": { + "description": "Container volume mounts.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "volumeName" + ] + } + } + }, + "ContainerResources": { + "description": "Container App container resource requirements.", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "Required CPU in cores, e.g. 0.5", + "type": "number" + }, + "memory": { + "description": "Required memory, e.g. \"250Mb\"", + "type": "string" + }, + "ephemeralStorage": { + "description": "Ephemeral Storage, e.g. \"1Gi\"", + "type": "string", + "readOnly": true + } + } + }, + "ContainerAppProbe": { + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "type": "object", + "properties": { + "failureThreshold": { + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "httpGet": { + "description": "HTTPGet specifies the http request to perform.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "type": "array", + "items": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "description": "The header field name", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP.", + "type": "string" + } + } + }, + "initialDelaySeconds": { + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "tcpSocket": { + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the pod IP.", + "type": "string" + }, + "port": { + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + } + } + }, + "terminationGracePeriodSeconds": { + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)", + "type": "integer", + "format": "int64" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "type": { + "description": "The type of probe.", + "enum": [ + "liveness", + "readiness", + "startup" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "CustomScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "type": { + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.", + "type": "string" + }, + "metadata": { + "description": "Metadata properties to describe custom scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "DefaultErrorResponse": { + "description": "App Service error response.", + "type": "object", + "properties": { + "error": { + "description": "Error model.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "details": { + "type": "array", + "description": "Details or the error", + "items": { + "description": "Detailed errors.", + "type": "object", + "properties": { + "code": { + "description": "Standardized string to programmatically identify the error.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Detailed error description and debugging information.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "x-ms-identifiers": [ + "code" + ] + }, + "innererror": { + "description": "More information to debug error.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "HttpScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata properties to describe http scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "QueueScaleRule": { + "description": "Container App container Azure Queue based scaling rule.", + "type": "object", + "properties": { + "queueName": { + "description": "Queue name.", + "type": "string" + }, + "queueLength": { + "format": "int32", + "description": "Queue length.", + "type": "integer" + }, + "auth": { + "description": "Authentication secrets for the queue scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "Scale": { + "description": "Container App scaling configurations.", + "type": "object", + "properties": { + "minReplicas": { + "format": "int32", + "description": "Optional. Minimum number of container replicas.", + "type": "integer" + }, + "maxReplicas": { + "format": "int32", + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.", + "type": "integer" + }, + "rules": { + "description": "Scaling rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ScaleRule": { + "description": "Container App container scaling rule.", + "type": "object", + "properties": { + "name": { + "description": "Scale Rule Name", + "type": "string" + }, + "azureQueue": { + "$ref": "#/definitions/QueueScaleRule", + "description": "Azure Queue based scaling." + }, + "custom": { + "$ref": "#/definitions/CustomScaleRule", + "description": "Custom scale rule." + }, + "http": { + "$ref": "#/definitions/HttpScaleRule", + "description": "HTTP requests based scaling." + } + } + }, + "ScaleRuleAuth": { + "description": "Auth Secrets for Container App Scale Rule", + "type": "object", + "properties": { + "secretRef": { + "description": "Name of the Container App secret from which to pull the auth params.", + "type": "string" + }, + "triggerParameter": { + "description": "Trigger Parameter that uses the secret", + "type": "string" + } + } + }, + "Secret": { + "description": "Secret definition.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string" + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Template": { + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created", + "type": "object", + "properties": { + "revisionSuffix": { + "description": "User friendly suffix that is appended to the revision name", + "type": "string" + }, + "containers": { + "description": "List of container definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scale": { + "$ref": "#/definitions/Scale", + "description": "Scaling properties for the Container App." + }, + "volumes": { + "description": "List of volume definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Volume": { + "description": "Volume definitions for the Container App.", + "type": "object", + "properties": { + "name": { + "description": "Volume name.", + "type": "string" + }, + "storageType": { + "description": "Storage type for the volume. If not provided, use EmptyDir.", + "enum": [ + "AzureFile", + "EmptyDir" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageName": { + "description": "Name of storage resource. No need to provide for EmptyDir.", + "type": "string" + } + } + }, + "VolumeMount": { + "description": "Volume mount for the Container App.", + "type": "object", + "properties": { + "volumeName": { + "description": "This must match the Name of a Volume.", + "type": "string" + }, + "mountPath": { + "description": "Path within the container at which the volume should be mounted.Must not contain ':'.", + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerApps.json new file mode 100644 index 000000000000..17a89b185a07 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerApps.json @@ -0,0 +1,862 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given subscription.", + "operationId": "ContainerApps_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by subscription": { + "$ref": "./examples/ContainerApps_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the Container Apps in a given resource group.", + "operationId": "ContainerApps_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAppCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps by resource group": { + "$ref": "./examples/ContainerApps_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}": { + "get": { + "tags": [ + "ContainerApps" + ], + "summary": "Get the properties of a Container App.", + "operationId": "ContainerApps_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "404": { + "description": "Not found.", + "x-ms-error-response": true + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App": { + "$ref": "./examples/ContainerApps_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerApps" + ], + "summary": "Create or update a Container App.", + "description": "Description for Create or update a Container App.", + "operationId": "ContainerApps_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "description": "Properties used to create a container app", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "201": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App": { + "$ref": "./examples/ContainerApps_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerApps" + ], + "summary": "Delete a Container App.", + "description": "Description for Delete a Container App.", + "operationId": "ContainerApps_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "202": { + "description": "Delete operation is in progress." + }, + "204": { + "description": "Container App does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App": { + "$ref": "./examples/ContainerApps_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ContainerApps" + ], + "summary": "Update properties of a Container App", + "description": "Patches a Container App using JSON Merge Patch", + "operationId": "ContainerApps_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "containerAppEnvelope", + "in": "body", + "required": true, + "description": "Properties of a Container App that need to be updated", + "schema": { + "$ref": "#/definitions/ContainerApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Patch operation is in progress." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Container App": { + "$ref": "./examples/ContainerApps_Patch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listCustomHostNameAnalysis": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "Analyzes a custom hostname for a Container App", + "operationId": "ContainerApps_ListCustomHostNameAnalysis", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "customHostname", + "in": "query", + "description": "Custom hostname.", + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomHostnameAnalysisResult" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Analyze Custom Hostname": { + "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}/listSecrets": { + "post": { + "tags": [ + "ContainerApps" + ], + "summary": "List secrets for a container app", + "operationId": "ContainerApps_ListSecrets", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container Apps Secrets": { + "$ref": "./examples/ContainerApps_ListSecrets.json" + } + } + } + } + }, + "definitions": { + "Configuration": { + "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app", + "type": "object", + "properties": { + "secrets": { + "description": "Collection of secrets used by a Container app", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "activeRevisionsMode": { + "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode", + "enum": [ + "multiple", + "single" + ], + "type": "string", + "x-ms-enum": { + "name": "ActiveRevisionsMode", + "modelAsString": true + } + }, + "ingress": { + "$ref": "#/definitions/Ingress", + "description": "Ingress configurations." + }, + "registries": { + "description": "Collection of private container registry credentials for containers used by the Container app", + "type": "array", + "items": { + "$ref": "#/definitions/RegistryCredentials" + }, + "x-ms-identifiers": [ + "server" + ] + }, + "dapr": { + "$ref": "#/definitions/Dapr", + "description": "Dapr configuration for the Container App." + } + } + }, + "ContainerApp": { + "description": "Container App.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "description": "managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "description": "ContainerApp resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Container App.", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ContainerAppProvisioningState", + "modelAsString": true + } + }, + "managedEnvironmentId": { + "description": "Resource ID of the Container App's environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "latestRevisionName": { + "description": "Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "latestRevisionFqdn": { + "description": "Fully Qualified Domain Name of the latest revision of the Container App.", + "type": "string", + "readOnly": true + }, + "customDomainVerificationId": { + "description": "Id used to verify domain name ownership", + "type": "string", + "readOnly": true + }, + "configuration": { + "$ref": "#/definitions/Configuration", + "description": "Non versioned Container App configuration properties." + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App versioned application definition." + }, + "outboundIPAddresses": { + "description": "Outbound IP Addresses for container app.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "ContainerAppCollection": { + "description": "Container App collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerApp" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Dapr": { + "description": "Container App Dapr configuration.", + "type": "object", + "properties": { + "enabled": { + "description": "Boolean indicating if the Dapr side car is enabled", + "type": "boolean" + }, + "appId": { + "description": "Dapr application identifier", + "type": "string" + }, + "appProtocol": { + "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http", + "enum": [ + "http", + "grpc" + ], + "type": "string", + "x-ms-enum": { + "name": "appProtocol", + "modelAsString": true + } + }, + "appPort": { + "format": "int32", + "description": "Tells Dapr which port your application is listening on", + "type": "integer" + } + } + }, + "Ingress": { + "description": "Container App Ingress configuration.", + "type": "object", + "properties": { + "fqdn": { + "description": "Hostname.", + "type": "string", + "readOnly": true + }, + "external": { + "description": "Bool indicating if app exposes an external http endpoint", + "default": false, + "type": "boolean" + }, + "targetPort": { + "format": "int32", + "description": "Target Port in containers for traffic from ingress", + "type": "integer" + }, + "transport": { + "description": "Ingress transport protocol", + "enum": [ + "auto", + "http", + "http2" + ], + "type": "string", + "x-ms-enum": { + "name": "IngressTransportMethod", + "modelAsString": true + } + }, + "traffic": { + "description": "Traffic weights for app's revisions", + "type": "array", + "items": { + "$ref": "#/definitions/TrafficWeight" + }, + "x-ms-identifiers": [ + "revisionName" + ] + }, + "customDomains": { + "description": "custom domain bindings for Container Apps' hostnames.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "allowInsecure": { + "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections", + "type": "boolean" + } + } + }, + "RegistryCredentials": { + "description": "Container App Private Registry", + "type": "object", + "properties": { + "server": { + "description": "Container Registry Server", + "type": "string" + }, + "username": { + "description": "Container Registry Username", + "type": "string" + }, + "passwordSecretRef": { + "description": "The name of the Secret that contains the registry login password", + "type": "string" + } + } + }, + "SecretsCollection": { + "description": "Container App Secrets Collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppSecret" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ContainerAppSecret": { + "description": "Container App Secret.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-secret": true, + "readOnly": true + } + } + }, + "TrafficWeight": { + "description": "Traffic weight assigned to a revision", + "type": "object", + "properties": { + "revisionName": { + "description": "Name of a revision", + "type": "string" + }, + "weight": { + "format": "int32", + "description": "Traffic weight assigned to a revision", + "type": "integer" + }, + "latestRevision": { + "description": "Indicates that the traffic weight belongs to a latest stable revision", + "default": false, + "type": "boolean" + }, + "label": { + "description": "Associates a traffic label with a revision", + "type": "string" + } + } + }, + "CustomDomain": { + "description": "Custom Domain of a Container App", + "type": "object", + "required": [ + "name", + "certificateId" + ], + "properties": { + "name": { + "description": "Hostname.", + "type": "string" + }, + "bindingType": { + "description": "Custom Domain binding type.", + "enum": [ + "Disabled", + "SniEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "bindingType", + "modelAsString": true + } + }, + "certificateId": { + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.", + "type": "string" + } + } + }, + "CustomHostnameAnalysisResult": { + "description": "Custom domain analysis.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "CustomHostnameAnalysisResult resource specific properties", + "type": "object", + "properties": { + "hostName": { + "description": "Host name that was analyzed", + "type": "string", + "readOnly": true + }, + "isHostnameAlreadyVerified": { + "description": "true if hostname is already verified; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "customDomainVerificationTest": { + "description": "DNS verification test result.", + "enum": [ + "Passed", + "Failed", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DnsVerificationTestResult", + "modelAsString": false + } + }, + "customDomainVerificationFailureInfo": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse", + "description": "Raw failure information if DNS verification fails.", + "readOnly": true + }, + "hasConflictOnManagedEnvironment": { + "description": "true if there is a conflict on the Container App's managed environment; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "conflictingContainerAppResourceId": { + "description": "Name of the conflicting Container App on the Managed Environment if it's within the same subscription.", + "type": "string", + "readOnly": true + }, + "cNameRecords": { + "description": "CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "txtRecords": { + "description": "TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "aRecords": { + "description": "A records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateCNameRecords": { + "description": "Alternate CName records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "alternateTxtRecords": { + "description": "Alternate TXT records visible for this hostname.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerAppsRevisions.json new file mode 100644 index 000000000000..86d35b503bca --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ContainerAppsRevisions.json @@ -0,0 +1,596 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get the Revisions for a given Container App.", + "operationId": "ContainerAppsRevisions_ListRevisions", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App for which Revisions are needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply on the operation.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RevisionCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's revisions": { + "$ref": "./examples/Revisions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Revision" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get a revision of a Container App.", + "operationId": "ContainerAppsRevisions_GetRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Revision" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision": { + "$ref": "./examples/Revisions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/activate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Activates a revision for a Container App", + "operationId": "ContainerAppsRevisions_ActivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was activated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Activate Container App's revision": { + "$ref": "./examples/Revisions_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/deactivate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Deactivates a revision for a Container App", + "operationId": "ContainerAppsRevisions_DeactivateRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was deactivated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Deactivate Container App's revision": { + "$ref": "./examples/Revisions_Deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "Get a replica for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_GetReplica", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision Replica.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision replica": { + "$ref": "./examples/Replicas_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "List replicas for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_ListReplicas", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicaCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's replicas": { + "$ref": "./examples/Replicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/restart": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Restarts a revision for a Container App", + "operationId": "ContainerAppsRevisions_RestartRevision", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was restarted" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart Container App's revision": { + "$ref": "./examples/Revisions_Restart.json" + } + } + } + } + }, + "definitions": { + "Revision": { + "description": "Container App Revision.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "format": "date-time", + "description": "Timestamp describing when the revision was created\nby controller", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "Fully qualified domain name of the revision", + "type": "string", + "readOnly": true + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time", + "readOnly": true + }, + "active": { + "description": "Boolean describing if the Revision is Active", + "type": "boolean", + "readOnly": true + }, + "replicas": { + "format": "int32", + "description": "Number of pods currently running for this revision", + "type": "integer", + "readOnly": true + }, + "trafficWeight": { + "format": "int32", + "description": "Traffic weight assigned to this revision", + "type": "integer", + "readOnly": true + }, + "provisioningError": { + "description": "Optional Field - Platform Error Message", + "type": "string", + "readOnly": true + }, + "healthState": { + "description": "Current health State of the revision", + "enum": [ + "Healthy", + "Unhealthy", + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionHealthState", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Current provisioning State of the revision", + "enum": [ + "Provisioning", + "Provisioned", + "Failed", + "Deprovisioning", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionProvisioningState", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "RevisionCollection": { + "description": "Container App Revisions collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Revision" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Replica": { + "description": "Container App Revision Replica.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Replica resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "type": "string", + "description": "Timestamp describing when the pod was created by controller", + "format": "date-time", + "readOnly": true + }, + "containers": { + "description": "The containers collection under a replica.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaContainer" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "ReplicaCollection": { + "description": "Container App Revision Replicas collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + } + } + }, + "ReplicaContainer": { + "description": "Container object under Container App Revision Replica.", + "type": "object", + "properties": { + "name": { + "description": "The Name of the Container", + "type": "string" + }, + "containerId": { + "description": "The Id of the Container", + "type": "string" + }, + "ready": { + "description": "The container ready status", + "type": "boolean" + }, + "started": { + "description": "The container start status", + "type": "boolean" + }, + "restartCount": { + "format": "int32", + "description": "The container restart count", + "type": "integer" + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/DaprComponents.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/DaprComponents.json new file mode 100644 index 000000000000..a2971b2befcb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/DaprComponents.json @@ -0,0 +1,356 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get the Dapr Components for a managed environment.", + "operationId": "DaprComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr Components": { + "$ref": "./examples/DaprComponents_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{name}": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get a dapr component.", + "operationId": "DaprComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr Component": { + "$ref": "./examples/DaprComponents_Get.json" + } + } + }, + "put": { + "tags": [ + "DaprComponents" + ], + "summary": "Creates or updates a Dapr Component.", + "description": "Creates or updates a Dapr Component in a Managed Environment.", + "operationId": "DaprComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component.", + "required": true, + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr component": { + "$ref": "./examples/DaprComponents_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponents" + ], + "summary": "Delete a Dapr Component.", + "description": "Delete a Dapr Component from a Managed Environment.", + "operationId": "DaprComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component": { + "$ref": "./examples/DaprComponents_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + } + }, + "definitions": { + "DaprComponentsCollection": { + "description": "Dapr Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprComponent": { + "description": "Dapr Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr Component resource specific properties", + "type": "object", + "properties": { + "componentType": { + "description": "Component type", + "type": "string" + }, + "version": { + "description": "Component version", + "type": "string" + }, + "ignoreErrors": { + "description": "Boolean describing if the component errors are ignores", + "type": "boolean" + }, + "initTimeout": { + "description": "Initialization timeout", + "type": "string" + }, + "secrets": { + "description": "Collection of secrets used by a Dapr component", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metadata": { + "description": "Component metadata", + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scopes": { + "description": "Names of container apps that can use this Dapr component", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprMetadata": { + "description": "Dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Metadata property name.", + "type": "string" + }, + "value": { + "description": "Metadata property value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Dapr Component secret from which to pull the metadata property value.", + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/Global.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/Global.json new file mode 100644 index 000000000000..ebccf96d5119 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/Global.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.App/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available RP operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all operations": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "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/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironments.json new file mode 100644 index 000000000000..daae4f307c0b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironments.json @@ -0,0 +1,968 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all Environments for a subscription.", + "description": "Get all Managed Environments for a subscription.", + "operationId": "ManagedEnvironments_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by subscription": { + "$ref": "./examples/ManagedEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all the Environments in a resource group.", + "description": "Get all the Managed Environments in a resource group.", + "operationId": "ManagedEnvironments_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by resource group": { + "$ref": "./examples/ManagedEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{name}": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get the properties of a Managed Environment.", + "description": "Get the properties of a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environments by name": { + "$ref": "./examples/ManagedEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Creates or updates a Managed Environment.", + "description": "Creates or updates a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create environments": { + "$ref": "./examples/ManagedEnvironments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Delete a Managed Environment.", + "description": "Delete a Managed Environment if it does not have any container apps.", + "operationId": "ManagedEnvironments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is in progress" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete environment by name": { + "$ref": "./examples/ManagedEnvironments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Update Managed Environment's properties.", + "description": "Patches a Managed Environment using JSON Merge Patch", + "operationId": "ManagedEnvironments_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Patch operation is in progress." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Environment": { + "$ref": "./examples/ManagedEnvironments_Patch.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the Certificates in a given managed environment.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by Managed Environment": { + "$ref": "./examples/Certificates_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates/{name}": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the specified Certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/Certificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Create or Update a Certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Certificate to be created or updated", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/Certificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Deletes the specified Certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/Certificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Update properties of a certificate", + "description": "Patches a certificate. Currently only patching of tags is supported", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a certificate that need to be updated", + "schema": { + "$ref": "#/definitions/CertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App updated successfully.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/Certificates_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/checkNameAvailability": { + "post": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Checks the resource name availability.", + "description": "Checks if resource name is available.", + "operationId": "Namespaces_CheckNameAvailability", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "checkNameAvailabilityRequest", + "in": "body", + "description": "The check name availability request.", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "ContainerApps_CheckNameAvailability": { + "$ref": "./examples/ContainerApps_CheckNameAvailability.json" + }, + "Certificates_CheckNameAvailability": { + "$ref": "./examples/Certificates_CheckNameAvailability.json" + } + } + } + } + }, + "definitions": { + "AppLogsConfiguration": { + "description": "Configuration of application logs", + "type": "object", + "properties": { + "destination": { + "description": "Logs destination", + "type": "string" + }, + "logAnalyticsConfiguration": { + "description": "Log Analytics configuration", + "$ref": "#/definitions/LogAnalyticsConfiguration" + } + } + }, + "VnetConfiguration": { + "type": "object", + "description": "Configuration properties for apps environment to join a Virtual Network", + "properties": { + "internal": { + "type": "boolean", + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if enabling this property", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. This subnet must be in the same VNET as the subnet defined in runtimeSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "runtimeSubnetId": { + "type": "string", + "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "ManagedEnvironment": { + "description": "An environment for hosting container apps", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Managed environment resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EnvironmentProvisioningState", + "modelAsString": true + } + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "vnetConfiguration": { + "description": "Vnet configuration for the environment", + "$ref": "#/definitions/VnetConfiguration" + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the Environment", + "type": "string", + "readOnly": true + }, + "appLogsConfiguration": { + "$ref": "#/definitions/AppLogsConfiguration", + "description": "Cluster configuration which enables the log daemon to export\napp logs to a destination. Currently only \"log-analytics\" is\nsupported" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ManagedEnvironmentsCollection": { + "description": "Collection of Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "LogAnalyticsConfiguration": { + "description": "Log analytics configuration", + "type": "object", + "properties": { + "customerId": { + "description": "Log analytics customer id", + "type": "string" + }, + "sharedKey": { + "description": "Log analytics customer key", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Certificate": { + "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the certificate.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "DeleteFailed", + "Pending" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": true + } + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "byte", + "description": "PFX or PEM blob", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + } + } + } + }, + "x-ms-client-flatten": true + }, + "CertificateCollection": { + "description": "Collection of Certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CertificatePatch": { + "description": "A certificate to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..d87c6a2788bb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/ManagedEnvironmentsStorages.json @@ -0,0 +1,321 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get all storages for a managedEnvironment.", + "description": "Get all storages for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages/{name}": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get storage for a managedEnvironment.", + "description": "Get storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Create or update storage for a managedEnvironment.", + "description": "Create or update storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Delete storage for a managedEnvironment.", + "description": "Delete storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "AzureFileProperties": { + "description": "Azure File Properties.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name for azure file.", + "type": "string" + }, + "accountKey": { + "description": "Storage account key for azure file.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "Azure file share name.", + "type": "string" + } + } + }, + "ManagedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + } + } + }, + "ManagedEnvironmentStorage": { + "description": "Storage resource for managedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "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/app/resource-manager/Microsoft.App/stable/2022-03-01/SourceControls.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/SourceControls.json new file mode 100644 index 000000000000..8af4d61f1abd --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/SourceControls.json @@ -0,0 +1,429 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.App/containerApps/{containerAppName}/sourcecontrols": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get the Container App SourceControls in a given resource group.", + "operationId": "ContainerAppsSourceControls_ListByContainerApp", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App's Source Controls": { + "$ref": "./examples/SourceControls_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols/{name}": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get a SourceControl of a Container App.", + "operationId": "ContainerAppsSourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's SourceControl": { + "$ref": "./examples/SourceControls_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Create or update the SourceControl for a Container App.", + "description": "Description for Create or update the SourceControl for a Container App.", + "operationId": "ContainerAppsSourceControls_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlEnvelope", + "in": "body", + "description": "Properties used to create a Container App SourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "202": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App SourceControl": { + "$ref": "./examples/SourceControls_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Delete a Container App SourceControl.", + "description": "Description for Delete a Container App SourceControl.", + "operationId": "ContainerAppsSourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "202": { + "description": "Delete operation is in progress." + }, + "204": { + "description": "Container App SourceControl does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App SourceControl": { + "$ref": "./examples/SourceControls_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "SourceControl": { + "description": "Container App SourceControl.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SourceControl resource specific properties", + "type": "object", + "properties": { + "operationState": { + "description": "Current provisioning State of the operation", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SourceControlOperationState", + "modelAsString": true + } + }, + "repoUrl": { + "description": "The repo url which will be integrated to ContainerApp.", + "type": "string" + }, + "branch": { + "description": "The branch which will trigger the auto deployment", + "type": "string" + }, + "githubActionConfiguration": { + "$ref": "#/definitions/GithubActionConfiguration", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time" + } + }, + "x-ms-client-flatten": true + } + } + }, + "GithubActionConfiguration": { + "description": "Configuration properties that define the mutable settings of a Container App SourceControl", + "type": "object", + "properties": { + "registryInfo": { + "$ref": "#/definitions/RegistryInfo", + "description": "Registry configurations." + }, + "azureCredentials": { + "$ref": "#/definitions/AzureCredentials", + "description": "AzureCredentials configurations." + }, + "contextPath": { + "description": "Context path", + "type": "string" + }, + "image": { + "description": "Image name", + "type": "string" + }, + "publishType": { + "description": "Code or Image", + "type": "string" + }, + "os": { + "description": "Operation system", + "type": "string" + }, + "runtimeStack": { + "description": "Runtime stack", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime version", + "type": "string" + } + } + }, + "RegistryInfo": { + "description": "Container App registry information.", + "type": "object", + "properties": { + "registryUrl": { + "description": "registry server Url.", + "type": "string" + }, + "registryUserName": { + "description": "registry username.", + "type": "string" + }, + "registryPassword": { + "description": "registry secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "AzureCredentials": { + "description": "Container App credentials.", + "type": "object", + "properties": { + "clientId": { + "description": "Client Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "clientSecret": { + "description": "Client Secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "tenantId": { + "description": "Tenant Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "subscriptionId": { + "description": "Subscription Id.", + "type": "string" + } + } + }, + "SourceControlCollection": { + "description": "SourceControl collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceControl" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..3ff06317e553 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01", + "authConfigEnvelope": { + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Delete.json new file mode 100644 index 000000000000..63437a757c0c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Get.json new file mode 100644 index 000000000000..35ce520b8852 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_ListByContainer.json new file mode 100644 index 000000000000..d7ca69828ff7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/AuthConfigs_ListByContainer.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_CreateOrUpdate.json new file mode 100644 index 000000000000..49b28fc53d60 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-03-01", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "PFX-or-PEM-blob" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Delete.json new file mode 100644 index 000000000000..7e25d26b39d7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Get.json new file mode 100644 index 000000000000..403fdb7d21ba --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificate_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_CheckNameAvailability.json new file mode 100644 index 000000000000..2788c6f66c02 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "checkNameAvailabilityRequest": { + "name": "testcertificatename", + "type": "Microsoft.App/managedEnvironments/certificates" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..c92921d332d4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_ListByManagedEnvironment.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_Patch.json new file mode 100644 index 000000000000..1b92d47538e1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Certificates_Patch.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-03-01", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CheckNameAvailability.json new file mode 100644 index 000000000000..9ce9037bc6b3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "checkNameAvailabilityRequest": { + "name": "testcappname", + "type": "Microsoft.App/containerApps" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true, + "reason": "None", + "message": "" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CreateOrUpdate.json new file mode 100644 index 000000000000..ff0346d06232 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_CreateOrUpdate.json @@ -0,0 +1,252 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-03-01", + "containerAppEnvelope": { + "location": "East US", + "properties": { + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Delete.json new file mode 100644 index 000000000000..20b1076be7ba --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testWorkerApp0", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/containerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-03-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Get.json new file mode 100644 index 000000000000..7b2bc4e4ca6c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListByResourceGroup.json new file mode 100644 index 000000000000..9c77b155970b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListByResourceGroup.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListBySubscription.json new file mode 100644 index 000000000000..8751aa8f1544 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListBySubscription.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListCustomHostNameAnalysis.json new file mode 100644 index 000000000000..dd86259c50cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListCustomHostNameAnalysis.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "customHostname": "my.name.corp", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "properties": { + "hostName": "my.name.corp", + "isHostnameAlreadyVerified": true, + "customDomainVerificationTest": "Passed", + "customDomainVerificationFailureInfo": {}, + "hasConflictOnManagedEnvironment": false, + "conflictingContainerAppResourceId": "", + "cNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "txtRecords": [ + "txtRecord1", + "txtRecord2" + ], + "aRecords": [ + "aRecord1", + "aRecord2" + ], + "alternateCNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "alternateTxtRecords": [ + "txtRecord1", + "txtRecord2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListSecrets.json new file mode 100644 index 000000000000..9e14e9f54148 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Patch.json new file mode 100644 index 000000000000..96736f870fd9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ContainerApps_Patch.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-03-01", + "containerAppEnvelope": { + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ], + "traffic": [ + { + "weight": 100, + "revisionName": "testcontainerApp0-ab1234", + "label": "production" + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/containerappOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-03-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..b110ceaf3d33 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-03-01", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey", + "value": "keyvalue" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Delete.json new file mode 100644 index 000000000000..a7df7688e321 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Get.json new file mode 100644 index 000000000000..fff7f1076301 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_List.json new file mode 100644 index 000000000000..548830281940 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/DaprComponents_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..057ef675c2fe --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-03-01", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..8b57652cd4a2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..c0173bcc426a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..24a69bed4e83 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..2ea6f9e6e6c2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-03-01", + "environmentEnvelope": { + "location": "East US", + "properties": { + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Delete.json new file mode 100644 index 000000000000..2e30ecf918b3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "examplekenv", + "api-version": "2022-03-01", + "location": "East US" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Get.json new file mode 100644 index 000000000000..bc9da2f95fac --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "name": "jlaw-demo1", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..5b4dd10b66a8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..5323deb36876 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Patch.json new file mode 100644 index 000000000000..4ff0a27b6bca --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/ManagedEnvironments_Patch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-03-01", + "environmentEnvelope": { + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/managedEnvironmentOperationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2022-03-01" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Operations_List.json new file mode 100644 index 000000000000..9362af77c82b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Operations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.App/containerApps/Read", + "display": { + "provider": "Microsoft Apps", + "resource": "Container App", + "operation": "Get Container App", + "description": "Get the properties of a Container App" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_Get.json new file mode 100644 index 000000000000..e22181d1ea4b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_List.json new file mode 100644 index 000000000000..bb35abdefe3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Replicas_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Activate.json new file mode 100644 index 000000000000..2c9db2b0ed62 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Activate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-03-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Deactivate.json new file mode 100644 index 000000000000..2c9db2b0ed62 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Deactivate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-03-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Get.json new file mode 100644 index 000000000000..3092e525c708 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppcontainerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "active": true, + "replicas": 1 + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_List.json new file mode 100644 index 000000000000..aed17be62c3c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_List.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerapps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + } + }, + "active": true, + "replicas": 1 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Restart.json new file mode 100644 index 000000000000..1bad2b7270cc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/Revisions_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testStaticSite0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_CreateOrUpdate.json new file mode 100644 index 000000000000..82ef2efd6ef8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_CreateOrUpdate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01", + "sourceControlEnvelope": { + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg", + "registryPassword": "" + }, + "azureCredentials": { + "clientId": "", + "clientSecret": "", + "tenantId": "" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + }, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/5a7f31af-8ae5-489b-a67e-f0a2d11df796?api-version=2021-03-01" + }, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Delete.json new file mode 100644 index 000000000000..5264f49b4621 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/14a787ee-c65f-462d-8a8b-897f69a2ab4f?api-version=2021-03-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Get.json new file mode 100644 index 000000000000..2e1fa372773c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_ListByContainer.json new file mode 100644 index 000000000000..f263547e69d0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/stable/2022-03-01/examples/SourceControls_ListByContainer.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + }, + "contextPath": "./", + "image": "image/tag" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/readme.az.md b/specification/app/resource-manager/readme.az.md new file mode 100644 index 000000000000..aac3e847173a --- /dev/null +++ b/specification/app/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: app + namespace: azure.mgmt.app + package-name: azure-mgmt-app +az-output-folder: $(azure-cli-extension-folder)/src/app +python-sdk-output-folder: "$(az-output-folder)/azext_app/vendored_sdks/app" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: app + namespace: azure.mgmt.app + package-name: azure-mgmt-app +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/app +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/app" +``` \ No newline at end of file diff --git a/specification/app/resource-manager/readme.cli.md b/specification/app/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/app/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/app/resource-manager/readme.csharp.md b/specification/app/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..2408ead2b117 --- /dev/null +++ b/specification/app/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.ContainerApps + output-folder: $(csharp-sdks-folder)/app/Microsoft.Azure.Management.ContainerApps/src/Generated +``` diff --git a/specification/app/resource-manager/readme.go.md b/specification/app/resource-manager/readme.go.md new file mode 100644 index 000000000000..40c8491d1a89 --- /dev/null +++ b/specification/app/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/app/armapp +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md new file mode 100644 index 000000000000..7b5749bee80b --- /dev/null +++ b/specification/app/resource-manager/readme.md @@ -0,0 +1,144 @@ +# app + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Microsoft.App service. + +## 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 app. + +``` yaml +openapi-type: arm +tag: package-2022-03 +``` + + +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: + - Microsoft.App/stable/2022-03-01/AuthConfigs.json + - Microsoft.App/stable/2022-03-01/CommonDefinitions.json + - Microsoft.App/stable/2022-03-01/ContainerApps.json + - Microsoft.App/stable/2022-03-01/ContainerAppsRevisions.json + - Microsoft.App/stable/2022-03-01/DaprComponents.json + - Microsoft.App/stable/2022-03-01/Global.json + - Microsoft.App/stable/2022-03-01/ManagedEnvironments.json + - Microsoft.App/stable/2022-03-01/ManagedEnvironmentsStorages.json + - Microsoft.App/stable/2022-03-01/SourceControls.json +directive: +- suppress: R3018 + from: AuthConfigs.json + reason: Use of boolean type is required +- suppress: R3016 + from: AuthConfigs.json + reason: Use disableWWWAuthenticate to align with AuthSettingV2 +``` +### Tag: package-2022-01-01-preview + +These settings apply only when `--tag=package-2022-01-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2022-01-01-preview' +input-file: + - Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json + - Microsoft.App/preview/2022-01-01-preview/ContainerApps.json + - Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json + - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json + - Microsoft.App/preview/2022-01-01-preview/Global.json + - Microsoft.App/preview/2022-01-01-preview/SourceControls.json + - Microsoft.App/preview/2022-01-01-preview/DaprComponents.json + - Microsoft.App/preview/2022-01-01-preview/AuthConfigs.json + - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json +directive: +- suppress: R4009 + from: ContainerAppsRevisions.json + reason: False positive. This is not a tracked resource. +- suppress: R3010 + from: Global.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ManagedEnvironments.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ContainerAppsRevisions.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: CommonDefinitions.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ContainerApps.json + reason: False positive. The Revisions_list api already defined +- suppress: R3018 + from: Global.json + reason: Use of boolean type is required +- suppress: R3018 + from: CommonDefinitions.json + reason: Use of boolean type is required +- suppress: R3018 + from: ContainerApps.json + reason: Use of boolean type is required +- suppress: R3018 + from: AuthConfigs.json + reason: Use of boolean type is required +- suppress: R3016 + from: AuthConfigs.json + reason: Use disableWWWAuthenticate to align with AuthSettingV2 +``` + +--- + +# 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-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions +``` + +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/app/resource-manager/readme.python.md b/specification/app/resource-manager/readme.python.md new file mode 100644 index 000000000000..64e940db0dfb --- /dev/null +++ b/specification/app/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-app +namespace: azure.mgmt.app +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/app/azure-mgmt-app/azure/mgmt/app +``` diff --git a/specification/app/resource-manager/readme.typescript.md b/specification/app/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..390c4cba9728 --- /dev/null +++ b/specification/app/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-app" + output-folder: "$(typescript-sdks-folder)/sdk/app/arm-app" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-10-01-preview/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-10-01-preview/appconfiguration.json index 2a1bb28e11c6..95fddfe5fa28 100644 --- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-10-01-preview/appconfiguration.json +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/preview/2021-10-01-preview/appconfiguration.json @@ -1437,6 +1437,10 @@ "name": "PublicNetworkAccess", "modelAsString": true } + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this configuration store." } } }, @@ -1650,7 +1654,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next set of paged results.", @@ -1727,7 +1734,10 @@ "type": "array", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "metricSpecifications": { "description": "Specifications of the Metrics for Azure Monitoring", @@ -1735,7 +1745,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1791,7 +1804,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "fillGapWithZero": { "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", @@ -1902,6 +1918,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json index f82beb0b8e13..cecb0084cc07 100644 --- a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json +++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json @@ -1246,7 +1246,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next set of paged results.", diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md index 46e3a4883a8c..db3171f280b2 100644 --- a/specification/appconfiguration/resource-manager/readme.go.md +++ b/specification/appconfiguration/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-10-01-preview - tag: package-2021-03-01-preview - tag: package-2020-07-01-preview - tag: package-2020-06-01 @@ -29,6 +30,15 @@ batch: - tag: package-2019-02-01-preview ``` +### Tag: package-2021-10-01-preview and go + +These settings apply only when `--tag=package-2021-10-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-01-preview/$(namespace) +``` + ### Tag: package-2021-03-01-preview and go These settings apply only when `--tag=package-2021-03-01-preview --go` is specified on the command line. diff --git a/specification/appconfiguration/resource-manager/readme.python.md b/specification/appconfiguration/resource-manager/readme.python.md index 90f50f633308..c45c047cdaef 100644 --- a/specification/appconfiguration/resource-manager/readme.python.md +++ b/specification/appconfiguration/resource-manager/readme.python.md @@ -2,20 +2,16 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-appconfiguration -no-namespace-folders: true +namespace: azure.mgmt.appconfiguration package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration -``` diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json index c71db9292334..213d72fd31cd 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json @@ -116,6 +116,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of CDN operations supported by the CDN resource provider." }, "nextLink": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json index bb5b9116c39c..b62023e79731 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json @@ -249,6 +249,9 @@ "items": { "$ref": "#/definitions/Annotation" }, + "x-ms-identifiers": [ + "Id" + ], "description": "An array of annotations." } }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json index ef0d51e98d36..8a6d1621a925 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json @@ -269,7 +269,10 @@ "type": "array", "items": { "$ref": "#/definitions/ApplicationInsightsComponentExportConfiguration" - } + }, + "x-ms-identifiers": [ + "ExportId" + ] }, "ApplicationInsightsComponentExportConfiguration": { "description": "Properties that define a Continuous Export configuration.", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json index b141ef967b0f..bcf1d4178c30 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json @@ -374,6 +374,9 @@ "type": "object", "$ref": "#/definitions/ApplicationInsightsComponentFeature" }, + "x-ms-identifiers": [ + "FeatureName" + ], "readOnly": true, "description": "A list of Application Insights component feature." } @@ -414,6 +417,9 @@ "type": "object", "$ref": "#/definitions/ApplicationInsightsComponentFeatureCapability" }, + "x-ms-identifiers": [ + "Name" + ], "readOnly": true, "description": "A list of Application Insights component feature capability." }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json index 967bc3168689..117a2f2455b2 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json @@ -153,7 +153,10 @@ "type": "array", "items": { "$ref": "#/definitions/ApplicationInsightsComponentProactiveDetectionConfiguration" - } + }, + "x-ms-identifiers": [ + "Name" + ] }, "ApplicationInsightsComponentProactiveDetectionConfiguration": { "description": "Properties that define a ProactiveDetection configuration.", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json index d018d4f8d6a3..2b4d84c7c9e0 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json @@ -295,6 +295,9 @@ "items": { "$ref": "#/definitions/WorkItemConfiguration" }, + "x-ms-identifiers": [ + "Id" + ], "description": "An array of work item configurations." } }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json index 89279d98d2ab..4bd27dac7d5c 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json @@ -83,7 +83,10 @@ "description": "List of web test locations.", "items": { "$ref": "#/definitions/ApplicationInsightsComponentWebTestLocation" - } + }, + "x-ms-identifiers": [ + "DisplayName" + ] } } }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTests_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTests_API.json index d2accdc7df35..9809ea6af92d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTests_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/webTests_API.json @@ -200,11 +200,11 @@ } ], "responses": { - "204": { - "description": "No content: the request was successful, but the response is empty (the request to delete failed because the specified web test does not exist)." - }, "200": { "description": "Successful request to delete a web test definition." + }, + "204": { + "description": "No content: the request was successful, but the response is empty (the request to delete failed because the specified web test does not exist)." } }, "x-ms-examples": { @@ -439,7 +439,10 @@ "description": "A list of where to physically run the tests from to give global coverage for accessibility of your application.", "items": { "$ref": "#/definitions/WebTestGeolocation" - } + }, + "x-ms-identifiers": [ + "Id" + ] }, "Configuration": { "type": "object", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json index 8b7c68c31127..9f368930e03f 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-02-02/components_API.json @@ -598,6 +598,9 @@ "items": { "$ref": "#/definitions/PrivateLinkScopedResource" }, + "x-ms-identifiers": [ + "ScopeId" + ], "description": "List of linked private link scope resources." }, "publicNetworkAccessForIngestion": { @@ -683,7 +686,8 @@ "description": "The set of columns and filters (queries) to run over them to purge the resulting data.", "items": { "$ref": "#/definitions/ComponentPurgeBodyFilters" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json index 67f063f7dd1b..7847be47892b 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json @@ -340,7 +340,11 @@ "description": "Workbook galleries supported by the template.", "items": { "$ref": "#/definitions/WorkbookTemplateGallery" - } + }, + "x-ms-identifiers": [ + "name", + "type" + ] }, "localized": { "type": "object", @@ -349,7 +353,8 @@ "type": "array", "items": { "$ref": "#/definitions/WorkbookTemplateLocalizedGallery" - } + }, + "x-ms-identifiers": [] } } } @@ -392,7 +397,11 @@ "description": "Workbook galleries supported by the template.", "items": { "$ref": "#/definitions/WorkbookTemplateGallery" - } + }, + "x-ms-identifiers": [ + "name", + "type" + ] } } }, @@ -455,6 +464,10 @@ "items": { "$ref": "#/definitions/WorkbookTemplateErrorFieldContract" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The list of invalid fields send in request, in case of validation error." } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json index abcf9a510a93..1fd1a4d70e32 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-03-08/workbookOperations_API.json @@ -90,6 +90,10 @@ "items": { "$ref": "#/definitions/ErrorFieldContract" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The list of invalid fields send in request, in case of validation error." } } @@ -146,6 +150,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Workbook operations supported by the Microsoft.Insights resource provider." }, "nextLink": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json index 978ae3841103..7ed44a0b8136 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json @@ -1,15 +1,15 @@ { "parameters": { "api-version": "2021-08-01", - "resourceGroupName": "my-resource-group", - "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960", "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "resourceGroupName": "my-resource-group", + "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "workbookProperties": { - "location": "west us", + "location": "westus", "kind": "shared", "properties": { - "displayName": "tttt", + "displayName": "Sample workbook", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "category": "workbook", "description": "Sample workbook" @@ -23,17 +23,18 @@ "responses": { "200": { "body": { - "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "kind": "shared", "properties": { - "displayName": "Blah Blah Blah", + "displayName": "Sample workbook", "userId": "userId", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "timeModified": "2021-08-24T06:56:31.6301521Z", "storageUri": null, "description": "Sample workbook", @@ -47,17 +48,18 @@ }, "201": { "body": { - "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960", + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "kind": "shared", "properties": { - "displayName": "Blah Blah Blah", + "displayName": "Sample workbook", "userId": "userId", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "timeModified": "2021-08-24T06:56:31.6301521Z", "storageUri": null, "description": "Sample workbook", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json index ca98a38004ee..1c9ab9dede59 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json @@ -1,7 +1,7 @@ { "parameters": { "api-version": "2021-08-01", - "subscriptionId": "subid", + "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "resourceGroupName": "my-resource-group", "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2" }, diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json index 64388e923167..1550d001287a 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json @@ -9,7 +9,7 @@ "200": { "body": { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "kind": "shared", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json index 7e855e64ba66..c43724e130ef 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json @@ -9,7 +9,7 @@ "200": { "body": { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "kind": "shared", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json index 15c86b4574aa..640a3d64d28d 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json @@ -4,28 +4,23 @@ "resourceGroupName": "my-resource-group", "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "workbookProperties": { "location": "westus", - "tags": { - "hidden-title": "tttt" - }, "kind": "shared", - "etag": "\"4a00f78d-0000-0700-0000-5f8f616c1000\"", "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": {} } }, "properties": { - "displayName": "tttt", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup\"]}", + "displayName": "Sample workbook", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group\"]}", "version": "Notebook/1.0", "category": "workbook", - "tags": [], "description": "Sample workbook", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } } }, @@ -35,9 +30,9 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", - "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, @@ -45,23 +40,18 @@ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", - "tags": { - "hidden-title": "tttt" - }, "kind": "shared", - "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"", "properties": { - "displayName": "tttt", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", + "displayName": "Sample workbook", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", "version": "Notebook/1.0", "category": "workbook", "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "timeModified": "2020-10-20T22:00:26.4229554Z", - "tags": [], "description": "Sample workbook", "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } } }, @@ -70,9 +60,9 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", - "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, @@ -80,23 +70,18 @@ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", - "tags": { - "hidden-title": "tttt" - }, - "kind": "user", - "etag": "\"4a00f85e-0000-0700-0000-5f8f5dfa0000\"", + "kind": "shared", "properties": { - "displayName": "tttt", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", + "displayName": "Sample workbook", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/test-ws\"]}", "version": "Notebook/1.0", "category": "workbook", "userId": "70d90f65-8a70-4e42-b8d5-86gv25e0a90f", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "timeModified": "2020-10-20T22:00:26.4229554Z", - "tags": [], "description": "Sample workbook", "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json index ae6073404407..f0f56518e06c 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json @@ -11,25 +11,17 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", - "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" - }, - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { - "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc", - "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", - "location": "westcentralus", - "tags": { - "hidden-title": "azuremon" - }, + "location": "westus", "kind": "shared", - "etag": "\"0c003cb4-0000-0600-0000-5f5203c60000\"", "properties": { "displayName": "azuremon", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"testing1\"},\"showPin\":false,\"name\":\"text - 0\"}],\"isLocked\":true,\"fallbackResourceIds\":[\"Azure Monitor\"]}", @@ -38,10 +30,9 @@ "userId": "51d1409c-d725-4550-ac03-98c0bef9ef07", "sourceId": "azure monitor", "timeModified": "2020-09-04T09:07:17.735638Z", - "tags": [], "description": "Sample workbook", "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json index e9d64ee84625..ab8d8740c5e7 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json @@ -4,7 +4,7 @@ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "resourceGroupName": "my-resource-group", "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "location": "westus", "tags": { "TagSample01": "sample01", @@ -15,20 +15,16 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}, - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {} + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": {} } }, "properties": { - "displayName": "tttt", + "displayName": "Sample workbook", "version": "Notebook/1.0", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/my-resource-group\"]}", "category": "workbook", - "isPersisted": true, - "timeModified": "2020-10-20T22:00:26.4229554Z", - "tags": [], "description": "Sample workbook", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } }, "responses": { @@ -37,39 +33,33 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "fbe75b66-01c5-4f87-a220-233af3270432", - "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19" - }, - "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { - "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc", - "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, - "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", + "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": { "TagSample01": "sample01", "TagSample02": "sample02", - "hidden-title": "tttt" + "hidden-title": "Sample workbook" }, "kind": "shared", - "etag": "\"4a00f78d-0000-0700-0000-5f8f616c0000\"", "properties": { - "displayName": "tttt", - "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/MyGroup\"]}", + "displayName": "Sample workbook", + "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":{\"json\":\"test\"},\"name\":\"text - 0\"}],\"isLocked\":false,\"fallbackResourceIds\":[\"/subscriptions/8980832b-9589-4ac2-b322-a6ae6a97f02b/resourceGroups/my-resource-group\"]}", "version": "Notebook/1.0", "category": "workbook", "userId": "70d90f65-8a70-4e42-b8d5-863725e0a90f", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group", "timeModified": "2020-10-20T22:15:08.1875458Z", - "tags": [], "description": "Sample workbook", "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } } } diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json index ef073acb903e..0c52e6fa874a 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json @@ -10,7 +10,7 @@ "200": { "body": { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "kind": "shared", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json index f1f58ae89577..d8ecfedac8b2 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json @@ -11,7 +11,7 @@ "value": [ { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": {}, @@ -31,7 +31,7 @@ }, { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": { diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json index 9905cd92d222..dc74a53290cb 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json @@ -4,7 +4,7 @@ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "resourceGroupName": "my-resource-group", "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "workbookProperties": { "tags": { "TagSample01": "sample01", @@ -12,7 +12,7 @@ }, "kind": "shared", "properties": { - "displayName": "Blah Blah Blah", + "displayName": "Sample workbook", "userId": "userId", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", @@ -25,7 +25,7 @@ "201": { "body": { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4ddq-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": { @@ -34,10 +34,10 @@ }, "kind": "shared", "properties": { - "displayName": "Blah Blah Blah", + "displayName": "Sample workbook", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "userId": "userId", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "version": "Notebook/1.0", "category": "workbook", "timeModified": "2020-10-20T22:00:26.4229554Z", diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json index 3dd9830d5d0d..edae53cbb130 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json @@ -4,7 +4,7 @@ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "resourceGroupName": "my-resource-group", "category": "workbook", - "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp" }, "responses": { "200": { @@ -12,7 +12,7 @@ "value": [ { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": {}, @@ -20,7 +20,7 @@ "properties": { "displayName": "My Workbook 1", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", @@ -43,14 +43,14 @@ "properties": { "displayName": "My Workbook 2", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", "timeModified": "2020-08-04T09:07:17.735638Z", "storageUri": null, "description": "Sample workbook", - "revision": "1e2f8435b98248febee70c64ac22e1bb" + "revision": "1e2f8435b98248febee70c64ac22e1bc" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json index 8986796960bc..c196c3bc9443 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json @@ -3,7 +3,7 @@ "api-version": "2021-08-01", "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af", "category": "workbook", - "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Web/sites/MyApp" }, "responses": { "200": { @@ -11,7 +11,7 @@ "value": [ { "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4d3b-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": {}, @@ -19,7 +19,7 @@ "properties": { "displayName": "My Workbook 1", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", @@ -42,14 +42,14 @@ "properties": { "displayName": "My Workbook 2", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", "timeModified": "2020-10-20T22:00:26.4229554Z", "storageUri": null, "description": "Sample workbook", - "revision": "1e2f8435b98248febee70c64ac22e1bb" + "revision": "1e2f8435b98248febee70c64ac22e1bc" } } ], diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json index 7d849d06f920..5c27fb877798 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json @@ -4,7 +4,7 @@ "subscriptionId": "6b643656-33eb-422f-aee8-3ac119r124af", "resourceGroupName": "my-resource-group", "category": "workbook", - "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1" + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp" }, "responses": { "200": { @@ -14,14 +14,14 @@ "identity": { "type": "UserAssigned", "userAssignedIdentities": { - "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { - "clientId": "fbe75b66-01c5-4f87-a220-233af3270433", - "principalId": "075a0ca6-4326-4434-9abf-c9b1b79f9x19" + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myid": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" } } }, "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", - "name": "deadb33f-8bee-4ddq-a059-9be8dac93960", + "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2", "type": "Microsoft.Insights/workbooks", "location": "westus", "tags": {}, @@ -29,14 +29,14 @@ "properties": { "displayName": "My Workbook 1", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", "timeModified": "2020-10-20T22:00:26.4229554Z", "description": "Sample workbook", "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorage/blobServices/default/containers/mycontainer" } }, { @@ -52,14 +52,14 @@ "properties": { "displayName": "My Workbook 2", "userId": "userId", - "sourceId": "Azure Monitor", + "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/my-resource-group/providers/Microsoft.Web/sites/MyApp", "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}", "version": "Notebook/1.0", "category": "workbook", - "timeModified": "2020-10-20T21:00:26.4229554Z", + "timeModified": "2020-10-20T21:00:26.4229555Z", "description": "Sample workbook", - "revision": "1e2f8435b98248febee70c64ac22e1bb", - "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer" + "revision": "1e2f8435b98248febee70c64ac22e1bc", + "storageUri": null } } ] diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json index 67ba82399ddd..e3142c853b17 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "ApplicationInsightsManagementClient", - "description": "Azure Application Insights workbook type.", + "description": "Azure workbook resource type.", "version": "2021-08-01" }, "host": "management.azure.com", @@ -36,7 +36,7 @@ "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/workbooks": { "get": { - "description": "Get all private workbooks defined within a specified subscription and category.", + "description": "Get all Workbooks defined within a specified subscription and category.", "operationId": "Workbooks_ListBySubscription", "parameters": [ { @@ -78,9 +78,6 @@ }, "WorkbooksList2": { "$ref": "./examples/WorkbooksList2.json" - }, - "WorkbooksManagedList": { - "$ref": "./examples/WorkbooksManagedList.json" } } } @@ -132,6 +129,9 @@ "x-ms-examples": { "WorkbooksList": { "$ref": "./examples/WorkbooksList.json" + }, + "WorkbooksManagedList": { + "$ref": "./examples/WorkbooksManagedList.json" } } } @@ -152,6 +152,9 @@ }, { "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CanFetchWorkbookContentParameter" } ], "responses": { @@ -434,7 +437,7 @@ }, "kind": { "type": "string", - "description": "The kind of workbook. Choices are user and shared.", + "description": "The kind of workbook. Only valid value is shared.", "enum": [ "user", "shared" @@ -562,7 +565,7 @@ "properties": { "kind": { "type": "string", - "description": "The kind of workbook. Choices are user and shared.", + "description": "The kind of workbook. Only valid value is shared.", "enum": [ "user", "shared" diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json index 53c95ded009f..0108d90fdc38 100644 --- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json +++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json @@ -52,12 +52,6 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponseLinkedStorage" - } - }, "200": { "description": "Successful response containing the live metrics stream token.", "schema": { @@ -68,6 +62,12 @@ "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponseLinkedStorage" + } } }, "x-ms-examples": { @@ -99,7 +99,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationLive" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md index 0e8c7ad6c698..8598ccd5f54d 100644 --- a/specification/applicationinsights/resource-manager/readme.go.md +++ b/specification/applicationinsights/resource-manager/readme.go.md @@ -30,6 +30,7 @@ batch: - tag: package-2020-02-02 - tag: package-2021-11-01 - tag: package-2022-01-11 + - tag: package-2022-02-01 ``` ### Tag: package-2015-05 and go @@ -66,4 +67,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-02-01' && $(go) +output-folder: $(go-sdk-folder)/services/preview/appinsights/mgmt/2022-02-01-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md index b3921df56dd9..0ef28312eb2b 100644 --- a/specification/applicationinsights/resource-manager/readme.md +++ b/specification/applicationinsights/resource-manager/readme.md @@ -38,7 +38,7 @@ These are the global settings for the ApplicationInsights API. title: ApplicationInsightsManagementClient description: Composite Swagger for Application Insights Management Client openapi-type: arm -tag: package-2022-01-11 +tag: package-2022-02-01 ``` ### Suppression @@ -232,6 +232,31 @@ directive: ``` +### Tag: package-2022-02-01 + +These settings apply only when `--tag=package-2022-02-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02-01' +input-file: + - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json + - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json + - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json + - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json + - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json + - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json + - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json + - Microsoft.Insights/stable/2015-05-01/favorites_API.json + - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json + - Microsoft.Insights/stable/2015-05-01/webTests_API.json + - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json + - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json + - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json + - Microsoft.Insights/stable/2021-08-01/workbooks_API.json + - Microsoft.Insights/stable/2020-02-02/components_API.json + - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json + - Microsoft.Insights/stable/2021-10-14/livetoken_API.json +``` + ### Tag: package-2022-01-11 These settings apply only when `--tag=package-2022-01-11` is specified on the command line. diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md index ea2fd5b0c080..1778918bd0ed 100644 --- a/specification/applicationinsights/resource-manager/readme.python.md +++ b/specification/applicationinsights/resource-manager/readme.python.md @@ -2,8 +2,7 @@ These settings apply only when `--python` is specified on the command line. -```yaml $(python) && $(track2) -python-mode: create +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-applicationinsights @@ -13,7 +12,7 @@ no-namespace-folders: true ``` ### Python multi-api -``` yaml $(python) && $(multiapi) && $(track2) +``` yaml $(python) && $(multiapi) clear-output-folder: true batch: - tag: package-2015-05 @@ -34,7 +33,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/ -clear-output-folder: false perform-load: false ``` @@ -42,7 +40,7 @@ perform-load: false These settings apply only when `--tag=package-2015-05 --python` is specified on the command line. -``` yaml $(tag) == 'package-2015-05' && $(python) && $(track2) +``` yaml $(tag) == 'package-2015-05' && $(python) namespace: azure.mgmt.applicationinsights.v2015_05_01 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2015_05_01 ``` @@ -51,7 +49,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2017-10 --python` is specified on the command line. -``` yaml $(tag) == 'package-2017-10' && $(python) && $(track2) +``` yaml $(tag) == 'package-2017-10' && $(python) namespace: azure.mgmt.applicationinsights.v2017_10_01 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2017_10_01 ``` @@ -60,7 +58,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2018-06-17-preview --python` is specified on the command line. -``` yaml $(tag) == 'package-2018-06-17-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2018-06-17-preview' && $(python) namespace: azure.mgmt.applicationinsights.v2018_06_17_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_06_17_preview ``` @@ -69,7 +67,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2019-10-17-preview --python` is specified on the command line. -```yaml $(tag) == 'package-2019-10-17-preview' && $(python) && $(track2) +```yaml $(tag) == 'package-2019-10-17-preview' && $(python) namespace: azure.mgmt.applicationinsights.v2019_10_17_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2019_10_17_preview ``` @@ -78,7 +76,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2018-05-01-preview --python` is specified on the command line. -``` yaml $(tag) == 'package-2018-05-01-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2018-05-01-preview' && $(python) namespace: azure.mgmt.applicationinsights.v2018_05_01_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2018_05_01_preview ``` @@ -87,7 +85,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2020-02-02-preview --python` is specified on the command line. -``` yaml $(tag) == 'package-2020-02-02-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-02-02-preview' && $(python) namespace: azure.mgmt.applicationinsights.v2020_02_02_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_02_02_preview ``` @@ -96,7 +94,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2020-03-01-preview --python` is specified on the command line. -``` yaml $(tag) == 'package-2020-03-01-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-03-01-preview' && $(python) namespace: azure.mgmt.applicationinsights.v2020_03_01_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_03_01_preview ``` @@ -105,7 +103,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-preview-2020-06-only --python` is specified on the command line. -``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) && $(track2) +``` yaml $(tag) == 'package-preview-2020-06-only' && $(python) namespace: azure.mgmt.applicationinsights.v2020_06_02_preview output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview ``` @@ -114,7 +112,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2020-11-only --python` is specified on the command line. -``` yaml $(tag) == 'package-2020-11-only' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-11-only' && $(python) namespace: azure.mgmt.applicationinsights.v2020_11_20 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_11_20 ``` @@ -123,7 +121,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2021-03-08-only --python` is specified on the command line. -``` yaml $(tag) == 'package-2021-03-08-only' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-03-08-only' && $(python) namespace: azure.mgmt.applicationinsights.v2021_03_08 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_03_08 ``` @@ -132,7 +130,7 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2021-08 --python` is specified on the command line. -``` yaml $(tag) == 'package-2021-08' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-08' && $(python) namespace: azure.mgmt.applicationinsights.v2021_08_01 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_08_01 ``` @@ -141,13 +139,13 @@ output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationi These settings apply only when `--tag=package-2021-10 --python` is specified on the command line. -``` yaml $(tag) == 'package-2021-10' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-10' && $(python) namespace: azure.mgmt.applicationinsights.v2021_10 output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_10 ``` -```yaml $(python) && $(track2) +```yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json deleted file mode 100644 index b3cd5eda5095..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json +++ /dev/null @@ -1,4100 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2019-05-01-preview", - "title": "AppPlatformManagementClient", - "description": "REST API for Azure Spring Cloud" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get a Service and its properties.", - "operationId": "Services_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the corresponding Service.", - "schema": { - "$ref": "#/definitions/ServiceResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_Get": { - "$ref": "./examples/Services_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create a new Service or update an exiting Service.", - "operationId": "Services_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "resource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/ServiceResource" - } - } - ], - "responses": { - "201": { - "description": "Created. The response describes the new Service and contains a Location header to query the\r\noperation result.", - "schema": { - "$ref": "#/definitions/ServiceResource" - } - }, - "200": { - "description": "Success. The response describes the updated Service.", - "schema": { - "$ref": "#/definitions/ServiceResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Services_CreateOrUpdate": { - "$ref": "./examples/Services_CreateOrUpdate.json" - }, - "Services_CreateOrUpdate_VNetInjection": { - "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to delete a Service.", - "operationId": "Services_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "202": { - "description": "Accepted. The response indicates the delete operation is performed in the background." - }, - "204": { - "description": "Success. The response indicates 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-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Services_Delete": { - "$ref": "./examples/Services_Delete.json" - } - } - }, - "patch": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to update an exiting Service.", - "operationId": "Services_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "resource", - "in": "body", - "description": "Parameters for the update operation", - "required": true, - "schema": { - "$ref": "#/definitions/ServiceResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the updated Service.", - "schema": { - "$ref": "#/definitions/ServiceResource" - } - }, - "202": { - "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", - "schema": { - "$ref": "#/definitions/ServiceResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Services_Update": { - "$ref": "./examples/Services_Update.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "List test keys for a Service.", - "operationId": "Services_ListTestKeys", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the test keys.", - "schema": { - "$ref": "#/definitions/TestKeys" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_ListTestKeys": { - "$ref": "./examples/Services_ListTestKeys.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Regenerate a test key for a Service.", - "operationId": "Services_RegenerateTestKey", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "regenerateTestKeyRequest", - "in": "body", - "description": "Parameters for the operation", - "required": true, - "schema": { - "$ref": "#/definitions/RegenerateTestKeyRequestPayload" - } - } - ], - "responses": { - "200": { - "description": "Success.", - "schema": { - "$ref": "#/definitions/TestKeys" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_RegenerateTestKey": { - "$ref": "./examples/Services_RegenerateTestKey.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint": { - "post": { - "tags": [ - "AppPlatform" - ], - "operationId": "Services_DisableTestEndpoint", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_DisableTestEndpoint": { - "$ref": "./examples/Services_DisableTestEndpoint.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint": { - "post": { - "tags": [ - "AppPlatform" - ], - "operationId": "Services_EnableTestEndpoint", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/TestKeys" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_EnableTestEndpoint": { - "$ref": "./examples/Services_EnableTestEndpoint.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get an App and its properties.", - "operationId": "Apps_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "name": "syncStatus", - "in": "query", - "description": "Indicates whether sync status", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the corresponding App.", - "schema": { - "$ref": "#/definitions/AppResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Apps_Get": { - "$ref": "./examples/Apps_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create a new App or update an exiting App.", - "operationId": "Apps_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "name": "appResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/AppResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the updated App.", - "schema": { - "$ref": "#/definitions/AppResource" - } - }, - "201": { - "description": "Created. The response describes the new App and contains a Location header to query the operation result.", - "schema": { - "$ref": "#/definitions/AppResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Apps_CreateOrUpdate": { - "$ref": "./examples/Apps_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to delete an App.", - "operationId": "Apps_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - } - ], - "responses": { - "204": { - "description": "Success. The response indicates the resource doesn't exist." - }, - "200": { - "description": "Success. The response indicates the resource is deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Apps_Delete": { - "$ref": "./examples/Apps_Delete.json" - } - } - }, - "patch": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to update an exiting App.", - "operationId": "Apps_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "name": "appResource", - "in": "body", - "description": "Parameters for the update operation", - "required": true, - "schema": { - "$ref": "#/definitions/AppResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the updated App.", - "schema": { - "$ref": "#/definitions/AppResource" - } - }, - "202": { - "description": "Accepted. The response indicates the exiting App is now updating and contains a Location header to query the operation result.", - "schema": { - "$ref": "#/definitions/AppResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Apps_Update": { - "$ref": "./examples/Apps_Update.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Handles requests to list all resources in a Service.", - "operationId": "Apps_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of Apps in the Service.", - "schema": { - "$ref": "#/definitions/AppResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Apps_List": { - "$ref": "./examples/Apps_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Get an resource upload URL for an App, which may be artifacts or source archive.", - "operationId": "Apps_GetResourceUploadUrl", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the resource upload URL.", - "schema": { - "$ref": "#/definitions/ResourceUploadDefinition" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Apps_GetResourceUploadUrl": { - "$ref": "./examples/Apps_GetResourceUploadUrl.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get a Binding and its properties.", - "operationId": "Bindings_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/BindingNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the corresponding Binding.", - "schema": { - "$ref": "#/definitions/BindingResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Bindings_Get": { - "$ref": "./examples/Bindings_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create a new Binding or update an exiting Binding.", - "operationId": "Bindings_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/BindingNameParameter" - }, - { - "name": "bindingResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/BindingResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the created or updated Binding.", - "schema": { - "$ref": "#/definitions/BindingResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Bindings_CreateOrUpdate": { - "$ref": "./examples/Bindings_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to delete a Binding.", - "operationId": "Bindings_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/BindingNameParameter" - } - ], - "responses": { - "204": { - "description": "Success. The response indicates the resource doesn't exist." - }, - "200": { - "description": "Success. The response indicates the resource is deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Bindings_Delete": { - "$ref": "./examples/Bindings_Delete.json" - } - } - }, - "patch": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to update an exiting Binding.", - "operationId": "Bindings_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/BindingNameParameter" - }, - { - "name": "bindingResource", - "in": "body", - "description": "Parameters for the update operation", - "required": true, - "schema": { - "$ref": "#/definitions/BindingResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the updated Binding.", - "schema": { - "$ref": "#/definitions/BindingResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Bindings_Update": { - "$ref": "./examples/Bindings_Update.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Handles requests to list all resources in an App.", - "operationId": "Bindings_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of Bindings in the App.", - "schema": { - "$ref": "#/definitions/BindingResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Bindings_List": { - "$ref": "./examples/Bindings_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get the certificate resource.", - "operationId": "Certificates_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/CertificateNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describe the certificate.", - "schema": { - "$ref": "#/definitions/CertificateResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Certificates_Get": { - "$ref": "./examples/Certificates_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create or update certificate resource.", - "operationId": "Certificates_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/CertificateNameParameter" - }, - { - "name": "certificateResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/CertificateResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describe the existed certificate updated.", - "schema": { - "$ref": "#/definitions/CertificateResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Certificates_CreateOrUpdate": { - "$ref": "./examples/Certificates_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Delete the certificate resource.", - "operationId": "Certificates_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/CertificateNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response indicates the certificate deleted." - }, - "204": { - "description": "No content. The response indicates the certificate doesn't exist." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Certificates_Delete": { - "$ref": "./examples/Certificates_Delete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "List all the certificates of one user.", - "operationId": "Certificates_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describe the custom domain resource list of one application.", - "schema": { - "$ref": "#/definitions/CertificateResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Certificates_List": { - "$ref": "./examples/Certificates_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Checks that the resource name is valid and is not already in use.", - "operationId": "Services_CheckNameAvailability", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "location", - "in": "path", - "description": "the region", - "required": true, - "type": "string" - }, - { - "name": "availabilityParameters", - "in": "body", - "description": "Parameters supplied to the operation.", - "required": true, - "schema": { - "$ref": "#/definitions/NameAvailabilityParameters" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describes the name availability.", - "schema": { - "$ref": "#/definitions/NameAvailability" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Services_CheckNameAvailability": { - "$ref": "./examples/Services_CheckNameAvailability.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get the custom domain of one lifecycle application.", - "operationId": "CustomDomains_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/CustomDomainNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describe the custom domain.", - "schema": { - "$ref": "#/definitions/CustomDomainResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "CustomDomains_Get": { - "$ref": "./examples/CustomDomains_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create or update custom domain of one lifecycle application.", - "operationId": "CustomDomains_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/CustomDomainNameParameter" - }, - { - "name": "domainResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/CustomDomainResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describe the existed custom domain updated.", - "schema": { - "$ref": "#/definitions/CustomDomainResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "CustomDomains_CreateOrUpdate": { - "$ref": "./examples/CustomDomains_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Delete the custom domain of one lifecycle application.", - "operationId": "CustomDomains_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/CustomDomainNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response indicates the custom domain deleted." - }, - "204": { - "description": "No content. The response indicates the custom domain doesn't exist." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "CustomDomains_Delete": { - "$ref": "./examples/CustomDomains_Delete.json" - } - } - }, - "patch": { - "tags": [ - "AppPlatform" - ], - "description": "Update custom domain of one lifecycle application.", - "operationId": "CustomDomains_Patch", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/CustomDomainNameParameter" - }, - { - "name": "domainResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/CustomDomainResource" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describe the existed custom domain updated.", - "schema": { - "$ref": "#/definitions/CustomDomainResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "CustomDomains_Patch": { - "$ref": "./examples/CustomDomains_Patch.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "List the custom domains of one lifecycle application.", - "operationId": "CustomDomains_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describe the custom domain resource list of one application.", - "schema": { - "$ref": "#/definitions/CustomDomainResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "CustomDomains_List": { - "$ref": "./examples/CustomDomains_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/validate": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Check the resource name is valid as well as not in use.", - "operationId": "CustomDomains_Validate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "name": "validatePayload", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CustomDomainValidatePayload" - } - } - ], - "responses": { - "200": { - "description": "Success. The response describe the name is available.", - "schema": { - "$ref": "#/definitions/CustomDomainValidateResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "CustomDomains_Validate": { - "$ref": "./examples/CustomDomains_Validate.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Get a Deployment and its properties.", - "operationId": "Deployments_Get", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the corresponding Deployment.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Deployments_Get": { - "$ref": "./examples/Deployments_Get.json" - } - } - }, - "put": { - "tags": [ - "AppPlatform" - ], - "description": "Create a new Deployment or update an exiting Deployment.", - "operationId": "Deployments_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - }, - { - "name": "deploymentResource", - "in": "body", - "description": "Parameters for the create or update operation", - "required": true, - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - } - ], - "responses": { - "201": { - "description": "Created. The response describes the new Deployment and contains a Location header to query the\r\noperation result.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "202": { - "description": "Accepted. The response describes the create or update Deployment request is accepted.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "200": { - "description": "Success. The response describes the updated Deployment.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Deployments_CreateOrUpdate": { - "$ref": "./examples/Deployments_CreateOrUpdate.json" - } - } - }, - "delete": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to delete a Deployment.", - "operationId": "Deployments_Delete", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response indicates the resource is deleted." - }, - "204": { - "description": "Success. The response indicates the resource doesn't exist." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Deployments_Delete": { - "$ref": "./examples/Deployments_Delete.json" - } - } - }, - "patch": { - "tags": [ - "AppPlatform" - ], - "description": "Operation to update an exiting Deployment.", - "operationId": "Deployments_Update", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - }, - { - "name": "deploymentResource", - "in": "body", - "description": "Parameters for the update operation", - "required": true, - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - } - ], - "responses": { - "202": { - "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "200": { - "description": "Success. The response describes the updated Deployment.", - "schema": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Deployments_Update": { - "$ref": "./examples/Deployments_Update.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Handles requests to list all resources in an App.", - "operationId": "Deployments_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "name": "version", - "in": "query", - "description": "Version of the deployments to be listed", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "uniqueItems": false - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of Deployments in the App.", - "schema": { - "$ref": "#/definitions/DeploymentResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Deployments_List": { - "$ref": "./examples/Deployments_List.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "List deployments for a certain service", - "operationId": "Deployments_ListClusterAllDeployments", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "version", - "in": "query", - "description": "Version of the deployments to be listed", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi", - "uniqueItems": false - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/DeploymentResourceCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Deployments_ListClusterAllDeployments": { - "$ref": "./examples/Deployments_ListClusterAllDeployments.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Start the deployment.", - "operationId": "Deployments_Start", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success." - }, - "202": { - "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Deployments_Start": { - "$ref": "./examples/Deployments_Start.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Stop the deployment.", - "operationId": "Deployments_Stop", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success." - }, - "202": { - "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Deployments_Stop": { - "$ref": "./examples/Deployments_Stop.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Restart the deployment.", - "operationId": "Deployments_Restart", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success." - }, - "202": { - "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Deployments_Restart": { - "$ref": "./examples/Deployments_Restart.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": { - "post": { - "tags": [ - "AppPlatform" - ], - "description": "Get deployment log file URL", - "operationId": "Deployments_GetLogFileUrl", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/AppNameParameter" - }, - { - "$ref": "#/parameters/DeploymentNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response contains the log file URL.", - "schema": { - "$ref": "#/definitions/LogFileUrlResponse" - } - }, - "204": { - "description": "Success. The deployment does not have log file." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "Deployments_GetLogFileUrl": { - "$ref": "./examples/Deployments_GetLogFileUrl.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Handles requests to list all resources in a subscription.", - "operationId": "Services_ListBySubscription", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of Services in the subscription.", - "schema": { - "$ref": "#/definitions/ServiceResourceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Services_ListBySubscription": { - "$ref": "./examples/Services_ListBySubscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Handles requests to list all resources in a resource group.", - "operationId": "Services_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of Services in the resource group.", - "schema": { - "$ref": "#/definitions/ServiceResourceList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Services_List": { - "$ref": "./examples/Services_List.json" - } - } - } - }, - "/providers/Microsoft.AppPlatform/operations": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Lists all of the available REST API operations of the Microsoft.AppPlatform provider.", - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the list of operations.", - "schema": { - "$ref": "#/definitions/AvailableOperations" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Operations_List": { - "$ref": "./examples/Operations_List.json" - } - } - } - }, - "/providers/Microsoft.AppPlatform/runtimeVersions": { - "get": { - "tags": [ - "AppPlatform" - ], - "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.", - "operationId": "RuntimeVersions_ListRuntimeVersions", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Success. The response describes the details of all supported deployment runtime versions.", - "schema": { - "$ref": "#/definitions/AvailableRuntimeVersions" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-examples": { - "RuntimeVersions_ListRuntimeVersions": { - "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { - "get": { - "tags": [ - "AppPlatform" - ], - "operationId": "Sku_List", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Success", - "schema": { - "$ref": "#/definitions/ResourceSkuCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/CloudError" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Sku_List": { - "$ref": "./examples/Sku_List.json" - } - } - } - } - }, - "definitions": { - "ServiceResource": { - "description": "Service resource", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ClusterResourceProperties", - "description": "Properties of the Service resource", - "x-ms-client-flatten": false - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "Sku of the Service resource" - } - } - }, - "TrackedResource": { - "description": "The resource model definition for a ARM tracked top level resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "location": { - "description": "The GEO location of the resource.", - "type": "string" - }, - "tags": { - "description": "Tags of the service which is a list of key value pairs that describe the resource.", - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "Resource": { - "description": "The core properties of ARM resources.", - "type": "object", - "properties": { - "id": { - "description": "Fully qualified resource Id for the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The type of the resource.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ClusterResourceProperties": { - "description": "Service properties payload", - "type": "object", - "properties": { - "provisioningState": { - "description": "Provisioning state of the Service", - "enum": [ - "Creating", - "Updating", - "Deleting", - "Deleted", - "Succeeded", - "Failed", - "Moving", - "Moved", - "MoveFailed" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } - }, - "configServerProperties": { - "$ref": "#/definitions/ConfigServerProperties", - "description": "Config server git properties of the Service" - }, - "trace": { - "$ref": "#/definitions/TraceProperties", - "description": "Trace properties of the Service" - }, - "networkProfile": { - "$ref": "#/definitions/NetworkProfile", - "description": "Network profile of the Service" - }, - "version": { - "format": "int32", - "description": "Version of the Service", - "type": "integer", - "readOnly": true - }, - "serviceId": { - "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource", - "type": "string", - "readOnly": true - } - } - }, - "ManagedIdentityProperties": { - "description": "Managed identity properties retrieved from ARM request headers.", - "type": "object", - "properties": { - "type": { - "enum": [ - "None", - "SystemAssigned", - "UserAssigned", - "SystemAssigned,UserAssigned" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedIdentityType", - "modelAsString": true - } - }, - "principalId": { - "type": "string" - }, - "tenantId": { - "type": "string" - } - } - }, - "Sku": { - "description": "Sku of Azure Spring Cloud", - "type": "object", - "properties": { - "name": { - "description": "Name of the Sku", - "type": "string", - "default": "S0" - }, - "tier": { - "description": "Tier of the Sku", - "type": "string", - "default": "Standard" - }, - "capacity": { - "format": "int32", - "description": "Current capacity of the target resource", - "type": "integer" - } - } - }, - "ConfigServerProperties": { - "description": "Config server git properties payload", - "type": "object", - "properties": { - "state": { - "description": "State of the config server.", - "enum": [ - "NotAvailable", - "Deleted", - "Failed", - "Succeeded", - "Updating" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "ConfigServerState", - "modelAsString": true - } - }, - "error": { - "$ref": "#/definitions/Error", - "description": "Error when apply config server settings." - }, - "configServer": { - "$ref": "#/definitions/ConfigServerSettings", - "description": "Settings of config server." - } - } - }, - "TraceProperties": { - "description": "Trace properties payload", - "type": "object", - "properties": { - "state": { - "description": "State of the trace proxy.", - "enum": [ - "NotAvailable", - "Failed", - "Succeeded", - "Updating" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "TraceProxyState", - "modelAsString": true - } - }, - "error": { - "$ref": "#/definitions/Error", - "description": "Error when apply trace proxy changes." - }, - "enabled": { - "description": "Indicates whether enable the tracing functionality", - "type": "boolean" - }, - "appInsightInstrumentationKey": { - "description": "Target application insight instrumentation key", - "type": "string" - } - } - }, - "NetworkProfile": { - "description": "Service network profile payload", - "type": "object", - "properties": { - "serviceRuntimeSubnetId": { - "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "appSubnetId": { - "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "serviceCidr": { - "description": "Azure Spring Cloud service reserved CIDR", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "serviceRuntimeNetworkResourceGroup": { - "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "appNetworkResourceGroup": { - "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "outboundIPs": { - "description": "Desired outbound IP resources for Azure Spring Cloud instance.", - "type": "object", - "readOnly": true, - "properties": { - "publicIPs": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - }, - "description": "A list of public IP addresses." - } - } - }, - "requiredTraffics": { - "description": "Required inbound or outbound traffics for Azure Spring Cloud instance.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/RequiredTraffic" - } - } - } - }, - "RequiredTraffic": { - "description": "Required inbound or outbound traffic for Azure Spring Cloud instance.", - "type": "object", - "properties": { - "protocol": { - "description": "The protocol of required traffic", - "type": "string", - "readOnly": true - }, - "port": { - "description": "The port of required traffic", - "type": "integer", - "format": "int32", - "readOnly": true - }, - "ips": { - "description": "The ip list of required traffic", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "fqdns": { - "description": "The FQDN list of required traffic", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "direction": { - "description": "The direction of required traffic", - "type": "string", - "readOnly": true, - "enum": [ - "Inbound", - "Outbound" - ], - "x-ms-enum": { - "name": "trafficDirection", - "modelAsString": true - } - } - } - }, - "Error": { - "description": "The error code compose of code and message.", - "type": "object", - "properties": { - "code": { - "description": "The code of error.", - "type": "string" - }, - "message": { - "description": "The message of error.", - "type": "string" - } - } - }, - "ConfigServerSettings": { - "description": "The settings of config server.", - "type": "object", - "properties": { - "gitProperty": { - "$ref": "#/definitions/ConfigServerGitProperty", - "description": "Property of git environment." - } - } - }, - "ConfigServerGitProperty": { - "description": "Property of git.", - "required": [ - "uri" - ], - "type": "object", - "properties": { - "repositories": { - "description": "Repositories of git.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/GitPatternRepository" - } - }, - "uri": { - "description": "URI of the repository", - "type": "string" - }, - "label": { - "description": "Label of the repository", - "type": "string" - }, - "searchPaths": { - "description": "Searching path of the repository", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "username": { - "description": "Username of git repository basic auth.", - "type": "string" - }, - "password": { - "description": "Password of git repository basic auth.", - "type": "string" - }, - "hostKey": { - "description": "Public sshKey of git repository.", - "type": "string" - }, - "hostKeyAlgorithm": { - "description": "SshKey algorithm of git repository.", - "type": "string" - }, - "privateKey": { - "description": "Private sshKey algorithm of git repository.", - "type": "string" - }, - "strictHostKeyChecking": { - "description": "Strict host key checking or not.", - "type": "boolean" - } - } - }, - "GitPatternRepository": { - "description": "Git repository property payload", - "required": [ - "name", - "uri" - ], - "type": "object", - "properties": { - "name": { - "description": "Name of the repository", - "type": "string" - }, - "pattern": { - "description": "Collection of pattern of the repository", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "uri": { - "description": "URI of the repository", - "type": "string" - }, - "label": { - "description": "Label of the repository", - "type": "string" - }, - "searchPaths": { - "description": "Searching path of the repository", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "username": { - "description": "Username of git repository basic auth.", - "type": "string" - }, - "password": { - "description": "Password of git repository basic auth.", - "type": "string" - }, - "hostKey": { - "description": "Public sshKey of git repository.", - "type": "string" - }, - "hostKeyAlgorithm": { - "description": "SshKey algorithm of git repository.", - "type": "string" - }, - "privateKey": { - "description": "Private sshKey algorithm of git repository.", - "type": "string" - }, - "strictHostKeyChecking": { - "description": "Strict host key checking or not.", - "type": "boolean" - } - } - }, - "TestKeys": { - "description": "Test keys payload", - "type": "object", - "properties": { - "primaryKey": { - "description": "Primary key", - "type": "string" - }, - "secondaryKey": { - "description": "Secondary key", - "type": "string" - }, - "primaryTestEndpoint": { - "description": "Primary test endpoint", - "type": "string" - }, - "secondaryTestEndpoint": { - "description": "Secondary test endpoint", - "type": "string" - }, - "enabled": { - "description": "Indicates whether the test endpoint feature enabled or not", - "type": "boolean" - } - } - }, - "RegenerateTestKeyRequestPayload": { - "description": "Regenerate test key request payload", - "required": [ - "keyType" - ], - "type": "object", - "properties": { - "keyType": { - "description": "Type of the test key", - "enum": [ - "Primary", - "Secondary" - ], - "type": "string", - "x-ms-enum": { - "name": "TestKeyType", - "modelAsString": true - } - } - } - }, - "AppResource": { - "description": "App resource payload", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/AppResourceProperties", - "description": "Properties of the App resource", - "x-ms-client-flatten": false - }, - "identity": { - "$ref": "#/definitions/ManagedIdentityProperties", - "description": "The Managed Identity type of the app resource" - }, - "location": { - "description": "The GEO location of the application, always the same with its parent resource", - "type": "string" - } - } - }, - "ProxyResource": { - "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": {} - }, - "AppResourceProperties": { - "description": "App resource properties payload", - "type": "object", - "properties": { - "public": { - "description": "Indicates whether the App exposes public endpoint", - "type": "boolean" - }, - "url": { - "description": "URL of the App", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "Provisioning state of the App", - "enum": [ - "Succeeded", - "Failed", - "Creating", - "Updating", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "AppResourceProvisioningState", - "modelAsString": true - } - }, - "activeDeploymentName": { - "description": "Name of the active deployment of the App", - "type": "string" - }, - "fqdn": { - "description": "Fully qualified dns Name.", - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "httpsOnly": { - "description": "Indicate if only https is allowed.", - "type": "boolean", - "default": false - }, - "createdTime": { - "format": "date-time", - "description": "Date time when the resource is created", - "type": "string", - "readOnly": true - }, - "temporaryDisk": { - "$ref": "#/definitions/TemporaryDisk", - "description": "Temporary disk settings" - }, - "persistentDisk": { - "$ref": "#/definitions/PersistentDisk", - "description": "Persistent disk settings" - } - } - }, - "TemporaryDisk": { - "description": "Temporary disk payload", - "type": "object", - "properties": { - "sizeInGB": { - "format": "int32", - "description": "Size of the temporary disk in GB", - "maximum": 5.0, - "minimum": 0.0, - "type": "integer" - }, - "mountPath": { - "description": "Mount path of the temporary disk", - "type": "string", - "default": "/tmp" - } - } - }, - "PersistentDisk": { - "description": "Persistent disk payload", - "type": "object", - "properties": { - "sizeInGB": { - "format": "int32", - "description": "Size of the persistent disk in GB", - "maximum": 50.0, - "minimum": 0.0, - "type": "integer" - }, - "usedInGB": { - "format": "int32", - "description": "Size of the used persistent disk in GB", - "maximum": 50.0, - "minimum": 0.0, - "type": "integer", - "readOnly": true - }, - "mountPath": { - "description": "Mount path of the persistent disk", - "type": "string" - } - } - }, - "AppResourceCollection": { - "description": "Object that includes an array of App resources and a possible link for next set", - "type": "object", - "properties": { - "value": { - "description": "Collection of App resources", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/AppResource" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "ResourceUploadDefinition": { - "description": "Resource upload definition payload", - "type": "object", - "properties": { - "relativePath": { - "description": "Source relative path", - "type": "string" - }, - "uploadUrl": { - "description": "Upload URL", - "type": "string" - } - } - }, - "BindingResource": { - "description": "Binding resource payload", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/BindingResourceProperties", - "description": "Properties of the Binding resource", - "x-ms-client-flatten": false - } - } - }, - "BindingResourceProperties": { - "description": "Binding resource properties payload", - "type": "object", - "properties": { - "resourceName": { - "description": "The name of the bound resource", - "type": "string", - "readOnly": true - }, - "resourceType": { - "description": "The standard Azure resource type of the bound resource", - "type": "string", - "readOnly": true - }, - "resourceId": { - "description": "The Azure resource id of the bound resource", - "type": "string" - }, - "key": { - "description": "The key of the bound resource", - "type": "string" - }, - "bindingParameters": { - "description": "Binding parameters of the Binding resource", - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "generatedProperties": { - "description": "The generated Spring Boot property file for this binding. The secret will be deducted.", - "type": "string", - "readOnly": true - }, - "createdAt": { - "description": "Creation time of the Binding resource", - "type": "string", - "readOnly": true - }, - "updatedAt": { - "description": "Update time of the Binding resource", - "type": "string", - "readOnly": true - } - } - }, - "BindingResourceCollection": { - "description": "Object that includes an array of Binding resources and a possible link for next set", - "type": "object", - "properties": { - "value": { - "description": "Collection of Binding resources", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/BindingResource" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "CertificateResource": { - "description": "Certificate resource payload.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/CertificateProperties", - "description": "Properties of the certificate resource payload.", - "x-ms-client-flatten": false - } - } - }, - "CertificateProperties": { - "description": "Certificate resource payload.", - "required": [ - "vaultUri", - "keyVaultCertName" - ], - "type": "object", - "properties": { - "thumbprint": { - "description": "The thumbprint of certificate.", - "type": "string", - "readOnly": true - }, - "vaultUri": { - "description": "The vault uri of user key vault.", - "type": "string" - }, - "keyVaultCertName": { - "description": "The certificate name of key vault.", - "type": "string" - }, - "certVersion": { - "description": "The certificate version of key vault.", - "type": "string" - }, - "issuer": { - "description": "The issuer of certificate.", - "type": "string", - "readOnly": true - }, - "issuedDate": { - "description": "The issue date of certificate.", - "type": "string", - "readOnly": true - }, - "expirationDate": { - "description": "The expiration date of certificate.", - "type": "string", - "readOnly": true - }, - "activateDate": { - "description": "The activate date of certificate.", - "type": "string", - "readOnly": true - }, - "subjectName": { - "description": "The subject name of certificate.", - "type": "string", - "readOnly": true - }, - "dnsNames": { - "description": "The domain list of certificate.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true - } - } - }, - "CertificateResourceCollection": { - "description": "Collection compose of certificate resources list and a possible link for next page.", - "type": "object", - "properties": { - "value": { - "description": "The certificate resources list.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/CertificateResource" - } - }, - "nextLink": { - "description": "The link to next page of certificate list.", - "type": "string" - } - } - }, - "NameAvailabilityParameters": { - "description": "Name availability parameters payload", - "required": [ - "type", - "name" - ], - "type": "object", - "properties": { - "type": { - "description": "Type of the resource to check name availability", - "type": "string" - }, - "name": { - "description": "Name to be checked", - "type": "string" - } - } - }, - "NameAvailability": { - "description": "Name availability result payload", - "type": "object", - "properties": { - "nameAvailable": { - "description": "Indicates whether the name is available", - "type": "boolean" - }, - "reason": { - "description": "Reason why the name is not available", - "type": "string" - }, - "message": { - "description": "Message why the name is not available", - "type": "string" - } - }, - "readOnly": true - }, - "CustomDomainResource": { - "description": "Custom domain resource payload.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/CustomDomainProperties", - "description": "Properties of the custom domain resource.", - "x-ms-client-flatten": false - } - } - }, - "CustomDomainProperties": { - "description": "Custom domain of app resource payload.", - "type": "object", - "properties": { - "thumbprint": { - "description": "The thumbprint of bound certificate.", - "type": "string" - }, - "appName": { - "description": "The app name of domain.", - "type": "string", - "readOnly": true - }, - "certName": { - "description": "The bound certificate name of domain.", - "type": "string" - } - } - }, - "CustomDomainResourceCollection": { - "description": "Collection compose of a custom domain resources list and a possible link for next page.", - "type": "object", - "properties": { - "value": { - "description": "The custom domain resources list.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/CustomDomainResource" - } - }, - "nextLink": { - "description": "The link to next page of custom domain list.", - "type": "string" - } - } - }, - "CustomDomainValidatePayload": { - "description": "Custom domain validate payload.", - "required": [ - "name" - ], - "type": "object", - "properties": { - "name": { - "description": "Name to be validated", - "type": "string" - } - } - }, - "CustomDomainValidateResult": { - "description": "Validation result for custom domain.", - "type": "object", - "properties": { - "isValid": { - "description": "Indicates if domain name is valid.", - "type": "boolean" - }, - "message": { - "description": "Message of why domain name is invalid.", - "type": "string" - } - } - }, - "DeploymentResource": { - "description": "Deployment resource payload", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/DeploymentResourceProperties", - "description": "Properties of the Deployment resource", - "x-ms-client-flatten": false - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "Sku of the Deployment resource" - } - } - }, - "DeploymentResourceProperties": { - "description": "Deployment resource properties payload", - "type": "object", - "properties": { - "source": { - "$ref": "#/definitions/UserSourceInfo", - "description": "Uploaded source information of the deployment." - }, - "appName": { - "description": "App name of the deployment", - "type": "string", - "readOnly": true - }, - "deploymentSettings": { - "$ref": "#/definitions/DeploymentSettings", - "description": "Deployment settings of the Deployment" - }, - "provisioningState": { - "description": "Provisioning state of the Deployment", - "enum": [ - "Creating", - "Updating", - "Succeeded", - "Failed", - "Deleting" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "DeploymentResourceProvisioningState", - "modelAsString": true - } - }, - "status": { - "description": "Status of the Deployment", - "enum": [ - "Unknown", - "Stopped", - "Running", - "Failed", - "Allocating", - "Upgrading", - "Compiling" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "DeploymentResourceStatus", - "modelAsString": true - } - }, - "active": { - "description": "Indicates whether the Deployment is active", - "type": "boolean", - "readOnly": true - }, - "createdTime": { - "format": "date-time", - "description": "Date time when the resource is created", - "type": "string", - "readOnly": true - }, - "instances": { - "description": "Collection of instances belong to the Deployment", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentInstance" - }, - "readOnly": true - } - } - }, - "UserSourceInfo": { - "description": "Source information for a deployment", - "type": "object", - "properties": { - "type": { - "description": "Type of the source uploaded", - "enum": [ - "Jar", - "NetCoreZip", - "Source" - ], - "type": "string", - "x-ms-enum": { - "name": "UserSourceType", - "modelAsString": true - } - }, - "relativePath": { - "description": "Relative path of the storage which stores the source", - "type": "string" - }, - "version": { - "description": "Version of the source", - "type": "string" - }, - "artifactSelector": { - "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project.", - "type": "string" - } - } - }, - "DeploymentSettings": { - "description": "Deployment settings payload", - "type": "object", - "properties": { - "cpu": { - "format": "int32", - "description": "Required CPU, basic tier should be 1, standard tier should be in range (1, 4)", - "default": 1, - "type": "integer" - }, - "memoryInGB": { - "format": "int32", - "description": "Required Memory size in GB, basic tier should be in range (1, 2), standard tier should be in range (1, 8)", - "default": 1, - "type": "integer" - }, - "jvmOptions": { - "description": "JVM parameter", - "type": "string" - }, - "netCoreMainEntryPath": { - "description": "The path to the .NET executable relative to zip root", - "type": "string" - }, - "instanceCount": { - "format": "int32", - "description": "Instance count, basic tier should be in range (1, 25), standard tier should be in range (1, 500)", - "default": 1, - "type": "integer" - }, - "environmentVariables": { - "description": "Collection of environment variables", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "runtimeVersion": { - "description": "Runtime version", - "default": "Java_8", - "enum": [ - "Java_8", - "Java_11", - "NetCore_31" - ], - "type": "string", - "x-ms-enum": { - "name": "RuntimeVersion", - "modelAsString": true - } - } - } - }, - "DeploymentInstance": { - "description": "Deployment instance payload", - "type": "object", - "properties": { - "name": { - "description": "Name of the deployment instance", - "type": "string", - "readOnly": true - }, - "status": { - "description": "Status of the deployment instance", - "type": "string", - "readOnly": true - }, - "reason": { - "description": "Failed reason of the deployment instance", - "type": "string", - "readOnly": true - }, - "discoveryStatus": { - "description": "Discovery status of the deployment instance", - "type": "string", - "readOnly": true - }, - "startTime": { - "description": "Start time of the deployment instance", - "type": "string", - "readOnly": true - } - } - }, - "DeploymentResourceCollection": { - "description": "Object that includes an array of App resources and a possible link for next set", - "type": "object", - "properties": { - "value": { - "description": "Collection of Deployment resources", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentResource" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "LogFileUrlResponse": { - "description": "Log file URL payload", - "required": [ - "url" - ], - "type": "object", - "properties": { - "url": { - "description": "URL of the log file", - "type": "string" - } - } - }, - "ServiceResourceList": { - "description": "Object that includes an array of Service resources and a possible link for next set", - "type": "object", - "properties": { - "value": { - "description": "Collection of Service resources", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ServiceResource" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "AvailableOperations": { - "description": "Available operations of the service", - "type": "object", - "properties": { - "value": { - "description": "Collection of available operation details", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/OperationDetail" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "OperationDetail": { - "description": "Operation detail payload", - "type": "object", - "properties": { - "name": { - "description": "Name of the operation", - "type": "string" - }, - "isDataAction": { - "description": "Indicates whether the operation is a data action", - "type": "boolean" - }, - "display": { - "$ref": "#/definitions/OperationDisplay", - "description": "Display of the operation" - }, - "actionType": { - "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", - "type": "string", - "readOnly": true, - "enum": [ - "Internal" - ], - "x-ms-enum": { - "name": "ActionType", - "modelAsString": true - } - }, - "origin": { - "description": "Origin of the operation", - "type": "string" - }, - "properties": { - "$ref": "#/definitions/OperationProperties", - "description": "Properties of the operation" - } - } - }, - "OperationDisplay": { - "description": "Operation display payload", - "type": "object", - "properties": { - "provider": { - "description": "Resource provider of the operation", - "type": "string" - }, - "resource": { - "description": "Resource of the operation", - "type": "string" - }, - "operation": { - "description": "Localized friendly name for the operation", - "type": "string" - }, - "description": { - "description": "Localized friendly description for the operation", - "type": "string" - } - } - }, - "OperationProperties": { - "description": "Extra Operation properties", - "type": "object", - "properties": { - "serviceSpecification": { - "$ref": "#/definitions/ServiceSpecification", - "description": "Service specifications of the operation" - } - } - }, - "ServiceSpecification": { - "description": "Service specification payload", - "type": "object", - "properties": { - "logSpecifications": { - "description": "Specifications of the Log for Azure Monitoring", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/LogSpecification" - } - }, - "metricSpecifications": { - "description": "Specifications of the Metrics for Azure Monitoring", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/MetricSpecification" - } - } - } - }, - "LogSpecification": { - "description": "Specifications of the Log for Azure Monitoring", - "type": "object", - "properties": { - "name": { - "description": "Name of the log", - "type": "string" - }, - "displayName": { - "description": "Localized friendly display name of the log", - "type": "string" - }, - "blobDuration": { - "description": "Blob duration of the log", - "type": "string" - } - } - }, - "MetricSpecification": { - "description": "Specifications of the Metrics for Azure Monitoring", - "type": "object", - "properties": { - "name": { - "description": "Name of the metric", - "type": "string" - }, - "displayName": { - "description": "Localized friendly display name of the metric", - "type": "string" - }, - "displayDescription": { - "description": "Localized friendly description of the metric", - "type": "string" - }, - "unit": { - "description": "Unit that makes sense for the metric", - "type": "string" - }, - "category": { - "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", - "type": "string" - }, - "aggregationType": { - "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", - "type": "string" - }, - "supportedAggregationTypes": { - "description": "Supported aggregation types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "supportedTimeGrainTypes": { - "description": "Supported time grain types", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "fillGapWithZero": { - "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", - "type": "boolean" - }, - "dimensions": { - "description": "Dimensions of the metric", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/MetricDimension" - } - }, - "sourceMdmNamespace": { - "description": "Name of the MDM namespace. Optional.", - "type": "string" - } - } - }, - "MetricDimension": { - "description": "Specifications of the Dimension of metrics", - "type": "object", - "properties": { - "name": { - "description": "Name of the dimension", - "type": "string" - }, - "displayName": { - "description": "Localized friendly display name of the dimension", - "type": "string" - }, - "toBeExportedForShoebox": { - "description": "Whether this dimension should be included for the Shoebox export scenario", - "type": "boolean" - } - } - }, - "ResourceSkuCollection": { - "type": "object", - "properties": { - "value": { - "description": "Collection of resource SKU", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSku" - } - }, - "nextLink": { - "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", - "type": "string" - } - } - }, - "ResourceSku": { - "description": "Describes an available Azure Spring Cloud SKU.", - "type": "object", - "properties": { - "resourceType": { - "description": "Gets the type of resource the SKU applies to.", - "type": "string" - }, - "name": { - "description": "Gets the name of SKU.", - "type": "string" - }, - "tier": { - "description": "Gets the tier of SKU.", - "type": "string" - }, - "capacity": { - "$ref": "#/definitions/SkuCapacity", - "description": "Gets the capacity of SKU." - }, - "locations": { - "description": "Gets the set of locations that the SKU is available.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "locationInfo": { - "description": "Gets a list of locations and availability zones in those locations where the SKU is available.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSkuLocationInfo" - } - }, - "restrictions": { - "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSkuRestrictions" - } - } - } - }, - "SkuCapacity": { - "description": "The SKU capacity", - "required": [ - "minimum" - ], - "type": "object", - "properties": { - "minimum": { - "format": "int32", - "description": "Gets or sets the minimum.", - "type": "integer" - }, - "maximum": { - "format": "int32", - "description": "Gets or sets the maximum.", - "type": "integer" - }, - "default": { - "format": "int32", - "description": "Gets or sets the default.", - "type": "integer" - }, - "scaleType": { - "description": "Gets or sets the type of the scale.", - "enum": [ - "None", - "Manual", - "Automatic" - ], - "type": "string", - "x-ms-enum": { - "name": "SkuScaleType", - "modelAsString": true - } - } - } - }, - "ResourceSkuLocationInfo": { - "type": "object", - "properties": { - "location": { - "description": "Gets location of the SKU", - "type": "string" - }, - "zones": { - "description": "Gets list of availability zones where the SKU is supported.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "zoneDetails": { - "description": "Gets details of capabilities available to a SKU in specific zones.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSkuZoneDetails" - } - } - } - }, - "ResourceSkuRestrictions": { - "type": "object", - "properties": { - "type": { - "description": "Gets the type of restrictions. Possible values include: 'Location', 'Zone'", - "enum": [ - "Location", - "Zone" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceSkuRestrictionsType", - "modelAsString": true - } - }, - "values": { - "description": "Gets the value of restrictions. If the restriction type is set to\r\nlocation. This would be different locations where the SKU is restricted.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "restrictionInfo": { - "$ref": "#/definitions/ResourceSkuRestrictionInfo", - "description": "Gets the information about the restriction where the SKU cannot be used." - }, - "reasonCode": { - "description": "Gets the reason for restriction. Possible values include: 'QuotaId', 'NotAvailableForSubscription'", - "enum": [ - "QuotaId", - "NotAvailableForSubscription" - ], - "type": "string", - "x-ms-enum": { - "name": "ResourceSkuRestrictionsReasonCode", - "modelAsString": true - } - } - } - }, - "ResourceSkuZoneDetails": { - "type": "object", - "properties": { - "name": { - "description": "Gets the set of zones that the SKU is available in with the\r\nspecified capabilities.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "capabilities": { - "description": "Gets a list of capabilities that are available for the SKU in the\r\nspecified list of zones.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceSkuCapabilities" - } - } - } - }, - "ResourceSkuRestrictionInfo": { - "type": "object", - "properties": { - "locations": { - "description": "Gets locations where the SKU is restricted", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - }, - "zones": { - "description": "Gets list of availability zones where the SKU is restricted.", - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ResourceSkuCapabilities": { - "type": "object", - "properties": { - "name": { - "description": "Gets an invariant to describe the feature.", - "type": "string" - }, - "value": { - "description": "Gets an invariant if the feature is measured by quantity.", - "type": "string" - } - } - }, - "CloudError": { - "description": "An error response from the service.", - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody" - } - }, - "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" - }, - "target": { - "description": "The target of the particular error. For example, the name of the property in error.", - "type": "string" - }, - "details": { - "description": "A list of additional details about the error.", - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - } - } - }, - "x-ms-external": true - }, - "AvailableRuntimeVersions": { - "type": "object", - "properties": { - "value": { - "description": "A list of all supported runtime versions.", - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/definitions/SupportedRuntimeVersion" - }, - "readOnly": true - } - }, - "readOnly": true - }, - "SupportedRuntimeVersion": { - "description": "Supported deployment runtime version descriptor.", - "type": "object", - "properties": { - "value": { - "description": "The raw value which could be passed to deployment CRUD operations.", - "enum": [ - "Java_8", - "Java_11", - "NetCore_31" - ], - "type": "string", - "x-ms-enum": { - "name": "SupportedRuntimeValue", - "modelAsString": true - } - }, - "platform": { - "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").", - "enum": [ - "Java", - ".NET Core" - ], - "type": "string", - "x-ms-enum": { - "name": "SupportedRuntimePlatform", - "modelAsString": true - } - }, - "version": { - "description": "The detailed version (major.minor) of the platform.", - "type": "string" - } - }, - "readOnly": true - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "Client Api Version.", - "required": true, - "type": "string", - "enum": [ - "2019-05-01-preview" - ] - }, - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", - "required": true, - "type": "string" - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "ServiceNameParameter": { - "name": "serviceName", - "in": "path", - "description": "The name of the Service resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AppNameParameter": { - "name": "appName", - "in": "path", - "description": "The name of the App resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DeploymentNameParameter": { - "name": "deploymentName", - "in": "path", - "description": "The name of the Deployment resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "BindingNameParameter": { - "name": "bindingName", - "in": "path", - "description": "The name of the Binding resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "CustomDomainNameParameter": { - "name": "domainName", - "in": "path", - "description": "The name of the custom domain resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "CertificateNameParameter": { - "name": "certificateName", - "in": "path", - "description": "The name of the certificate resource.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - }, - "securityDefinitions": { - "azure_auth": { - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - }, - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow" - } - }, - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ] -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json deleted file mode 100644 index c8a2405e888e..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_CreateOrUpdate.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "parameters": { - "appResource": { - "properties": { - "public": true, - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "mountPath": "/mypersistentdisk" - } - }, - "identity": null, - "location": "eastus" - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Succeeded", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - }, - "201": { - "body": { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Creating", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json deleted file mode 100644 index 0406834aeb98..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Get.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Succeeded", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json deleted file mode 100644 index d8a6e46355c2..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_List.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Succeeded", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json deleted file mode 100644 index 6fbd8627778f..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Update.json +++ /dev/null @@ -1,97 +0,0 @@ -{ - "parameters": { - "appResource": { - "properties": { - "public": true, - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "mountPath": "/mypersistentdisk" - } - }, - "identity": { - "type": "SystemAssigned", - "principalId": null, - "tenantId": null - }, - "location": "eastus" - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Succeeded", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - }, - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2019-05-01-preview", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2019-05-01-preview" - }, - "body": { - "properties": { - "public": true, - "url": "myapp.myservice.azuremicroservices.io", - "provisioningState": "Updating", - "activeDeploymentName": "mydeployment1", - "fqdn": "myapp.mydomain.com", - "httpsOnly": false, - "temporaryDisk": { - "sizeInGB": 2, - "mountPath": "/mytemporarydisk" - }, - "persistentDisk": { - "sizeInGB": 2, - "usedInGB": 1, - "mountPath": "/mypersistentdisk" - } - }, - "type": "Microsoft.AppPlatform/Spring/apps", - "identity": { - "type": "SystemAssigned", - "principalId": "principalid", - "tenantId": "tenantid" - }, - "location": "eastus", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", - "name": "myapp" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json deleted file mode 100644 index b989e5a57739..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_CreateOrUpdate.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "parameters": { - "bindingResource": { - "properties": { - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", - "key": "xxxx", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": null, - "createdAt": null, - "updatedAt": null - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "bindingName": "mybinding" - }, - "responses": { - "200": { - "body": { - "properties": { - "resourceName": "my-cosmosdb-1", - "resourceType": "Microsoft.DocumentDB", - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", - "createdAt": "2019-01-01T12:34:56.000Z", - "updatedAt": "2019-01-01T12:34:56.000Z" - }, - "type": "Microsoft.AppPlatform/Spring/apps/bindings", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", - "name": "mybinding" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Get.json deleted file mode 100644 index 3caed4f063e5..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Get.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "bindingName": "mybinding" - }, - "responses": { - "200": { - "body": { - "properties": { - "resourceName": "my-cosmosdb-1", - "resourceType": "Microsoft.DocumentDB", - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", - "createdAt": "2019-01-01T12:34:56.000Z", - "updatedAt": "2019-01-01T12:34:56.000Z" - }, - "type": "Microsoft.AppPlatform/Spring/apps/bindings", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", - "name": "mybinding" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_List.json deleted file mode 100644 index 5478de479483..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_List.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "resourceName": "my-cosmosdb-1", - "resourceType": "Microsoft.DocumentDB", - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", - "createdAt": "2019-01-01T12:34:56.000Z", - "updatedAt": "2019-01-01T12:34:56.000Z" - }, - "type": "Microsoft.AppPlatform/Spring/apps/bindings", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", - "name": "mybinding" - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json deleted file mode 100644 index 0d7889bef1de..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Update.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "parameters": { - "bindingResource": { - "properties": { - "key": "xxxx", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": null, - "createdAt": null, - "updatedAt": null - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "bindingName": "mybinding" - }, - "responses": { - "200": { - "body": { - "properties": { - "resourceName": "my-cosmosdb-1", - "resourceType": "Microsoft.DocumentDB", - "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", - "bindingParameters": { - "databaseName": "db1", - "apiType": "SQL" - }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", - "createdAt": "2019-01-01T12:34:56.000Z", - "updatedAt": "2019-01-01T12:34:56.000Z" - }, - "type": "Microsoft.AppPlatform/Spring/apps/bindings", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", - "name": "mybinding" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_CreateOrUpdate.json deleted file mode 100644 index b25bf2082651..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_CreateOrUpdate.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "parameters": { - "certificateResource": { - "properties": { - "vaultUri": "https://myvault.vault.azure.net", - "keyVaultCertName": "mycert", - "certVersion": "08a219d06d874795a96db47e06fbb01e" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "certificateName": "mycertificate" - }, - "responses": { - "200": { - "body": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "vaultUri": "https://myvault.vault.azure.net", - "keyVaultCertName": "mycert", - "certVersion": "08a219d06d874795a96db47e06fbb01e", - "issuer": "mydomain.com", - "issuedDate": "2019-02-20T07:40:42Z", - "expirationDate": "2019-02-21T07:40:42Z", - "activateDate": "2019-02-22T07:40:42Z", - "subjectName": "mysubjectname", - "dnsNames": [ - "mydomain.com", - "mydomain.net", - "mydomain.io" - ] - }, - "type": "Microsoft.AppPlatform/Spring/certificates", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", - "name": "mycertificate" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Get.json deleted file mode 100644 index 7b39fefc11bf..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Get.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "certificateName": "mycertificate" - }, - "responses": { - "200": { - "body": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "vaultUri": "https://myvault.vault.azure.net", - "keyVaultCertName": "mycert", - "certVersion": "08a219d06d874795a96db47e06fbb01e", - "issuer": "mydomain.com", - "issuedDate": "2019-02-20T07:40:42Z", - "expirationDate": "2019-02-21T07:40:42Z", - "activateDate": "2019-02-22T07:40:42Z", - "subjectName": "mysubjectname", - "dnsNames": [ - "mydomain.com", - "mydomain.net", - "mydomain.io" - ] - }, - "type": "Microsoft.AppPlatform/Spring/certificates", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", - "name": "mycertificate" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json deleted file mode 100644 index 4d2893ff6ad2..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_CreateOrUpdate.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "domainResource": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "certName": "mycert" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "domainName": "mydomain.com" - }, - "responses": { - "200": { - "body": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", - "certName": "mycert" - }, - "type": "Microsoft.AppPlatform/Spring/apps/domains", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", - "name": "mydomain.com" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Get.json deleted file mode 100644 index 767c3f6ab672..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Get.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "domainName": "mydomain.com" - }, - "responses": { - "200": { - "body": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", - "certName": "mycert" - }, - "type": "Microsoft.AppPlatform/Spring/apps/domains", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", - "name": "mydomain.com" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_List.json deleted file mode 100644 index 5bce55c10283..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_List.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", - "certName": "mycert" - }, - "type": "Microsoft.AppPlatform/Spring/apps/domains", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", - "name": "mydomain.com" - } - ], - "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json deleted file mode 100644 index 4d2893ff6ad2..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Patch.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "parameters": { - "domainResource": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "certName": "mycert" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "domainName": "mydomain.com" - }, - "responses": { - "200": { - "body": { - "properties": { - "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", - "appName": "myapp", - "certName": "mycert" - }, - "type": "Microsoft.AppPlatform/Spring/apps/domains", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", - "name": "mydomain.com" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Validate.json deleted file mode 100644 index ee7e015c7316..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Validate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "validatePayload": { - "name": "mydomain.io" - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "isValid": false, - "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json deleted file mode 100644 index d28fe2682385..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_CreateOrUpdate.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "parameters": { - "deploymentResource": { - "properties": { - "source": { - "type": "Source", - "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", - "version": "1.0", - "artifactSelector": "sub-module-1" - }, - "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, - "environmentVariables": { - "env": "test" - }, - "runtimeVersion": "Java_8" - }, - "instances": null - }, - "sku": { - "name": "S0", - "tier": "Standard", - "capacity": 1 - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp", - "deploymentName": "mydeployment" - }, - "responses": { - "201": { - "body": { - "properties": { - "source": { - "type": "Source", - "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", - "version": "1.0", - "artifactSelector": "sub-module-1" - }, - "appName": "myapp", - "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, - "environmentVariables": { - "env": "test" - }, - "runtimeVersion": "Java_8" - }, - "provisioningState": "Creating", - "status": "Running", - "active": false, - "instances": [ - { - "name": "instance1", - "status": "Running", - "discoveryStatus": "pending", - "startTime": "2020-08-26T01:55:02Z" - } - ] - }, - "sku": { - "name": "S0", - "tier": "Standard", - "capacity": 1 - }, - "type": "Microsoft.AppPlatform/Spring/apps/deployments", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", - "name": "mydeployment" - } - }, - "202": { - "body": { - "properties": { - "source": { - "type": "Source", - "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", - "version": "1.0", - "artifactSelector": "sub-module-1" - }, - "appName": "myapp", - "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, - "environmentVariables": { - "env": "test" - }, - "runtimeVersion": "Java_8" - }, - "provisioningState": "Creating", - "status": "Starting", - "active": false, - "instances": [ - { - "name": "instance1", - "status": "Starting", - "discoveryStatus": "pending" - } - ] - }, - "sku": { - "name": "S0", - "tier": "Standard", - "capacity": 1 - }, - "type": "Microsoft.AppPlatform/Spring/apps/deployments", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", - "name": "mydeployment" - } - }, - "200": { - "body": { - "properties": { - "source": { - "type": "Source", - "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", - "version": "1.0", - "artifactSelector": "sub-module-1" - }, - "appName": "myapp", - "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, - "environmentVariables": { - "env": "test" - }, - "runtimeVersion": "Java_8" - }, - "provisioningState": "Succeeded", - "status": "Running", - "active": false, - "instances": [ - { - "name": "instance1", - "status": "Running", - "discoveryStatus": "pending", - "startTime": "2020-08-26T01:55:02Z" - } - ] - }, - "sku": { - "name": "S0", - "tier": "Standard", - "capacity": 1 - }, - "type": "Microsoft.AppPlatform/Spring/apps/deployments", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", - "name": "mydeployment" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json deleted file mode 100644 index ec7146bf5480..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_ListClusterAllDeployments.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice", - "appName": "myapp" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "source": { - "type": "Source", - "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", - "version": "1.0", - "artifactSelector": "sub-module-1" - }, - "appName": "myapp", - "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, - "environmentVariables": { - "env": "test" - }, - "runtimeVersion": "Java_8" - }, - "provisioningState": "Succeeded", - "status": "Running", - "active": false, - "instances": [ - { - "name": "instance1", - "status": "Running", - "discoveryStatus": "pending", - "startTime": "2020-08-26T01:55:02Z" - } - ] - }, - "sku": { - "name": "S0", - "tier": "Standard", - "capacity": 1 - }, - "type": "Microsoft.AppPlatform/Spring/apps/deployments", - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", - "name": "mydeployment" - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Operations_List.json deleted file mode 100644 index bc83e3c0e539..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Operations_List.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "name": "Microsoft.AppPlatform/Spring/read", - "isDataAction": false, - "display": { - "provider": "Microsoft Azure Distributed Managed Service for Spring", - "resource": "Managed Applications", - "operation": "Create or Update Managed Applications", - "description": "Create or Update Managed Applications" - }, - "origin": "user,system", - "properties": { - "serviceSpecification": null - } - } - ], - "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CheckNameAvailability.json deleted file mode 100644 index 4b1d5badd988..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CheckNameAvailability.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "parameters": { - "location": "eastus", - "availabilityParameters": { - "type": "Microsoft.AppPlatform/Spring", - "name": "myservice" - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000" - }, - "responses": { - "200": { - "body": { - "nameAvailable": false, - "reason": "AlreadyExists", - "message": "The name is already used." - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json deleted file mode 100644 index f23faf17d18f..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate.json +++ /dev/null @@ -1,183 +0,0 @@ -{ - "parameters": { - "resource": { - "properties": { - "configServerProperties": { - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - } - }, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "201": { - "body": { - "properties": { - "provisioningState": "Creating", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - }, - "200": { - "body": { - "properties": { - "provisioningState": "Succeeded", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json deleted file mode 100644 index 7762df63108c..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "parameters": { - "resource": { - "properties": { - "networkProfile": { - "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", - "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", - "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", - "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", - "appNetworkResourceGroup": "my-app-network-rg" - } - }, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "201": { - "body": { - "properties": { - "provisioningState": "Creating", - "networkProfile": { - "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", - "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", - "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", - "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", - "appNetworkResourceGroup": "my-app-network-rg", - "outboundIPs": { - "publicIPs": [ - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - }, - "serviceId": "12345678abcd1234abcd12345678abcd" - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - }, - "200": { - "body": { - "properties": { - "provisioningState": "Succeeded", - "networkProfile": { - "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", - "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", - "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", - "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", - "appNetworkResourceGroup": "my-app-network-rg", - "outboundIPs": { - "publicIPs": [ - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - }, - "serviceId": "12345678abcd1234abcd12345678abcd" - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Delete.json deleted file mode 100644 index 848e5b21604d..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Delete.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "202": { - "headers": { - "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." - } - }, - "204": {} - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_EnableTestEndpoint.json deleted file mode 100644 index 215f1a0db65c..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_EnableTestEndpoint.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "200": { - "body": { - "primaryKey": "", - "secondaryKey": "", - "primaryTestEndpoint": "key1@TestEndpoint", - "secondaryTestEndpoint": "key2@TestEndpoint", - "enabled": true - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json deleted file mode 100644 index e6013df7d991..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "200": { - "body": { - "properties": { - "provisioningState": "Succeeded", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json deleted file mode 100644 index 22af4c2f85c8..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_List.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "provisioningState": "Succeeded", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json deleted file mode 100644 index 7015dfdb8768..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListBySubscription.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "provisioningState": "Succeeded", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListTestKeys.json deleted file mode 100644 index 215f1a0db65c..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_ListTestKeys.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "200": { - "body": { - "primaryKey": "", - "secondaryKey": "", - "primaryTestEndpoint": "key1@TestEndpoint", - "secondaryTestEndpoint": "key2@TestEndpoint", - "enabled": true - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_RegenerateTestKey.json deleted file mode 100644 index e6f71f89f208..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_RegenerateTestKey.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "regenerateTestKeyRequest": { - "keyType": "Primary" - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "200": { - "body": { - "primaryKey": "", - "secondaryKey": "", - "primaryTestEndpoint": "key1@TestEndpoint", - "secondaryTestEndpoint": "key2@TestEndpoint", - "enabled": true - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json deleted file mode 100644 index 4b0dec5e6ff5..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Update.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "parameters": { - "resource": { - "properties": { - "configServerProperties": { - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - } - }, - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - } - }, - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000", - "resourceGroupName": "myResourceGroup", - "serviceName": "myservice" - }, - "responses": { - "202": { - "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2019-05-01-preview", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2019-05-01-preview" - }, - "body": { - "properties": { - "provisioningState": "Updating", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - }, - "200": { - "body": { - "properties": { - "provisioningState": "Succeeded", - "configServerProperties": { - "state": "Succeeded", - "configServer": { - "gitProperty": { - "uri": "https://github.com/fake-user/fake-repository.git", - "label": "master", - "searchPaths": [ - "/" - ] - } - } - }, - "trace": { - "state": "Succeeded", - "enabled": true, - "appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000" - }, - "serviceId": "12345678abcd1234abcd12345678abcd", - "networkProfile": { - "outboundIPs": { - "publicIPs": [ - "20.39.3.173", - "40.64.67.13" - ] - }, - "requiredTraffics": [ - { - "protocol": "TCP", - "port": 443, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "UDP", - "port": 1194, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - }, - { - "protocol": "TCP", - "port": 9000, - "ips": [ - "20.62.211.25", - "52.188.47.226" - ], - "direction": "Outbound" - } - ] - } - }, - "type": "Microsoft.AppPlatform/Spring", - "sku": { - "name": "S0", - "tier": "Standard" - }, - "location": "eastus", - "tags": { - "key1": "value1" - }, - "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", - "name": "myservice" - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json deleted file mode 100644 index 99c4c8efe8e7..000000000000 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Sku_List.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "api-version": "2019-05-01-preview", - "subscriptionId": "00000000-0000-0000-0000-000000000000" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "resourceType": "Spring", - "name": "B0", - "tier": "Basic", - "capacity": { - "minimum": 1, - "maximum": 20, - "default": 1, - "scaleType": "Automatic" - }, - "locations": [ - "eastus" - ], - "locationInfo": [ - { - "location": "eastus", - "zones": [], - "zoneDetails": [] - } - ], - "restrictions": [] - } - ] - } - } - } -} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_CreateOrUpdate.json index cc6758831f0e..22c6351f85f0 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_CreateOrUpdate.json @@ -31,7 +31,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -50,7 +50,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -69,7 +69,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Get.json index 6703f8af65f4..55de872d48e7 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Get.json @@ -18,7 +18,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_List.json index 52eb089cc100..954c1835c710 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_List.json @@ -19,7 +19,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Update.json index ae1817419484..3861bc88785b 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2020-11-01-preview/examples/Bindings_Update.json @@ -30,7 +30,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -53,7 +53,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json index af805b3241cf..7923836c10d5 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_CreateOrUpdate.json @@ -31,7 +31,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -50,7 +50,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -69,7 +69,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json index eacde307530c..24fbad07f092 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Get.json @@ -18,7 +18,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json index 60ffe4552b9b..dcff8fb97ee7 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_List.json @@ -19,7 +19,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json index 559635b0e691..7e5aa55ca079 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-06-01-preview/examples/Bindings_Update.json @@ -30,7 +30,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -53,7 +53,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json index bf5ca8b3df59..ef0dacb48604 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json @@ -3317,6 +3317,8 @@ "enum": [ "Creating", "Updating", + "Starting", + "Stopping", "Deleting", "Deleted", "Succeeded", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json index 47b4dea861d9..b26896adc4fd 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json @@ -31,7 +31,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -50,7 +50,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -69,7 +69,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json index ef97f4afd141..2f3ab9ad82a2 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json @@ -18,7 +18,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json index dae73256dc3d..32bc99c725d7 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json @@ -19,7 +19,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json index 299b2fd866b8..862d98772a92 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json @@ -30,7 +30,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -53,7 +53,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/appplatform.json index f49194203362..7a3b47ea7d43 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/appplatform.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/appplatform.json @@ -6285,6 +6285,8 @@ "enum": [ "Creating", "Updating", + "Starting", + "Stopping", "Deleting", "Deleted", "Succeeded", @@ -9551,7 +9553,8 @@ }, "public": { "description": "Indicates whether the Spring Cloud Gateway exposes endpoint.", - "type": "boolean" + "type": "boolean", + "default": false }, "url": { "description": "URL of the Spring Cloud Gateway, exposed when 'public' is true.", @@ -9560,7 +9563,8 @@ }, "httpsOnly": { "description": "Indicate if only https is allowed.", - "type": "boolean" + "type": "boolean", + "default": false }, "ssoProperties": { "$ref": "#/definitions/SsoProperties" @@ -9980,7 +9984,8 @@ }, "public": { "description": "Indicates whether the API portal exposes endpoint.", - "type": "boolean" + "type": "boolean", + "default": false }, "url": { "description": "URL of the API portal, exposed when 'public' is true.", @@ -9989,7 +9994,8 @@ }, "httpsOnly": { "description": "Indicate if only https is allowed.", - "type": "boolean" + "type": "boolean", + "default": false }, "gatewayIds": { "description": "The array of resource Ids of gateway to integrate with API portal.", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_CreateOrUpdate.json index 2c2b1ab6b441..1aa109b3a8cc 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_CreateOrUpdate.json @@ -31,7 +31,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -58,7 +58,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -85,7 +85,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Get.json index a4f4c985efb9..f4c3a2bc625b 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Get.json @@ -18,7 +18,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_List.json index 9b43d774659c..f7173d553440 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_List.json @@ -19,7 +19,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Update.json index 9b669b9614b1..179a91a14028 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-01-01-preview/examples/Bindings_Update.json @@ -30,7 +30,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -61,7 +61,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/appplatform.json new file mode 100644 index 000000000000..8365f124b7dc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/appplatform.json @@ -0,0 +1,10366 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AppPlatformManagementClient", + "description": "REST API for Azure Spring Cloud" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Service and its properties.", + "operationId": "Services_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_Get": { + "$ref": "./examples/Services_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Service or update an exiting Service.", + "operationId": "Services_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "201": { + "description": "Created. The response describes the new Service and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_CreateOrUpdate.json" + }, + "Services_CreateOrUpdate_VNetInjection": { + "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Service.", + "operationId": "Services_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted successfully." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates 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-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Delete": { + "$ref": "./examples/Services_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Service.", + "operationId": "Services_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Service.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Service is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Update": { + "$ref": "./examples/Services_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "List test keys for a Service.", + "operationId": "Services_ListTestKeys", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the test keys.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_ListTestKeys": { + "$ref": "./examples/Services_ListTestKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Regenerate a test key for a Service.", + "operationId": "Services_RegenerateTestKey", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "regenerateTestKeyRequest", + "in": "body", + "description": "Parameters for the operation", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateTestKeyRequestPayload" + } + } + ], + "responses": { + "200": { + "description": "Success.", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_RegenerateTestKey": { + "$ref": "./examples/Services_RegenerateTestKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Disable test endpoint functionality for a Service.", + "operationId": "Services_DisableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_DisableTestEndpoint": { + "$ref": "./examples/Services_DisableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Enable test endpoint functionality for a Service.", + "operationId": "Services_EnableTestEndpoint", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/TestKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_EnableTestEndpoint": { + "$ref": "./examples/Services_EnableTestEndpoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/stop": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Stop a Service.", + "operationId": "Services_Stop", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the stop operation is performed in the background." + }, + "404": { + "description": "Not found. The response indicates the service does not exist.", + "x-ms-error-response": true + }, + "409": { + "description": "Conflict. The response indicates the exiting Service is now updating.", + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Stop": { + "$ref": "./examples/Services_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start a Service.", + "operationId": "Services_Start", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the stop operation is performed in the background." + }, + "404": { + "description": "Not found. The response indicates the service does not exist.", + "x-ms-error-response": true + }, + "409": { + "description": "Conflict. The response indicates the exiting Service is now updating.", + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Services_Start": { + "$ref": "./examples/Services_Start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the config server and its properties.", + "operationId": "ConfigServers_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConfigServers_Get": { + "$ref": "./examples/ConfigServers_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigServers_UpdatePut": { + "$ref": "./examples/ConfigServers_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the config server.", + "operationId": "ConfigServers_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Config Server is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigServerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigServers_UpdatePatch": { + "$ref": "./examples/ConfigServers_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/validate": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check if the config server settings are valid.", + "operationId": "ConfigServers_Validate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "configServerSettings", + "in": "body", + "description": "Config server settings to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigServerSettings" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the validation result of Config Server.", + "schema": { + "$ref": "#/definitions/ConfigServerSettingsValidateResult" + } + }, + "202": { + "description": "Accepted. The response indicates the ConfigServerSetting is validating.", + "schema": { + "$ref": "#/definitions/ConfigServerSettingsValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ConfigServers_Validate": { + "$ref": "./examples/ConfigServers_Validate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Application Configuration Service and its properties.", + "operationId": "ConfigurationServices_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Application Configuration Service.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConfigurationServices_Get": { + "$ref": "./examples/ConfigurationServices_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create the default Application Configuration Service or update the existing Application Configuration Service.", + "operationId": "ConfigurationServices_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationServiceNameParameter" + }, + { + "name": "configurationServiceResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationServiceResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Application Configuration Service.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceResource" + } + }, + "201": { + "description": "Created. The response describes the new Service and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigurationServices_CreateOrUpdate": { + "$ref": "./examples/ConfigurationServices_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Disable the default Application Configuration Service.", + "operationId": "ConfigurationServices_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the default Application Configuration Service has deleted." + }, + "202": { + "description": "Accepted. The response indicates the default Application Configuration Service is now deleting." + }, + "204": { + "description": "Success. The response indicates the default Application Configuration Service doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ConfigurationServices_Delete": { + "$ref": "./examples/ConfigurationServices_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "ConfigurationServices_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of configuration service in the Service.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConfigurationServices_List": { + "$ref": "./examples/ConfigurationServices_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configurationServices/{configurationServiceName}/validate": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check if the Application Configuration Service settings are valid.", + "operationId": "ConfigurationServices_Validate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationServiceNameParameter" + }, + { + "name": "settings", + "in": "body", + "description": "Application Configuration Service settings to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationServiceSettings" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the validation result of Application Configuration Service.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceSettingsValidateResult" + } + }, + "202": { + "description": "Accepted. The response indicates the ConfigurationServiceSettings is validating.", + "schema": { + "$ref": "#/definitions/ConfigurationServiceSettingsValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ConfigurationServices_Validate": { + "$ref": "./examples/ConfigurationServices_Validate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries/{serviceRegistryName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Service Registry and its properties.", + "operationId": "ServiceRegistries_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ServiceRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Service Registry.", + "schema": { + "$ref": "#/definitions/ServiceRegistryResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceRegistries_Get": { + "$ref": "./examples/ServiceRegistries_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create the default Service Registry or update the existing Service Registry.", + "operationId": "ServiceRegistries_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ServiceRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Service Registry.", + "schema": { + "$ref": "#/definitions/ServiceRegistryResource" + } + }, + "201": { + "description": "Created. The response describes the new created Service Registry and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/ServiceRegistryResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ServiceRegistries_CreateOrUpdate": { + "$ref": "./examples/ServiceRegistries_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Disable the default Service Registry.", + "operationId": "ServiceRegistries_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ServiceRegistryNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the default Service Registries has deleted." + }, + "202": { + "description": "Accepted. The response indicates the default Service Registries is now deleting." + }, + "204": { + "description": "Success. The response indicates the default Service Registries doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ServiceRegistries_Delete": { + "$ref": "./examples/ServiceRegistries_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/serviceRegistries": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "ServiceRegistries_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Service Registry resources in the Service.", + "schema": { + "$ref": "#/definitions/ServiceRegistryResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ServiceRegistries_List": { + "$ref": "./examples/ServiceRegistries_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List build services resource.", + "operationId": "BuildService_ListBuildServices", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Build Services.", + "schema": { + "$ref": "#/definitions/BuildServiceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildService_ListBuildServices": { + "$ref": "./examples/BuildService_ListBuildServices.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a build service resource.", + "operationId": "BuildService_GetBuildService", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Build Service.", + "schema": { + "$ref": "#/definitions/BuildService" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetBuildService": { + "$ref": "./examples/BuildService_GetBuildService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List KPack builds.", + "operationId": "BuildService_ListBuilds", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the builds.", + "schema": { + "$ref": "#/definitions/BuildCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildService_ListBuilds": { + "$ref": "./examples/BuildService_ListBuilds.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a KPack build.", + "operationId": "BuildService_GetBuild", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Build.", + "schema": { + "$ref": "#/definitions/Build" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetBuild": { + "$ref": "./examples/BuildService_GetBuild.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update a KPack build.", + "operationId": "BuildService_CreateOrUpdateBuild", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + }, + { + "name": "build", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/Build" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Build.", + "schema": { + "$ref": "#/definitions/Build" + } + }, + "201": { + "description": "Created. The response describes the new Build and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/Build" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_CreateOrUpdateBuild": { + "$ref": "./examples/BuildService_CreateOrUpdateBuild.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings/{buildpackBindingName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a buildpack binding by name.", + "operationId": "BuildpackBinding_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildpackBindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a Buildpack Binding.", + "schema": { + "$ref": "#/definitions/BuildpackBindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildpackBinding_Get": { + "$ref": "./examples/BuildpackBinding_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update a buildpack binding.", + "operationId": "BuildpackBinding_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildpackBindingNameParameter" + }, + { + "name": "buildpackBinding", + "in": "body", + "description": "The target buildpack binding for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BuildpackBindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a Buildpack Binding for the create or update operation.", + "schema": { + "$ref": "#/definitions/BuildpackBindingResource" + } + }, + "201": { + "description": "Created. The response describes the new Buildpack Binding and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/BuildpackBindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BuildpackBinding_CreateOrUpdate": { + "$ref": "./examples/BuildpackBinding_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Buildpack Binding", + "operationId": "BuildpackBinding_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildpackBindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BuildpackBinding_Delete": { + "$ref": "./examples/BuildpackBinding_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}/buildpackBindings": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all buildpack bindings in a builder.", + "operationId": "BuildpackBinding_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Buildpack Binding in the builder.", + "schema": { + "$ref": "#/definitions/BuildpackBindingResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildpackBinding_Get": { + "$ref": "./examples/BuildpackBinding_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List KPack build results.", + "operationId": "BuildService_ListBuildResults", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the build results.", + "schema": { + "$ref": "#/definitions/BuildResultCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildService_ListBuildResults": { + "$ref": "./examples/BuildService_ListBuildResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a KPack build result.", + "operationId": "BuildService_GetBuildResult", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + }, + { + "$ref": "#/parameters/BuildResultNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the build result.", + "schema": { + "$ref": "#/definitions/BuildResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetBuildResult": { + "$ref": "./examples/BuildService_GetBuildResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builds/{buildName}/results/{buildResultName}/getLogFileUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get a KPack build result log download URL.", + "operationId": "BuildService_GetBuildResultLog", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + }, + { + "$ref": "#/parameters/BuildResultNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. Build result log exists and can be downloaded.", + "schema": { + "$ref": "#/definitions/BuildResultLog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetBuildResultLog": { + "$ref": "./examples/BuildService_GetBuildResultLog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders/{builderName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a KPack builder.", + "operationId": "BuildServiceBuilder_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Builder", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildServiceBuilder_Get": { + "$ref": "./examples/BuildServiceBuilder_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update a KPack builder.", + "operationId": "BuildServiceBuilder_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + }, + { + "name": "builderResource", + "in": "body", + "description": "The target builder for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BuilderResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Builder", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "201": { + "description": "Created. The response describes the new Builder and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BuildServiceBuilder_CreateOrUpdate": { + "$ref": "./examples/BuildServiceBuilder_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete a KPack builder.", + "operationId": "BuildServiceBuilder_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuilderNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the builder resource has deleted." + }, + "202": { + "description": "Accepted. The response indicates the builder resource is deleting." + }, + "204": { + "description": "Success. The response indicates the builder resource doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BuildServiceBuilder_Delete": { + "$ref": "./examples/BuildServiceBuilder_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/builders": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List KPack builders result.", + "operationId": "BuildServiceBuilder_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the Builder List", + "schema": { + "$ref": "#/definitions/BuilderResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildServiceBuilder_List": { + "$ref": "./examples/BuildServiceBuilder_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/getResourceUploadUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get an resource upload URL for build service, which may be artifacts or source archive.", + "operationId": "BuildService_GetResourceUploadUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the resource upload URL.", + "schema": { + "$ref": "#/definitions/ResourceUploadDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetResourceUploadUrl": { + "$ref": "./examples/BuildService_GetResourceUploadUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get all supported buildpacks.", + "operationId": "BuildService_ListSupportedBuildpacks", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all supported buildpacks.", + "schema": { + "$ref": "#/definitions/SupportedBuildpacksCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_ListSupportedBuildpacks": { + "$ref": "./examples/BuildService_ListSupportedBuildpacks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedBuildpacks/{buildpackName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the supported buildpack resource.", + "operationId": "BuildService_GetSupportedBuildpack", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceBuildpackNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the supported buildpack.", + "schema": { + "$ref": "#/definitions/SupportedBuildpackResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetSupportedBuildpack": { + "$ref": "./examples/BuildService_GetSupportedBuildpack.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get all supported stacks.", + "operationId": "BuildService_ListSupportedStacks", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all supported stacks.", + "schema": { + "$ref": "#/definitions/SupportedStacksCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_ListSupportedStacks": { + "$ref": "./examples/BuildService_ListSupportedStacks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/supportedStacks/{stackName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the supported stack resource.", + "operationId": "BuildService_GetSupportedStack", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceStackNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the supported stack.", + "schema": { + "$ref": "#/definitions/SupportedStackResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildService_GetSupportedStack": { + "$ref": "./examples/BuildService_GetSupportedStack.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List build service agent pool.", + "operationId": "BuildServiceAgentPool_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes build service agent pool.", + "schema": { + "$ref": "#/definitions/BuildServiceAgentPoolResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "BuildServiceAgentPool_List": { + "$ref": "./examples/BuildServiceAgentPool_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/buildServices/{buildServiceName}/agentPools/{agentPoolName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get build service agent pool.", + "operationId": "BuildServiceAgentPool_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceAgentPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes build service agent pool.", + "schema": { + "$ref": "#/definitions/BuildServiceAgentPoolResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "BuildServiceAgentPool_Get": { + "$ref": "./examples/BuildServiceAgentPool_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update build service agent pool.", + "operationId": "BuildServiceAgentPool_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceNameParameter" + }, + { + "$ref": "#/parameters/BuildServiceAgentPoolNameParameter" + }, + { + "name": "agentPoolResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BuildServiceAgentPoolResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes build service agent pool.", + "schema": { + "$ref": "#/definitions/BuildServiceAgentPoolResource" + } + }, + "201": { + "description": "Created. The response describes the new build service agent pool and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/BuildServiceAgentPoolResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BuildServiceAgentPool_UpdatePut": { + "$ref": "./examples/BuildServiceAgentPool_UpdatePut.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Monitoring Setting and its properties.", + "operationId": "MonitoringSettings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "MonitoringSettings_Get": { + "$ref": "./examples/MonitoringSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePut", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "MonitoringSettings_UpdatePut": { + "$ref": "./examples/MonitoringSettings_UpdatePut.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update the Monitoring Setting.", + "operationId": "MonitoringSettings_UpdatePatch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "monitoringSettingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Monitoring Setting.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Monitoring Setting is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/MonitoringSettingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "MonitoringSettings_UpdatePatch": { + "$ref": "./examples/MonitoringSettings_UpdatePatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get an App and its properties.", + "operationId": "Apps_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "syncStatus", + "in": "query", + "description": "Indicates whether sync status", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_Get": { + "$ref": "./examples/Apps_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new App or update an exiting App.", + "operationId": "Apps_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "201": { + "description": "Created. The response describes the new App and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_CreateOrUpdate": { + "$ref": "./examples/Apps_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete an App.", + "operationId": "Apps_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_Delete": { + "$ref": "./examples/Apps_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting App.", + "operationId": "Apps_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "appResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/AppResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated App.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting App is now updating and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_Update": { + "$ref": "./examples/Apps_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "Apps_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Apps in the Service.", + "schema": { + "$ref": "#/definitions/AppResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Apps_List": { + "$ref": "./examples/Apps_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get an resource upload URL for an App, which may be artifacts or source archive.", + "operationId": "Apps_GetResourceUploadUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the resource upload URL.", + "schema": { + "$ref": "#/definitions/ResourceUploadDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_GetResourceUploadUrl": { + "$ref": "./examples/Apps_GetResourceUploadUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/setActiveDeployments": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Set existing Deployment under the app as active", + "operationId": "Apps_SetActiveDeployments", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "activeDeploymentCollection", + "in": "body", + "description": "A list of Deployment name to be active.", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveDeploymentCollection" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the active deployment.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/AppResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Apps_SetActiveDeployments": { + "$ref": "./examples/Apps_SetActiveDeployments.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Binding and its properties.", + "operationId": "Bindings_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Bindings_Get": { + "$ref": "./examples/Bindings_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Binding or update an exiting Binding.", + "operationId": "Bindings_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the created or updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "201": { + "description": "Created. The response describes the new Binding and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_CreateOrUpdate": { + "$ref": "./examples/Bindings_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Binding.", + "operationId": "Bindings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_Delete": { + "$ref": "./examples/Bindings_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Binding.", + "operationId": "Bindings_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/BindingNameParameter" + }, + { + "name": "bindingResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/BindingResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Binding.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Binding is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/BindingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Bindings_Update": { + "$ref": "./examples/Bindings_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Bindings_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Bindings in the App.", + "schema": { + "$ref": "#/definitions/BindingResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Bindings_List": { + "$ref": "./examples/Bindings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages/{storageName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the storage resource.", + "operationId": "Storages_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the storage.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Storages_Get": { + "$ref": "./examples/Storages_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update storage resource.", + "operationId": "Storages_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + }, + { + "name": "storageResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/StorageResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed storage updated.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "201": { + "description": "Created. The response describes the new storage resource created and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting storage is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/StorageResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Storages_CreateOrUpdate": { + "$ref": "./examples/Storages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the storage resource.", + "operationId": "Storages_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/StorageNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the storage deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the storage doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Storages_Delete": { + "$ref": "./examples/Storages_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List all the storages of one Azure Spring Cloud instance.", + "operationId": "Storages_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe all the storages attached to one Azure Spring Cloud instance.", + "schema": { + "$ref": "#/definitions/StorageResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Storages_List": { + "$ref": "./examples/Storages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the certificate resource.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the certificate.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/Certificates_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update certificate resource.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "certificateResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed certificate updated.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "201": { + "description": "Created. The response describes the new certificate and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting certificate is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CertificateResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/Certificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the certificate resource.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the certificate deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the certificate doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/Certificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/certificates": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List all the certificates of one user.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the list of certificates in the Service.", + "schema": { + "$ref": "#/definitions/CertificateResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Certificates_List": { + "$ref": "./examples/Certificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "Services_CheckNameAvailability", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "the region", + "required": true, + "type": "string" + }, + { + "name": "availabilityParameters", + "in": "body", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Services_CheckNameAvailability": { + "$ref": "./examples/Services_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains/{domainName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomDomains_Get": { + "$ref": "./examples/CustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update custom domain of one lifecycle application.", + "operationId": "CustomDomains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "201": { + "description": "Created. The response describes the new custom domain and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_CreateOrUpdate": { + "$ref": "./examples/CustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the custom domain of one lifecycle application.", + "operationId": "CustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "No content. The response indicates the custom domain doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_Delete": { + "$ref": "./examples/CustomDomains_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Update custom domain of one lifecycle application.", + "operationId": "CustomDomains_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/CustomDomainNameParameter" + }, + { + "name": "domainResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the existed custom domain updated.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting custom domain is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "CustomDomains_Update": { + "$ref": "./examples/CustomDomains_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/domains": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List the custom domains of one lifecycle application.", + "operationId": "CustomDomains_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the custom domain resource list of one application.", + "schema": { + "$ref": "#/definitions/CustomDomainResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "CustomDomains_List": { + "$ref": "./examples/CustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/validateDomain": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check the resource name is valid as well as not in use.", + "operationId": "Apps_ValidateDomain", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "validatePayload", + "in": "body", + "description": "Custom domain payload to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainValidatePayload" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the name is available.", + "schema": { + "$ref": "#/definitions/CustomDomainValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Apps_ValidateDomain": { + "$ref": "./examples/Apps_ValidateDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get a Deployment and its properties.", + "operationId": "Deployments_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_Get": { + "$ref": "./examples/Deployments_Get.json" + }, + "Deployments_Get_CustomContainer": { + "$ref": "./examples/Deployments_Get_CustomContainer.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create a new Deployment or update an exiting Deployment.", + "operationId": "Deployments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "201": { + "description": "Created. The response describes the new Deployment and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_CreateOrUpdate": { + "$ref": "./examples/Deployments_CreateOrUpdate.json" + }, + "Deployments_CreateOrUpdate_CustomContainer": { + "$ref": "./examples/Deployments_CreateOrUpdate_CustomContainer.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to delete a Deployment.", + "operationId": "Deployments_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource doesn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Delete": { + "$ref": "./examples/Deployments_Delete.json" + } + } + }, + "patch": { + "tags": [ + "AppPlatform" + ], + "description": "Operation to update an exiting Deployment.", + "operationId": "Deployments_Update", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "deploymentResource", + "in": "body", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Deployment.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting Deployment is now updating and contains a Location\r\nheader to query the operation result.", + "schema": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Update": { + "$ref": "./examples/Deployments_Update.json" + }, + "Deployments_Update_CustomContainer": { + "$ref": "./examples/Deployments_Update_CustomContainer.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in an App.", + "operationId": "Deployments_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Deployments in the App.", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_List": { + "$ref": "./examples/Deployments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "List deployments for a certain service", + "operationId": "Deployments_ListForCluster", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "name": "version", + "in": "query", + "description": "Version of the deployments to be listed", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi", + "uniqueItems": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DeploymentResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deployments_ListForCluster": { + "$ref": "./examples/Deployments_ListForCluster.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start the deployment.", + "operationId": "Deployments_Start", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now starting and contains a Location header to\r\nquery the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Start": { + "$ref": "./examples/Deployments_Start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Stop the deployment.", + "operationId": "Deployments_Stop", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now stopping and contains a Location header to\r\nquery the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Stop": { + "$ref": "./examples/Deployments_Stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Restart the deployment.", + "operationId": "Deployments_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "202": { + "description": "Accepted. The response indicates the Deployment is now restarting and contains a Location header\r\nto query the operation result." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_Restart": { + "$ref": "./examples/Deployments_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Get deployment log file URL", + "operationId": "Deployments_GetLogFileUrl", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response contains the log file URL.", + "schema": { + "$ref": "#/definitions/LogFileUrlResponse" + } + }, + "204": { + "description": "Success. The deployment does not have log file." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Deployments_GetLogFileUrl": { + "$ref": "./examples/Deployments_GetLogFileUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Generate Heap Dump", + "operationId": "Deployments_GenerateHeapDump", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "200": { + "description": "Success. A heap dump was generated." + }, + "202": { + "description": "Accepted. The response indicates a heap dump is generating." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_GenerateHeapDump": { + "$ref": "./examples/Deployments_GenerateHeapDump.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Generate Thread Dump", + "operationId": "Deployments_GenerateThreadDump", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "200": { + "description": "Success. A thread dump was generated." + }, + "202": { + "description": "Accepted. The response indicates a thread dump is generating." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_GenerateHeapDump": { + "$ref": "./examples/Deployments_GenerateThreadDump.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/startJFR": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Start JFR", + "operationId": "Deployments_StartJFR", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/AppNameParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "diagnosticParameters", + "in": "body", + "description": "Parameters for the diagnostic operation", + "required": true, + "schema": { + "$ref": "#/definitions/DiagnosticParameters" + } + } + ], + "responses": { + "200": { + "description": "Success. A JFR generated." + }, + "202": { + "description": "Accepted. The response indicates a JFR is starting." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Deployments_StartJFR": { + "$ref": "./examples/Deployments_StartJFR.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "Services_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the subscription.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_ListBySubscription": { + "$ref": "./examples/Services_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "Services_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Services in the resource group.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Services_List": { + "$ref": "./examples/Services_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/operations": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available REST API operations of the Microsoft.AppPlatform provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/providers/Microsoft.AppPlatform/runtimeVersions": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available runtime versions supported by Microsoft.AppPlatform provider.", + "operationId": "RuntimeVersions_ListRuntimeVersions", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the details of all supported deployment runtime versions.", + "schema": { + "$ref": "#/definitions/AvailableRuntimeVersions" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RuntimeVersions_ListRuntimeVersions": { + "$ref": "./examples/RuntimeVersions_ListRuntimeVersions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/skus": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Lists all of the available skus of the Microsoft.AppPlatform provider.", + "operationId": "Skus_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ResourceSkuCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Skus_List": { + "$ref": "./examples/Skus_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Spring Cloud Gateway and its properties.", + "operationId": "Gateways_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Spring Cloud Gateway.", + "schema": { + "$ref": "#/definitions/GatewayResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gateways_Get": { + "$ref": "./examples/Gateways_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create the default Spring Cloud Gateway or update the existing Spring Cloud Gateway.", + "operationId": "Gateways_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "name": "gatewayResource", + "in": "body", + "description": "The gateway for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/GatewayResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Spring Cloud Gateway.", + "schema": { + "$ref": "#/definitions/GatewayResource" + } + }, + "201": { + "description": "Created. The response describes the new created Spring Cloud Gateway and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/GatewayResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Gateways_CreateOrUpdate": { + "$ref": "./examples/Gateways_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Disable the default Spring Cloud Gateway.", + "operationId": "Gateways_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the default Spring Cloud Gateway has deleted." + }, + "202": { + "description": "Accepted. The response indicates the default Spring Cloud Gateway is now deleting." + }, + "204": { + "description": "Success. The response indicates the default Spring Cloud Gateway doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Gateways_Delete": { + "$ref": "./examples/Gateways_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "Gateways_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of gateways in the Service.", + "schema": { + "$ref": "#/definitions/GatewayResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gateways_List": { + "$ref": "./examples/Gateways_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs/{routeConfigName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Spring Cloud Gateway route configs.", + "operationId": "GatewayRouteConfigs_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayRouteConfigNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Spring Cloud Gateway route configs.", + "schema": { + "$ref": "#/definitions/GatewayRouteConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GatewayRouteConfigs_Get": { + "$ref": "./examples/GatewayRouteConfigs_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create the default Spring Cloud Gateway route configs or update the existing Spring Cloud Gateway route configs.", + "operationId": "GatewayRouteConfigs_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayRouteConfigNameParameter" + }, + { + "name": "gatewayRouteConfigResource", + "in": "body", + "description": "The Spring Cloud Gateway route config for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/GatewayRouteConfigResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Spring Cloud Gateway route configs.", + "schema": { + "$ref": "#/definitions/GatewayRouteConfigResource" + } + }, + "201": { + "description": "Created. The response describes the new created Spring Cloud Gateway route configs and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/GatewayRouteConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "GatewayRouteConfigs_CreateOrUpdate": { + "$ref": "./examples/GatewayRouteConfigs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the Spring Cloud Gateway route config.", + "operationId": "GatewayRouteConfigs_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayRouteConfigNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the Spring Cloud Gateway route config has deleted." + }, + "202": { + "description": "Accepted. The response indicates the Spring Cloud Gateway route config is now deleting." + }, + "204": { + "description": "Success. The response indicates the Spring Cloud Gateway route config doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "GatewayRouteConfigs_Delete": { + "$ref": "./examples/GatewayRouteConfigs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/routeConfigs": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handle requests to list all Spring Cloud Gateway route configs.", + "operationId": "GatewayRouteConfigs_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Spring Cloud Gateway route configs.", + "schema": { + "$ref": "#/definitions/GatewayRouteConfigResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GatewayRouteConfigs_List": { + "$ref": "./examples/GatewayRouteConfigs_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains/{domainName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the Spring Cloud Gateway custom domain.", + "operationId": "GatewayCustomDomains_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayCustomDomainParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding Spring Cloud Gateway custom domain.", + "schema": { + "$ref": "#/definitions/GatewayCustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GatewayCustomDomains_Get": { + "$ref": "./examples/GatewayCustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update the Spring Cloud Gateway custom domain.", + "operationId": "GatewayCustomDomains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayCustomDomainParameter" + }, + { + "name": "gatewayCustomDomainResource", + "in": "body", + "description": "The gateway custom domain resource for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/GatewayCustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Spring Cloud Gateway custom domain.", + "schema": { + "$ref": "#/definitions/GatewayCustomDomainResource" + } + }, + "201": { + "description": "Created. The response describes the new created Spring Cloud Gateway custom domain and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/GatewayCustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "GatewayCustomDomains_CreateOrUpdate": { + "$ref": "./examples/GatewayCustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the Spring Cloud Gateway custom domain.", + "operationId": "GatewayCustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "$ref": "#/parameters/GatewayCustomDomainParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the Spring Cloud Gateway custom domain has deleted." + }, + "202": { + "description": "Accepted. The response indicates the Spring Cloud Gateway custom domain is now deleting." + }, + "204": { + "description": "Success. The response indicates the Spring Cloud Gateway custom domain doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "GatewayCustomDomains_Delete": { + "$ref": "./examples/GatewayCustomDomains_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/domains": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handle requests to list all Spring Cloud Gateway custom domains.", + "operationId": "GatewayCustomDomains_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of Spring Cloud Gateway custom domains.", + "schema": { + "$ref": "#/definitions/GatewayCustomDomainResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GatewayCustomDomains_List": { + "$ref": "./examples/GatewayCustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/gateways/{gatewayName}/validateDomain": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check the domains are valid as well as not in use.", + "operationId": "Gateways_ValidateDomain", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/GatewayNameParameter" + }, + { + "name": "validatePayload", + "in": "body", + "description": "Custom domain payload to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainValidatePayload" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the name is available.", + "schema": { + "$ref": "#/definitions/CustomDomainValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gateways_ValidateDomain": { + "$ref": "./examples/Gateways_ValidateDomain.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the API portal and its properties.", + "operationId": "ApiPortals_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding API portal.", + "schema": { + "$ref": "#/definitions/ApiPortalResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ApiPortals_Get": { + "$ref": "./examples/ApiPortals_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create the default API portal or update the existing API portal.", + "operationId": "ApiPortals_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + }, + { + "name": "apiPortalResource", + "in": "body", + "description": "The API portal for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ApiPortalResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated API portal.", + "schema": { + "$ref": "#/definitions/ApiPortalResource" + } + }, + "201": { + "description": "Created. The response describes the new created API portal and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/ApiPortalResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ApiPortals_CreateOrUpdate": { + "$ref": "./examples/ApiPortals_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the default API portal.", + "operationId": "ApiPortals_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the default API portal has deleted." + }, + "202": { + "description": "Accepted. The response indicates the default API portal is now deleting." + }, + "204": { + "description": "Success. The response indicates the default API portal doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ApiPortals_Delete": { + "$ref": "./examples/ApiPortals_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handles requests to list all resources in a Service.", + "operationId": "ApiPortals_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of API portals in the Service.", + "schema": { + "$ref": "#/definitions/ApiPortalResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ApiPortals_List": { + "$ref": "./examples/ApiPortals_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains/{domainName}": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Get the API portal custom domain.", + "operationId": "ApiPortalCustomDomains_Get", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalCustomDomainParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding API portal custom domain.", + "schema": { + "$ref": "#/definitions/ApiPortalCustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ApiPortalCustomDomains_Get": { + "$ref": "./examples/ApiPortalCustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "AppPlatform" + ], + "description": "Create or update the API portal custom domain.", + "operationId": "ApiPortalCustomDomains_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalCustomDomainParameter" + }, + { + "name": "apiPortalCustomDomainResource", + "in": "body", + "description": "The API portal custom domain for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/ApiPortalCustomDomainResource" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the updated Spring Cloud Gateway route configs.", + "schema": { + "$ref": "#/definitions/ApiPortalCustomDomainResource" + } + }, + "201": { + "description": "Created. The response describes the new created Spring Cloud Gateway custom domain and contains an Azure-AsyncOperation header to query the operation result.", + "schema": { + "$ref": "#/definitions/ApiPortalCustomDomainResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ApiPortalCustomDomains_CreateOrUpdate": { + "$ref": "./examples/ApiPortalCustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "AppPlatform" + ], + "description": "Delete the API portal custom domain.", + "operationId": "ApiPortalCustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalCustomDomainParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the API portal custom domain has deleted." + }, + "202": { + "description": "Accepted. The response indicates the API portal custom domain is now deleting." + }, + "204": { + "description": "Success. The response indicates the API portal custom domain doesn't exist or has deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ApiPortalCustomDomains_Delete": { + "$ref": "./examples/ApiPortalCustomDomains_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/domains": { + "get": { + "tags": [ + "AppPlatform" + ], + "description": "Handle requests to list all API portal custom domains.", + "operationId": "ApiPortalCustomDomains_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of API portal custom domains.", + "schema": { + "$ref": "#/definitions/ApiPortalCustomDomainResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ApiPortalCustomDomains_List": { + "$ref": "./examples/ApiPortalCustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apiPortals/{apiPortalName}/validateDomain": { + "post": { + "tags": [ + "AppPlatform" + ], + "description": "Check the domains are valid as well as not in use.", + "operationId": "ApiPortals_ValidateDomain", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServiceNameParameter" + }, + { + "$ref": "#/parameters/ApiPortalNameParameter" + }, + { + "name": "validatePayload", + "in": "body", + "description": "Custom domain payload to be validated", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainValidatePayload" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describe the name is available.", + "schema": { + "$ref": "#/definitions/CustomDomainValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ApiPortals_ValidateDomain": { + "$ref": "./examples/ApiPortals_ValidateDomain.json" + } + } + } + } + }, + "definitions": { + "ServiceResource": { + "description": "Service resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ClusterResourceProperties", + "description": "Properties of the Service resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Service resource" + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource.", + "type": "string" + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "x-ms-azure-resource": true + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdBy": { + "description": "The identity that created the resource.", + "type": "string" + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string" + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string" + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource modification (UTC).", + "type": "string" + } + }, + "readOnly": true + }, + "ClusterResourceProperties": { + "description": "Service properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Service", + "enum": [ + "Creating", + "Updating", + "Starting", + "Stopping", + "Deleting", + "Deleted", + "Succeeded", + "Failed", + "Moving", + "Moved", + "MoveFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "networkProfile": { + "$ref": "#/definitions/NetworkProfile", + "description": "Network profile of the Service" + }, + "version": { + "format": "int32", + "description": "Version of the Service", + "type": "integer", + "readOnly": true + }, + "serviceId": { + "description": "ServiceInstanceEntity GUID which uniquely identifies a created resource", + "type": "string", + "readOnly": true + }, + "powerState": { + "description": "Power state of the Service", + "enum": [ + "Running", + "Stopped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PowerState", + "modelAsString": true + } + }, + "zoneRedundant": { + "type": "boolean", + "default": false, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "fqdn": { + "description": "Fully qualified dns name of the service instance", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentityProperties": { + "description": "Managed identity properties retrieved from ARM request headers.", + "type": "object", + "properties": { + "type": { + "description": "Type of the managed identity", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "Principal Id of system-assigned managed identity.", + "type": "string" + }, + "tenantId": { + "description": "Tenant Id of system-assigned managed identity.", + "type": "string" + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedManagedIdentities", + "description": "Properties of user-assigned managed identities" + } + } + }, + "UserAssignedManagedIdentities": { + "description": "User-assigned managed identities in key-value map. The key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedManagedIdentity" + } + }, + "UserAssignedManagedIdentity": { + "description": "The details of the user-assigned managed identity assigned to an App.", + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user-assigned managed identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user-assigned managed identity.", + "type": "string", + "readOnly": true + } + } + }, + "BuildServiceCollection": { + "description": "Object that includes an array of Build service resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Build service resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuildService" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "BuildService": { + "description": "Build service resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BuildServiceProperties", + "description": "Properties of the build resource", + "x-ms-client-flatten": false + } + } + }, + "BuildServiceProperties": { + "description": "Build service resource properties payload", + "type": "object", + "properties": { + "kPackVersion": { + "description": "The installed KPack version in this build service.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the KPack build result", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuildServiceProvisioningState", + "modelAsString": true + } + }, + "resourceRequests": { + "description": "The runtime resource configuration of this build service.", + "type": "object", + "properties": { + "cpu": { + "description": "vCPU allocated to the entire build service node pool.", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "Memory allocated to the entire build service node pool.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "BuildCollection": { + "description": "Object that includes an array of Build resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Build resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Build" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "Build": { + "description": "Build resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BuildProperties", + "description": "Properties of the build resource", + "x-ms-client-flatten": false + } + } + }, + "BuildProperties": { + "description": "Build resource properties payload", + "type": "object", + "properties": { + "relativePath": { + "description": "The relative path of source code", + "type": "string" + }, + "builder": { + "description": "The resource id of builder to build the source code", + "type": "string" + }, + "agentPool": { + "description": "The resource id of agent pool", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the KPack build result", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuildProvisioningState", + "modelAsString": true + } + }, + "env": { + "description": "The environment variables for this build", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "triggeredBuildResult": { + "$ref": "#/definitions/TriggeredBuildResult", + "description": " The build result triggered by this build" + } + } + }, + "TriggeredBuildResult": { + "description": "The build result triggered by a build", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "description": "The unique build id of this build result", + "type": "string" + } + } + }, + "BuildResultCollection": { + "description": "Object that includes an array of Build result resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Build result resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuildResult" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "BuildResult": { + "description": "Build result resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BuildResultProperties", + "description": "Properties of the build result resource", + "x-ms-client-flatten": false + } + } + }, + "BuildResultProperties": { + "description": "Build result resource properties payload", + "type": "object", + "properties": { + "name": { + "description": "The name of this build result", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the KPack build result", + "enum": [ + "Queuing", + "Building", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuildResultProvisioningState", + "modelAsString": true + } + }, + "buildPodName": { + "description": "The build pod name which can be used to get the build log streaming.", + "type": "string" + }, + "buildStages": { + "description": "All of the build stage (init-container and container) resources in build pod.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuildStageProperties" + }, + "readOnly": true + } + } + }, + "BuildStageProperties": { + "description": "The build stage (init-container and container) resources in build pod.", + "type": "object", + "properties": { + "name": { + "description": "The name of this build stage resource.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The provisioning state of this build stage resource.", + "enum": [ + "NotStarted", + "Running", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KPackBuildStageProvisioningState", + "modelAsString": true + } + } + } + }, + "BuildResultLog": { + "description": "Build result log resource properties payload", + "type": "object", + "properties": { + "blobUrl": { + "description": "The public download URL of this build result log", + "type": "string" + } + } + }, + "BuilderResourceCollection": { + "description": "Object that includes an array of Builder resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Builder resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuilderResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "BuilderResource": { + "description": "KPack Builder resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BuilderProperties", + "description": "Property of the Builder resource." + } + } + }, + "BuilderProperties": { + "description": "KPack Builder properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "Builder provision status.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuilderProvisioningState", + "modelAsString": true + } + }, + "stack": { + "description": "Builder cluster stack property.", + "type": "object", + "$ref": "#/definitions/StackProperties" + }, + "buildpackGroups": { + "description": "Builder buildpack groups.", + "type": "array", + "items": { + "$ref": "#/definitions/BuildpacksGroupProperties" + } + } + } + }, + "StackProperties": { + "description": "KPack ClusterStack properties payload", + "type": "object", + "properties": { + "id": { + "description": "Id of the ClusterStack.", + "type": "string" + }, + "version": { + "description": "Version of the ClusterStack", + "type": "string" + } + } + }, + "BuildpacksGroupProperties": { + "description": "Buildpack group properties of the Builder", + "type": "object", + "properties": { + "name": { + "description": "Buildpack group name", + "type": "string" + }, + "buildpacks": { + "description": "Buildpacks in the buildpack group", + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/BuildpackProperties" + } + } + } + }, + "BuildpackProperties": { + "description": "Buildpack properties payload", + "type": "object", + "properties": { + "id": { + "description": "Id of the buildpack", + "type": "string" + } + } + }, + "SupportedBuildpacksCollection": { + "description": "Object that includes an array of supported buildpacks resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of supported buildpacks resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedBuildpackResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SupportedBuildpackResource": { + "description": "Supported buildpack resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportedBuildpackResourceProperties" + } + } + }, + "SupportedBuildpackResourceProperties": { + "description": "Supported buildpack resource properties", + "type": "object", + "properties": { + "buildpackId": { + "description": "The id of supported buildpack", + "type": "string" + } + } + }, + "SupportedStacksCollection": { + "description": "Object that includes an array of supported stacks resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of supported stacks resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedStackResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SupportedStackResource": { + "description": "Supported stack resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportedStackResourceProperties" + } + } + }, + "SupportedStackResourceProperties": { + "description": "Supported stack resource properties", + "type": "object", + "properties": { + "stackId": { + "description": "The id of supported stack", + "type": "string" + }, + "version": { + "description": "The version of supported stack", + "type": "string" + } + } + }, + "BuildServiceAgentPoolResourceCollection": { + "description": "Object that includes an array of build service agent pool resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of build service agent pool resource", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuildServiceAgentPoolResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "BuildServiceAgentPoolResource": { + "description": "The build service agent pool resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "build service agent pool properties", + "type": "object", + "$ref": "#/definitions/BuildServiceAgentPoolProperties" + } + } + }, + "BuildServiceAgentPoolProperties": { + "description": "Build service agent pool properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the build service agent pool", + "type": "string", + "readOnly": true + }, + "poolSize": { + "description": "build service agent pool size properties", + "type": "object", + "$ref": "#/definitions/BuildServiceAgentPoolSizeProperties" + } + } + }, + "BuildServiceAgentPoolSizeProperties": { + "description": "Build service agent pool size properties", + "type": "object", + "properties": { + "name": { + "description": "The name of build service agent pool size", + "type": "string" + }, + "cpu": { + "description": "The cpu property of build service agent pool size", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "The memory property of build service agent pool size", + "type": "string", + "readOnly": true + } + } + }, + "ConfigurationServiceResourceCollection": { + "description": "Object that includes an array of configuration service resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of configuration service resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationServiceResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ConfigurationServiceResource": { + "description": "Application Configuration Service resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationServiceProperties" + } + } + }, + "ConfigurationServiceProperties": { + "description": "Application Configuration Service properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Application Configuration Service.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConfigurationServiceProvisioningState", + "modelAsString": true + } + }, + "resourceRequests": { + "$ref": "#/definitions/ConfigurationServiceResourceRequests", + "description": "The requested resource quantity for required CPU and Memory." + }, + "instances": { + "description": "Collection of instances belong to Application Configuration Service.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationServiceInstance" + }, + "readOnly": true + }, + "settings": { + "$ref": "#/definitions/ConfigurationServiceSettings" + } + } + }, + "ConfigurationServiceResourceRequests": { + "description": "Resource request payload of Application Configuration Service", + "type": "object", + "readOnly": true, + "properties": { + "cpu": { + "description": "Cpu allocated to each Application Configuration Service instance", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "Memory allocated to each Application Configuration Service instance", + "type": "string", + "readOnly": true + }, + "instanceCount": { + "format": "int32", + "description": "Instance count of the Application Configuration Service", + "type": "integer", + "readOnly": true + } + } + }, + "ConfigurationServiceSettings": { + "description": "The settings of Application Configuration Service.", + "type": "object", + "properties": { + "gitProperty": { + "$ref": "#/definitions/ConfigurationServiceGitProperty" + } + } + }, + "ConfigurationServiceGitProperty": { + "description": "Property of git environment.", + "type": "object", + "properties": { + "repositories": { + "$ref": "#/definitions/ConfigurationServiceGitPropertyRepository" + } + } + }, + "ConfigurationServiceGitPropertyRepository": { + "description": "Repositories of Application Configuration Service git property.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationServiceGitRepository" + } + }, + "ConfigurationServiceSettingsValidateResult": { + "description": "Validation result for configuration service settings", + "type": "object", + "properties": { + "gitPropertyValidationResult": { + "$ref": "#/definitions/ConfigurationServiceGitPropertyValidateResult" + } + } + }, + "ConfigurationServiceGitPropertyValidateResult": { + "description": "Validation result for configuration service settings", + "type": "object", + "properties": { + "isValid": { + "description": "Indicate if the configuration service settings are valid", + "type": "boolean" + }, + "gitReposValidationResult": { + "description": "The detail validation results", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationMessages" + } + } + } + }, + "ValidationMessages": { + "description": "Validate messages of the configuration service git repositories", + "type": "object", + "properties": { + "name": { + "description": "The name of the configuration service git repository.", + "type": "string" + }, + "messages": { + "description": "Detailed validation messages.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ConfigurationServiceInstance": { + "description": "Collection of instances belong to the Application Configuration Service", + "type": "object", + "properties": { + "name": { + "description": "Name of the Application Configuration Service instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the Application Configuration Service instance", + "type": "string", + "readOnly": true + } + } + }, + "ConfigurationServiceGitRepository": { + "description": "Git repository property payload for Application Configuration Service", + "required": [ + "name", + "patterns", + "uri", + "label" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the repository", + "type": "string" + }, + "patterns": { + "description": "Collection of patterns of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "ServiceRegistryResourceCollection": { + "description": "Object that includes an array of Service Registry resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Service Registry resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRegistryResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ServiceRegistryResource": { + "description": "Service Registry resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceRegistryProperties" + } + } + }, + "ServiceRegistryProperties": { + "description": "Service Registry properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Service Registry.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ServiceRegistryProvisioningState", + "modelAsString": true + } + }, + "resourceRequests": { + "$ref": "#/definitions/ServiceRegistryResourceRequests", + "description": "The requested resource quantity for required CPU and Memory." + }, + "instances": { + "description": "Collection of instances belong to Service Registry.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRegistryInstance" + }, + "readOnly": true + } + } + }, + "ServiceRegistryResourceRequests": { + "description": "Resource request payload of Service Registry", + "type": "object", + "readOnly": true, + "properties": { + "cpu": { + "description": "Cpu allocated to each Service Registry instance", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "Memory allocated to each Service Registry instance", + "type": "string", + "readOnly": true + }, + "instanceCount": { + "format": "int32", + "description": "Instance count of the Service Registry", + "type": "integer", + "readOnly": true + } + } + }, + "ServiceRegistryInstance": { + "description": "Collection of instances belong to the Service Registry", + "type": "object", + "properties": { + "name": { + "description": "Name of the Service Registry instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the Service Registry instance", + "type": "string", + "readOnly": true + } + } + }, + "Sku": { + "description": "Sku of Azure Spring Cloud", + "type": "object", + "properties": { + "name": { + "description": "Name of the Sku", + "type": "string", + "default": "S0" + }, + "tier": { + "description": "Tier of the Sku", + "type": "string", + "default": "Standard" + }, + "capacity": { + "format": "int32", + "description": "Current capacity of the target resource", + "type": "integer" + } + } + }, + "ConfigServerSettingsValidateResult": { + "description": "Validation result for config server settings", + "type": "object", + "properties": { + "isValid": { + "description": "Indicate if the config server settings are valid", + "type": "boolean" + }, + "details": { + "description": "The detail validation results", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigServerSettingsErrorRecord" + } + } + } + }, + "ConfigServerSettingsErrorRecord": { + "description": "Error record of the config server settings", + "type": "object", + "properties": { + "name": { + "description": "The name of the config server settings error record", + "type": "string" + }, + "uri": { + "description": "The uri of the config server settings error record", + "type": "string" + }, + "messages": { + "description": "The detail error messages of the record", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ConfigServerResource": { + "description": "Config Server resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConfigServerProperties", + "description": "Properties of the Config Server resource", + "x-ms-client-flatten": false + } + } + }, + "ConfigServerProperties": { + "description": "Config server git properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the config server.", + "enum": [ + "NotAvailable", + "Deleted", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConfigServerState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply config server settings." + }, + "configServer": { + "$ref": "#/definitions/ConfigServerSettings", + "description": "Settings of config server." + } + } + }, + "MonitoringSettingResource": { + "description": "Monitoring Setting resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MonitoringSettingProperties", + "description": "Properties of the Monitoring Setting resource", + "x-ms-client-flatten": false + } + } + }, + "MonitoringSettingProperties": { + "description": "Monitoring Setting properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Monitoring Setting.", + "enum": [ + "NotAvailable", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MonitoringSettingState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Error when apply Monitoring Setting changes." + }, + "traceEnabled": { + "description": "Indicates whether enable the trace functionality, which will be deprecated since api version 2020-11-01-preview. Please leverage appInsightsInstrumentationKey to indicate if monitoringSettings enabled or not", + "type": "boolean" + }, + "appInsightsInstrumentationKey": { + "description": "Target application insight instrumentation key, null or whitespace include empty will disable monitoringSettings", + "type": "string" + }, + "appInsightsSamplingRate": { + "description": "Indicates the sampling rate of application insight agent, should be in range [0.0, 100.0]", + "format": "double", + "maximum": 100.0, + "minimum": 0.0, + "type": "number" + }, + "appInsightsAgentVersions": { + "$ref": "#/definitions/applicationInsightsAgentVersions", + "description": "Indicates the versions of application insight agent" + } + } + }, + "applicationInsightsAgentVersions": { + "description": "Application Insights agent versions properties payload", + "type": "object", + "properties": { + "java": { + "description": "Indicates the version of application insight java agent", + "type": "string", + "readOnly": true + } + } + }, + "NetworkProfile": { + "description": "Service network profile payload", + "type": "object", + "properties": { + "serviceRuntimeSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Service Runtime", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "appSubnetId": { + "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "serviceCidr": { + "description": "Azure Spring Cloud service reserved CIDR", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "serviceRuntimeNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "appNetworkResourceGroup": { + "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "outboundIPs": { + "description": "Desired outbound IP resources for Azure Spring Cloud instance.", + "type": "object", + "readOnly": true, + "properties": { + "publicIPs": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "A list of public IP addresses." + } + } + }, + "requiredTraffics": { + "description": "Required inbound or outbound traffics for Azure Spring Cloud instance.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RequiredTraffic" + } + } + } + }, + "RequiredTraffic": { + "description": "Required inbound or outbound traffic for Azure Spring Cloud instance.", + "type": "object", + "properties": { + "protocol": { + "description": "The protocol of required traffic", + "type": "string", + "readOnly": true + }, + "port": { + "description": "The port of required traffic", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "ips": { + "description": "The ip list of required traffic", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "fqdns": { + "description": "The FQDN list of required traffic", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "direction": { + "description": "The direction of required traffic", + "type": "string", + "readOnly": true, + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "trafficDirection", + "modelAsString": true + } + } + } + }, + "Error": { + "description": "The error code compose of code and message.", + "type": "object", + "properties": { + "code": { + "description": "The code of error.", + "type": "string" + }, + "message": { + "description": "The message of error.", + "type": "string" + } + } + }, + "ConfigServerSettings": { + "description": "The settings of config server.", + "type": "object", + "properties": { + "gitProperty": { + "$ref": "#/definitions/ConfigServerGitProperty", + "description": "Property of git environment." + } + } + }, + "ConfigServerGitProperty": { + "description": "Property of git.", + "required": [ + "uri" + ], + "type": "object", + "properties": { + "repositories": { + "description": "Repositories of git.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GitPatternRepository" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "GitPatternRepository": { + "description": "Git repository property payload for config server", + "required": [ + "name", + "uri" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the repository", + "type": "string" + }, + "pattern": { + "description": "Collection of pattern of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "uri": { + "description": "URI of the repository", + "type": "string" + }, + "label": { + "description": "Label of the repository", + "type": "string" + }, + "searchPaths": { + "description": "Searching path of the repository", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "username": { + "description": "Username of git repository basic auth.", + "type": "string" + }, + "password": { + "description": "Password of git repository basic auth.", + "type": "string" + }, + "hostKey": { + "description": "Public sshKey of git repository.", + "type": "string" + }, + "hostKeyAlgorithm": { + "description": "SshKey algorithm of git repository.", + "type": "string" + }, + "privateKey": { + "description": "Private sshKey algorithm of git repository.", + "type": "string" + }, + "strictHostKeyChecking": { + "description": "Strict host key checking or not.", + "type": "boolean" + } + } + }, + "TestKeys": { + "description": "Test keys payload", + "type": "object", + "properties": { + "primaryKey": { + "description": "Primary key", + "type": "string" + }, + "secondaryKey": { + "description": "Secondary key", + "type": "string" + }, + "primaryTestEndpoint": { + "description": "Primary test endpoint", + "type": "string" + }, + "secondaryTestEndpoint": { + "description": "Secondary test endpoint", + "type": "string" + }, + "enabled": { + "description": "Indicates whether the test endpoint feature enabled or not", + "type": "boolean" + } + } + }, + "RegenerateTestKeyRequestPayload": { + "description": "Regenerate test key request payload", + "required": [ + "keyType" + ], + "type": "object", + "properties": { + "keyType": { + "description": "Type of the test key", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "TestKeyType", + "modelAsString": true + } + } + } + }, + "AppResource": { + "description": "App resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AppResourceProperties", + "description": "Properties of the App resource", + "x-ms-client-flatten": false + }, + "identity": { + "$ref": "#/definitions/ManagedIdentityProperties", + "description": "The Managed Identity type of the app resource" + }, + "location": { + "description": "The GEO location of the application, always the same with its parent resource", + "type": "string" + } + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "AppResourceProperties": { + "description": "App resource properties payload", + "type": "object", + "properties": { + "public": { + "description": "Indicates whether the App exposes public endpoint", + "type": "boolean" + }, + "url": { + "description": "URL of the App", + "type": "string", + "readOnly": true + }, + "addonConfigs": { + "description": "Collection of addons", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AddonProfile" + } + }, + "provisioningState": { + "description": "Provisioning state of the App", + "enum": [ + "Succeeded", + "Failed", + "Creating", + "Updating", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AppResourceProvisioningState", + "modelAsString": true + } + }, + "fqdn": { + "description": "Fully qualified dns Name.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean", + "default": false + }, + "temporaryDisk": { + "$ref": "#/definitions/TemporaryDisk", + "description": "Temporary disk settings" + }, + "persistentDisk": { + "$ref": "#/definitions/PersistentDisk", + "description": "Persistent disk settings" + }, + "customPersistentDisks": { + "$ref": "#/definitions/CustomPersistentDiskCollection", + "description": "List of custom persistent disks" + }, + "enableEndToEndTLS": { + "description": "Indicate if end to end TLS is enabled.", + "type": "boolean", + "default": false + }, + "loadedCertificates": { + "description": "Collection of loaded certificates", + "$ref": "#/definitions/LoadedCertificateCollection" + } + } + }, + "TemporaryDisk": { + "description": "Temporary disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the temporary disk in GB", + "maximum": 5.0, + "minimum": 0.0, + "type": "integer" + }, + "mountPath": { + "description": "Mount path of the temporary disk", + "type": "string", + "default": "/tmp" + } + } + }, + "PersistentDisk": { + "description": "Persistent disk payload", + "type": "object", + "properties": { + "sizeInGB": { + "format": "int32", + "description": "Size of the persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer" + }, + "usedInGB": { + "format": "int32", + "description": "Size of the used persistent disk in GB", + "maximum": 50.0, + "minimum": 0.0, + "type": "integer", + "readOnly": true + }, + "mountPath": { + "description": "Mount path of the persistent disk", + "type": "string" + } + } + }, + "LoadedCertificate": { + "description": "Loaded certificate payload", + "required": [ + "resourceId" + ], + "type": "object", + "properties": { + "resourceId": { + "description": "Resource Id of loaded certificate", + "type": "string" + }, + "loadTrustStore": { + "description": "Indicate whether the certificate will be loaded into default trust store, only work for Java runtime.", + "type": "boolean", + "default": false + } + } + }, + "LoadedCertificateCollection": { + "description": "Collection of loaded certificate resources list and a possible link for next page.", + "type": "array", + "items": { + "$ref": "#/definitions/LoadedCertificate" + } + }, + "AppResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of App resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/AppResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ActiveDeploymentCollection": { + "description": "Object that includes an array of Deployment resource name and set them as active.", + "type": "object", + "properties": { + "activeDeploymentNames": { + "description": "Collection of Deployment name.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceUploadDefinition": { + "description": "Resource upload definition payload", + "type": "object", + "properties": { + "relativePath": { + "description": "Source relative path", + "type": "string" + }, + "uploadUrl": { + "description": "Upload URL", + "type": "string" + } + } + }, + "BindingResource": { + "description": "Binding resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BindingResourceProperties", + "description": "Properties of the Binding resource", + "x-ms-client-flatten": false + } + } + }, + "BindingResourceProperties": { + "description": "Binding resource properties payload", + "type": "object", + "properties": { + "resourceName": { + "description": "The name of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceType": { + "description": "The standard Azure resource type of the bound resource", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "The Azure resource id of the bound resource", + "type": "string" + }, + "key": { + "description": "The key of the bound resource", + "type": "string" + }, + "bindingParameters": { + "description": "Binding parameters of the Binding resource", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "generatedProperties": { + "description": "The generated Spring Boot property file for this binding. The secret will be deducted.", + "type": "string", + "readOnly": true + }, + "createdAt": { + "description": "Creation time of the Binding resource", + "type": "string", + "readOnly": true + }, + "updatedAt": { + "description": "Update time of the Binding resource", + "type": "string", + "readOnly": true + } + } + }, + "BindingResourceCollection": { + "description": "Object that includes an array of Binding resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Binding resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BindingResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CertificateResource": { + "description": "Certificate resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "Properties of the certificate resource payload.", + "x-ms-client-flatten": false + } + } + }, + "CertificateProperties": { + "description": "Certificate resource payload.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the certificate source.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "thumbprint": { + "description": "The thumbprint of certificate.", + "type": "string", + "readOnly": true + }, + "issuer": { + "description": "The issuer of certificate.", + "type": "string", + "readOnly": true + }, + "issuedDate": { + "description": "The issue date of certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "The expiration date of certificate.", + "type": "string", + "readOnly": true + }, + "activateDate": { + "description": "The activate date of certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "The subject name of certificate.", + "type": "string", + "readOnly": true + }, + "dnsNames": { + "description": "The domain list of certificate.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "discriminator": "type" + }, + "KeyVaultCertificateProperties": { + "description": "Properties of certificate imported from key vault.", + "required": [ + "type", + "vaultUri", + "keyVaultCertName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ], + "properties": { + "vaultUri": { + "description": "The vault uri of user key vault.", + "type": "string" + }, + "keyVaultCertName": { + "description": "The certificate name of key vault.", + "type": "string" + }, + "certVersion": { + "description": "The certificate version of key vault.", + "type": "string" + }, + "excludePrivateKey": { + "description": "Optional. If set to true, it will not import private key from key vault.", + "type": "boolean", + "default": false + } + }, + "x-ms-discriminator-value": "KeyVaultCertificate" + }, + "ContentCertificateProperties": { + "description": "Properties of certificate imported from key vault.", + "required": [ + "type" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CertificateProperties" + } + ], + "properties": { + "content": { + "description": "The content of uploaded certificate.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + }, + "x-ms-discriminator-value": "ContentCertificate" + }, + "CertificateResourceCollection": { + "description": "Collection compose of certificate resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The certificate resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CertificateResource" + } + }, + "nextLink": { + "description": "The link to next page of certificate list.", + "type": "string" + } + } + }, + "StorageResource": { + "description": "Storage resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageProperties", + "description": "Properties of the storage resource payload.", + "x-ms-client-flatten": false + } + } + }, + "StorageProperties": { + "description": "Storage resource payload.", + "type": "object", + "required": [ + "storageType" + ], + "properties": { + "storageType": { + "description": "The type of the storage.", + "enum": [ + "StorageAccount" + ], + "type": "string" + } + }, + "discriminator": "storageType" + }, + "StorageAccount": { + "description": "storage resource of type Azure Storage Account.", + "type": "object", + "required": [ + "storageType", + "accountName", + "accountKey" + ], + "allOf": [ + { + "$ref": "#/definitions/StorageProperties" + } + ], + "properties": { + "accountName": { + "description": "The account name of the Azure Storage Account.", + "type": "string" + }, + "accountKey": { + "description": "The account key of the Azure Storage Account.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "StorageResourceCollection": { + "description": "Collection compose of storage resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The storage resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/StorageResource" + } + }, + "nextLink": { + "description": "The link to next page of storage list.", + "type": "string" + } + } + }, + "CustomPersistentDiskResource": { + "description": "Custom persistent disk resource payload.", + "type": "object", + "required": [ + "storageId" + ], + "properties": { + "customPersistentDiskProperties": { + "$ref": "#/definitions/CustomPersistentDiskProperties", + "description": "Properties of the custom persistent disk resource payload.", + "x-ms-client-flatten": false + }, + "storageId": { + "description": "The resource id of Azure Spring Cloud Storage resource.", + "type": "string" + } + } + }, + "CustomPersistentDiskProperties": { + "description": "Custom persistent disk resource payload.", + "required": [ + "type", + "mountPath" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the underlying resource to mount as a persistent disk.", + "enum": [ + "AzureFileVolume" + ], + "type": "string" + }, + "mountPath": { + "description": "The mount path of the persistent disk.", + "type": "string" + }, + "readOnly": { + "description": "Indicates whether the persistent disk is a readOnly one.", + "type": "boolean" + }, + "mountOptions": { + "description": "These are the mount options for a persistent disk.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + }, + "discriminator": "type" + }, + "CustomPersistentDiskCollection": { + "description": "Collection of persistent disk resources list and a possible link for next page.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomPersistentDiskResource" + } + }, + "AzureFileVolume": { + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", + "type": "object", + "required": [ + "type", + "mountPath", + "shareName" + ], + "allOf": [ + { + "$ref": "#/definitions/CustomPersistentDiskProperties" + } + ], + "properties": { + "shareName": { + "description": "The share name of the Azure File share.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileVolume" + }, + "NameAvailabilityParameters": { + "description": "Name availability parameters payload", + "required": [ + "type", + "name" + ], + "type": "object", + "properties": { + "type": { + "description": "Type of the resource to check name availability", + "type": "string" + }, + "name": { + "description": "Name to be checked", + "type": "string" + } + } + }, + "NameAvailability": { + "description": "Name availability result payload", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available", + "type": "boolean" + }, + "reason": { + "description": "Reason why the name is not available", + "type": "string" + }, + "message": { + "description": "Message why the name is not available", + "type": "string" + } + }, + "readOnly": true + }, + "CustomDomainResource": { + "description": "Custom domain resource payload.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomDomainProperties", + "description": "Properties of the custom domain resource.", + "x-ms-client-flatten": false + } + } + }, + "CustomDomainProperties": { + "description": "Custom domain of app resource payload.", + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of bound certificate.", + "type": "string" + }, + "appName": { + "description": "The app name of domain.", + "type": "string", + "readOnly": true + }, + "certName": { + "description": "The bound certificate name of domain.", + "type": "string" + } + } + }, + "CustomDomainResourceCollection": { + "description": "Collection compose of a custom domain resources list and a possible link for next page.", + "type": "object", + "properties": { + "value": { + "description": "The custom domain resources list.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomainResource" + } + }, + "nextLink": { + "description": "The link to next page of custom domain list.", + "type": "string" + } + } + }, + "CustomDomainValidatePayload": { + "description": "Custom domain validate payload.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "Name to be validated", + "type": "string" + } + } + }, + "CustomDomainValidateResult": { + "description": "Validation result for custom domain.", + "type": "object", + "properties": { + "isValid": { + "description": "Indicates if domain name is valid.", + "type": "boolean" + }, + "message": { + "description": "Message of why domain name is invalid.", + "type": "string" + } + } + }, + "DeploymentResource": { + "description": "Deployment resource payload", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DeploymentResourceProperties", + "description": "Properties of the Deployment resource", + "x-ms-client-flatten": false + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Deployment resource" + } + } + }, + "DeploymentResourceProperties": { + "description": "Deployment resource properties payload", + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/UserSourceInfo", + "description": "Uploaded source information of the deployment." + }, + "deploymentSettings": { + "$ref": "#/definitions/DeploymentSettings", + "description": "Deployment settings of the Deployment" + }, + "provisioningState": { + "description": "Provisioning state of the Deployment", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceProvisioningState", + "modelAsString": true + } + }, + "status": { + "description": "Status of the Deployment", + "enum": [ + "Stopped", + "Running" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentResourceStatus", + "modelAsString": true + } + }, + "active": { + "description": "Indicates whether the Deployment is active", + "type": "boolean" + }, + "instances": { + "description": "Collection of instances belong to the Deployment", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentInstance" + }, + "readOnly": true + } + } + }, + "UserSourceInfo": { + "description": "Source information for a deployment", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Type of the source uploaded", + "type": "string" + }, + "version": { + "description": "Version of the source", + "type": "string" + } + }, + "discriminator": "type" + }, + "UploadedUserSourceInfo": { + "description": "Source with uploaded location", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UserSourceInfo" + } + ], + "properties": { + "relativePath": { + "description": "Relative path of the storage which stores the source", + "type": "string" + } + } + }, + "JarUploadedUserSourceInfo": { + "description": "Uploaded Jar binary for a deployment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UploadedUserSourceInfo" + } + ], + "properties": { + "runtimeVersion": { + "description": "Runtime version of the Jar file", + "type": "string" + }, + "jvmOptions": { + "description": "JVM parameter", + "type": "string" + } + }, + "x-ms-discriminator-value": "Jar" + }, + "SourceUploadedUserSourceInfo": { + "description": "Uploaded Java source code binary for a deployment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UploadedUserSourceInfo" + } + ], + "properties": { + "artifactSelector": { + "description": "Selector for the artifact to be used for the deployment for multi-module projects. This should be\r\nthe relative path to the target module/project.", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime version of the source file", + "type": "string" + } + }, + "x-ms-discriminator-value": "Source" + }, + "NetCoreZipUploadedUserSourceInfo": { + "description": "Uploaded Jar binary for a deployment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UploadedUserSourceInfo" + } + ], + "properties": { + "netCoreMainEntryPath": { + "description": "The path to the .NET executable relative to zip root", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime version of the .Net file", + "type": "string" + } + }, + "x-ms-discriminator-value": "NetCoreZip" + }, + "BuildResultUserSourceInfo": { + "description": "Reference to a build result", + "type": "object", + "x-ms-discriminator-value": "BuildResult", + "allOf": [ + { + "$ref": "#/definitions/UserSourceInfo" + } + ], + "properties": { + "buildResultId": { + "description": "Resource id of an existing succeeded build result under the same Spring instance.", + "type": "string" + } + } + }, + "CustomContainerUserSourceInfo": { + "description": "Custom container user source info", + "type": "object", + "x-ms-discriminator-value": "Container", + "allOf": [ + { + "$ref": "#/definitions/UserSourceInfo" + } + ], + "properties": { + "customContainer": { + "$ref": "#/definitions/CustomContainer" + } + } + }, + "CustomContainer": { + "description": "Custom container payload", + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "The name of the registry that contains the container image" + }, + "containerImage": { + "type": "string", + "description": "Container image of the custom container. This should be in the form of : without the server name of the registry" + }, + "command": { + "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "imageRegistryCredential": { + "$ref": "#/definitions/ImageRegistryCredential", + "description": "Credential of the image registry" + }, + "languageFramework": { + "description": "Language framework of the container image uploaded", + "type": "string" + } + } + }, + "ImageRegistryCredential": { + "description": "Credential of the image registry", + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "The username of the image registry credential" + }, + "password": { + "type": "string", + "description": "The password of the image registry credential" + } + } + }, + "DeploymentSettings": { + "description": "Deployment settings payload", + "type": "object", + "properties": { + "resourceRequests": { + "$ref": "#/definitions/ResourceRequests", + "description": "The requested resource quantity for required CPU and Memory. It is recommended that using this field to represent the required CPU and Memory, the old field cpu and memoryInGB will be deprecated later." + }, + "environmentVariables": { + "description": "Collection of environment variables", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "addonConfigs": { + "description": "Collection of addons", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AddonProfile" + } + }, + "containerProbeSettings": { + "$ref": "#/definitions/ContainerProbeSettings" + } + } + }, + "AddonProfile": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Key-value pairs for configurations of add-on." + }, + "ContainerProbeSettings": { + "description": "Container liveness and readiness probe settings", + "type": "object", + "properties": { + "disableProbe": { + "description": "Indicates whether disable the liveness and readiness probe", + "type": "boolean" + } + } + }, + "DeploymentInstance": { + "description": "Deployment instance payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the deployment instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the deployment instance", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "Failed reason of the deployment instance", + "type": "string", + "readOnly": true + }, + "discoveryStatus": { + "description": "Discovery status of the deployment instance", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time of the deployment instance", + "type": "string", + "readOnly": true + }, + "zone": { + "description": "Availability zone information of the deployment instance", + "type": "string", + "readOnly": true + } + } + }, + "DeploymentResourceCollection": { + "description": "Object that includes an array of App resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Deployment resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ResourceRequests": { + "description": "Deployment resource request payload", + "type": "object", + "properties": { + "cpu": { + "description": "Required CPU. 1 core can be represented by 1 or 1000m. This should be 500m or 1 for Basic tier, and {500m, 1, 2, 3, 4} for Standard tier.", + "type": "string" + }, + "memory": { + "description": "Required memory. 1 GB can be represented by 1Gi or 1024Mi. This should be {512Mi, 1Gi, 2Gi} for Basic tier, and {512Mi, 1Gi, 2Gi, ..., 8Gi} for Standard tier.", + "type": "string" + } + } + }, + "LogFileUrlResponse": { + "description": "Log file URL payload", + "required": [ + "url" + ], + "type": "object", + "properties": { + "url": { + "description": "URL of the log file", + "type": "string" + } + } + }, + "DiagnosticParameters": { + "description": "Diagnostic parameters of diagnostic operations", + "type": "object", + "properties": { + "appInstance": { + "description": "App instance name", + "type": "string" + }, + "filePath": { + "description": "Your target file path in your own BYOS", + "type": "string" + }, + "duration": { + "description": "Duration of your JFR. 1 min can be represented by 1m or 60s.", + "type": "string" + } + } + }, + "ServiceResourceList": { + "description": "Object that includes an array of Service resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Service resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "actionType": { + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "type": "string", + "readOnly": true, + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specifications of the operation" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + }, + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric", + "type": "string" + }, + "unit": { + "description": "Unit that makes sense for the metric", + "type": "string" + }, + "category": { + "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "Supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", + "type": "boolean" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + } + }, + "sourceMdmNamespace": { + "description": "Name of the MDM namespace. Optional.", + "type": "string" + } + } + }, + "MetricDimension": { + "description": "Specifications of the Dimension of metrics", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "Whether this dimension should be included for the Shoebox export scenario", + "type": "boolean" + } + } + }, + "ResourceSkuCollection": { + "description": "Object that includes an array of Azure Spring Cloud SKU and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of resource SKU", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "Describes an available Azure Spring Cloud SKU.", + "type": "object", + "properties": { + "resourceType": { + "description": "Gets the type of resource the SKU applies to.", + "type": "string" + }, + "name": { + "description": "Gets the name of SKU.", + "type": "string" + }, + "tier": { + "description": "Gets the tier of SKU.", + "type": "string" + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Gets the capacity of SKU." + }, + "locations": { + "description": "Gets the set of locations that the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "locationInfo": { + "description": "Gets a list of locations and availability zones in those locations where the SKU is available.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + } + }, + "restrictions": { + "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + } + } + } + }, + "SkuCapacity": { + "description": "The SKU capacity", + "required": [ + "minimum" + ], + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "Gets or sets the minimum.", + "type": "integer" + }, + "maximum": { + "format": "int32", + "description": "Gets or sets the maximum.", + "type": "integer" + }, + "default": { + "format": "int32", + "description": "Gets or sets the default.", + "type": "integer" + }, + "scaleType": { + "description": "Gets or sets the type of the scale.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuScaleType", + "modelAsString": true + } + } + } + }, + "ResourceSkuLocationInfo": { + "description": "Locations and availability zones where the SKU is available", + "type": "object", + "properties": { + "location": { + "description": "Gets location of the SKU", + "type": "string" + }, + "zones": { + "description": "Gets list of availability zones where the SKU is supported.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zoneDetails": { + "description": "Gets details of capabilities available to a SKU in specific zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuZoneDetails" + } + } + } + }, + "ResourceSkuRestrictions": { + "description": "Restrictions where the SKU cannot be used", + "type": "object", + "properties": { + "type": { + "description": "Gets the type of restrictions. Possible values include: 'Location', 'Zone'", + "enum": [ + "Location", + "Zone" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "description": "Gets the value of restrictions. If the restriction type is set to\r\nlocation. This would be different locations where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "Gets the information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "description": "Gets the reason for restriction. Possible values include: 'QuotaId', 'NotAvailableForSubscription'", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + } + }, + "ResourceSkuZoneDetails": { + "description": "Details of capabilities available to a SKU in specific zones", + "type": "object", + "properties": { + "name": { + "description": "Gets the set of zones that the SKU is available in with the\r\nspecified capabilities.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Gets a list of capabilities that are available for the SKU in the\r\nspecified list of zones.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + } + } + } + }, + "ResourceSkuRestrictionInfo": { + "description": "Information about the restriction where the SKU cannot be used", + "type": "object", + "properties": { + "locations": { + "description": "Gets locations where the SKU is restricted", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "zones": { + "description": "Gets list of availability zones where the SKU is restricted.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ResourceSkuCapabilities": { + "type": "object", + "properties": { + "name": { + "description": "Gets an invariant to describe the feature.", + "type": "string" + }, + "value": { + "description": "Gets an invariant if the feature is measured by quantity.", + "type": "string" + } + } + }, + "CloudError": { + "type": "object", + "description": "An error response from the service.", + "properties": { + "error": { + "description": "An error response from the service.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "type": "object", + "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" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "AvailableRuntimeVersions": { + "type": "object", + "properties": { + "value": { + "description": "A list of all supported runtime versions.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/SupportedRuntimeVersion" + }, + "readOnly": true + } + }, + "readOnly": true + }, + "SupportedRuntimeVersion": { + "description": "Supported deployment runtime version descriptor.", + "type": "object", + "properties": { + "value": { + "description": "The raw value which could be passed to deployment CRUD operations.", + "enum": [ + "Java_8", + "Java_11", + "Java_17", + "NetCore_31" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimeValue", + "modelAsString": true + } + }, + "platform": { + "description": "The platform of this runtime version (possible values: \"Java\" or \".NET\").", + "enum": [ + "Java", + ".NET Core" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportedRuntimePlatform", + "modelAsString": true + } + }, + "version": { + "description": "The detailed version (major.minor) of the platform.", + "type": "string" + } + }, + "readOnly": true + }, + "BuildpackBindingResourceCollection": { + "description": "Object that includes an array of BuildpackBinding resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of BuildpackBinding resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/BuildpackBindingResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "BuildpackBindingResource": { + "description": "Buildpack Binding Resource object", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a buildpack binding", + "$ref": "#/definitions/BuildpackBindingProperties" + } + } + }, + "BuildpackBindingProperties": { + "description": "Properties of a buildpack binding", + "type": "object", + "properties": { + "bindingType": { + "description": "Buildpack Binding Type", + "enum": [ + "ApplicationInsights", + "ApacheSkyWalking", + "AppDynamics", + "Dynatrace", + "NewRelic", + "ElasticAPM" + ], + "type": "string", + "x-ms-enum": { + "name": "bindingType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "State of the Buildpack Binding.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BuildpackBindingProvisioningState", + "modelAsString": true + } + }, + "launchProperties": { + "description": "The object describes the buildpack binding launch properties", + "$ref": "#/definitions/BuildpackBindingLaunchProperties" + } + } + }, + "BuildpackBindingLaunchProperties": { + "description": "Buildpack Binding Launch Properties", + "type": "object", + "properties": { + "properties": { + "description": "Non-sensitive properties for launchProperties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "secrets": { + "description": "Sensitive properties for launchProperties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GatewayResourceCollection": { + "description": "Object that includes an array of gateway resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of gateway resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "GatewayResource": { + "description": "Spring Cloud Gateway resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GatewayProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the Spring Cloud Gateway resource" + } + } + }, + "GatewayProperties": { + "description": "Spring Cloud Gateway properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Spring Cloud Gateway.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "GatewayProvisioningState", + "modelAsString": true + } + }, + "public": { + "description": "Indicates whether the Spring Cloud Gateway exposes endpoint.", + "type": "boolean", + "default": false + }, + "url": { + "description": "URL of the Spring Cloud Gateway, exposed when 'public' is true.", + "type": "string", + "readOnly": true + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean", + "default": false + }, + "ssoProperties": { + "$ref": "#/definitions/SsoProperties" + }, + "apiMetadataProperties": { + "$ref": "#/definitions/GatewayApiMetadataProperties" + }, + "corsProperties": { + "$ref": "#/definitions/GatewayCorsProperties" + }, + "resourceRequests": { + "$ref": "#/definitions/GatewayResourceRequests", + "description": "The requested resource quantity for required CPU and Memory." + }, + "instances": { + "description": "Collection of instances belong to Spring Cloud Gateway.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayInstance" + }, + "readOnly": true + }, + "operatorProperties": { + "$ref": "#/definitions/GatewayOperatorProperties", + "readOnly": true + } + } + }, + "SsoProperties": { + "description": "Single sign-on related configuration", + "type": "object", + "properties": { + "scope": { + "description": "It defines the specific actions applications can be allowed to do on a user's behalf", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "clientId": { + "description": "The public identifier for the application", + "type": "string" + }, + "clientSecret": { + "description": "The secret known only to the application and the authorization server", + "type": "string" + }, + "issuerUri": { + "description": "The URI of Issuer Identifier", + "type": "string" + } + } + }, + "GatewayApiMetadataProperties": { + "description": "API metadata property for Spring Cloud Gateway", + "type": "object", + "properties": { + "title": { + "description": "Title describing the context of the APIs available on the Gateway instance (default: `Spring Cloud Gateway for K8S`)", + "type": "string" + }, + "description": { + "description": "Detailed description of the APIs available on the Gateway instance (default: `Generated OpenAPI 3 document that describes the API routes configured.`)", + "type": "string" + }, + "documentation": { + "description": "Location of additional documentation for the APIs available on the Gateway instance", + "type": "string" + }, + "version": { + "description": "Version of APIs available on this Gateway instance (default: `unspecified`).", + "type": "string" + }, + "serverUrl": { + "description": "Base URL that API consumers will use to access APIs on the Gateway instance.", + "type": "string" + } + } + }, + "GatewayCorsProperties": { + "description": "Cross-Origin Resource Sharing property", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Allowed origins to make cross-site requests. The special value `*` allows all domains.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedMethods": { + "description": "Allowed HTTP methods on cross-site requests. The special value `*` allows all methods. If not set, `GET` and `HEAD` are allowed by default.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedHeaders": { + "description": "Allowed headers in cross-site requests. The special value `*` allows actual requests to send any header.", + "type": "array", + "items": { + "type": "string" + } + }, + "maxAge": { + "format": "int32", + "description": "How long, in seconds, the response from a pre-flight request can be cached by clients.", + "type": "integer" + }, + "allowCredentials": { + "description": "Whether user credentials are supported on cross-site requests. Valid values: `true`, `false`.", + "type": "boolean" + }, + "exposedHeaders": { + "description": "HTTP response headers to expose for cross-site requests.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GatewayResourceRequests": { + "description": "Resource request payload of Spring Cloud Gateway.", + "type": "object", + "properties": { + "cpu": { + "description": "Cpu allocated to each Spring Cloud Gateway instance.", + "type": "string" + }, + "memory": { + "description": "Memory allocated to each Spring Cloud Gateway instance.", + "type": "string" + } + } + }, + "GatewayOperatorProperties": { + "description": "Properties of the Spring Cloud Gateway Operator.", + "type": "object", + "readOnly": true, + "properties": { + "resourceRequests": { + "$ref": "#/definitions/GatewayOperatorResourceRequests", + "description": "The requested resource quantity for required CPU and Memory." + }, + "instances": { + "description": "Collection of instances belong to Spring Cloud Gateway operator.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayInstance" + }, + "readOnly": true + } + } + }, + "GatewayOperatorResourceRequests": { + "description": "Properties of the Spring Cloud Gateway Operator.", + "type": "object", + "readOnly": true, + "properties": { + "cpu": { + "description": "Cpu allocated to each Spring Cloud Gateway Operator instance.", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "Memory allocated to each Spring Cloud Gateway Operator instance.", + "type": "string", + "readOnly": true + }, + "instanceCount": { + "format": "int32", + "description": "Instance count of the Spring Cloud Gateway Operator.", + "type": "integer", + "readOnly": true + } + } + }, + "GatewayInstance": { + "description": "Collection of instances belong to the Spring Cloud Gateway", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "Name of the Spring Cloud Gateway instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the Spring Cloud Gateway instance", + "type": "string", + "readOnly": true + } + } + }, + "GatewayRouteConfigResource": { + "description": "Spring Cloud Gateway route config resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GatewayRouteConfigProperties" + } + } + }, + "GatewayRouteConfigProperties": { + "description": "API route config of the Spring Cloud Gateway", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the Spring Cloud Gateway route config.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "GatewayProvisioningState", + "modelAsString": true + } + }, + "appResourceId": { + "description": "The resource Id of the Azure Spring Cloud app, required unless route defines `uri`.", + "type": "string" + }, + "routes": { + "description": "Array of API routes, each route contains properties such as `title`, `uri`, `ssoEnabled`, `predicates`, `filters`.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayApiRoute" + } + } + } + }, + "GatewayApiRoute": { + "description": "API route config of the Spring Cloud Gateway", + "type": "object", + "properties": { + "title": { + "description": "A title, will be applied to methods in the generated OpenAPI documentation.", + "type": "string" + }, + "description": { + "description": "A description, will be applied to methods in the generated OpenAPI documentation.", + "type": "string" + }, + "uri": { + "description": "Full uri, will override `appName`.", + "type": "string" + }, + "ssoEnabled": { + "description": "Enable sso validation.", + "type": "boolean" + }, + "tokenRelay": { + "description": "Pass currently-authenticated user's identity token to application service, default is 'false'", + "type": "boolean" + }, + "predicates": { + "description": "A number of conditions to evaluate a route for each request. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "description": "To modify the request before sending it to the target endpoint, or the received response.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "order": { + "description": "Route processing order.", + "type": "integer", + "format": "int32" + }, + "tags": { + "description": "Classification tags, will be applied to methods in the generated OpenAPI documentation.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GatewayRouteConfigResourceCollection": { + "description": "Object that includes an array of Spring Cloud Gateway route config resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Spring Cloud Gateway route config resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayRouteConfigResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "GatewayCustomDomainResource": { + "description": "Custom domain of the Spring Cloud Gateway", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GatewayCustomDomainProperties" + } + } + }, + "GatewayCustomDomainProperties": { + "description": "The properties of custom domain for Spring Cloud Gateway", + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of bound certificate.", + "type": "string" + } + } + }, + "GatewayCustomDomainResourceCollection": { + "description": "Object that includes an array of Spring Cloud Gateway custom domain resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of Spring Cloud Gateway custom domain resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/GatewayCustomDomainResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ApiPortalResourceCollection": { + "description": "Object that includes an array of API portal resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of API portal resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ApiPortalResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ApiPortalResource": { + "description": "API portal resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApiPortalProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the API portal resource" + } + } + }, + "ApiPortalProperties": { + "description": "API portal properties payload", + "type": "object", + "properties": { + "provisioningState": { + "description": "State of the API portal.", + "enum": [ + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ApiPortalProvisioningState", + "modelAsString": true + } + }, + "public": { + "description": "Indicates whether the API portal exposes endpoint.", + "type": "boolean", + "default": false + }, + "url": { + "description": "URL of the API portal, exposed when 'public' is true.", + "type": "string", + "readOnly": true + }, + "httpsOnly": { + "description": "Indicate if only https is allowed.", + "type": "boolean", + "default": false + }, + "gatewayIds": { + "description": "The array of resource Ids of gateway to integrate with API portal.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceUrls": { + "description": "Collection of OpenAPI source URL locations.", + "type": "array", + "items": { + "type": "string" + } + }, + "ssoProperties": { + "$ref": "#/definitions/SsoProperties" + }, + "resourceRequests": { + "$ref": "#/definitions/ApiPortalResourceRequests", + "description": "The requested resource quantity for required CPU and Memory.", + "readOnly": true + }, + "instances": { + "description": "Collection of instances belong to API portal.", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ApiPortalInstance" + }, + "readOnly": true + } + } + }, + "ApiPortalResourceRequests": { + "description": "Resource requests of the API portal", + "type": "object", + "properties": { + "cpu": { + "description": "Cpu allocated to each API portal instance", + "type": "string", + "readOnly": true + }, + "memory": { + "description": "Memory allocated to each API portal instance", + "type": "string", + "readOnly": true + } + } + }, + "ApiPortalInstance": { + "description": "Collection of instances belong to the API portal", + "type": "object", + "properties": { + "name": { + "description": "Name of the API portal instance", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the API portal instance", + "type": "string", + "readOnly": true + } + } + }, + "ApiPortalCustomDomainResource": { + "description": "Custom domain of the API portal", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApiPortalCustomDomainProperties" + } + } + }, + "ApiPortalCustomDomainProperties": { + "description": "The properties of custom domain for API portal", + "type": "object", + "properties": { + "thumbprint": { + "description": "The thumbprint of bound certificate.", + "type": "string" + } + } + }, + "ApiPortalCustomDomainResourceCollection": { + "description": "Object that includes an array of API portal custom domain resources and a possible link for next set", + "type": "object", + "properties": { + "value": { + "description": "Collection of API portal custom domain resources", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/ApiPortalCustomDomainResource" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1 + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Gets subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "description": "The name of the Service resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AppNameParameter": { + "name": "appName", + "in": "path", + "description": "The name of the App resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "description": "The name of the Deployment resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildServiceNameParameter": { + "name": "buildServiceName", + "in": "path", + "description": "The name of the build service resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildServiceBuildpackNameParameter": { + "name": "buildpackName", + "in": "path", + "description": "The name of the buildpack resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildServiceStackNameParameter": { + "name": "stackName", + "in": "path", + "description": "The name of the stack resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildServiceAgentPoolNameParameter": { + "name": "agentPoolName", + "in": "path", + "description": "The name of the build service agent pool resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuilderNameParameter": { + "name": "builderName", + "in": "path", + "description": "The name of the builder resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildNameParameter": { + "name": "buildName", + "in": "path", + "description": "The name of the build resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildResultNameParameter": { + "name": "buildResultName", + "in": "path", + "description": "The name of the build result resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildResultLogNameParameter": { + "name": "buildResultLogName", + "in": "path", + "description": "The name of the build result log resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BuildpackBindingNameParameter": { + "name": "buildpackBindingName", + "in": "path", + "description": "The name of the Buildpack Binding Name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "BindingNameParameter": { + "name": "bindingName", + "in": "path", + "description": "The name of the Binding resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomDomainNameParameter": { + "name": "domainName", + "in": "path", + "description": "The name of the custom domain resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "StorageNameParameter": { + "name": "storageName", + "in": "path", + "description": "The name of the storage resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ConfigurationServiceNameParameter": { + "name": "configurationServiceName", + "in": "path", + "description": "The name of Application Configuration Service.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ServiceRegistryNameParameter": { + "name": "serviceRegistryName", + "in": "path", + "description": "The name of Service Registry.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GatewayNameParameter": { + "name": "gatewayName", + "in": "path", + "description": "The name of Spring Cloud Gateway.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GatewayRouteConfigNameParameter": { + "name": "routeConfigName", + "in": "path", + "description": "The name of the Spring Cloud Gateway route config.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "GatewayCustomDomainParameter": { + "name": "domainName", + "in": "path", + "description": "The name of the Spring Cloud Gateway custom domain.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiPortalNameParameter": { + "name": "apiPortalName", + "in": "path", + "description": "The name of API portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiPortalCustomDomainParameter": { + "name": "domainName", + "in": "path", + "description": "The name of the API portal custom domain.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..0fb3a02a4fa6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default", + "domainName": "myDomainName", + "apiPortalCustomDomainResource": { + "properties": { + "thumbprint": "*" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default/domains/myDomainName", + "name": "myDomainName" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default/domains/myDomainName", + "name": "myDomainName" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Delete.json new file mode 100644 index 000000000000..72a856cb0e13 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "domainName": "myDomainName", + "apiPortalName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Get.json new file mode 100644 index 000000000000..933cf15a94e6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default", + "domainName": "myDomainName" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default/domains/myDomainName", + "name": "myDomainName" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_List.json new file mode 100644 index 000000000000..25623a676d77 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortalCustomDomains_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default/domains/myDomain", + "name": "myDomain" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_CreateOrUpdate.json new file mode 100644 index 000000000000..6b1154b5d196 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_CreateOrUpdate.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default", + "apiPortalResource": { + "properties": { + "public": true, + "gatewayIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default" + ] + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "gatewayIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default" + ], + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "gatewayIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default" + ], + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Delete.json new file mode 100644 index 000000000000..421aca6d3d0a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Get.json new file mode 100644 index 000000000000..91b91eee3385 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "gatewayIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default" + ], + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_List.json new file mode 100644 index 000000000000..408de931f763 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "gatewayIds": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default" + ], + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apiPortals", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apiPortals/default", + "name": "default" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_ValidateDomain.json new file mode 100644 index 000000000000..de6502838dbc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ApiPortals_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "apiPortalName": "default", + "validatePayload": { + "name": "mydomain.io" + } + }, + "responses": { + "200": { + "body": { + "isValid": false, + "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_CreateOrUpdate.json new file mode 100644 index 000000000000..544817518dca --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_CreateOrUpdate.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "addonConfigs": { + "ApplicationConfigurationService": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/myacs" + }, + "ServiceRegistry": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/myServiceRegistry" + } + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": null, + "tenantId": null, + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": null, + "principalId": null + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": null, + "principalId": null + } + } + }, + "location": "eastus" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "addonConfigs": { + "ApplicationConfigurationService": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/myacs" + }, + "ServiceRegistry": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/myServiceRegistry" + } + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "201": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Creating", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "addonConfigs": { + "ApplicationConfigurationService": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/myacs" + }, + "ServiceRegistry": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/myServiceRegistry" + } + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "addonConfigs": { + "ApplicationConfigurationService": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/myacs" + }, + "ServiceRegistry": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/myServiceRegistry" + } + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Delete.json similarity index 80% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Delete.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Delete.json index 46c4674f7148..2f061a51cbcd 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_Delete.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -8,6 +8,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Get.json new file mode 100644 index 000000000000..4c4f90518b36 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Get.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_GetResourceUploadUrl.json similarity index 94% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_GetResourceUploadUrl.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_GetResourceUploadUrl.json index 29f68c5bd49d..3e76835a2874 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Apps_GetResourceUploadUrl.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_GetResourceUploadUrl.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_List.json new file mode 100644 index 000000000000..a751ed805d14 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_List.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "loadedCertificates": [ + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1", + "loadTrustStore": false + }, + { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2", + "loadTrustStore": true + } + ], + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [ + "uid=0", + "gid=0", + "dir_mode=0777", + "file_mode=0777" + ], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_SetActiveDeployments.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_SetActiveDeployments.json new file mode 100644 index 000000000000..847d0c39a54c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_SetActiveDeployments.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "activeDeploymentCollection": { + "activeDeploymentNames": [ + "default" + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Update.json new file mode 100644 index 000000000000..653eb4540098 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_Update.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "appResource": { + "properties": { + "public": true, + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": null, + "tenantId": null, + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": null, + "principalId": null + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": null, + "principalId": null + } + } + }, + "location": "eastus" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Succeeded", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "public": true, + "url": "myapp.myservice.azuremicroservices.io", + "provisioningState": "Updating", + "fqdn": "myapp.mydomain.com", + "httpsOnly": false, + "enableEndToEndTLS": false, + "temporaryDisk": { + "sizeInGB": 2, + "mountPath": "/mytemporarydisk" + }, + "persistentDisk": { + "sizeInGB": 2, + "usedInGB": 1, + "mountPath": "/mypersistentdisk" + }, + "customPersistentDisks": [ + { + "customPersistentDiskProperties": { + "type": "AzureFileVolume", + "mountPath": "/mypath1/mypath2", + "mountOptions": [], + "shareName": "myFileShare" + }, + "storageId": "myASCStorageID" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "principalid", + "tenantId": "tenantid", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "clientId1", + "principalId": "principalId1" + }, + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "clientId2", + "principalId": "principalId2" + } + } + }, + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp", + "name": "myapp" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_ValidateDomain.json new file mode 100644 index 000000000000..e6391de756b0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Apps_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "validatePayload": { + "name": "mydomain.io" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "isValid": false, + "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_CreateOrUpdate.json new file mode 100644 index 000000000000..df7c683afd64 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_CreateOrUpdate.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "201": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Delete.json similarity index 82% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Delete.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Delete.json index 8427ab4132e5..a69db2f69d65 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Bindings_Delete.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -9,6 +9,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Get.json new file mode 100644 index 000000000000..6e1eaab15632 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_List.json new file mode 100644 index 000000000000..5882249cbc4a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Update.json new file mode 100644 index 000000000000..332f40df984a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Bindings_Update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "bindingResource": { + "properties": { + "key": "xxxx", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": null, + "createdAt": null, + "updatedAt": null + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "bindingName": "mybinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "resourceName": "my-cosmosdb-1", + "resourceType": "Microsoft.DocumentDB", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1", + "bindingParameters": { + "databaseName": "db1", + "apiType": "SQL" + }, + "generatedProperties": "", + "createdAt": "2019-01-01T12:34:56.000Z", + "updatedAt": "2019-01-01T12:34:56.000Z" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/bindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/bindings/mybinding", + "name": "mybinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_Get.json new file mode 100644 index 000000000000..3b602003d65b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "agentPoolName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "poolSize": { + "name": "S3", + "cpu": "4", + "memory": "8Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_List.json new file mode 100644 index 000000000000..b3fefb80caed --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "poolSize": { + "name": "S3", + "cpu": "4", + "memory": "8Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "name": "default" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_UpdatePut.json new file mode 100644 index 000000000000..91682e84f904 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceAgentPool_UpdatePut.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "agentPoolName": "default", + "agentPoolResource": { + "properties": { + "poolSize": { + "name": "S3" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "poolSize": { + "name": "S3", + "cpu": "4", + "memory": "8Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "name": "default" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Created", + "poolSize": { + "name": "S3", + "cpu": "4", + "memory": "8Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/agentPools", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_CreateOrUpdate.json new file mode 100644 index 000000000000..9080342f4a00 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_CreateOrUpdate.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "mybuilder", + "builderResource": { + "properties": { + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + }, + { + "id": "tanzu-buildpacks/dotnet-core" + } + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/mybuilder", + "name": "mybuilder" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + }, + { + "id": "tanzu-buildpacks/dotnet-core" + } + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/mybuilder", + "name": "mybuilder" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Delete.json new file mode 100644 index 000000000000..b113a0c818d9 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "mybuilder" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Get.json new file mode 100644 index 000000000000..9777402d10f7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "mybuilder" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + } + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/mybuilder", + "name": "mybuilder" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_List.json new file mode 100644 index 000000000000..7c5e884a1630 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildServiceBuilder_List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "stack": { + "id": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "buildpackGroups": [ + { + "name": "mix", + "buildpacks": [ + { + "id": "tanzu-buildpacks/java-azure" + } + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/mybuilder", + "name": "mybuilder" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_CreateOrUpdateBuild.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_CreateOrUpdateBuild.json new file mode 100644 index 000000000000..ced0aa79bfcb --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_CreateOrUpdateBuild.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildName": "mybuild", + "build": { + "properties": { + "builder": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default", + "agentPool": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "env": { + "environmentVariable": "test" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "builder": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default", + "agentPool": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "provisioningState": "Succeeded", + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "env": { + "environmentVariable": "test" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild", + "name": "mybuild" + } + }, + "201": { + "body": { + "properties": { + "builder": "default-builder", + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "env": { + "environmentVariable": "test" + }, + "triggeredBuildResult": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild/results/123" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild", + "name": "mybuild" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuild.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuild.json new file mode 100644 index 000000000000..522f5406f9db --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuild.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildName": "mybuild" + }, + "responses": { + "200": { + "body": { + "properties": { + "builder": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default", + "agentPool": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "provisioningState": "Succeeded", + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "env": { + "environmentVariable": "test" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds/results", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild/results/123", + "name": "123" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResult.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResult.json new file mode 100644 index 000000000000..e6cedd143048 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResult.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildName": "mybuild", + "buildResultName": "123" + }, + "responses": { + "200": { + "body": { + "properties": { + "name": "123", + "provisioningState": "Succeeded", + "buildPodName": "mybuild-default-1", + "buildStages": [ + { + "name": "prepare", + "status": "Running" + }, + { + "name": "detect", + "status": "NotStarted" + }, + { + "name": "analyze", + "status": "NotStarted" + }, + { + "name": "restore", + "status": "NotStarted" + }, + { + "name": "build", + "status": "NotStarted" + }, + { + "name": "export", + "status": "NotStarted" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds/results", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild/results/123", + "name": "123" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResultLog.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResultLog.json new file mode 100644 index 000000000000..3f50dd6e1056 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildResultLog.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildName": "mybuild", + "buildResultName": "123" + }, + "responses": { + "200": { + "body": { + "blobUrl": "https://sample-storage-account-name.blob.core.windows.net/sample-log-blob-file?readonly-sas-token" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildService.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildService.json new file mode 100644 index 000000000000..927e61b4ba8f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetBuildService.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "kPackVersion": "0.3.1", + "provisioningState": "Succeeded", + "resourceRequests": { + "cpu": "200m", + "memory": "4Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetResourceUploadUrl.json new file mode 100644 index 000000000000..0aeafd4d56df --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetResourceUploadUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "uploadUrl": "https://springcloudstorageaccount.file.core.windows.net/bd172614181f42e2853f6fd90029cda8/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777?sv=2021-06-01&sr=f&sig=SampleSignature&se=2021-06-01T10%3A42%3A21Z&sp=w" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedBuildpack.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedBuildpack.json new file mode 100644 index 000000000000..7e64f984f3e5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedBuildpack.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildpackName": "tanzu-buildpacks-java-azure" + }, + "responses": { + "200": { + "body": { + "properties": { + "buildpackId": "tanzu-buildpacks/java-azure" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/supportedBuildpacks", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedBuildpacks/tanzu-buildpacks-java-azure", + "name": "tanzu-buildpacks-java-azure" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedStack.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedStack.json new file mode 100644 index 000000000000..024089307909 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_GetSupportedStack.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "stackName": "io.buildpacks.stacks.bionic-base" + }, + "responses": { + "200": { + "body": { + "properties": { + "stackId": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/supportedStacks", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedBuildpacks/io.buildpacks.stacks.bionic-base", + "name": "io.buildpacks.stacks.bionic-base" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildResults.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildResults.json new file mode 100644 index 000000000000..3d3a6ff94f02 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildResults.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "buildName": "mybuild" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "name": "123", + "provisioningState": "Succeeded", + "buildPodName": "mybuild-default-1", + "buildStages": [ + { + "name": "prepare", + "status": "Running" + }, + { + "name": "detect", + "status": "NotStarted" + }, + { + "name": "analyze", + "status": "NotStarted" + }, + { + "name": "restore", + "status": "NotStarted" + }, + { + "name": "build", + "status": "NotStarted" + }, + { + "name": "export", + "status": "NotStarted" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds/results", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild/results/123", + "name": "123" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/mybuild/results?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildServices.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildServices.json new file mode 100644 index 000000000000..6d9ef2e3d62d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuildServices.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "kPackVersion": "0.3.1", + "provisioningState": "Succeeded", + "resourceRequests": { + "cpu": "200m", + "memory": "4Gi" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default", + "name": "default" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuilds.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuilds.json new file mode 100644 index 000000000000..ca71722c08f0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListBuilds.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "builder": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default", + "agentPool": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/agentPools/default", + "provisioningState": "Succeeded", + "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20210601-3ed9f4a2-986b-4bbd-b833-a42dccb2f777", + "env": { + "environmentVariable": "test" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builds", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds/myBuild", + "name": "myBuild" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builds?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedBuildpacks.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedBuildpacks.json new file mode 100644 index 000000000000..e0bbf889e590 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedBuildpacks.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "buildpackId": "tanzu-buildpacks/java-azure" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/supportedBuildpacks", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedBuildpacks/tanzu-buildpacks-java-azure", + "name": "tanzu-buildpacks-java-azure" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedBuildpacks?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedStacks.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedStacks.json new file mode 100644 index 000000000000..d4468a587c4d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildService_ListSupportedStacks.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "stackId": "io.buildpacks.stacks.bionic", + "version": "base" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/supportedStacks", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedStacks/io.buildpacks.stacks.bionic-base", + "name": "io.buildpacks.stacks.bionic-base" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/supportedStacks?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_CreateOrUpdate.json new file mode 100644 index 000000000000..8e5c9e0e4495 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_CreateOrUpdate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "default", + "buildpackBindingName": "myBuildpackBinding", + "buildpackBinding": { + "properties": { + "bindingType": "ApplicationInsights", + "launchProperties": { + "properties": { + "abc": "def", + "any-string": "any-string", + "sampling-rate": "12.0" + }, + "secrets": { + "connection-string": "XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXX;XXXXXXXXXXXXXXXXX=XXXXXXXXXXXXXXXXXXX" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "bindingType": "ApplicationInsights", + "launchProperties": { + "properties": { + "abc": "def", + "any-string": "any-string", + "sampling-rate": "12.0" + }, + "secrets": { + "connection-string": "*" + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default/buildpackBindings/myBuildpackBinding", + "name": "myBuildpackBinding" + } + }, + "201": { + "body": { + "properties": { + "bindingType": "ApplicationInsights", + "launchProperties": { + "properties": { + "abc": "def", + "any-string": "any-string", + "sampling-rate": "12.0" + }, + "secrets": { + "connection-string": "*" + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default/buildpackBindings/myBuildpackBinding", + "name": "myBuildpackBinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Delete.json new file mode 100644 index 000000000000..08b3bb3d9c49 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "default", + "buildpackBindingName": "myBuildpackBinding" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Get.json new file mode 100644 index 000000000000..3af1a0bf8c8c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "default", + "buildpackBindingName": "myBuildpackBinding" + }, + "responses": { + "200": { + "body": { + "properties": { + "bindingType": "ApplicationInsights", + "launchProperties": { + "properties": { + "abc": "def", + "any-string": "any-string", + "sampling-rate": "12.0" + }, + "secrets": { + "connection-string": "*" + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default/buildpackBindings/myBuildpackBinding", + "name": "myBuildpackBinding" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_List.json new file mode 100644 index 000000000000..2f73467f6df7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/BuildpackBinding_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "buildServiceName": "default", + "builderName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "bindingType": "ApplicationInsights", + "launchProperties": { + "properties": { + "abc": "def", + "any-string": "any-string", + "sampling-rate": "12.0" + }, + "secrets": { + "connection-string": "*" + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/buildServices/builders/buildpackBindings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/buildServices/default/builders/default/buildpackBindings/myBuildpackBinding", + "name": "myBuildpackBinding" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_CreateOrUpdate.json new file mode 100644 index 000000000000..b6f00287c764 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_CreateOrUpdate.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "certificateResource": { + "properties": { + "type": "KeyVaultCertificate", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "201": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + }, + "202": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Delete.json similarity index 81% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Delete.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Delete.json index 6c22ffd192b4..3035629a03b8 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_Delete.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -8,6 +8,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Get.json new file mode 100644 index 000000000000..d72979814d92 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "certificateName": "mycertificate" + }, + "responses": { + "200": { + "body": { + "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "vaultUri": "https://myvault.vault.azure.net", + "keyVaultCertName": "mycert", + "certVersion": "08a219d06d874795a96db47e06fbb01e", + "issuer": "mydomain.com", + "issuedDate": "2019-02-20T07:40:42Z", + "expirationDate": "2019-02-21T07:40:42Z", + "activateDate": "2019-02-22T07:40:42Z", + "subjectName": "mysubjectname", + "dnsNames": [ + "mydomain.com", + "mydomain.net", + "mydomain.io" + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/certificates", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", + "name": "mycertificate" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_List.json similarity index 75% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_List.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_List.json index 7e234639163e..9a3c8f360659 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Certificates_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Certificates_List.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myService" @@ -11,6 +11,8 @@ "value": [ { "properties": { + "type": "KeyVaultCertificate", + "excludePrivateKey": false, "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", "vaultUri": "https://myvault.vault.azure.net", "keyVaultCertName": "mycert", @@ -26,6 +28,14 @@ "mydomain.io" ] }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, "type": "Microsoft.AppPlatform/Spring/certificates", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycertificate", "name": "mycertificate" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Get.json new file mode 100644 index 000000000000..2852dffc59fb --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePatch.json new file mode 100644 index 000000000000..68546bc7d78a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePatch.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePut.json new file mode 100644 index 000000000000..38c968aff7f0 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_UpdatePut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "configServerResource": { + "properties": { + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "configServer": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configServers", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configServers/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Validate.json new file mode 100644 index 000000000000..7483e97b13cf --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigServers_Validate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "configServerSettings": { + "gitProperty": { + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master", + "searchPaths": [ + "/" + ] + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "isValid": true + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": {} + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_CreateOrUpdate.json new file mode 100644 index 000000000000..2314c9bbb743 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_CreateOrUpdate.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "configurationServiceName": "default", + "configurationServiceResource": { + "properties": { + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "uri": "https://github.com/fake-user/fake-repository", + "patterns": [ + "app/dev" + ], + "label": "master" + } + ] + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "uri": "https://github.com/fake-user/fake-repository", + "patterns": [ + "app/dev" + ], + "label": "master" + } + ] + } + }, + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configurationServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "uri": "https://github.com/fake-user/fake-repository", + "patterns": [ + "app/dev" + ], + "label": "master" + } + ] + } + }, + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configurationServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Delete.json new file mode 100644 index 000000000000..aec2c568eb8a --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "configurationServiceName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Get.json new file mode 100644 index 000000000000..8450364341a2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Get.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "configurationServiceName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "patterns": [ + "app1", + "app2/dev" + ], + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master" + } + ] + } + }, + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configurationServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_List.json new file mode 100644 index 000000000000..007f4f909304 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_List.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "patterns": [ + "app1", + "app2/dev" + ], + "uri": "https://github.com/fake-user/fake-repository.git", + "label": "master" + } + ] + } + }, + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/configurationServices", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/configurationServices/default", + "name": "default" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Validate.json new file mode 100644 index 000000000000..233fae0515be --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ConfigurationServices_Validate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "configurationServiceName": "default", + "settings": { + "gitProperty": { + "repositories": [ + { + "name": "fake", + "uri": "https://github.com/fake-user/fake-repository", + "patterns": [ + "app/dev" + ], + "label": "master" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "gitPropertyValidationResult": { + "isValid": true + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "gitPropertyValidationResult": { + "isValid": true + } + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..32d1e1ff2cc3 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_CreateOrUpdate.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Delete.json similarity index 82% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Delete.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Delete.json index 3aa0a88d3b06..43befb42c9b2 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/CustomDomains_Delete.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -9,6 +9,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..7b637c5e37ec --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_List.json new file mode 100644 index 000000000000..1d516ce59404 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Update.json new file mode 100644 index 000000000000..b46e3e42941f --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/CustomDomains_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "domainResource": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "certName": "mycert" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "domainName": "mydomain.com" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133", + "appName": "myapp", + "certName": "mycert" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/domains/mydomain.com", + "name": "mydomain.com" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate.json new file mode 100644 index 000000000000..33054de088f7 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate.json @@ -0,0 +1,188 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "addonConfigs": { + "ApplicationConfigurationService": { + "patterns": [ + "mypattern" + ] + } + }, + "environmentVariables": { + "env": "test" + } + }, + "instances": null + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "201": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Creating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "200": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json new file mode 100644 index 000000000000..762ba9c87ced --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myUsername", + "password": "myPassword" + }, + "languageFramework": "springboot" + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "instances": null + } + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "201": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + }, + "languageFramework": "springboot" + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Creating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + }, + "languageFramework": "springboot" + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + }, + "languageFramework": "springboot" + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Delete.json similarity index 83% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Delete.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Delete.json index c260ed30f700..08945aba4e87 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Delete.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -9,6 +9,7 @@ }, "responses": { "200": {}, + "202": {}, "204": {} } } diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateHeapDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateHeapDump.json new file mode 100644 index 000000000000..015e84438088 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateHeapDump.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateThreadDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateThreadDump.json new file mode 100644 index 000000000000..015e84438088 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GenerateThreadDump.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get.json similarity index 75% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get.json index 4ce5b4b15915..800ddf95c5cc 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -17,20 +17,18 @@ "version": "1.0", "artifactSelector": "sub-module-1" }, - "appName": "myapp", "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, "environmentVariables": { "env": "test" - }, - "runtimeVersion": "Java_8" + } }, "provisioningState": "Succeeded", "status": "Running", - "active": false, + "active": true, "instances": [ { "name": "instance1", @@ -45,6 +43,14 @@ "tier": "Standard", "capacity": 1 }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, "type": "Microsoft.AppPlatform/Spring/apps/deployments", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", "name": "mydeployment" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GetLogFileUrl.json similarity index 93% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_GetLogFileUrl.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GetLogFileUrl.json index 0c89d5cd6ecc..d28b29f8fd83 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_GetLogFileUrl.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_GetLogFileUrl.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get_CustomContainer.json new file mode 100644 index 000000000000..03aa57afadc6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Get_CustomContainer.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "myacr.azurecr.io", + "containerImage": "myContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myUsername", + "password": "" + }, + "languageFramework": "springboot" + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_List.json similarity index 75% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_List.json index ec7146bf5480..311e73b9cdb9 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_List.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -18,20 +18,18 @@ "version": "1.0", "artifactSelector": "sub-module-1" }, - "appName": "myapp", "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, "environmentVariables": { "env": "test" - }, - "runtimeVersion": "Java_8" + } }, "provisioningState": "Succeeded", "status": "Running", - "active": false, + "active": true, "instances": [ { "name": "instance1", @@ -46,6 +44,14 @@ "tier": "Standard", "capacity": 1 }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, "type": "Microsoft.AppPlatform/Spring/apps/deployments", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", "name": "mydeployment" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_ListForCluster.json new file mode 100644 index 000000000000..311e73b9cdb9 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_ListForCluster.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "type": "Source", + "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc", + "version": "1.0", + "artifactSelector": "sub-module-1" + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": true, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "pending", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Restart.json similarity index 91% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Restart.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Restart.json index b986701d7eb4..68610453271a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Restart.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Restart.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Start.json similarity index 91% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Start.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Start.json index b986701d7eb4..68610453271a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Start.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Start.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_StartJFR.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_StartJFR.json new file mode 100644 index 000000000000..374c68ed1c0b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_StartJFR.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "diagnosticParameters": { + "appInstance": "myappinstance", + "filePath": "/byos/diagnose", + "duration": "60s" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Stop.json similarity index 91% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Stop.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Stop.json index b986701d7eb4..68610453271a 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Stop.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Stop.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update.json similarity index 78% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update.json index dcacd01d6bb5..9665fce20c93 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Deployments_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update.json @@ -11,7 +11,7 @@ "instances": null } }, - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice", @@ -28,20 +28,18 @@ "version": "1.0", "artifactSelector": "sub-module-1" }, - "appName": "myapp", "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, "environmentVariables": { "env": "test" - }, - "runtimeVersion": "Java_8" + } }, "provisioningState": "Succeeded", "status": "Running", - "active": false, + "active": true, "instances": [ { "name": "instance1", @@ -56,6 +54,14 @@ "tier": "Standard", "capacity": 1 }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, "type": "Microsoft.AppPlatform/Spring/apps/deployments", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", "name": "mydeployment" @@ -63,8 +69,8 @@ }, "202": { "headers": { - "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2019-05-01-preview", - "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2019-05-01-preview" + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" }, "body": { "properties": { @@ -74,20 +80,18 @@ "version": "1.0", "artifactSelector": "sub-module-1" }, - "appName": "myapp", "deploymentSettings": { - "cpu": 1, - "memoryInGB": 3, - "jvmOptions": "-Xms1G -Xmx3G", - "instanceCount": 1, + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, "environmentVariables": { "env": "test" - }, - "runtimeVersion": "Java_8" + } }, "provisioningState": "Updating", "status": "Running", - "active": false, + "active": true, "instances": [ { "name": "instance1", @@ -102,6 +106,14 @@ "tier": "Standard", "capacity": 1 }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, "type": "Microsoft.AppPlatform/Spring/apps/deployments", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", "name": "mydeployment" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update_CustomContainer.json new file mode 100644 index 000000000000..f32b1a8452bc --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Deployments_Update_CustomContainer.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "deploymentResource": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ], + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "instances": null + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "appName": "myapp", + "deploymentName": "mydeployment" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Succeeded", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "source": { + "type": "Container", + "customContainer": { + "server": "mynewacr.azurecr.io", + "containerImage": "myNewContainerImage:v1", + "imageRegistryCredential": { + "username": "myNewUsername", + "password": "" + } + } + }, + "deploymentSettings": { + "resourceRequests": { + "cpu": "1000m", + "memory": "3Gi" + }, + "environmentVariables": { + "env": "test" + } + }, + "provisioningState": "Updating", + "status": "Running", + "active": false, + "instances": [ + { + "name": "instance1", + "status": "Running", + "discoveryStatus": "N/A", + "startTime": "2020-08-26T01:55:02Z" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "sku": { + "name": "S0", + "tier": "Standard", + "capacity": 1 + }, + "type": "Microsoft.AppPlatform/Spring/apps/deployments", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myapp/deployments/mydeployment", + "name": "mydeployment" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..19b3a20d6eef --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_CreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "domainName": "myDomainName", + "gatewayCustomDomainResource": { + "properties": { + "thumbprint": "*" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/domains/myDomainName", + "name": "myDomainName" + } + }, + "201": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/domains/myDomainName", + "name": "myDomainName" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Delete.json new file mode 100644 index 000000000000..3daab21c3de5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "domainName": "myDomainName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Get.json new file mode 100644 index 000000000000..e08e1e408df5 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "domainName": "myDomainName" + }, + "responses": { + "200": { + "body": { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/domains/myDomainName", + "name": "myDomainName" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_List.json new file mode 100644 index 000000000000..27e161cac93d --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayCustomDomains_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "thumbprint": "*" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/domains", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/domains/myDomain", + "name": "myDomain" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..77c8475ff274 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_CreateOrUpdate.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "routeConfigName": "myRouteConfig", + "gatewayRouteConfigResource": { + "properties": { + "appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myApp", + "routes": [ + { + "title": "myApp route config", + "ssoEnabled": true, + "predicates": [ + "Path=/api5/customer/**" + ], + "filters": [ + "StripPrefix=2", + "RateLimit=1,1s" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myApp", + "routes": [ + { + "title": "myApp route config", + "ssoEnabled": true, + "predicates": [ + "Path=/api5/customer/**" + ], + "filters": [ + "StripPrefix=2", + "RateLimit=1,1s" + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/routeConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/routeConfigs/myRouteConfig", + "name": "myRouteConfig" + } + }, + "201": { + "body": { + "properties": { + "appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myApp", + "routes": [ + { + "title": "myApp route config", + "ssoEnabled": true, + "predicates": [ + "Path=/api5/customer/**" + ], + "filters": [ + "StripPrefix=2", + "RateLimit=1,1s" + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/routeConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/routeConfigs/myRouteConfig", + "name": "myRouteConfig" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Delete.json new file mode 100644 index 000000000000..a7d613553bda --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "routeConfigName": "myRouteConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Get.json new file mode 100644 index 000000000000..214281602c2c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "routeConfigName": "myRouteConfig" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myApp", + "routes": [ + { + "title": "myApp route config", + "ssoEnabled": true, + "predicates": [ + "Path=/api5/customer/**" + ], + "filters": [ + "StripPrefix=2", + "RateLimit=1,1s" + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/routeConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/routeConfigs/myRouteConfig", + "name": "myRouteConfig" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_List.json new file mode 100644 index 000000000000..1f8145936881 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/GatewayRouteConfigs_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "appResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/apps/myApp", + "routes": [ + { + "title": "myApp route config", + "ssoEnabled": true, + "predicates": [ + "Path=/api5/customer/**" + ], + "filters": [ + "StripPrefix=2", + "RateLimit=1,1s" + ] + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways/routeConfigs", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default/routeConfigs/myRouteConfig", + "name": "myRouteConfig" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_CreateOrUpdate.json new file mode 100644 index 000000000000..069e12b9cf6e --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_CreateOrUpdate.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "gatewayResource": { + "properties": { + "public": true, + "resourceRequests": { + "cpu": "1", + "memory": "1G" + } + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ], + "operatorProperties": { + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + } + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ], + "operatorProperties": { + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + } + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Delete.json new file mode 100644 index 000000000000..a5e714afb54c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Get.json new file mode 100644 index 000000000000..bc3145b9372e --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_Get.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ], + "operatorProperties": { + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + } + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_List.json new file mode 100644 index 000000000000..26556742f5b2 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "public": true, + "url": "test-url", + "resourceRequests": { + "cpu": "1", + "memory": "1G" + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ], + "operatorProperties": { + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + } + }, + "sku": { + "name": "E0", + "tier": "Enterprise", + "capacity": 2 + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/gateways", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/gateways/default", + "name": "default" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_ValidateDomain.json new file mode 100644 index 000000000000..54a851f2fa53 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Gateways_ValidateDomain.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "gatewayName": "default", + "validatePayload": { + "name": "mydomain.io" + } + }, + "responses": { + "200": { + "body": { + "isValid": false, + "message": "Certificate is invalid, please check if it is a self signed cert or if it contains a suitable dns name" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_Get.json new file mode 100644 index 000000000000..b136800ef2a4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePatch.json new file mode 100644 index 000000000000..e8eee61a3bed --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePatch.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0 + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/default/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/default?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePut.json new file mode 100644 index 000000000000..32b864adec51 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/MonitoringSettings_UpdatePut.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "monitoringSettingResource": { + "properties": { + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0 + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "traceEnabled": true, + "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000", + "appInsightsSamplingRate": 10.0, + "appInsightsAgentVersions": { + "java": "3.0.0" + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/monitoringSettings", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/monitoringSettings/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..c5197ba64e72 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Operations_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AppPlatform/Spring/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Azure Distributed Managed Service for Spring", + "resource": "Managed Applications", + "operation": "Create or Update Managed Applications", + "description": "Create or Update Managed Applications" + }, + "origin": "user,system", + "properties": { + "serviceSpecification": null + } + } + ], + "nextLink": "providers/Microsoft.AppPlatform?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json similarity index 75% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json index 051d4085549f..1952f98a9521 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview" + "api-version": "2022-03-01-preview" }, "responses": { "200": { @@ -16,6 +16,11 @@ "platform": "Java", "version": "11" }, + { + "value": "Java_17", + "platform": "Java", + "version": "17" + }, { "value": "NetCore_31", "platform": ".NET Core", diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_CreateOrUpdate.json new file mode 100644 index 000000000000..962acd28864e --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_CreateOrUpdate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "serviceRegistryName": "default" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/serviceRegistries", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/default", + "name": "default" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/serviceRegistries", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Delete.json new file mode 100644 index 000000000000..33a2ba40071c --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "serviceRegistryName": "default" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Get.json new file mode 100644 index 000000000000..2ad2641652dd --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "serviceRegistryName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/serviceRegistries", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/default", + "name": "default" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_List.json new file mode 100644 index 000000000000..cc6af5294f8b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/ServiceRegistries_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "resourceRequests": { + "cpu": "1", + "memory": "1G", + "instanceCount": 2 + }, + "instances": [ + { + "name": "instance1", + "status": "Running" + }, + { + "name": "instance2", + "status": "Running" + } + ] + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/serviceRegistries", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/serviceRegistries/default", + "name": "default" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..7b11d1c84eb8 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "availabilityParameters": { + "type": "Microsoft.AppPlatform/Spring", + "name": "myservice" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already used." + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..d2b850d02f09 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate.json @@ -0,0 +1,213 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json new file mode 100644 index 000000000000..0f48574222af --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json @@ -0,0 +1,233 @@ +{ + "parameters": { + "resource": { + "properties": { + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg" + } + }, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Creating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Updating", + "networkProfile": { + "serviceRuntimeSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/serviceRuntime", + "appSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/apps", + "serviceCidr": "10.8.0.0/16,10.244.0.0/16,10.245.0.1/16", + "serviceRuntimeNetworkResourceGroup": "my-service-runtime-network-rg", + "appNetworkResourceGroup": "my-app-network-rg", + "outboundIPs": { + "publicIPs": [ + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + }, + "serviceId": "12345678abcd1234abcd12345678abcd" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Delete.json new file mode 100644 index 000000000000..3d4143b9bd61 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..." + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_DisableTestEndpoint.json similarity index 82% rename from specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_DisableTestEndpoint.json rename to specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_DisableTestEndpoint.json index 8386336ce586..8b836735004e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_DisableTestEndpoint.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_DisableTestEndpoint.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2019-05-01-preview", + "api-version": "2022-03-01-preview", "subscriptionId": "00000000-0000-0000-0000-000000000000", "resourceGroupName": "myResourceGroup", "serviceName": "myservice" diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_EnableTestEndpoint.json new file mode 100644 index 000000000000..ed5e7b3afe35 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_EnableTestEndpoint.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Get.json new file mode 100644 index 000000000000..a923be141894 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Get.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_List.json new file mode 100644 index 000000000000..363e7456fd8b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_List.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListBySubscription.json new file mode 100644 index 000000000000..d084e78392ca --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListBySubscription.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListTestKeys.json new file mode 100644 index 000000000000..ed5e7b3afe35 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_ListTestKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_RegenerateTestKey.json new file mode 100644 index 000000000000..49309f1b87ec --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_RegenerateTestKey.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "regenerateTestKeyRequest": { + "keyType": "Primary" + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "200": { + "body": { + "primaryKey": "", + "secondaryKey": "", + "primaryTestEndpoint": "", + "secondaryTestEndpoint": "", + "enabled": true + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Start.json new file mode 100644 index 000000000000..d646f350a7d1 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": {}, + "404": {}, + "409": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Stop.json new file mode 100644 index 000000000000..d646f350a7d1 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": {}, + "404": {}, + "409": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Update.json new file mode 100644 index 000000000000..4414756056f8 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Services_Update.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "resource": { + "properties": {}, + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationStatus/myservice/operationId/00000000-0000-0000-0000-000000000000?api-version=2022-03-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000/Spring/myservice?api-version=2022-03-01-preview" + }, + "body": { + "properties": { + "provisioningState": "Updating", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + }, + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "serviceId": "12345678abcd1234abcd12345678abcd", + "networkProfile": { + "outboundIPs": { + "publicIPs": [ + "20.39.3.173", + "40.64.67.13" + ] + }, + "requiredTraffics": [ + { + "protocol": "TCP", + "port": 443, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "UDP", + "port": 1194, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + }, + { + "protocol": "TCP", + "port": 9000, + "ips": [ + "20.62.211.25", + "52.188.47.226" + ], + "direction": "Outbound" + } + ] + } + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring", + "sku": { + "name": "S0", + "tier": "Standard" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice", + "name": "myservice" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Skus_List.json new file mode 100644 index 000000000000..b09480bcb504 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Skus_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Spring", + "name": "B0", + "tier": "Basic", + "capacity": { + "minimum": 1, + "maximum": 20, + "default": 1, + "scaleType": "Automatic" + }, + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [], + "zoneDetails": [] + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_CreateOrUpdate.json new file mode 100644 index 000000000000..d6b1d61faed8 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_CreateOrUpdate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "storageResource": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name", + "accountKey": "account-key-of-storage-account" + } + }, + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + }, + "201": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + }, + "202": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Delete.json new file mode 100644 index 000000000000..646e3f73954b --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Get.json new file mode 100644 index 000000000000..ee20aa7641d6 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myservice", + "storageName": "mystorage" + }, + "responses": { + "200": { + "body": { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_List.json new file mode 100644 index 000000000000..0bb4db2676b4 --- /dev/null +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2022-03-01-preview/examples/Storages_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "serviceName": "myService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "storageType": "StorageAccount", + "accountName": "storage-account-name" + }, + "systemData": { + "createdBy": "sample-user", + "createdByType": "User", + "createdAt": "2021-08-11T03:16:03.944Z", + "lastModifiedBy": "sample-user", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-11T03:17:03.944Z" + }, + "type": "Microsoft.AppPlatform/Spring/storages", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage", + "name": "mystorage" + } + ], + "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages?$page=2" + } + } + } +} diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json index 8033193e6a56..d2a6ef35dcd7 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json @@ -2907,7 +2907,10 @@ "type": "array", "items": { "$ref": "#/definitions/ConfigServerSettingsErrorRecord" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -3092,7 +3095,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/RequiredTraffic" - } + }, + "x-ms-identifiers": [ + "port" + ] } } }, @@ -3179,7 +3185,10 @@ "type": "array", "items": { "$ref": "#/definitions/GitPatternRepository" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "uri": { "description": "URI of the repository", @@ -3882,6 +3891,9 @@ "items": { "$ref": "#/definitions/DeploymentInstance" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -4054,7 +4066,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDetail" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -4142,7 +4157,10 @@ "type": "array", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "metricSpecifications": { "description": "Specifications of the Metrics for Azure Monitoring", @@ -4150,7 +4168,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4226,7 +4247,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "sourceMdmNamespace": { "description": "Name of the MDM namespace. Optional.", @@ -4262,7 +4286,11 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceSku" - } + }, + "x-ms-identifiers": [ + "name", + "resourceType" + ] }, "nextLink": { "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -4304,7 +4332,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceSkuLocationInfo" - } + }, + "x-ms-identifiers": [ + "location" + ] }, "restrictions": { "description": "Gets the restrictions because of which SKU cannot be used. This is\r\nempty if there are no restrictions.", @@ -4312,7 +4343,8 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceSkuRestrictions" - } + }, + "x-ms-identifiers": [] } } }, @@ -4375,7 +4407,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceSkuZoneDetails" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4439,7 +4474,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceSkuCapabilities" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4508,7 +4546,11 @@ "type": "array", "items": { "$ref": "#/definitions/CloudErrorBody" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } }, "x-ms-external": true @@ -4523,6 +4565,9 @@ "items": { "$ref": "#/definitions/SupportedRuntimeVersion" }, + "x-ms-identifiers": [ + "version" + ], "readOnly": true } }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json index 30bb8b7d997a..12224897c733 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json @@ -31,7 +31,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -50,7 +50,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -69,7 +69,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json index b6e130ba0fd5..cce03ed6f65e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json @@ -18,7 +18,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json index 9208dc0b71ce..dbfbbc12157f 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json @@ -19,7 +19,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json index 46a2337ac5c2..5eb6e9cc938e 100644 --- a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json +++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json @@ -30,7 +30,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, @@ -53,7 +53,7 @@ "databaseName": "db1", "apiType": "SQL" }, - "generatedProperties": "spring.datasource.url=jdbc:mysql://localhost:3306/test\nspring.datasource.username=root\nspring.datasource.password=1****6", + "generatedProperties": "", "createdAt": "2019-01-01T12:34:56.000Z", "updatedAt": "2019-01-01T12:34:56.000Z" }, diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md index 3f549834c025..dfc696bbea6a 100644 --- a/specification/appplatform/resource-manager/readme.go.md +++ b/specification/appplatform/resource-manager/readme.go.md @@ -21,12 +21,21 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - - tag: package-2019-05-01-preview +``` + +### Tag: package-preview-2022-03 and go + +These settings apply only when `--tag=package-preview-2022-03 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2022-03' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-03-01-preview/$(namespace) ``` ### Tag: package-preview-2022-01 and go @@ -73,12 +82,3 @@ Please also specify `--go-sdk-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 index 39f2936f8b11..9219c7a209a0 100644 --- a/specification/appplatform/resource-manager/readme.java.md +++ b/specification/appplatform/resource-manager/readme.java.md @@ -16,12 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform ``` yaml $(java) && $(multiapi) batch: + - tag: package-preview-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - - tag: package-2019-05-01-preview +``` + +### Tag: package-preview-2022-03 and java + +These settings apply only when `--tag=package-preview-2022-03 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2022-03' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.appplatform.v2022_03_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2022_03_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-preview-2022-01 and java @@ -88,16 +101,3 @@ java: regenerate-manager: true generate-interface: true ``` - -### 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 -``` diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md index 627780d8358b..27b9675aed88 100644 --- a/specification/appplatform/resource-manager/readme.md +++ b/specification/appplatform/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the AppPlatform API. ``` yaml openapi-type: arm -tag: package-preview-2022-01 +tag: package-preview-2022-03 ``` ### Suppression @@ -48,6 +48,13 @@ directive: # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/configServers/default"] # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/monitoringSettings/default"] ``` +### Tag: package-preview-2022-03 +These settings apply only when `--tag=package-preview-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-03' +input-file: + - Microsoft.AppPlatform/preview/2022-03-01-preview/appplatform.json +``` ### Tag: package-preview-2022-01 @@ -93,15 +100,6 @@ input-file: - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json ``` -### 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 diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md index 68a30391f87a..176a63eb5224 100644 --- a/specification/appplatform/resource-manager/readme.python.md +++ b/specification/appplatform/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-appplatform @@ -19,30 +18,39 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) clear-output-folder: true batch: + - tag: package-preview-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - - tag: package-2019-05-01-preview - multiapiscript: true ``` ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/ -clear-output-folder: false perform-load: false ``` +### Tag: package-preview-2022-03 and python + +These settings apply only when `--tag=package-preview-2022-03 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2022-03' && $(python) +namespace: azure.mgmt.appplatform.v2022_03_01_preview +output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2022_03_01_preview +``` + ### Tag: package-preview-2022-01 and python These settings apply only when `--tag=package-preview-2022-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-preview-2022-01' && $(python) && $(track2) +``` yaml $(tag) == 'package-preview-2022-01' && $(python) namespace: azure.mgmt.appplatform.v2022_01_01_preview output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2022_01_01_preview ``` @@ -52,7 +60,7 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg These settings apply only when `--tag=package-preview-2021-09 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-preview-2021-09' && $(python) && $(track2) +``` yaml $(tag) == 'package-preview-2021-09' && $(python) namespace: azure.mgmt.appplatform.v2021_09_01_preview output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2021_09_01_preview ``` @@ -62,7 +70,7 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-preview-2021-06' && $(python) && $(track2) +``` yaml $(tag) == 'package-preview-2021-06' && $(python) namespace: azure.mgmt.appplatform.v2021_06_01_preview output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2021_06_01_preview ``` @@ -72,7 +80,7 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg These settings apply only when `--tag=package-preview-2020-11 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-preview-2020-11' && $(python) && $(track2) +``` yaml $(tag) == 'package-preview-2020-11' && $(python) namespace: azure.mgmt.appplatform.v2020_11_01_preview output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_11_01_preview ``` @@ -82,18 +90,7 @@ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mg These settings apply only when `--tag=package-2020-07 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-07' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-07' && $(python) namespace: azure.mgmt.appplatform.v2020_07_01 output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01 ``` - -### Tag: package-2019-05-01-preview and python - -These settings apply only when `--tag=package-2019-05-01-preview --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - - -``` yaml $(tag) == 'package-2019-05-01-preview' && $(python) && $(track2) -namespace: azure.mgmt.appplatform.v2019_05_01_preview -output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2019_05_01_preview -``` diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md index c614a1db3b56..8dd55fac5aab 100644 --- a/specification/appplatform/resource-manager/readme.ruby.md +++ b/specification/appplatform/resource-manager/readme.ruby.md @@ -12,12 +12,22 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-preview-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-09 - tag: package-preview-2021-06 - tag: package-preview-2020-11 - tag: package-2020-07 - - tag: package-2019-05-01-preview +``` + +### Tag: package-preview-2022-03 and ruby + +These settings apply only when `--tag=package-preview-2022-03 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2022-03' && $(ruby) +namespace: "Azure::AppPlatform::Mgmt::V2022_03_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib ``` ### Tag: package-preview-2022-01 and ruby @@ -69,13 +79,3 @@ 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/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json index 27f75f0ba69f..2fa1f4fd831c 100644 --- a/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json +++ b/specification/attestation/resource-manager/Microsoft.Attestation/stable/2020-10-01/attestation.json @@ -621,7 +621,10 @@ "description": "List of supported operations.", "items": { "$ref": "#/definitions/OperationsDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "description": "List of supported operations." diff --git a/specification/attestation/resource-manager/readme.python.md b/specification/attestation/resource-manager/readme.python.md index 04f82b281991..96c4a24bffdd 100644 --- a/specification/attestation/resource-manager/readme.python.md +++ b/specification/attestation/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.attestation @@ -15,16 +15,7 @@ modelerfour: lenient-model-deduplication: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation/azure/mgmt/attestation ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/attestation/azure-mgmt-attestation -``` - -``` yaml $(python) && $(track2) -modelerfour: - lenient-model-deduplication: true -``` diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json index de0e62d3c454..484b5204a4e0 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json @@ -139,6 +139,7 @@ "items": { "$ref": "#/definitions/ProviderOperation" }, + "x-ms-identifiers": [], "description": "The resource type operations." } }, @@ -199,6 +200,9 @@ "items": { "$ref": "#/definitions/ResourceType" }, + "x-ms-identifiers": [ + "name" + ], "description": "The provider resource types" }, "operations": { @@ -206,6 +210,7 @@ "items": { "$ref": "#/definitions/ProviderOperation" }, + "x-ms-identifiers": [], "description": "The provider operations." } }, diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json index f6bd539ee8d2..1c5a9f367650 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json @@ -427,6 +427,7 @@ "items": { "$ref": "#/definitions/Permission" }, + "x-ms-identifiers": [], "description": "Role definition permissions." }, "assignableScopes": { @@ -490,6 +491,7 @@ "items": { "$ref": "#/definitions/Permission" }, + "x-ms-identifiers": [], "description": "An array of permissions." }, "nextLink": { diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/authorization-AccessReviewCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/authorization-AccessReviewCalls.json index 0106f6329933..f868c931f98e 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/authorization-AccessReviewCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-05-01-preview/authorization-AccessReviewCalls.json @@ -171,12 +171,12 @@ } ], "responses": { - "204": { - "description": "Request is well formed but the resource does not exist" - }, "200": { "description": "Resource deleted successfully" }, + "204": { + "description": "Request is well formed but the resource does not exist" + }, "default": { "description": "Unexpected error", "schema": { @@ -1114,6 +1114,9 @@ "items": { "$ref": "#/definitions/AccessReviewReviewer" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "This is the collection of reviewers." }, "reviewersType": { @@ -1785,7 +1788,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next set of paged results.", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json index 17f38fefb21c..201086a5f772 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json @@ -367,6 +367,7 @@ "items": { "$ref": "#/definitions/DenyAssignmentPermission" }, + "x-ms-identifiers": [], "description": "An array of permissions that are denied by the deny assignment." }, "scope": { diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json index 22c2c4e2562b..0b378e9a5b4e 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleManagementPolicy.json @@ -399,6 +399,7 @@ "items": { "$ref": "#/definitions/ApprovalStage" }, + "x-ms-identifiers": [], "description": "The approval stages of the request." } } diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-11-16-preview/authorization-AccessReviewCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-11-16-preview/authorization-AccessReviewCalls.json index f8853ffc92a8..6f77b161ba6b 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-11-16-preview/authorization-AccessReviewCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2021-11-16-preview/authorization-AccessReviewCalls.json @@ -224,12 +224,12 @@ } ], "responses": { - "204": { - "description": "Request is well formed but the resource does not exist" - }, "200": { "description": "Resource deleted successfully" }, + "204": { + "description": "Request is well formed but the resource does not exist" + }, "default": { "description": "Unexpected error", "schema": { @@ -446,12 +446,12 @@ } ], "responses": { - "204": { - "description": "Request is well formed but the resource does not exist" - }, "200": { "description": "Resource deleted successfully" }, + "204": { + "description": "Request is well formed but the resource does not exist" + }, "default": { "description": "Unexpected error", "schema": { @@ -1565,6 +1565,9 @@ "items": { "$ref": "#/definitions/AccessReviewReviewer" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "This is the collection of reviewers." }, "backupReviewers": { @@ -1572,8 +1575,10 @@ "items": { "$ref": "#/definitions/AccessReviewReviewer" }, - "description": "This is the collection of backup reviewers.", - "x-ms-identifiers": [] + "x-ms-identifiers": [ + "principalId" + ], + "description": "This is the collection of backup reviewers." }, "reviewersType": { "type": "string", @@ -2679,7 +2684,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next set of paged results.", diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleAssignmentScheduleRequest.json new file mode 100644 index 000000000000..e3671f2e90c6 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleAssignmentScheduleRequest.json @@ -0,0 +1,642 @@ +{ + "swagger": "2.0", + "info": { + "title": "AuthorizationManagementClient", + "version": "2022-04-01-preview", + "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role assignment grants access to Azure Active Directory users." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}": { + "put": { + "tags": [ + "RoleAssignmentScheduleRequests" + ], + "operationId": "RoleAssignmentScheduleRequests_Create", + "description": "Creates a role assignment schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment schedule request to create. The scope can be any REST resource instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + }, + "description": "Parameters for the role assignment schedule request." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PutRoleAssignmentScheduleRequest": { + "$ref": "./examples/PutRoleAssignmentScheduleRequest.json" + } + } + }, + "get": { + "tags": [ + "RoleAssignmentScheduleRequests" + ], + "operationId": "RoleAssignmentScheduleRequests_Get", + "description": "Get the specified role assignment schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment schedule request.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name (guid) of the role assignment schedule request to get." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment schedule request.", + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetRoleAssignmentScheduleRequestByName": { + "$ref": "./examples/GetRoleAssignmentScheduleRequestByName.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests": { + "get": { + "tags": [ + "RoleAssignmentScheduleRequests" + ], + "operationId": "RoleAssignmentScheduleRequests_ListForScope", + "description": "Gets role assignment schedule requests for a scope.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignments schedule requests.", + "x-ms-skip-url-encoding": true + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignment schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role assignment schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role assignment schedule requests requested by the current user. Use $filter=asTarget() to return all role assignment schedule requests created for the current user. Use $filter=asApprover() to return all role assignment schedule requests where the current user is an approver." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments schedule requests.", + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleAssignmentScheduleRequestFilter", + "x-ms-examples": { + "GetRoleAssignmentScheduleRequestByScope": { + "$ref": "./examples/GetRoleAssignmentScheduleRequestByScope.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}/cancel": { + "post": { + "tags": [ + "RoleAssignmentScheduleRequests" + ], + "operationId": "RoleAssignmentScheduleRequests_Cancel", + "description": "Cancels a pending role assignment schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment request to cancel.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment request to cancel." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CancelRoleAssignmentScheduleRequestByName": { + "$ref": "./examples/CancelRoleAssignmentScheduleRequestByName.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignmentScheduleRequests/{roleAssignmentScheduleRequestName}/validate": { + "post": { + "tags": [ + "RoleAssignmentScheduleRequests" + ], + "operationId": "RoleAssignmentScheduleRequests_Validate", + "description": "Validates a new role assignment schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment request to validate.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment request to validate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + }, + "description": "Parameters for the role assignment schedule request." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment request.", + "schema": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ValidateRoleAssignmentScheduleRequestByName": { + "$ref": "./examples/ValidateRoleAssignmentScheduleRequestByName.json" + } + } + } + } + }, + "definitions": { + "RoleAssignmentScheduleRequestFilter": { + "properties": { + "principalId": { + "type": "string", + "description": "Returns role assignment requests of the specific principal." + }, + "roleDefinitionId": { + "type": "string", + "description": "Returns role assignment requests of the specific role definition." + }, + "requestorId": { + "type": "string", + "description": "Returns role assignment requests created by specific principal." + }, + "status": { + "type": "string", + "description": "Returns role assignment requests of specific status." + } + }, + "type": "object", + "description": "Role assignment schedule request filter" + }, + "RoleAssignmentScheduleRequestProperties": { + "properties": { + "scope": { + "type": "string", + "readOnly": true, + "description": "The role assignment schedule request scope." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID." + }, + "principalId": { + "type": "string", + "description": "The principal ID." + }, + "principalType": { + "type": "string", + "readOnly": true, + "description": "The principal type of the assigned principal ID.", + "enum": [ + "User", + "Group", + "ServicePrincipal", + "ForeignGroup", + "Device" + ], + "x-ms-enum": { + "name": "principalType", + "modelAsString": true + } + }, + "requestType": { + "type": "string", + "description": "The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc", + "enum": [ + "AdminAssign", + "AdminRemove", + "AdminUpdate", + "AdminExtend", + "AdminRenew", + "SelfActivate", + "SelfDeactivate", + "SelfExtend", + "SelfRenew" + ], + "x-ms-enum": { + "name": "RequestType", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The status of the role assignment schedule request.", + "enum": [ + "Accepted", + "PendingEvaluation", + "Granted", + "Denied", + "PendingProvisioning", + "Provisioned", + "PendingRevocation", + "Revoked", + "Canceled", + "Failed", + "PendingApprovalProvisioning", + "PendingApproval", + "FailedAsResourceIsLocked", + "PendingAdminDecision", + "AdminApproved", + "AdminDenied", + "TimedOut", + "ProvisioningStarted", + "Invalid", + "PendingScheduleCreation", + "ScheduleCreated", + "PendingExternalProvisioning" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "approvalId": { + "type": "string", + "readOnly": true, + "description": "The approvalId of the role assignment schedule request." + }, + "targetRoleAssignmentScheduleId": { + "type": "string", + "description": "The resultant role assignment schedule id or the role assignment schedule id being updated" + }, + "targetRoleAssignmentScheduleInstanceId": { + "type": "string", + "description": "The role assignment schedule instance id being updated" + }, + "scheduleInfo": { + "properties": { + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start DateTime of the role assignment schedule." + }, + "expiration": { + "properties": { + "type": { + "type": "string", + "description": "Type of the role assignment schedule expiration", + "enum": [ + "AfterDuration", + "AfterDateTime", + "NoExpiration" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End DateTime of the role assignment schedule." + }, + "duration": { + "type": "string", + "description": "Duration of the role assignment schedule in TimeSpan." + } + }, + "type": "object", + "description": "Expiration of the role assignment schedule" + } + }, + "type": "object", + "description": "Schedule info of the role assignment schedule" + }, + "linkedRoleEligibilityScheduleId": { + "type": "string", + "description": "The linked role eligibility schedule id - to activate an eligibility." + }, + "justification": { + "type": "string", + "description": "Justification for the role assignment" + }, + "ticketInfo": { + "properties": { + "ticketNumber": { + "type": "string", + "description": "Ticket number for the role assignment" + }, + "ticketSystem": { + "type": "string", + "description": "Ticket system name for the role assignment" + } + }, + "type": "object", + "description": "Ticket Info of the role assignment" + }, + "condition": { + "type": "string", + "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'" + }, + "conditionVersion": { + "type": "string", + "description": "Version of the condition. Currently accepted value is '2.0'" + }, + "createdOn": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "DateTime when role assignment schedule request was created" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "description": "Id of the user who created this request" + }, + "expandedProperties": { + "type": "object", + "readOnly": true, + "description": "Additional properties of principal, scope and role definition", + "$ref": "#/definitions/ExpandedProperties" + } + }, + "required": [ + "roleDefinitionId", + "principalId", + "requestType" + ], + "type": "object", + "description": "Role assignment schedule request properties with scope." + }, + "RoleAssignmentScheduleRequest": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The role assignment schedule request ID." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The role assignment schedule request name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The role assignment schedule request type." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleAssignmentScheduleRequestProperties", + "description": "Role assignment schedule request properties." + } + }, + "type": "object", + "description": "Role Assignment schedule request" + }, + "RoleAssignmentScheduleRequestListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleAssignmentScheduleRequest" + }, + "description": "Role assignment schedule request list." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "type": "object", + "description": "Role assignment schedule request list operation result." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "type": "object", + "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." + } + }, + "type": "object", + "description": "An error response from the service." + }, + "ExpandedProperties": { + "properties": { + "scope": { + "type": "object", + "description": "Details of the resource scope", + "properties": { + "id": { + "type": "string", + "description": "Scope id of the resource" + }, + "displayName": { + "type": "string", + "description": "Display name of the resource" + }, + "type": { + "type": "string", + "description": "Type of the resource" + } + } + }, + "roleDefinition": { + "type": "object", + "description": "Details of role definition", + "properties": { + "id": { + "type": "string", + "description": "Id of the role definition" + }, + "displayName": { + "type": "string", + "description": "Display name of the role definition" + }, + "type": { + "type": "string", + "description": "Type of the role definition" + } + } + }, + "principal": { + "type": "object", + "description": "Details of the principal", + "properties": { + "id": { + "type": "string", + "description": "Id of the principal" + }, + "displayName": { + "type": "string", + "description": "Display name of the principal" + }, + "email": { + "type": "string", + "description": "Email id of the principal" + }, + "type": { + "type": "string", + "description": "Type of the principal" + } + } + } + }, + "type": "object", + "description": "Expanded info of resource, role and principal" + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleEligibilityScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleEligibilityScheduleRequest.json new file mode 100644 index 000000000000..065f80a7f27f --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/RoleEligibilityScheduleRequest.json @@ -0,0 +1,638 @@ +{ + "swagger": "2.0", + "info": { + "title": "AuthorizationManagementClient", + "version": "2022-04-01-preview", + "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role assignments. A role eligibility grants access to Azure Active Directory users." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}": { + "put": { + "tags": [ + "RoleEligibilityScheduleRequests" + ], + "operationId": "RoleEligibilityScheduleRequests_Create", + "description": "Creates a role eligibility schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role eligibility schedule request to create. The scope can be any REST resource instance. For example, use '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/' for a subscription, '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/providers/Microsoft.Subscription/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleEligibilityScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role eligibility to create. It can be any valid GUID." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + }, + "description": "Parameters for the role eligibility schedule request." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the role eligibility schedule request.", + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PutRoleEligibilityScheduleRequest": { + "$ref": "./examples/PutRoleEligibilityScheduleRequest.json" + } + } + }, + "get": { + "tags": [ + "RoleEligibilityScheduleRequests" + ], + "operationId": "RoleEligibilityScheduleRequests_Get", + "description": "Get the specified role eligibility schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role eligibility schedule request.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleEligibilityScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name (guid) of the role eligibility schedule request to get." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role eligibility schedule request.", + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetRoleEligibilityScheduleRequestByName": { + "$ref": "./examples/GetRoleEligibilityScheduleRequestByName.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests": { + "get": { + "tags": [ + "RoleEligibilityScheduleRequests" + ], + "operationId": "RoleEligibilityScheduleRequests_ListForScope", + "description": "Gets role eligibility schedule requests for a scope.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role eligibility schedule requests.", + "x-ms-skip-url-encoding": true + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role eligibility schedule requests at or above the scope. Use $filter=principalId eq {id} to return all role eligibility schedule requests at, above or below the scope for the specified principal. Use $filter=asRequestor() to return all role eligibility schedule requests requested by the current user. Use $filter=asTarget() to return all role eligibility schedule requests created for the current user. Use $filter=asApprover() to return all role eligibility schedule requests where the current user is an approver." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role eligibility schedule requests.", + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/RoleEligibilityScheduleRequestFilter", + "x-ms-examples": { + "GetRoleEligibilityScheduleRequestByScope": { + "$ref": "./examples/GetRoleEligibilityScheduleRequestByScope.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}/cancel": { + "post": { + "tags": [ + "RoleEligibilityScheduleRequests" + ], + "operationId": "RoleEligibilityScheduleRequests_Cancel", + "description": "Cancels a pending role eligibility schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role eligibility request to cancel.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleEligibilityScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role eligibility request to cancel." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CancelRoleEligibilityScheduleRequestByName": { + "$ref": "./examples/CancelRoleEligibilityScheduleRequestByName.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleEligibilityScheduleRequests/{roleEligibilityScheduleRequestName}/validate": { + "post": { + "tags": [ + "RoleEligibilityScheduleRequests" + ], + "operationId": "RoleEligibilityScheduleRequests_Validate", + "description": "Validates a new role eligibility schedule request.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role eligibility request to validate.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleEligibilityScheduleRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role eligibility request to validate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + }, + "description": "Parameters for the role eligibility schedule request." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role eligibility schedule request.", + "schema": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ValidateRoleEligibilityScheduleRequestByName": { + "$ref": "./examples/ValidateRoleEligibilityScheduleRequestByName.json" + } + } + } + } + }, + "definitions": { + "RoleEligibilityScheduleRequestFilter": { + "properties": { + "principalId": { + "type": "string", + "description": "Returns role eligibility requests of the specific principal." + }, + "roleDefinitionId": { + "type": "string", + "description": "Returns role eligibility requests of the specific role definition." + }, + "requestorId": { + "type": "string", + "description": "Returns role eligibility requests created by specific principal." + }, + "status": { + "type": "string", + "description": "Returns role eligibility requests of specific status." + } + }, + "type": "object", + "description": "Role eligibility schedule request filter" + }, + "RoleEligibilityScheduleRequestProperties": { + "properties": { + "scope": { + "type": "string", + "readOnly": true, + "description": "The role eligibility schedule request scope." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID." + }, + "principalId": { + "type": "string", + "description": "The principal ID." + }, + "principalType": { + "type": "string", + "readOnly": true, + "description": "The principal type of the assigned principal ID.", + "enum": [ + "User", + "Group", + "ServicePrincipal", + "ForeignGroup", + "Device" + ], + "x-ms-enum": { + "name": "principalType", + "modelAsString": true + } + }, + "requestType": { + "type": "string", + "description": "The type of the role assignment schedule request. Eg: SelfActivate, AdminAssign etc", + "enum": [ + "AdminAssign", + "AdminRemove", + "AdminUpdate", + "AdminExtend", + "AdminRenew", + "SelfActivate", + "SelfDeactivate", + "SelfExtend", + "SelfRenew" + ], + "x-ms-enum": { + "name": "RequestType", + "modelAsString": true + } + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The status of the role eligibility schedule request.", + "enum": [ + "Accepted", + "PendingEvaluation", + "Granted", + "Denied", + "PendingProvisioning", + "Provisioned", + "PendingRevocation", + "Revoked", + "Canceled", + "Failed", + "PendingApprovalProvisioning", + "PendingApproval", + "FailedAsResourceIsLocked", + "PendingAdminDecision", + "AdminApproved", + "AdminDenied", + "TimedOut", + "ProvisioningStarted", + "Invalid", + "PendingScheduleCreation", + "ScheduleCreated", + "PendingExternalProvisioning" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "approvalId": { + "type": "string", + "readOnly": true, + "description": "The approvalId of the role eligibility schedule request." + }, + "scheduleInfo": { + "properties": { + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "Start DateTime of the role eligibility schedule." + }, + "expiration": { + "properties": { + "type": { + "type": "string", + "description": "Type of the role eligibility schedule expiration", + "enum": [ + "AfterDuration", + "AfterDateTime", + "NoExpiration" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "End DateTime of the role eligibility schedule." + }, + "duration": { + "type": "string", + "description": "Duration of the role eligibility schedule in TimeSpan." + } + }, + "type": "object", + "description": "Expiration of the role eligibility schedule" + } + }, + "type": "object", + "description": "Schedule info of the role eligibility schedule" + }, + "targetRoleEligibilityScheduleId": { + "type": "string", + "description": "The resultant role eligibility schedule id or the role eligibility schedule id being updated" + }, + "targetRoleEligibilityScheduleInstanceId": { + "type": "string", + "description": "The role eligibility schedule instance id being updated" + }, + "justification": { + "type": "string", + "description": "Justification for the role eligibility" + }, + "ticketInfo": { + "properties": { + "ticketNumber": { + "type": "string", + "description": "Ticket number for the role eligibility" + }, + "ticketSystem": { + "type": "string", + "description": "Ticket system name for the role eligibility" + } + }, + "type": "object", + "description": "Ticket Info of the role eligibility" + }, + "condition": { + "type": "string", + "description": "The conditions on the role assignment. This limits the resources it can be assigned to. e.g.: @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'" + }, + "conditionVersion": { + "type": "string", + "description": "Version of the condition. Currently accepted value is '2.0'" + }, + "createdOn": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "DateTime when role eligibility schedule request was created" + }, + "requestorId": { + "type": "string", + "readOnly": true, + "description": "Id of the user who created this request" + }, + "expandedProperties": { + "readOnly": true, + "type": "object", + "description": "Additional properties of principal, scope and role definition", + "$ref": "#/definitions/ExpandedProperties" + } + }, + "required": [ + "roleDefinitionId", + "principalId", + "requestType" + ], + "type": "object", + "description": "Role eligibility schedule request properties with scope." + }, + "RoleEligibilityScheduleRequest": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The role eligibility schedule request ID." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The role eligibility schedule request name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The role eligibility schedule request type." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleEligibilityScheduleRequestProperties", + "description": "Role eligibility schedule request properties." + } + }, + "type": "object", + "description": "Role Eligibility schedule request" + }, + "RoleEligibilityScheduleRequestListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleEligibilityScheduleRequest" + }, + "description": "Role eligibility schedule request list." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "type": "object", + "description": "Role eligibility schedule request list operation result." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "type": "object", + "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." + } + }, + "type": "object", + "description": "An error response from the service." + }, + "ExpandedProperties": { + "properties": { + "scope": { + "type": "object", + "description": "Details of the resource scope", + "properties": { + "id": { + "type": "string", + "description": "Scope id of the resource" + }, + "displayName": { + "type": "string", + "description": "Display name of the resource" + }, + "type": { + "type": "string", + "description": "Type of the resource" + } + } + }, + "roleDefinition": { + "type": "object", + "description": "Details of role definition", + "properties": { + "id": { + "type": "string", + "description": "Id of the role definition" + }, + "displayName": { + "type": "string", + "description": "Display name of the role definition" + }, + "type": { + "type": "string", + "description": "Type of the role definition" + } + } + }, + "principal": { + "type": "object", + "description": "Details of the principal", + "properties": { + "id": { + "type": "string", + "description": "Id of the principal" + }, + "displayName": { + "type": "string", + "description": "Display name of the principal" + }, + "email": { + "type": "string", + "description": "Email id of the principal" + }, + "type": { + "type": "string", + "description": "Type of the principal" + } + } + } + }, + "type": "object", + "description": "Expanded info of resource, role and principal" + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json new file mode 100644 index 000000000000..aa0d1d6d1338 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleAssignmentScheduleRequestByName.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json new file mode 100644 index 000000000000..d1334f5847ae --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/CancelRoleEligibilityScheduleRequestByName.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json new file mode 100644 index 000000000000..001b93d45d1c --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByName.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "targetRoleAssignmentScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleAssignmentScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "SelfActivate", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:35:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "fea7a502-9a96-4806-a26f-eee560e52045", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045", + "type": "Microsoft.Authorization/RoleAssignmentScheduleRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json new file mode 100644 index 000000000000..5ed301f86b28 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleAssignmentScheduleRequestByScope.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "$filter": "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "targetRoleAssignmentScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleAssignmentScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "SelfActivate", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:35:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "fea7a502-9a96-4806-a26f-eee560e52045", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045", + "type": "Microsoft.Authorization/RoleAssignmentScheduleRequests" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json new file mode 100644 index 000000000000..6ba1defe83ef --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByName.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleEligibilityScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "AdminAssign", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:32:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6", + "type": "Microsoft.Authorization/RoleEligibilityRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json new file mode 100644 index 000000000000..7ef0d80877fa --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/GetRoleEligibilityScheduleRequestByScope.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "$filter": "assignedTo('A3BB8764-CB92-4276-9D2A-CA1E895E55EA')", + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleEligibilityScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "AdminAssign", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:32:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6", + "type": "Microsoft.Authorization/RoleEligibilityRequests" + } + ] + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleAssignmentScheduleRequest.json new file mode 100644 index 000000000000..f1aa9fe12e1c --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleAssignmentScheduleRequest.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045", + "parameters": { + "properties": { + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "requestType": "SelfActivate", + "linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0" + } + }, + "api-version": "2022-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "targetRoleAssignmentScheduleId": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6", + "targetRoleAssignmentScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "SelfActivate", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:35:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "fea7a502-9a96-4806-a26f-eee560e52045", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045", + "type": "Microsoft.Authorization/RoleAssignmentScheduleRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleEligibilityScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleEligibilityScheduleRequest.json new file mode 100644 index 000000000000..b5f4cd0434d2 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/PutRoleEligibilityScheduleRequest.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "scope": "providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "parameters": { + "properties": { + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "requestType": "AdminAssign", + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0" + } + }, + "api-version": "2022-04-01-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleEligibilityScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "AdminAssign", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:32:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6", + "type": "Microsoft.Authorization/RoleEligibilityScheduleRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleAssignmentScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleAssignmentScheduleRequestByName.json new file mode 100644 index 000000000000..5b9903ca6643 --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleAssignmentScheduleRequestByName.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleAssignmentScheduleRequestName": "fea7a502-9a96-4806-a26f-eee560e52045", + "parameters": { + "properties": { + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "requestType": "SelfActivate", + "linkedRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0" + } + }, + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "targetRoleAssignmentScheduleId": "c9e264ff-3133-4776-a81a-ebc7c33c8ec6", + "targetRoleAssignmentScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "SelfActivate", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:35:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "PT8H" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:35:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "fea7a502-9a96-4806-a26f-eee560e52045", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleAssignmentScheduleRequests/fea7a502-9a96-4806-a26f-eee560e52045", + "type": "Microsoft.Authorization/RoleAssignmentScheduleRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleEligibilityScheduleRequestByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleEligibilityScheduleRequestByName.json new file mode 100644 index 000000000000..7b33893dd44b --- /dev/null +++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2022-04-01-preview/examples/ValidateRoleEligibilityScheduleRequestByName.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "scope": "subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleEligibilityScheduleRequestName": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "parameters": { + "properties": { + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "requestType": "AdminAssign", + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0" + } + }, + "api-version": "2022-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "targetRoleEligibilityScheduleId": "b1477448-2cc6-4ceb-93b4-54a202a89413", + "targetRoleEligibilityScheduleInstanceId": null, + "scope": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "roleDefinitionId": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "principalId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "principalType": "User", + "requestType": "AdminAssign", + "status": "Provisioned", + "approvalId": null, + "scheduleInfo": { + "startDateTime": "2020-09-09T21:31:27.91Z", + "expiration": { + "type": "AfterDuration", + "endDateTime": null, + "duration": "P365D" + } + }, + "ticketInfo": { + "ticketNumber": null, + "ticketSystem": null + }, + "justification": null, + "requestorId": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "createdOn": "2020-09-09T21:32:27.91Z", + "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'", + "conditionVersion": "1.0", + "expandedProperties": { + "scope": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f", + "displayName": "Pay-As-You-Go", + "type": "subscription" + }, + "roleDefinition": { + "id": "/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/roleDefinitions/c8d4ff99-41c3-41a8-9f60-21dfdad59608", + "displayName": "Contributor", + "type": "BuiltInRole" + }, + "principal": { + "id": "a3bb8764-cb92-4276-9d2a-ca1e895e55ea", + "displayName": "User Account", + "email": "user@my-tenant.com", + "type": "User" + } + } + }, + "name": "64caffb6-55c0-4deb-a585-68e948ea1ad6", + "id": "/providers/Microsoft.Subscription/subscriptions/dfa2a084-766f-4003-8ae1-c4aeb893a99f/providers/Microsoft.Authorization/RoleEligibilityScheduleRequests/64caffb6-55c0-4deb-a585-68e948ea1ad6", + "type": "Microsoft.Authorization/RoleEligibilityScheduleRequests" + } + } + } +} diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json index a5d77c4d5ed3..43f2700bb63b 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json @@ -143,6 +143,7 @@ "items": { "$ref": "#/definitions/ProviderOperation" }, + "x-ms-identifiers": [], "description": "The resource type operations." } }, @@ -197,6 +198,9 @@ "items": { "$ref": "#/definitions/ResourceType" }, + "x-ms-identifiers": [ + "name" + ], "description": "The provider resource types" }, "operations": { @@ -204,6 +208,7 @@ "items": { "$ref": "#/definitions/ProviderOperation" }, + "x-ms-identifiers": [], "description": "The provider operations." } }, diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json index 2feeeef12b0f..e2399df1f98d 100644 --- a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json +++ b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json @@ -424,6 +424,7 @@ "items": { "$ref": "#/definitions/Permission" }, + "x-ms-identifiers": [], "description": "Role definition permissions." }, "assignableScopes": { @@ -484,6 +485,7 @@ "items": { "$ref": "#/definitions/Permission" }, + "x-ms-identifiers": [], "description": "An array of permissions." }, "nextLink": { diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md index bb116fdb1658..6b8cdfd52385 100644 --- a/specification/authorization/resource-manager/readme.md +++ b/specification/authorization/resource-manager/readme.md @@ -82,6 +82,15 @@ directive: reason: common-types doesn't need to reference api version. ``` +### Tag: package-2022-04-01-preview-only + +These settings apply only when `--tag=package-2022-04-01-preview-only` is specified on the command line. + +```yaml $(tag) == 'package-2022-04-01-preview-only' +input-file: +- Microsoft.Authorization/preview/2022-04-01-preview/RoleAssignmentScheduleRequest.json +- Microsoft.Authorization/preview/2022-04-01-preview/RoleEligibilityScheduleRequest.json +``` ### Tag: package-preview-2021-11 diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md index 9fd11cdf40f4..fbeb54932348 100644 --- a/specification/authorization/resource-manager/readme.python.md +++ b/specification/authorization/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-authorization @@ -33,7 +33,6 @@ batch: ``` ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/ -clear-output-folder: false perform-load: false ``` diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json index fbeea72e8cbb..c805043f63df 100644 --- a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json @@ -257,14 +257,14 @@ } ], "responses": { - "201": { - "description": "Created. The configuration profile was created successfully.", + "200": { + "description": "OK. The configuration profile was updated successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfile" } }, - "200": { - "description": "OK. The configuration profile was updated successfully.", + "201": { + "description": "Created. The configuration profile was created successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfile" } @@ -586,14 +586,14 @@ } ], "responses": { - "201": { - "description": "Created. The configuration profile was created successfully.", + "200": { + "description": "OK. The configuration profile was updated successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfile" } }, - "200": { - "description": "OK. The configuration profile was updated successfully.", + "201": { + "description": "Created. The configuration profile was created successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfile" } @@ -894,14 +894,14 @@ } ], "responses": { - "201": { - "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.", + "200": { + "description": "OK. The configuration profile assignment for the VM was updated successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfileAssignment" } }, - "200": { - "description": "OK. The configuration profile assignment for the VM was updated successfully.", + "201": { + "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.", "schema": { "$ref": "#/definitions/ConfigurationProfileAssignment" } @@ -1283,6 +1283,93 @@ "application/json" ] } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/servicePrincipals": { + "get": { + "tags": [ + "servicePrincipals" + ], + "operationId": "ServicePrincipals_ListBySubscription", + "description": "Get the Automanage AAD first party Application Service Principal details for the subscription id.", + "x-ms-examples": { + "List service principal by subscription": { + "$ref": "./examples/listServicePrincipalBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Automanage ADD first party Application Service Principal details for the subscription.", + "schema": { + "$ref": "#/definitions/ServicePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/servicePrincipals/default": { + "get": { + "tags": [ + "servicePrincipals" + ], + "operationId": "ServicePrincipals_Get", + "description": "Get the Automanage AAD first party Application Service Principal details for the subscription id.", + "x-ms-examples": { + "Get service principal": { + "$ref": "./examples/getServicePrincipal.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Automanage ADD first party Application Service Principal details for the subscription.", + "schema": { + "$ref": "#/definitions/ServicePrincipal" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } } }, "definitions": { @@ -1394,7 +1481,8 @@ "type": "array", "items": { "type": "object" - } + }, + "x-ms-identifiers": [] }, "ConfigurationProfileUpdate": { "description": "Definition of the configuration profile.", @@ -1611,6 +1699,57 @@ "description": "Error message, if any, returned when deploying the resource." } } + }, + "ServicePrincipalListResult": { + "description": "The list of ServicePrincipals.", + "type": "object", + "properties": { + "value": { + "description": "The list of servicePrincipals.", + "type": "array", + "items": { + "$ref": "#/definitions/ServicePrincipal" + } + } + } + }, + "ServicePrincipal": { + "description": "The Service Principal Id for the subscription.", + "type": "object", + "properties": { + "properties": { + "title": "Properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServicePrincipalProperties", + "description": "The Service Principal properties for the subscription" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ServicePrincipalProperties": { + "description": "The Service Principal properties for the subscription.", + "type": "object", + "properties": { + "servicePrincipalId": { + "type": "string", + "readOnly": true, + "description": "The Service Principal Id for the subscription." + }, + "authorizationSet": { + "type": "boolean", + "readOnly": true, + "description": "Returns the contributor RBAC Role exist or not for the Service Principal Id." + } + } } }, "parameters": { diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getServicePrincipal.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getServicePrincipal.json new file mode 100644 index 000000000000..1e9b65eb112c --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getServicePrincipal.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subscriptionId/providers/Microsoft.Automanage/servicePrincipals/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "servicePrincipalId": "", + "authorizationSet": true + }, + "systemData": { + "createdBy": "SYSTEM", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00.00Z", + "lastModifiedBy": "SYSTEM", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00.00Z" + } + } + } + } +} diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json index 8926f7e7eb16..45d165404456 100644 --- a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json @@ -123,6 +123,15 @@ "operation": "Microsoft.Automanage/configurationProfileAssignments/reports/read", "description": "Get report for configuration profile assignment." } + }, + { + "name": "Microsoft.Automanage/servicePrincipals/read", + "display": { + "provider": "Microsoft Automanage", + "resource": "Microsoft.Automanage/servicePrincipals", + "operation": "Microsoft.Automanage/servicePrincipals/read", + "description": "Read the Automanage AAD first party service principal id and authorizationSet for the subscription. This service principal id is used to grant the Contributor RBAC permission to Automanage AAD first party Application." + } } ] } diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listServicePrincipalBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listServicePrincipalBySubscription.json new file mode 100644 index 000000000000..e40bb7a23223 --- /dev/null +++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listServicePrincipalBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "api-version": "2021-04-30-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/providers/Microsoft.Automanage/servicePrincipals/default", + "name": "default", + "type": "Microsoft.Automanage/ConfigurationProfileAssignments", + "properties": { + "servicePrincipalId": "", + "authorizationSet": true + }, + "systemData": { + "createdBy": "SYSTEM", + "createdByType": "User", + "createdAt": "0001-01-01T00:00:00.00Z", + "lastModifiedBy": "SYSTEM", + "lastModifiedByType": "User", + "lastModifiedAt": "0001-01-01T00:00:00.00Z" + } + } + ] + } + } + } +} diff --git a/specification/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md index 7fce10ca7053..604b27b9d046 100644 --- a/specification/automanage/resource-manager/readme.python.md +++ b/specification/automanage/resource-manager/readme.python.md @@ -3,21 +3,17 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-automanage -no-namespace-folders: true +namespace: azure.mgmt.automanage package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage -``` diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNode.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNode.json index 633ca5efd3c7..cd8d1b6e0905 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNode.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNode.json @@ -695,6 +695,10 @@ "items": { "$ref": "#/definitions/DscReportError" }, + "x-ms-identifiers": [ + "errorMessage", + "resourceId" + ], "description": "Gets or sets the errors for the node report." }, "resources": { @@ -702,6 +706,9 @@ "items": { "$ref": "#/definitions/DscReportResource" }, + "x-ms-identifiers": [ + "resourceId" + ], "description": "Gets or sets the resource for the node report." }, "metaConfiguration": { @@ -753,6 +760,9 @@ "items": { "$ref": "#/definitions/DscReportResourceNavigation" }, + "x-ms-identifiers": [ + "resourceId" + ], "description": "Gets or sets the Resource Navigation values for resources the resource depends on." }, "moduleName": { @@ -917,7 +927,10 @@ "description": "Gets or sets the list of extensionHandler properties for a Node.", "items": { "$ref": "#/definitions/DscNodeExtensionHandlerAssociationProperty" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNodeCounts.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNodeCounts.json index 49015d524fcc..a3ccb64d762c 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNodeCounts.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/dscNodeCounts.json @@ -96,6 +96,9 @@ "items": { "$ref": "#/definitions/NodeCount" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets an array of counts" }, "totalCount": { diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/module.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/module.json index ac5e33b46b28..1108344c5683 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/module.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/module.json @@ -293,14 +293,14 @@ } ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "schema": { "$ref": "#/definitions/Module" } }, - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/Module" } @@ -646,6 +646,7 @@ "items": { "$ref": "#/definitions/ActivityParameterValidationSet" }, + "x-ms-identifiers": [], "description": "Gets or sets the validation set of activity parameter." } }, @@ -662,6 +663,7 @@ "items": { "$ref": "#/definitions/ActivityParameter" }, + "x-ms-identifiers": [], "description": "Gets or sets the parameters of the activity parameter set." } }, @@ -700,6 +702,9 @@ "items": { "$ref": "#/definitions/ActivityParameterSet" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets the parameter sets of the activity." }, "outputTypes": { @@ -707,6 +712,9 @@ "items": { "$ref": "#/definitions/ActivityOutputType" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets the output types of the activity." }, "creationTime": { @@ -1016,6 +1024,9 @@ "items": { "$ref": "#/definitions/TypeField" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets a list of fields." } }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/python2package.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/python2package.json index 1d2648cb0d52..b8709c3422ce 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/python2package.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/python2package.json @@ -179,14 +179,14 @@ } ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "schema": { "$ref": "#/definitions/Module" } }, - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/Module" } @@ -353,6 +353,7 @@ "items": { "$ref": "#/definitions/ActivityParameterValidationSet" }, + "x-ms-identifiers": [], "description": "Gets or sets the validation set of activity parameter." } }, @@ -369,6 +370,7 @@ "items": { "$ref": "#/definitions/ActivityParameter" }, + "x-ms-identifiers": [], "description": "Gets or sets the parameters of the activity parameter set." } }, @@ -407,6 +409,9 @@ "items": { "$ref": "#/definitions/ActivityParameterSet" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets the parameter sets of the activity." }, "outputTypes": { @@ -414,6 +419,9 @@ "items": { "$ref": "#/definitions/ActivityOutputType" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets the output types of the activity." }, "creationTime": { @@ -693,6 +701,9 @@ "items": { "$ref": "#/definitions/TypeField" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets a list of fields." } }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/schedule.json b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/schedule.json index 580f29fddefc..954acfed640a 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/schedule.json +++ b/specification/automation/resource-manager/Microsoft.Automation/preview/2020-01-13-preview/schedule.json @@ -82,14 +82,14 @@ } ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "schema": { "$ref": "#/definitions/Schedule" } }, - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/Schedule" } @@ -338,6 +338,7 @@ "items": { "$ref": "#/definitions/AdvancedScheduleMonthlyOccurrence" }, + "x-ms-identifiers": [], "description": "Occurrences of days within a month." } }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json index 9800e7ff6dd2..c37b0845c4aa 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json +++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2019-06-01/softwareUpdateConfiguration.json @@ -635,6 +635,7 @@ "items": { "$ref": "#/definitions/AdvancedScheduleMonthlyOccurrence" }, + "x-ms-identifiers": [], "description": "Occurrences of days within a month." } }, @@ -762,7 +763,8 @@ "items": { "type": "object", "$ref": "#/definitions/AzureQueryProperties" - } + }, + "x-ms-identifiers": [] }, "nonAzureQueries": { "description": "List of non Azure queries in the software update configuration.", @@ -770,7 +772,10 @@ "items": { "type": "object", "$ref": "#/definitions/NonAzureQueryProperties" - } + }, + "x-ms-identifiers": [ + "workspaceId" + ] } } }, diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/account.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/account.json index 89b1edb9ed07..7306c73bd486 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/account.json +++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/account.json @@ -127,14 +127,14 @@ } ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "schema": { "$ref": "#/definitions/AutomationAccount" } }, - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { "$ref": "#/definitions/AutomationAccount" } @@ -802,6 +802,9 @@ "items": { "$ref": "#/definitions/Key" }, + "x-ms-identifiers": [ + "KeyName" + ], "description": "Lists the automation keys." } } diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/hybridRunbookWorkerGroup.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/hybridRunbookWorkerGroup.json index 47a98c4a58be..d5492806cec0 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/hybridRunbookWorkerGroup.json +++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/hybridRunbookWorkerGroup.json @@ -367,6 +367,9 @@ "items": { "$ref": "#/definitions/HybridRunbookWorkerLegacy" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets the list of hybrid runbook workers." }, "credential": { diff --git a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/operations.json b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/operations.json index 1c0c0b142abb..3a716400158d 100644 --- a/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/operations.json +++ b/specification/automation/resource-manager/Microsoft.Automation/stable/2021-06-22/operations.json @@ -130,6 +130,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Automation operations supported by the Automation resource provider." } }, diff --git a/specification/automation/resource-manager/readme.go.md b/specification/automation/resource-manager/readme.go.md index 5cdbc0918df2..836fa2db1e34 100644 --- a/specification/automation/resource-manager/readme.go.md +++ b/specification/automation/resource-manager/readme.go.md @@ -27,6 +27,7 @@ batch: - tag: package-2018-06-preview - tag: package-2019-06 - tag: package-2020-01-13-preview + - tag: package-2021-06-22 ``` ### Tag: package-2015-10 and go @@ -78,4 +79,13 @@ output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-06-01/$(namespac ``` yaml $(tag) == 'package-2020-01-13-preview' && $(go) output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-01-13-preview/$(namespace) +``` + +### Tag: package-2021-06-22 and go + +These settings apply only when `--tag=package-2021-06-22 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06-22' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-22-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/automation/resource-manager/readme.python.md b/specification/automation/resource-manager/readme.python.md index 761572592260..6f9bef242e66 100644 --- a/specification/automation/resource-manager/readme.python.md +++ b/specification/automation/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(python) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.automation @@ -12,18 +12,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation/azure/mgmt/automation ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/automation/azure-mgmt-automation -``` - -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` \ No newline at end of file diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json index 9508e24e10c3..e37c108f0e2a 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/Activation.json @@ -38,7 +38,10 @@ "description": "OK", "schema": { "$ref": "#/definitions/ActivationResourcesPage" - } + }, + "x-ms-identifiers": [ + "id" + ] }, "default": { "description": "Default Response.", @@ -298,6 +301,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json index 905307916692..ab8b595f2dce 100644 --- a/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json +++ b/specification/azsadmin/resource-manager/azurebridge/Microsoft.AzureBridge.Admin/preview/2016-01-01/AzureBridge.json @@ -143,6 +143,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -286,7 +289,10 @@ "type": "array", "items": { "$ref": "#/definitions/ProductLink" - } + }, + "x-ms-identifiers": [ + "uri" + ] }, "Compatibility": { "description": "Product compatibility", @@ -460,6 +466,9 @@ "items": { "$ref": "#/definitions/DataDiskImage" }, + "x-ms-identifiers": [ + "sourceBlobSasUri" + ], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json deleted file mode 100644 index 3717a024a0d1..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json +++ /dev/null @@ -1,539 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-09-01", - "title": "BackupManagementClient", - "description": "The Admin Backup Management Client." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations": { - "get": { - "x-ms-examples": { - "Returns the list of backup locations.": { - "$ref": "./examples/BackupLocations/List.json" - } - }, - "description": "Returns the list of backup locations.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_List", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLocationList" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}": { - "get": { - "x-ms-examples": { - "Returns a specific fileshare backup location based on name.": { - "$ref": "./examples/BackupLocations/GetFileshare.json" - }, - "Returns a specific blob backup location based on name.": { - "$ref": "./examples/BackupLocations/GetBlob.json" - } - }, - "description": "Returns a specific backup location based on name.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_Get", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupLocationParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLocation" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "x-ms-examples": { - "Put update new fileshare backup location.": { - "$ref": "./examples/BackupLocations/PutFileshare.json" - }, - "Put update new blob backup location.": { - "$ref": "./examples/BackupLocations/PutBlob.json" - }, - "Blank put clear backup location.": { - "$ref": "./examples/BackupLocations/BlankPut.json" - } - }, - "description": "Put update a backup location.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_Set", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupLocationParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/BackupLocationObjectParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLocation" - } - }, - "202": { - "description": "ACCEPTED", - "schema": { - "$ref": "#/definitions/BackupLocation" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - }, - "patch": { - "x-ms-examples": { - "Patch update new fileshare backup location.": { - "$ref": "./examples/BackupLocations/PatchFileshare.json" - }, - "Patch update new blob backup location.": { - "$ref": "./examples/BackupLocations/PatchBlob.json" - } - }, - "description": "Patch update a backup location.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_Update", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupLocationParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/BackupLocationObjectParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupLocation" - } - }, - "202": { - "description": "ACCEPTED", - "schema": { - "$ref": "#/definitions/BackupLocation" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup": { - "post": { - "x-ms-examples": { - "Back up a specific location.": { - "$ref": "./examples/BackupLocations/Backup.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "description": "Back up a specific location.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_CreateBackup", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupLocationParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "Backups.json#/definitions/Backup" - } - }, - "202": { - "description": "ACCEPTED", - "schema": { - "$ref": "Backups.json#/definitions/Backup" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/pruneExternalStore": { - "post": { - "x-ms-examples": { - "Prune the external backup store": { - "$ref": "./examples/BackupLocations/Prune.json" - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - }, - "description": "Prune the external backup store.", - "tags": [ - "BackupLocations" - ], - "operationId": "BackupLocations_PruneExternalStore", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupLocationParameter" - }, - { - "$ref": "#/parameters/PruneBackupStoreOptionParameter" - }, - { - "$ref": "Backups.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PruneList" - } - }, - "202": { - "description": "ACCEPTED" - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "BackupLocation": { - "description": "Information about the backup location.", - "type": "object", - "properties": { - "properties": { - "description": "Properties of a backup location.", - "$ref": "#/definitions/BackupLocationModel", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource" - } - ] - }, - "BackupLocationModel": { - "type": "object", - "description": "Properties of a backup location.", - "properties": { - "externalStoreDefault": { - "description": "Information about an external storage location.", - "$ref": "#/definitions/ExternalStore", - "x-ms-client-flatten": true - } - } - }, - "ExternalStore": { - "type": "object", - "description": "Information about an external storage location.", - "properties": { - "path": { - "description": "Path to the update fileshare location", - "type": "string" - }, - "userName": { - "description": "Username to access the fileshare location.", - "type": "string" - }, - "password": { - "description": "Password to access the fileshare location.", - "type": "string" - }, - "blobStorageUrl": { - "description": "Url to the update blob location", - "type": "string" - }, - "blobStorageKey": { - "description": "Key to access the blob location.", - "type": "string" - }, - "encryptionCertBase64": { - "description": "The base64 raw data for the backup encryption certificate.", - "type": "string" - }, - "encryptionCertThumbprint": { - "description": "The thumbprint of the encryption certificate.", - "type": "string", - "readOnly": true - }, - "backupFrequencyInHours": { - "description": "The interval, in hours, for the frequency that the scheduler takes a backup.", - "type": "integer", - "format": "int32" - }, - "availableCapacity": { - "description": "Free space at the backup location.", - "type": "string", - "readOnly": true - }, - "isBackupSchedulerEnabled": { - "description": "True if the backup scheduler is enabled.", - "type": "boolean" - }, - "nextBackupTime": { - "description": "The scheduled time of the next backup.", - "type": "string", - "format": "date-time", - "readOnly": true - }, - "lastBackupTime": { - "description": "Time of backup.", - "type": "string", - "format": "date-time", - "readOnly": true - }, - "backupRetentionPeriodInDays": { - "description": "The retention period, in days, for backs in the storage location.", - "type": "integer", - "format": "int32" - } - } - }, - "BackupLocationList": { - "type": "object", - "description": "List of backup locations.", - "properties": { - "value": { - "description": "List of backup locations.", - "type": "array", - "items": { - "$ref": "#/definitions/BackupLocation" - } - }, - "nextLink": { - "description": "URI to the next page.", - "type": "string" - } - } - }, - "PruneBackupStoreOperationType": { - "description": "Prune backup store operation type.", - "type": "string", - "enum": [ - "Default", - "DryRun" - ], - "x-ms-enum": { - "name": "PruneBackupStoreOperationType", - "modelAsString": false - } - }, - "PruneBackupStoreOperationOptionModel": { - "type": "object", - "description": "Prune backup store operation model.", - "properties": { - "operationType": { - "description": "Operation type.", - "$ref": "#/definitions/PruneBackupStoreOperationType" - } - } - }, - "PruneModel": { - "type": "object", - "description": "Properties for a prune list.", - "properties": { - "pathsToDelete": { - "description": "Garbage file list.", - "type": "array", - "items": { - "type": "string" - }, - "x-ms-client-flatten": true - } - } - }, - "PruneList": { - "type": "object", - "description": "List of files to delete.", - "properties": { - "properties": { - "description": "Holds information for a backup.", - "$ref": "#/definitions/PruneModel", - "x-ms-client-flatten": true - } - } - } - }, - "parameters": { - "BackupLocationParameter": { - "name": "location", - "in": "path", - "description": "Name of the backup location.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "BackupLocationObjectParameter": { - "name": "backup", - "in": "body", - "description": "Backup location object.", - "required": true, - "schema": { - "$ref": "#/definitions/BackupLocation" - }, - "x-ms-parameter-location": "method" - }, - "PruneBackupStoreOptionParameter": { - "name": "option", - "in": "body", - "description": "Prune operation option.", - "required": false, - "schema": { - "$ref": "#/definitions/PruneBackupStoreOperationOptionModel" - }, - "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/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json deleted file mode 100644 index 85bbe37ed873..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json +++ /dev/null @@ -1,377 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "version": "2021-09-01", - "title": "BackupManagementClient", - "description": "The Admin Backup Management Client." - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups": { - "get": { - "x-ms-examples": { - "Returns a list of backups from a location.": { - "$ref": "./examples/Backups/List.json" - } - }, - "description": "Returns a list of backups from a location.", - "tags": [ - "Backups" - ], - "operationId": "Backups_List", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/BackupList" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}": { - "get": { - "x-ms-examples": { - "Returns a backup from a location based on name.": { - "$ref": "./examples/Backups/Get.json" - } - }, - "description": "Returns a backup from a location based on name.", - "tags": [ - "Backups" - ], - "operationId": "Backups_Get", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" - }, - { - "$ref": "#/parameters/BackupParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Backup" - } - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore": { - "post": { - "x-ms-examples": { - "Restore a backup.": { - "$ref": "./examples/Backups/Restore.json" - }, - "Restore a single role from backup.": { - "$ref": "./examples/Backups/SingleRepoRestore.json" - } - }, - "description": "Restore a backup.", - "tags": [ - "Backups" - ], - "operationId": "Backups_Restore", - "parameters": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "BackupLocations.json#/parameters/BackupLocationParameter" - }, - { - "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/BackupParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/RestoreOptionsParameter" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "202": { - "description": "ACCEPTED" - }, - "default": { - "description": "Error response.", - "schema": { - "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } - } - } - }, - "definitions": { - "Backup": { - "description": "Information related to a backup.", - "type": "object", - "properties": { - "properties": { - "description": "Properties for a backup.", - "$ref": "#/definitions/BackupModel", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource" - } - ] - }, - "BackupModel": { - "type": "object", - "description": "Properties for a backup.", - "properties": { - "backupInfo": { - "description": "Holds information for a backup.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/BackupInfo" - } - } - }, - "BackupInfo": { - "type": "object", - "description": "Holds information for a backup.", - "properties": { - "backupDataVersion": { - "description": "Version of the backup data.", - "type": "string", - "readOnly": true - }, - "roleStatus": { - "description": "Backup status for each role.", - "$ref": "#/definitions/RoleOperationStatusList", - "readOnly": true - }, - "status": { - "description": "Current status of the backup.", - "$ref": "#/definitions/OperationStatus", - "readOnly": true - }, - "createdDateTime": { - "description": "Creation time of the backup.", - "type": "string", - "format": "date-time", - "readOnly": true - }, - "timeTakenToCreate": { - "description": "Duration to create the backup.", - "type": "string", - "readOnly": true - }, - "deploymentID": { - "description": "Deployment Id of the stamp.", - "type": "string", - "readOnly": true - }, - "stampVersion": { - "description": "Azure Stack stamp version of the backup.", - "type": "string", - "readOnly": true - }, - "oemVersion": { - "description": "OEM version.", - "type": "string", - "readOnly": true - }, - "isCloudRecoveryReady": { - "description": "True if the backup can be used for cloud recovery scenario.", - "type": "boolean", - "readOnly": true - }, - "encryptionCertThumbprint": { - "description": "The thumbprint of the certificate used to encrypt the backup encryption key.", - "type": "string", - "readOnly": true - } - } - }, - "OperationStatus": { - "description": "Status of an operation.", - "type": "string", - "enum": [ - "Creating", - "Queued", - "Running", - "Deleted", - "Failed", - "Skipped", - "PartialSucceeded", - "Succeeded" - ], - "x-ms-enum": { - "name": "OperationStatus", - "modelAsString": false - } - }, - "RoleOperationStatusList": { - "description": "object", - "type": "array", - "items": { - "$ref": "#/definitions/RoleOperationStatus" - } - }, - "RoleOperationStatus": { - "description": "Backup status for a role.", - "type": "object", - "properties": { - "roleName": { - "description": "Name of the role.", - "type": "string" - }, - "status": { - "description": "Status of the role.", - "$ref": "#/definitions/OperationStatus" - } - } - }, - "BackupList": { - "type": "object", - "description": "List of backups.", - "properties": { - "value": { - "description": "List of backups.", - "type": "array", - "items": { - "$ref": "#/definitions/Backup" - } - }, - "nextLink": { - "description": "URI to the next page.", - "type": "string" - } - } - }, - "RestoreOptions": { - "type": "object", - "description": "Properties for restore options.", - "properties": { - "roleName": { - "description": "The Azure Stack role name for restore, set it to empty for all infrastructure role", - "type": "string" - }, - "decryptionCertBase64": { - "description": "The certificate file raw data in Base64 string. This should be the .pfx file with the private key.", - "type": "string" - }, - "decryptionCertPassword": { - "description": "The password for the decryption certificate.", - "type": "string" - } - } - } - }, - "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "Client API version.", - "required": true, - "type": "string", - "default": "2021-09-01" - }, - "BackupParameter": { - "name": "backup", - "in": "path", - "description": "Name of the backup.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "RestoreOptionsParameter": { - "name": "restoreOptions", - "in": "body", - "description": "Restore options.", - "required": true, - "schema": { - "$ref": "#/definitions/RestoreOptions" - }, - "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/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json deleted file mode 100644 index de639ebe4949..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", - "name": "local/64e8625a-8dc0-49df-a195-932901b4be81", - "type": "Microsoft.Backup.Admin/backupLocations/backups", - "location": "local", - "tags": {}, - "properties": { - "backupInfo": { - "backupDataVersion": "1.0.1", - "roleStatus": [ - { - "roleName": "NRP", - "status": "Succeeded" - }, - { - "roleName": "SRP", - "status": "Succeeded" - }, - { - "roleName": "CRP", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultNamingService", - "status": "Succeeded" - }, - { - "roleName": "WAS", - "status": "Succeeded" - }, - { - "roleName": "ECE", - "status": "Succeeded" - }, - { - "roleName": "Domain", - "status": "Succeeded" - }, - { - "roleName": "CA", - "status": "Succeeded" - }, - { - "roleName": "ACS", - "status": "Succeeded" - } - ], - "status": "Succeeded", - "createdDateTime": "2018-08-28T07:47:11.3081476Z", - "timeTakenToCreate": "PT20M48.5970829S", - "stampVersion": "1.1809.0.25", - "oemVersion": null, - "isCloudRecoveryReady": true, - "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", - "name": "local/64e8625a-8dc0-49df-a195-932901b4be81", - "type": "Microsoft.Backup.Admin/backupLocations/backups", - "location": "local", - "tags": {}, - "properties": { - "backupInfo": { - "backupDataVersion": "1.0.1", - "roleStatus": [ - { - "roleName": "NRP", - "status": "Succeeded" - }, - { - "roleName": "SRP", - "status": "Succeeded" - }, - { - "roleName": "CRP", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultNamingService", - "status": "Succeeded" - }, - { - "roleName": "WAS", - "status": "Succeeded" - }, - { - "roleName": "ECE", - "status": "Succeeded" - }, - { - "roleName": "Domain", - "status": "Succeeded" - }, - { - "roleName": "CA", - "status": "Succeeded" - }, - { - "roleName": "ACS", - "status": "Succeeded" - } - ], - "status": "Succeeded", - "createdDateTime": "2018-08-28T07:47:11.3081476Z", - "timeTakenToCreate": "PT20M48.5970829S", - "stampVersion": "1.1809.0.25", - "oemVersion": null, - "isCloudRecoveryReady": true, - "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json deleted file mode 100644 index f49cf273c018..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": { - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": "", - "blobStorageUrl": "", - "blobStorageKey": "", - "encryptionCertBase64": "", - "backupFrequencyInHours": null, - "isBackupSchedulerEnabled": null, - "backupRetentionPeriodInDays": null - } - }, - "location": "local", - "tags": {} - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": null, - "backupFrequencyInHours": 12, - "availableCapacity": null, - "isBackupSchedulerEnabled": null, - "nextBackupTime": null, - "lastBackupTime": null, - "backupRetentionPeriodInDays": 7 - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": null, - "backupFrequencyInHours": 12, - "availableCapacity": null, - "isBackupSchedulerEnabled": null, - "nextBackupTime": null, - "lastBackupTime": null, - "backupRetentionPeriodInDays": 7 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json deleted file mode 100644 index 1c3abb766454..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json deleted file mode 100644 index a38aa3cc432e..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json deleted file mode 100644 index 36c3c43d2f36..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/fileshare", - "name": "fileshare", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - }, - { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/blob", - "name": "blob", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 12, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 8 - } - } - } - ] - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json deleted file mode 100644 index ca77f8c002f0..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": { - "properties": { - "externalStoreDefault": { - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": "blobStorageKey", - "encryptionCertBase64": "encryptioncert", - "backupFrequencyInHours": 10, - "isBackupSchedulerEnabled": false, - "backupRetentionPeriodInDays": 6 - } - }, - "location": "local", - "tags": {} - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json deleted file mode 100644 index c7ef2d8dcda9..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": { - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": "password", - "encryptionCertBase64": "encryptioncert", - "backupFrequencyInHours": 12 - } - }, - "location": "local", - "tags": {} - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 12, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 12, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json deleted file mode 100644 index f0daaf1b3f37..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "parameters": { - "subscriptionId": "8742f75d-84ae-4f1b-b22e-0e63dde0d6f4", - "resourceGroupName": "System.redmond", - "location": "redmond", - "api-version": "2021-09-01", - "OperationType": "DryRun" - }, - "responses": { - "200": { - "body": { - "properties": { - "pathsToDelete": [ - "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.cer", - "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.pfx" - ] - } - } - }, - "202": {} - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json deleted file mode 100644 index ca77f8c002f0..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": { - "properties": { - "externalStoreDefault": { - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": "blobStorageKey", - "encryptionCertBase64": "encryptioncert", - "backupFrequencyInHours": 10, - "isBackupSchedulerEnabled": false, - "backupRetentionPeriodInDays": 6 - } - }, - "location": "local", - "tags": {} - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "", - "userName": "", - "password": null, - "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5", - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json deleted file mode 100644 index 6779062b5d0b..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": { - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": "password", - "encryptionCertBase64": "encryptioncert", - "backupFrequencyInHours": 10, - "isBackupSchedulerEnabled": false, - "backupRetentionPeriodInDays": 6 - } - }, - "location": "local", - "tags": {} - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - }, - "202": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local", - "name": "local", - "type": "Microsoft.Backup.Admin/backupLocations", - "location": "local", - "tags": {}, - "properties": { - "externalStoreDefault": { - "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore", - "userName": "azurestack\\azurestackadmin", - "password": null, - "blobStorageUrl": null, - "blobStorageKey": null, - "encryptionCertBase64": null, - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8", - "backupFrequencyInHours": 10, - "availableCapacity": "29.6 TB", - "isBackupSchedulerEnabled": false, - "nextBackupTime": "2018-08-28T17:26:00.9454387Z", - "lastBackupTime": "2018-08-28T07:47:11.3081476Z", - "backupRetentionPeriodInDays": 6 - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json deleted file mode 100644 index 2a0a160968ad..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": "64e8625a-8dc0-49df-a195-932901b4be81", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", - "name": "64e8625a-8dc0-49df-a195-932901b4be81", - "type": "Microsoft.Backup.Admin/backupLocations/backups", - "location": "local", - "tags": {}, - "properties": { - "backupInfo": { - "backupDataVersion": "1.0.1", - "roleStatus": [ - { - "roleName": "NRP", - "status": "Succeeded" - }, - { - "roleName": "SRP", - "status": "Succeeded" - }, - { - "roleName": "CRP", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultNamingService", - "status": "Succeeded" - }, - { - "roleName": "WAS", - "status": "Succeeded" - }, - { - "roleName": "ECE", - "status": "Succeeded" - }, - { - "roleName": "Domain", - "status": "Succeeded" - }, - { - "roleName": "CA", - "status": "Succeeded" - }, - { - "roleName": "ACS", - "status": "Succeeded" - } - ], - "status": "Succeeded", - "createdDateTime": "2018-08-28T07:47:11.3081476Z", - "timeTakenToCreate": "PT20M48.5970829S", - "stampVersion": "1.1809.0.25", - "oemVersion": null, - "isCloudRecoveryReady": true, - "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" - } - } - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json deleted file mode 100644 index cad2f78a0c13..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "api-version": "2021-09-01" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81", - "name": "64e8625a-8dc0-49df-a195-932901b4be81", - "type": "Microsoft.Backup.Admin/backupLocations/backups", - "location": "local", - "tags": {}, - "properties": { - "backupInfo": { - "backupDataVersion": "1.0.1", - "roleStatus": [ - { - "roleName": "NRP", - "status": "Succeeded" - }, - { - "roleName": "SRP", - "status": "Succeeded" - }, - { - "roleName": "CRP", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultInternalDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultControlPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultDataPlane", - "status": "Succeeded" - }, - { - "roleName": "KeyVaultNamingService", - "status": "Succeeded" - }, - { - "roleName": "WAS", - "status": "Succeeded" - }, - { - "roleName": "ECE", - "status": "Succeeded" - }, - { - "roleName": "Domain", - "status": "Succeeded" - }, - { - "roleName": "CA", - "status": "Succeeded" - }, - { - "roleName": "ACS", - "status": "Succeeded" - } - ], - "status": "Succeeded", - "createdDateTime": "2018-08-28T07:47:11.3081476Z", - "timeTakenToCreate": "PT20M48.5970829S", - "stampVersion": "1.1809.0.25", - "oemVersion": null, - "isCloudRecoveryReady": true, - "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df", - "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8" - } - } - } - ], - "nextLink": null - } - } - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json deleted file mode 100644 index 609d8eec9385..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": "64e8625a-8dc0-49df-a195-932901b4be81", - "restoreOptions": { - "decryptionCertBase64": "decryptionCert", - "decryptionCertPassword": "decryptionCertPassword" - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": {}, - "202": {} - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json deleted file mode 100644 index 05f9d5cbf568..000000000000 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parameters": { - "subscriptionId": "11111111-2222-3333-4444-555555555555", - "resourceGroupName": "System.local", - "location": "local", - "backup": "64e8625a-8dc0-49df-a195-932901b4be81", - "restoreOptions": { - "roleName": "fakerp", - "decryptionCertBase64": "decryptionCert", - "decryptionCertPassword": "decryptionCertPassword" - }, - "api-version": "2021-09-01" - }, - "responses": { - "200": {}, - "202": {} - } -} diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json index 65c6538d3f6e..e69df3313dae 100644 --- a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json +++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json @@ -135,6 +135,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { diff --git a/specification/azsadmin/resource-manager/backup/readme.md b/specification/azsadmin/resource-manager/backup/readme.md index b72507639724..233c0fda1483 100644 --- a/specification/azsadmin/resource-manager/backup/readme.md +++ b/specification/azsadmin/resource-manager/backup/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Backup Admin API. title: BackupAdminClient description: Backup Admin Client openapi-type: arm -tag: package-2021-09-01 +tag: package-2018-09-01 ``` ### Tag: package-2018-09-01 @@ -38,17 +38,6 @@ input-file: - Microsoft.Backup.Admin/stable/2018-09-01/Backups.json ``` -### Tag: package-2021-09-01 - -These settings apply only when `--tag=package-2021-09-01` is specified on the command line. - -``` yaml $(tag) == 'package-2021-09-01' -input-file: - - Microsoft.Backup.Admin/stable/2018-09-01/Backup.json - - Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json - - Microsoft.Backup.Admin/preview/2021-09-01/Backups.json -``` - --- # Code Generation @@ -78,8 +67,6 @@ input-file: - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json - - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json - - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json index 1cad4428fcff..a5ce0d041103 100644 --- a/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json +++ b/specification/azsadmin/resource-manager/commerce/Microsoft.Commerce.Admin/preview/2015-06-01-preview/Commerce.json @@ -88,17 +88,17 @@ } ], "responses": { - "default": { - "description": "Default Response.", - "schema": { - "$ref": "#/definitions/ExtendedErrorInfo" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/UsageAggregatePage" } + }, + "default": { + "description": "Default Response.", + "schema": { + "$ref": "#/definitions/ExtendedErrorInfo" + } } }, "x-ms-pageable": { @@ -127,14 +127,14 @@ } ], "responses": { + "200": { + "description": "OK" + }, "default": { "description": "Default Response.", "schema": { "$ref": "#/definitions/ExtendedErrorInfo" } - }, - "200": { - "description": "OK" } } } @@ -300,7 +300,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", @@ -338,6 +341,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json index c1427ac94da9..57a9a59dfc01 100644 --- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json @@ -168,7 +168,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json index 0ea7cf5e15ae..bd424a79fed4 100644 --- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json @@ -208,14 +208,14 @@ } ], "responses": { + "200": { + "description": "OK" + }, "default": { "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", "schema": { "$ref": "Compute.json#/definitions/CrpErrorResponse" } - }, - "200": { - "description": "OK" } } } @@ -251,7 +251,10 @@ "type": "array", "items": { "$ref": "#/definitions/DataDisk" - } + }, + "x-ms-identifiers": [ + "lun" + ] }, "details": { "description": "Information about the image.", diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json index 5fae6684baaf..2f7abf782010 100644 --- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json @@ -93,7 +93,10 @@ "type": "array", "items": { "$ref": "#/definitions/NodeView" - } + }, + "x-ms-identifiers": [ + "nodeName" + ] } } }, @@ -127,7 +130,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualMachineView" - } + }, + "x-ms-identifiers": [ + "vmId" + ] } } }, diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json index acceaaf3eb04..62311940ea2d 100644 --- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json +++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json @@ -43,17 +43,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "OK -- The list of disk migration jobs has been returned.", "schema": { "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJobList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -88,17 +88,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "OK -- The disk migration job has been returned.", "schema": { "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -140,17 +140,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "OK -- Disk migration job is created successfully.", "schema": { "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -182,17 +182,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, "200": { "description": "OK -- Disk migration job cancellation is called.", "schema": { "$ref": "DiskMigrationJobs.json#/definitions/DiskMigrationJob" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -319,7 +319,10 @@ "type": "array", "items": { "$ref": "DiskMigrationJobs.json#/definitions/MigrationSubTask" - } + }, + "x-ms-identifiers": [ + "migrationSubTaskId" + ] }, "MigrationSubTask": { "description": "Disk migration child task.", diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json index ab1608cc86c7..37ed88473d13 100644 --- a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json +++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/operations.json @@ -106,7 +106,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } diff --git a/specification/azsadmin/resource-manager/containerregistry/readme.md b/specification/azsadmin/resource-manager/containerregistry/readme.md index 8b50a3246886..437c52cc2a19 100644 --- a/specification/azsadmin/resource-manager/containerregistry/readme.md +++ b/specification/azsadmin/resource-manager/containerregistry/readme.md @@ -24,12 +24,12 @@ These are the global settings for the ContainerRegistry API. title: ContainerRegistryAdminClient description: ContainerRegistry Admin Client openapi-type: arm -tag: package-2019-11-01 +tag: package-2019-11-01-preview ``` -### Tag: package-2019-11-01 +### Tag: package-2019-11-01-preview -These settings apply only when `--tag=package-2019-11-01` is specified on the command line. +These settings apply only when `--tag=package-2019-11-01-preview` is specified on the command line. ``` yaml $(tag) == 'package-2019-11-01-preview' input-file: @@ -86,4 +86,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/azsadmin/resource-manager/containerservice/Microsoft.ContainerService.Admin/stable/2019-11-01/operations.json b/specification/azsadmin/resource-manager/containerservice/Microsoft.ContainerService.Admin/stable/2019-11-01/operations.json index 12a855ff85c8..815ab00222a0 100644 --- a/specification/azsadmin/resource-manager/containerservice/Microsoft.ContainerService.Admin/stable/2019-11-01/operations.json +++ b/specification/azsadmin/resource-manager/containerservice/Microsoft.ContainerService.Admin/stable/2019-11-01/operations.json @@ -109,7 +109,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page.", 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 index 3f662c28d526..2023685d6c91 100644 --- 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 @@ -104,6 +104,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } @@ -164,7 +165,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", 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 index 5b823a4c7110..f19edd60c4bf 100644 --- 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 @@ -251,7 +251,8 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorInfo" - } + }, + "x-ms-identifiers": [] } } }, 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 index 56f7a259a89d..ada43f3d888e 100644 --- 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 @@ -269,7 +269,10 @@ "type": "array", "items": { "$ref": "#/definitions/ProductLink" - } + }, + "x-ms-identifiers": [ + "uri" + ] }, "ProductPackageParameters": { "description": "Parameters for creating a new product package.", diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json index c5f330cd75d5..9676e9492eb8 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json @@ -123,7 +123,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to next page.", diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ComputeOperationResults.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ComputeOperationResults.json index dae0dcd3ece8..f8f0892f56e7 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ComputeOperationResults.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ComputeOperationResults.json @@ -192,6 +192,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json index b0cd34d29890..01270cdbcec0 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnit.json @@ -407,7 +407,8 @@ "type": "array", "items": { "$ref": "#/definitions/ScaleOutScaleUnitParameters" - } + }, + "x-ms-identifiers": [] }, "awaitStorageConvergence": { "description": "Flag indicates if the operation should wait for storage to converge before returning.", @@ -463,7 +464,10 @@ "type": "array", "items": { "$ref": "#/definitions/DeploymentJsonPhysicalNodeParameters" - } + }, + "x-ms-identifiers": [ + "bmcIpAddress" + ] }, "torSwitchBgpAsn": { "description": "The ASN for the cluster's rack TOR.", @@ -525,6 +529,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json index 3c8918b40b98..0c03b2ad1c07 100644 --- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json +++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2020-10-01/ScaleUnitNode.json @@ -477,7 +477,11 @@ "items": { "type": "object", "$ref": "#/definitions/GpuModel" - } + }, + "x-ms-identifiers": [ + "name", + "type" + ] } } }, diff --git a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json index 4d73bc999c64..44c82b7a6851 100644 --- a/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json +++ b/specification/azsadmin/resource-manager/gallery/Microsoft.Gallery.Admin/preview/2015-04-01/Gallery.json @@ -132,7 +132,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } 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 7c4c055353b9..f67b43528ebd 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 @@ -162,11 +162,11 @@ } ], "responses": { - "204": { - "description": "NO CONTENT." - }, "200": { "description": "OK" + }, + "204": { + "description": "NO CONTENT." } } } @@ -307,6 +307,7 @@ "items": { "$ref": "#/definitions/Filter" }, + "x-ms-identifiers": [], "readOnly": true }, "iconFileUris": { @@ -342,6 +343,10 @@ "items": { "$ref": "#/definitions/Artifact" }, + "x-ms-identifiers": [ + "name", + "type" + ], "readOnly": true }, "metadata": { @@ -363,6 +368,7 @@ "items": { "$ref": "#/definitions/ImageGroup" }, + "x-ms-identifiers": [], "readOnly": true }, "products": { @@ -371,6 +377,9 @@ "items": { "$ref": "#/definitions/Product" }, + "x-ms-identifiers": [ + "displayName" + ], "readOnly": true }, "resourceGroupName": { @@ -628,6 +637,9 @@ "items": { "$ref": "#/definitions/Plan" }, + "x-ms-identifiers": [ + "planId" + ], "readOnly": true } } diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json index 6bfd9fb785ce..765b8cc7a1e0 100644 --- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json +++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/Alert.json @@ -215,7 +215,8 @@ "type": "array", "items": { "$ref": "InfrastructureInsights.json#/definitions/Dictionary" - } + }, + "x-ms-identifiers": [] }, "faultId": { "description": "Gets or sets the fault ID of the alert.", @@ -245,7 +246,8 @@ "type": "array", "items": { "$ref": "InfrastructureInsights.json#/definitions/Dictionary" - } + }, + "x-ms-identifiers": [] }, "resourceRegistrationId": { "description": "Gets or sets the registration ID of the resource associated with the alert. If the alert is not associated with a resource, the resource registration ID is null.", diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json index da54c9b89749..c6b5cfd53b39 100644 --- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json +++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/InfrastructureInsights.json @@ -221,7 +221,10 @@ "type": "array", "items": { "$ref": "#/definitions/Metrics" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -267,7 +270,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json index 2bf426bd5de2..5cf8458e24a5 100644 --- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json +++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/RegionHealth.json @@ -127,7 +127,10 @@ "type": "array", "items": { "$ref": "InfrastructureInsights.json#/definitions/UsageMetrics" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json index 8c9855cb68be..c09193ef2f47 100644 --- a/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json +++ b/specification/azsadmin/resource-manager/infrastructureinsights/Microsoft.InfrastructureInsights.Admin/preview/2016-05-01/ResourceHealth.json @@ -162,7 +162,10 @@ "type": "array", "items": { "$ref": "InfrastructureInsights.json#/definitions/UsageMetrics" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "allOf": [ diff --git a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json index b6df4f04c822..d6d0d03548cb 100644 --- a/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json +++ b/specification/azsadmin/resource-manager/keyvault/Microsoft.KeyVault.Admin/preview/2017-02-01-preview/KeyVault.json @@ -90,7 +90,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json index 39d33b1b0bb2..e0b8d0dbb1e5 100644 --- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json +++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/Network.json @@ -277,6 +277,9 @@ "items": { "$ref": "#/definitions/Location" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -295,6 +298,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -313,6 +319,9 @@ "items": { "$ref": "#/definitions/OperationResult" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json index 1a3b6d5806cd..ca2884b25779 100644 --- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json +++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json @@ -133,14 +133,16 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualNetworkConfigurationStatus" - } + }, + "x-ms-identifiers": [] }, "hostErrors": { "description": "List of NIC errors associated with the resource.", "type": "array", "items": { "$ref": "#/definitions/VirtualNetworkConfigurationStatus" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json index 020e8dccf374..ce6d6494de2b 100644 --- a/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json +++ b/specification/azsadmin/resource-manager/network/Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json @@ -31,6 +31,18 @@ "parameters": [ { "$ref": "../../preview/2015-06-15/Network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../preview/2015-06-15/Network.json#/parameters/FilterParameter" + }, + { + "$ref": "../../preview/2015-06-15/Network.json#/parameters/OrderByParameter" + }, + { + "$ref": "../../preview/2015-06-15/Network.json#/parameters/TopParameter" } ], "responses": { diff --git a/specification/azsadmin/resource-manager/network/readme.md b/specification/azsadmin/resource-manager/network/readme.md index 7555a8d73d3b..2b4a014121e8 100644 --- a/specification/azsadmin/resource-manager/network/readme.md +++ b/specification/azsadmin/resource-manager/network/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Network API. title: NetworkAdminClient description: Network Admin Client openapi-type: arm -tag: package-2015-06-15 +tag: package-2022-02-01 ``` ``` yaml @@ -34,6 +34,7 @@ input-file: - Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json - Microsoft.Network.Admin/preview/2015-06-15/Quotas.json - Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json + - Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json ``` ### Tag: package-2022-02-01 @@ -84,7 +85,7 @@ input-file: - $(this-folder)/Microsoft.Network.Admin/preview/2015-06-15/PublicIpAddresses.json - $(this-folder)/Microsoft.Network.Admin/preview/2015-06-15/Quotas.json - $(this-folder)/Microsoft.Network.Admin/preview/2015-06-15/VirtualNetworks.json - + - $(this-folder)/Microsoft.Network.Admin/stable/2022-02-01/VirtualNetworkGatewayConnections.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json index 8d7705b67751..dd7c0825d8d7 100644 --- a/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json +++ b/specification/azsadmin/resource-manager/storage/Microsoft.Storage.Admin/preview/2019-08-08/acquisitions.json @@ -135,6 +135,9 @@ "items": { "$ref": "#/definitions/Acquisition" }, + "x-ms-identifiers": [ + "acquisitionid" + ], "readOnly": true } } 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 c425c475d386..74c24aa02c6c 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 @@ -298,7 +298,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json index f562fca58111..346bee9a559f 100644 --- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json +++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Location.json @@ -320,7 +320,8 @@ "type": "array", "items": { "$ref": "#/definitions/ExtendedErrorInfo" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to next page.", 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 0686534cfe04..a197196fb5c3 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 @@ -37,17 +37,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/ManifestList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -79,17 +79,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/Manifest" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -186,7 +186,10 @@ "type": "array", "items": { "$ref": "#/definitions/Manifest" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to next page.", @@ -264,7 +267,10 @@ "type": "array", "items": { "$ref": "#/definitions/ExtensionDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to next page.", @@ -321,7 +327,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceAccess" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to next page.", @@ -351,7 +360,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceType" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to next page.", @@ -509,7 +521,8 @@ "type": "array", "items": { "$ref": "#/definitions/AuthorizationActionMapping" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to next page.", @@ -538,7 +551,11 @@ "type": "array", "items": { "$ref": "#/definitions/LinkedAccessCheck" - } + }, + "x-ms-identifiers": [ + "actionName", + "linkedType" + ] }, "nextLink": { "description": "URI to next page.", @@ -579,7 +596,8 @@ "type": "array", "items": { "$ref": "#/definitions/LinkedNotificationRule" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to next page.", @@ -607,7 +625,8 @@ "type": "array", "items": { "$ref": "#/definitions/LinkedOperationRule" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to next page.", @@ -709,7 +728,11 @@ "type": "array", "items": { "$ref": "#/definitions/ApiProfile" - } + }, + "x-ms-identifiers": [ + "apiVersion", + "profileVersion" + ] }, "nextLink": { "description": "URI to next page.", @@ -738,7 +761,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceProviderEndpoint" - } + }, + "x-ms-identifiers": [ + "endpointUri" + ] }, "nextLink": { "description": "URI to next page.", @@ -815,7 +841,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureResourceHydrationAccount" - } + }, + "x-ms-identifiers": [ + "accountName" + ] }, "nextLink": { "description": "URI to next page.", @@ -853,7 +882,8 @@ "type": "array", "items": { "$ref": "#/definitions/FanoutLinkedNotificationRule" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to next page.", diff --git a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json index 7441a772afb3..fd2137aa7e55 100644 --- a/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json +++ b/specification/azsadmin/resource-manager/subscriptions/Microsoft.Subscriptions.Admin/preview/2015-11-01/Offer.json @@ -37,17 +37,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/OfferList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -79,17 +79,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/OfferList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -124,17 +124,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/Offer" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } }, @@ -167,10 +167,10 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", + "200": { + "description": "OK", "schema": { - "$ref": "Subscriptions.json#/definitions/Error" + "$ref": "#/definitions/Offer" } }, "201": { @@ -179,10 +179,10 @@ "$ref": "#/definitions/Offer" } }, - "200": { - "description": "OK", + "default": { + "description": "Unexpected Error", "schema": { - "$ref": "#/definitions/Offer" + "$ref": "Subscriptions.json#/definitions/Error" } } } @@ -213,17 +213,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK" }, "204": { "description": "No Content" + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -255,17 +255,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "Subscriptions.json#/definitions/MetricList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -297,17 +297,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "Subscriptions.json#/definitions/MetricDefinitionList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -342,17 +342,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/Offer" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -387,17 +387,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/Offer" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -466,7 +466,10 @@ "type": "array", "items": { "$ref": "#/definitions/AddonPlanDefinition" - } + }, + "x-ms-identifiers": [ + "planId" + ] } } }, 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 ea4e02c98122..3eea1a536df5 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 @@ -34,17 +34,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/OperationList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -70,14 +70,14 @@ } ], "responses": { + "200": { + "description": "OK" + }, "default": { "description": "Unexpected Error", "schema": { "$ref": "Subscriptions.json#/definitions/Error" } - }, - "200": { - "description": "OK" } } } @@ -103,17 +103,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/SubscriptionList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -139,17 +139,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/IdentityHealthCheckReportDefinition" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -181,17 +181,17 @@ } ], "responses": { + "202": { + "description": "Accepted -- Move subscriptions request accepted; operation will complete asynchronously." + }, + "204": { + "description": "No Content -- The subscriptions were successfully moved to the target delegated provider offer." + }, "default": { "description": "Unexpected Error", "schema": { "$ref": "Subscriptions.json#/definitions/Error" } - }, - "204": { - "description": "No Content -- The subscriptions were successfully moved to the target delegated provider offer." - }, - "202": { - "description": "Accepted -- Move subscriptions request accepted; operation will complete asynchronously." } }, "x-ms-long-running-operation": true @@ -224,17 +224,17 @@ } ], "responses": { + "202": { + "description": "Accepted -- Validate move subscriptions request accepted; operation will complete asynchronously." + }, + "204": { + "description": "No Content -- The subscriptions can be moved to the target delegated provider offer." + }, "default": { "description": "Unexpected Error", "schema": { "$ref": "Subscriptions.json#/definitions/Error" } - }, - "204": { - "description": "No Content -- The subscriptions can be moved to the target delegated provider offer." - }, - "202": { - "description": "Accepted -- Validate move subscriptions request accepted; operation will complete asynchronously." } }, "x-ms-long-running-operation": true @@ -264,17 +264,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/SubscriptionList" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -307,17 +307,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/CheckNameAvailabilityResponse" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -346,17 +346,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/SubscriptionDefinition" } + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } }, @@ -386,10 +386,10 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", + "200": { + "description": "OK", "schema": { - "$ref": "Subscriptions.json#/definitions/Error" + "$ref": "#/definitions/SubscriptionDefinition" } }, "201": { @@ -398,10 +398,10 @@ "$ref": "#/definitions/SubscriptionDefinition" } }, - "200": { - "description": "OK", + "default": { + "description": "Unexpected Error", "schema": { - "$ref": "#/definitions/SubscriptionDefinition" + "$ref": "Subscriptions.json#/definitions/Error" } } } @@ -429,17 +429,17 @@ } ], "responses": { - "default": { - "description": "Unexpected Error", - "schema": { - "$ref": "Subscriptions.json#/definitions/Error" - } - }, "200": { "description": "OK" }, "204": { "description": "No Content" + }, + "default": { + "description": "Unexpected Error", + "schema": { + "$ref": "Subscriptions.json#/definitions/Error" + } } } } @@ -510,6 +510,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } @@ -574,7 +575,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -642,7 +646,10 @@ "description": "Directory tenant health report.", "items": { "$ref": "#/definitions/DirectoryTenantHealthReport" - } + }, + "x-ms-identifiers": [ + "tenantId" + ] }, "nextLink": { "description": "URI to the next page.", @@ -680,7 +687,8 @@ "description": "A report of the health status of an identity applications.", "items": { "$ref": "#/definitions/ApplicationHealthReport" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "URI to the next page.", @@ -726,7 +734,10 @@ "description": "A report of the health status of an AppRoleAssignment.", "items": { "$ref": "#/definitions/AppRoleAssignmentHealthReport" - } + }, + "x-ms-identifiers": [ + "appRoleAssignment/resource" + ] }, "nextLink": { "description": "URI to the next page.", @@ -774,7 +785,10 @@ "description": "A report of the health status of an OAuth2PermissionGrant.", "items": { "$ref": "#/definitions/OAuth2PermissionGrantHealthReport" - } + }, + "x-ms-identifiers": [ + "oAuth2PermissionGrant/resource" + ] }, "nextLink": { "description": "URI to the next page.", @@ -822,7 +836,10 @@ "description": "A report of the health status of a tag on an identity application service principal.", "items": { "$ref": "#/definitions/ServicePrincipalTagHealthReport" - } + }, + "x-ms-identifiers": [ + "servicePrincipalTag" + ] }, "nextLink": { "description": "URI to the next page.", @@ -1118,7 +1135,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricValue" - } + }, + "x-ms-identifiers": [] }, "MetricDefinition": { "description": "Metric Definition", @@ -1251,7 +1269,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricAvailability" - } + }, + "x-ms-identifiers": [] }, "MetricList": { "description": "List of metrics.", @@ -1261,7 +1280,8 @@ "type": "array", "items": { "$ref": "#/definitions/Metric" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "type": "string", @@ -1277,7 +1297,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json index 0ff986279345..01d123b7bd03 100644 --- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/Update.json @@ -123,7 +123,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json index fabb4bcb7f4c..645a833f913b 100644 --- a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json @@ -310,7 +310,10 @@ "type": "array", "items": { "$ref": "#/definitions/Step" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Update.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Update.json new file mode 100644 index 000000000000..808f0db17ebc --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Update.json @@ -0,0 +1,165 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-07-01", + "title": "UpdateAdminClient", + "description": "The Update Admin Management Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Update.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": [ + "Updates" + ], + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "description": "Base Resource Object", + "type": "object", + "properties": { + "id": { + "description": "URI of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Region location of resource.", + "type": "string" + }, + "tags": { + "description": "List of key-value pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "Operation": { + "description": "Describes the supported REST operation.", + "type": "object", + "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" + }, + "display": { + "description": "Contains the localized display information for this particular operation or action.", + "$ref": "#/definitions/Display" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation or action.", + "type": "object", + "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, as it should be shown 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", + "type": "object", + "properties": { + "value": { + "description": "Array of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URI to the next page of operations.", + "type": "string" + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateLocations.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateLocations.json new file mode 100644 index 000000000000..c1bb60c5a73e --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateLocations.json @@ -0,0 +1,252 @@ +{ + "swagger": "2.0", + "info": { + "description": "Update location operation endpoints and objects.", + "title": "UpdateAdminClient", + "version": "2021-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/": { + "get": { + "x-ms-examples": { + "Get the list of update locations.": { + "$ref": "./examples/UpdateLocations/List.json" + } + }, + "tags": [ + "UpdateLocations" + ], + "description": "Get the list of update locations.", + "operationId": "UpdateLocations_List", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateLocationList" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}": { + "get": { + "x-ms-examples": { + "Get an update location based on name.": { + "$ref": "./examples/UpdateLocations/Get.json" + } + }, + "tags": [ + "UpdateLocations" + ], + "description": "Get an update location based on name.", + "operationId": "UpdateLocations_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UpdateLocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateLocation" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "UpdateLocation": { + "description": "Information related to a location's update status.", + "type": "object", + "properties": { + "properties": { + "description": "Model which holds information related to update location.", + "$ref": "#/definitions/UpdateLocationModel", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "Update.json#/definitions/Resource" + } + ] + }, + "UpdateLocationModel": { + "description": "Model which holds information related to update location.", + "type": "object", + "properties": { + "oemFamily": { + "description": "OEM family of your Azure Stack Hub deployment.", + "type": "string" + }, + "hardwareModel": { + "description": "Hardware model of your Azure Stack Hub deployment.", + "type": "string" + }, + "packageVersions": { + "description": "Package map of your Azure Stack Hub deployment.", + "type": "array", + "items": { + "$ref": "#/definitions/PackageVersionInfo" + }, + "x-ms-identifiers": [ + "packageType", + "version" + ] + }, + "currentVersion": { + "description": "Current version of your Azure Stack Hub deployment.", + "type": "string" + }, + "currentOemVersion": { + "description": "Current OEM version of your Azure Stack Hub deployment.", + "type": "string" + }, + "lastUpdated": { + "description": "Date of last update.", + "format": "date-time", + "type": "string" + }, + "lastChecked": { + "description": "Time of last successful check for new available updates.", + "format": "date-time", + "type": "string" + }, + "state": { + "description": "State with respect to the update.", + "$ref": "#/definitions/RegionUpdateState" + } + } + }, + "PackageVersionInfo": { + "description": "Package information of your Azure Stack Hub deployment.", + "type": "object", + "properties": { + "packageType": { + "description": "Type of the update.", + "type": "string" + }, + "version": { + "description": "Version of the update.", + "type": "string" + }, + "lastUpdated": { + "description": "Date of last update.", + "format": "date-time", + "type": "string" + } + } + }, + "RegionUpdateState": { + "description": "State of the region in regard to update.", + "type": "string", + "enum": [ + "Unknown", + "UpdateAvailable", + "PreparationInProgress", + "PreparationFailed", + "AppliedSuccessfully", + "AppliedUpdateAvailableSuccessfully", + "UpdateInProgress", + "UpdateFailed", + "NeedsAttention" + ], + "x-ms-enum": { + "name": "RegionUpdateState", + "modelAsString": true + } + }, + "UpdateLocationList": { + "description": "The list of update locations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link to get the next page of update locations.", + "type": "string" + }, + "value": { + "description": "The list of update locations.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateLocation" + } + } + } + } + }, + "parameters": { + "UpdateLocationParameter": { + "name": "updateLocation", + "description": "The name of the update location.", + "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": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateRuns.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateRuns.json new file mode 100644 index 000000000000..080c7ff1faae --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/UpdateRuns.json @@ -0,0 +1,394 @@ +{ + "swagger": "2.0", + "info": { + "description": "Update run operation endpoints and objects.", + "title": "UpdateAdminClient", + "version": "2021-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns": { + "get": { + "x-ms-examples": { + "Get the list of update runs.": { + "$ref": "./examples/UpdateRuns/List.json" + } + }, + "tags": [ + "UpdateRuns" + ], + "description": "Get the list of update runs.", + "operationId": "UpdateRuns_List", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateRunList" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}": { + "get": { + "x-ms-examples": { + "Get an update run.": { + "$ref": "./examples/UpdateRuns/Get.json" + } + }, + "tags": [ + "UpdateRuns" + ], + "description": "Get an instance of update run using the ID.", + "operationId": "UpdateRuns_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + }, + { + "$ref": "#/parameters/UpdateRunParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updateRuns": { + "get": { + "x-ms-examples": { + "Get the list of update runs.": { + "$ref": "./examples/UpdateRuns/List.json" + } + }, + "tags": [ + "UpdateRuns" + ], + "description": "Get the list of update runs.", + "operationId": "UpdateRuns_ListTopLevel", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateRunList" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updateRuns/{runName}": { + "get": { + "x-ms-examples": { + "Get an update run.": { + "$ref": "./examples/UpdateRuns/Get.json" + } + }, + "tags": [ + "UpdateRuns" + ], + "description": "Get an instance of update run using the ID.", + "operationId": "UpdateRuns_GetTopLevel", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "#/parameters/UpdateRunParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/updateRuns/{runName}/rerun": { + "post": { + "x-ms-examples": { + "Rerun an update.": { + "$ref": "./examples/UpdateRuns/Rerun.json" + } + }, + "tags": [ + "UpdateRuns" + ], + "description": "Resume a failed update.", + "operationId": "UpdateRuns_Rerun", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + }, + { + "$ref": "#/parameters/UpdateRunParameter" + } + ], + "responses": { + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "UpdateRuns.json#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "UpdateRun": { + "description": "Representation of a update run resource.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of a update run.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UpdateRunModel" + } + }, + "allOf": [ + { + "$ref": "Update.json#/definitions/Resource" + } + ] + }, + "UpdateRunModel": { + "description": "Properties of an update run.", + "type": "object", + "properties": { + "progress": { + "description": "Current progress of the update run.", + "$ref": "#/definitions/Step" + }, + "timeStarted": { + "description": "Update start time.", + "type": "string", + "format": "date-time" + }, + "duration": { + "description": "Duration of the update.", + "type": "string" + }, + "state": { + "description": "State of the update run.", + "$ref": "#/definitions/UpdateRunState" + } + } + }, + "UpdateRunList": { + "description": "Pageable list of update runs.", + "type": "object", + "properties": { + "value": { + "description": "List of update runs.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateRun" + } + }, + "nextLink": { + "description": "URI to the next page.", + "type": "string" + } + } + }, + "Step": { + "description": "Information about each step of the update process.", + "type": "object", + "properties": { + "name": { + "description": "Name of the step.", + "type": "string" + }, + "description": { + "description": "Description of the step.", + "type": "string" + }, + "errorMessage": { + "description": "Error message, if any.", + "type": "string" + }, + "status": { + "description": "State of the step.", + "type": "string" + }, + "startTimeUtc": { + "description": "Time at which this step started executing", + "type": "string", + "format": "date-time" + }, + "endTimeUtc": { + "description": "Time at which this step stopped executing", + "type": "string", + "format": "date-time" + }, + "steps": { + "description": "Inner steps", + "type": "array", + "items": { + "$ref": "#/definitions/Step" + }, + "x-ms-identifiers": [] + } + } + }, + "UpdateRunState": { + "description": "State of the update run.", + "type": "string", + "enum": [ + "Unknown", + "Succeeded", + "InProgress", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateRunState", + "modelAsString": true + } + } + }, + "parameters": { + "UpdateRunParameter": { + "name": "runName", + "description": "Update run identifier.", + "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": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Updates.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Updates.json new file mode 100644 index 000000000000..a87526a76a1b --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/Updates.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "description": "Update operation endpoints and objects.", + "title": "UpdateAdminClient", + "version": "2021-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates": { + "get": { + "x-ms-examples": { + "Get the list of updates at an update location.": { + "$ref": "./examples/Updates/List.json" + } + }, + "tags": [ + "Updates" + ], + "description": "Get the list of updates at an update locations", + "operationId": "Updates_List", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UpdateList" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}": { + "get": { + "x-ms-examples": { + "Get a specific update at an update location.": { + "$ref": "./examples/Updates/Get.json" + } + }, + "tags": [ + "Updates" + ], + "description": "Get a specific update at an update location.", + "operationId": "Updates_Get", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Update" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/prepare": { + "post": { + "x-ms-examples": { + "Prepare a specified update at an update location.": { + "$ref": "./examples/Updates/Prepare.json" + } + }, + "tags": [ + "Updates" + ], + "description": "Prepare a specified update at an update location.", + "operationId": "Updates_Prepare", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + } + ], + "responses": { + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "UpdateRuns.json#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/checkHealth": { + "post": { + "x-ms-examples": { + "Run health check for a specified update at an update location.": { + "$ref": "./examples/Updates/HealthCheck.json" + } + }, + "tags": [ + "Updates" + ], + "description": "Run health check for a specified update at an update location.", + "operationId": "Updates_HealthCheck", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + } + ], + "responses": { + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "UpdateRuns.json#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Update.Admin/updateLocations/{updateLocation}/updates/{updateName}/apply": { + "post": { + "x-ms-examples": { + "Apply a specific update at an update location.": { + "$ref": "./examples/Updates/Apply.json" + } + }, + "tags": [ + "Updates" + ], + "description": "Apply a specific update at an update location.", + "operationId": "Updates_Apply", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "UpdateLocations.json#/parameters/UpdateLocationParameter" + }, + { + "$ref": "Updates.json#/parameters/UpdateParameter" + } + ], + "responses": { + "202": { + "description": "ACCEPTED", + "schema": { + "$ref": "UpdateRuns.json#/definitions/UpdateRun" + } + }, + "default": { + "description": "Error Response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Update": { + "description": "Information pertaining to an update.", + "type": "object", + "properties": { + "properties": { + "description": "Properties of an update.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UpdateModel" + } + }, + "allOf": [ + { + "$ref": "Update.json#/definitions/Resource" + } + ] + }, + "UpdateModel": { + "description": "Properties of an update.", + "type": "object", + "properties": { + "displayName": { + "description": "Name of the update.", + "type": "string" + }, + "description": { + "description": "Description of the update.", + "type": "string" + }, + "version": { + "description": "Version of the update.", + "type": "string" + }, + "oemVersion": { + "description": "OEM version of the update.", + "type": "string" + }, + "state": { + "description": "Current state of the update.", + "$ref": "#/definitions/UpdateState" + }, + "availabilityType": { + "description": "The availability type of the update. The location where the update is available.", + "$ref": "#/definitions/AvailabilityType" + }, + "releaseLink": { + "description": "Link to release notes or other details about the update.", + "type": "string" + }, + "packagePath": { + "description": "Path to the update package.", + "type": "string" + }, + "packageSizeInMb": { + "description": "Size of update package.", + "type": "integer", + "format": "int64" + }, + "publisher": { + "description": "Publisher of the update.", + "type": "string" + }, + "packageType": { + "description": "Type of the package.", + "type": "string" + }, + "updatePrerequisites": { + "description": "List of update prerequisites.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdatePrerequisite" + }, + "x-ms-identifiers": [ + "packageName" + ] + }, + "updateStateProperties": { + "description": "Properties when update is in a specific state.", + "$ref": "#/definitions/UpdateStateProperties" + }, + "additionalProperties": { + "description": "Additional properties of the update.", + "type": "string" + }, + "kbLink": { + "description": "Link to the KB article about the update.", + "type": "string" + }, + "minVersionRequired": { + "description": "The minimum version required to install.", + "type": "string" + }, + "minOemVersionRequired": { + "description": "The minimum OEM version required to install.", + "type": "string" + }, + "installedDate": { + "description": "Date update was installed.", + "type": "string", + "format": "date-time" + } + } + }, + "UpdateList": { + "description": "List of updates.", + "type": "object", + "properties": { + "value": { + "description": "List of updates.", + "type": "array", + "items": { + "$ref": "#/definitions/Update" + } + }, + "nextLink": { + "description": "URI to the next page of updates.", + "type": "string" + } + } + }, + "UpdateState": { + "description": "State of the update.", + "type": "string", + "enum": [ + "Ready", + "Downloading", + "DownloadFailed", + "HealthChecking", + "HealthCheckFailed", + "Preparing", + "PreparationFailed", + "Invalid", + "HasPrerequisite", + "Recalled", + "Obsolete", + "ReadyToInstall", + "NotApplicableBecauseAnotherUpdateIsInProgress", + "Installing", + "Installed", + "InstallationFailed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + } + }, + "AvailabilityType": { + "description": "Availability type of update.", + "type": "string", + "enum": [ + "online", + "local", + "notify" + ], + "x-ms-enum": { + "name": "AvailabilityType", + "modelAsString": true + } + }, + "UpdatePrerequisite": { + "description": "Prerequisite of the update.", + "type": "object", + "properties": { + "updateType": { + "description": "Update type of prerequisite update.", + "type": "string" + }, + "packageName": { + "description": "Name of prerequisite update.", + "type": "string" + }, + "version": { + "description": "Version of prerequisite update.", + "type": "string" + } + } + }, + "UpdateStateProperties": { + "description": "State related properties of the update.", + "type": "object", + "properties": { + "progressPercentage": { + "description": "Progress percentage of a running operation.", + "type": "integer", + "format": "int64" + }, + "notifyMessage": { + "description": "Notify message of the update in this state.", + "type": "string" + } + } + } + }, + "parameters": { + "UpdateParameter": { + "name": "updateName", + "description": "Name of the update.", + "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": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Operations/List.json new file mode 100644 index 000000000000..4e96675a76e7 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Operations/List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "location": "local", + "api-version": "2021-07-01", + "reportedStartTime": "2017-08-01T00:00:00.00Z", + "reportedEndTime": "2017-08-02T00:00:00.00Z", + "aggregationGranularity": "", + "subscriberId": "", + "continuationToken": "" + }, + "responses": { + "200": { + "body": { + "value": [], + "nextLink": null + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/Get.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/Get.json new file mode 100644 index 000000000000..4798c7832279 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "redmond", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond", + "name": "redmond", + "type": "Microsoft.Update.Admin/updateLocations", + "location": "redmond", + "tags": {}, + "properties": { + "oemFamily": "HPE", + "hardwareModel": "HP_Wiwynn_Gen6_Optimized", + "packageVersions": [ + { + "packageType": "Infrastructure", + "version": "1.2010.0.1", + "lastUpdated": "2020-12-03T08:09:12.8824552Z" + }, + { + "packageType": "Platform", + "version": "1.2104.0.1", + "lastUpdated": "2021-05-07T09:07:18.9924552Z" + } + ], + "currentVersion": "1.2104.0.1", + "currentOemVersion": "2.0.1709.1", + "lastUpdated": "2021-05-07T09:07:18.9924552Z", + "lastChecked": "2021-06-01T08:15:13.8125446Z", + "state": "AppliedSuccessfully" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/List.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/List.json new file mode 100644 index 000000000000..abe706bd3229 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateLocations/List.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond", + "name": "redmond", + "type": "Microsoft.Update.Admin/updateLocations", + "location": "redmond", + "tags": {}, + "properties": { + "oemFamily": "HPE", + "hardwareModel": "HP_Wiwynn_Gen6_Optimized", + "packageVersions": [ + { + "packageType": "Azure Stack Hub OS", + "version": "1.2010.0.1", + "lastUpdated": "2020-12-03T08:09:12.8824552Z" + }, + { + "packageType": "Azure Stack Hub Service", + "version": "1.2104.0.1", + "lastUpdated": "2021-05-07T09:07:18.9924552Z" + }, + { + "packageType": "Azure Stack Hub OS", + "version": "2.0.1709.1", + "lastUpdated": "2020-09-13T05:12:02.7824552Z" + } + ], + "currentVersion": "1.2104.0.1", + "currentOemVersion": "2.0.1709.1", + "lastUpdated": "2021-05-07T09:07:18.9924552Z", + "lastChecked": "2021-06-01T08:15:13.8125446Z", + "state": "AppliedSuccessfully" + } + } + ] + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Get.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Get.json new file mode 100644 index 000000000000..0d992f866c6f --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Get.json @@ -0,0 +1,399 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "runName": "407d9b8f-debf-4058-b374-a94a1bb4de30", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1/updateRuns/407d9b8f-debf-4058-b374-a94a1bb4de30", + "name": "407d9b8f-debf-4058-b374-a94a1bb4de30", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "Unnamed step", + "description": "Update Azure Stack.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:37.4173123-08:00", + "endTimeUtc": "2018-03-03T00:09:04.9913191-08:00", + "steps": [ + { + "name": "Pre-engine Update", + "description": "Perform pre-engine update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:37.4798089-08:00", + "endTimeUtc": "2018-03-02T10:28:55.8289013-08:00", + "steps": [ + { + "name": "PreUpdate Cloud", + "description": "Copy packages to NugetStore.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:41.9019404-08:00", + "endTimeUtc": "2018-03-02T09:57:50.1318779-08:00", + "steps": [] + }, + { + "name": "Update SeedRing SF Runtime", + "description": "Update SeedRing SF Runtime step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:57:50.1475043-08:00", + "endTimeUtc": "2018-03-02T10:17:07.8319178-08:00", + "steps": [] + }, + { + "name": "Update SeedRing ECE", + "description": "Update SeedRing ECE step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:17:07.8631688-08:00", + "endTimeUtc": "2018-03-02T10:28:55.7507724-08:00", + "steps": [] + } + ] + }, + { + "name": "Engine Update", + "description": "Perform engine update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:28:55.8601531-08:00", + "endTimeUtc": "2018-03-02T10:37:44.0480253-08:00", + "steps": [ + { + "name": "PreUpdate Cloud", + "description": "Copy packages to NugetStore.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:28:59.500983-08:00", + "endTimeUtc": "2018-03-02T10:35:43.2198256-08:00", + "steps": [] + }, + { + "name": "Update SeedRing SF Runtime", + "description": "Update SeedRing SF Runtime step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:35:43.2354458-08:00", + "endTimeUtc": "2018-03-02T10:36:14.5629258-08:00", + "steps": [] + }, + { + "name": "Update SeedRing ECE", + "description": "Update SeedRing ECE step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:36:14.5941782-08:00", + "endTimeUtc": "2018-03-02T10:37:43.9698965-08:00", + "steps": [] + } + ] + }, + { + "name": "Cloud Update", + "description": "Perform cloud update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:37:44.079278-08:00", + "endTimeUtc": "2018-03-03T00:09:04.960067-08:00", + "steps": [ + { + "name": "Update Domain", + "description": "Live Update on Domain.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:37:48.3763886-08:00", + "endTimeUtc": "2018-03-02T10:41:20.0340798-08:00", + "steps": [] + }, + { + "name": "Check Cloud Health", + "description": "Check the health of all roles in parallel before beginning update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:41:20.0653266-08:00", + "endTimeUtc": "2018-03-02T10:56:10.4396313-08:00", + "steps": [] + }, + { + "name": "PreUpdate OEM.", + "description": "Copy OEM content to CloudMedia.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:56:10.4708828-08:00", + "endTimeUtc": "2018-03-02T10:56:16.1459718-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate Code Integrity Policy", + "description": "Generates the Code Integrity Policy", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:56:16.1807685-08:00", + "endTimeUtc": "2018-03-02T10:57:07.0682796-08:00", + "steps": [] + }, + { + "name": "Update OEM S2D whitelist.", + "description": "Update S2D health service from StorageDisks.xml.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:57:07.0995306-08:00", + "endTimeUtc": "2018-03-02T10:57:14.7249566-08:00", + "steps": [] + }, + { + "name": "(FBI) Create new Storage Accounts", + "description": "Create newly introduced storage accounts to be used by different providers.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:57:14.7562105-08:00", + "endTimeUtc": "2018-03-02T10:58:34.4194385-08:00", + "steps": [] + }, + { + "name": "NC Auto Update Disable", + "description": "Disable EnableAutomaticUpdates flag on NC fabriccluster", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:58:34.4506838-08:00", + "endTimeUtc": "2018-03-02T11:00:13.6332139-08:00", + "steps": [] + }, + { + "name": "Install Update.", + "description": "Install Update on Hosts and Infra VMs.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T11:00:13.6644452-08:00", + "endTimeUtc": "2018-03-02T12:19:16.6339385-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate base images for hosts and virtual machines.", + "description": "Creates and updates the base images needed by hosts and virtual machines.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:19:16.7901987-08:00", + "endTimeUtc": "2018-03-02T12:38:55.3959294-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate host image.", + "description": "Build VHDs for the host at runtime and the backup WinPE for servicing.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:38:55.4115607-08:00", + "endTimeUtc": "2018-03-02T12:43:15.272197-08:00", + "steps": [] + }, + { + "name": "Update PrivilegedEndpoint whitelist", + "description": "Update PrivilegedEndpoint whitelist on SeedRing nodes.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:43:15.3034455-08:00", + "endTimeUtc": "2018-03-02T12:47:22.3519764-08:00", + "steps": [] + }, + { + "name": "Update Defender", + "description": "Update Defender signatures.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:47:22.3832322-08:00", + "endTimeUtc": "2018-03-02T12:48:07.0983871-08:00", + "steps": [] + }, + { + "name": "Update Node Sets", + "description": "Live Update all nodes in a node set.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:48:07.129639-08:00", + "endTimeUtc": "2018-03-02T13:51:45.6581291-08:00", + "steps": [] + }, + { + "name": "Update SeedRing IBC", + "description": "Update SeedRing IBC step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T13:51:45.6934194-08:00", + "endTimeUtc": "2018-03-02T14:02:32.5586541-08:00", + "steps": [] + }, + { + "name": "Restart Storage Hosts", + "description": "Restart Storage Hosts step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T14:02:32.5899091-08:00", + "endTimeUtc": "2018-03-02T18:53:35.1617531-08:00", + "steps": [] + }, + { + "name": "Restart CA.", + "description": "Restart CA to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T18:53:35.1993965-08:00", + "endTimeUtc": "2018-03-02T19:00:23.0498989-08:00", + "steps": [] + }, + { + "name": "Restart NC.", + "description": "Restart NC VMs to finish applying OS updates and Update the NC ring app.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T19:00:23.1436539-08:00", + "endTimeUtc": "2018-03-02T20:53:58.2467744-08:00", + "steps": [] + }, + { + "name": "Restart SQL.", + "description": "Restart SQL VMs to finish applying OS updates and Update SQL servers.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T20:53:58.3717999-08:00", + "endTimeUtc": "2018-03-02T21:08:54.2948193-08:00", + "steps": [] + }, + { + "name": "Restart SLB.", + "description": "Restart SLB to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T21:08:54.3260706-08:00", + "endTimeUtc": "2018-03-02T21:28:05.8095784-08:00", + "steps": [] + }, + { + "name": "Restart ACSFabric and Gateway", + "description": "Restart ACSFabric and Gateway to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T21:28:05.8408311-08:00", + "endTimeUtc": "2018-03-02T22:27:56.0854925-08:00", + "steps": [] + }, + { + "name": "Restart WAS", + "description": "Restart WAS to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T22:27:56.1479976-08:00", + "endTimeUtc": "2018-03-02T22:46:02.7735634-08:00", + "steps": [] + }, + { + "name": "Restart WASPUBLIC", + "description": "Restart WASPUBLIC to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T22:46:02.8048171-08:00", + "endTimeUtc": "2018-03-02T23:15:02.30254-08:00", + "steps": [] + }, + { + "name": "Restart XRP FabricRing, PXE and ADFS, and SQL.", + "description": "Restart XRP FabricRing, PXE, ADFS, and SQL to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:15:02.3337871-08:00", + "endTimeUtc": "2018-03-02T23:47:21.7605287-08:00", + "steps": [] + }, + { + "name": "Update OEM manifest.", + "description": "Update ECE manifest from OEM manifests.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:47:21.7917861-08:00", + "endTimeUtc": "2018-03-02T23:47:35.5958946-08:00", + "steps": [] + }, + { + "name": "Update Active Version on Node Sets", + "description": "Live Update all nodes active version.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:47:35.6271478-08:00", + "endTimeUtc": "2018-03-03T00:05:12.3530683-08:00", + "steps": [] + }, + { + "name": "Post Update Trace Collector.", + "description": "Switch Trace Collector to post update and validate the service is running.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:05:12.5405827-08:00", + "endTimeUtc": "2018-03-03T00:06:19.9796654-08:00", + "steps": [] + }, + { + "name": "Enable StartComponentCleanup on NC VMs", + "description": "Enable WU StartComponentCleanup on NC VMs", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:06:20.0265482-08:00", + "endTimeUtc": "2018-03-03T00:07:37.297809-08:00", + "steps": [] + }, + { + "name": "Update Cloud Security", + "description": "Update cloud security step", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:07:37.3446716-08:00", + "endTimeUtc": "2018-03-03T00:07:56.664821-08:00", + "steps": [] + }, + { + "name": "PostUpdate Cloud.", + "description": "Update Azure Stack Version.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:07:56.6960734-08:00", + "endTimeUtc": "2018-03-03T00:08:19.7703032-08:00", + "steps": [] + }, + { + "name": "Update ExternalDNS", + "description": "Disable DNS Recursion on WASP VMs", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:08:19.8015565-08:00", + "endTimeUtc": "2018-03-03T00:08:28.0283394-08:00", + "steps": [] + }, + { + "name": "Close Active Alerts After LiveUdpate", + "description": "Query HRP service and close all existing active alerts", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:08:28.0595832-08:00", + "endTimeUtc": "2018-03-03T00:09:04.8819362-08:00", + "steps": [] + } + ] + } + ] + }, + "timeStarted": "2018-03-02T17:25:22.818Z", + "duration": "PT14H43M50.0644552S", + "state": "Succeeded" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/List.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/List.json new file mode 100644 index 000000000000..907b019a57c4 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/List.json @@ -0,0 +1,403 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "api-version": "2021-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1/updateRuns/407d9b8f-debf-4058-b374-a94a1bb4de30", + "name": "407d9b8f-debf-4058-b374-a94a1bb4de30", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "Unnamed step", + "description": "Update Azure Stack.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:37.4173123-08:00", + "endTimeUtc": "2018-03-03T00:09:04.9913191-08:00", + "steps": [ + { + "name": "Pre-engine Update", + "description": "Perform pre-engine update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:37.4798089-08:00", + "endTimeUtc": "2018-03-02T10:28:55.8289013-08:00", + "steps": [ + { + "name": "PreUpdate Cloud", + "description": "Copy packages to NugetStore.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:25:41.9019404-08:00", + "endTimeUtc": "2018-03-02T09:57:50.1318779-08:00", + "steps": [] + }, + { + "name": "Update SeedRing SF Runtime", + "description": "Update SeedRing SF Runtime step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T09:57:50.1475043-08:00", + "endTimeUtc": "2018-03-02T10:17:07.8319178-08:00", + "steps": [] + }, + { + "name": "Update SeedRing ECE", + "description": "Update SeedRing ECE step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:17:07.8631688-08:00", + "endTimeUtc": "2018-03-02T10:28:55.7507724-08:00", + "steps": [] + } + ] + }, + { + "name": "Engine Update", + "description": "Perform engine update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:28:55.8601531-08:00", + "endTimeUtc": "2018-03-02T10:37:44.0480253-08:00", + "steps": [ + { + "name": "PreUpdate Cloud", + "description": "Copy packages to NugetStore.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:28:59.500983-08:00", + "endTimeUtc": "2018-03-02T10:35:43.2198256-08:00", + "steps": [] + }, + { + "name": "Update SeedRing SF Runtime", + "description": "Update SeedRing SF Runtime step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:35:43.2354458-08:00", + "endTimeUtc": "2018-03-02T10:36:14.5629258-08:00", + "steps": [] + }, + { + "name": "Update SeedRing ECE", + "description": "Update SeedRing ECE step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:36:14.5941782-08:00", + "endTimeUtc": "2018-03-02T10:37:43.9698965-08:00", + "steps": [] + } + ] + }, + { + "name": "Cloud Update", + "description": "Perform cloud update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:37:44.079278-08:00", + "endTimeUtc": "2018-03-03T00:09:04.960067-08:00", + "steps": [ + { + "name": "Update Domain", + "description": "Live Update on Domain.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:37:48.3763886-08:00", + "endTimeUtc": "2018-03-02T10:41:20.0340798-08:00", + "steps": [] + }, + { + "name": "Check Cloud Health", + "description": "Check the health of all roles in parallel before beginning update.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:41:20.0653266-08:00", + "endTimeUtc": "2018-03-02T10:56:10.4396313-08:00", + "steps": [] + }, + { + "name": "PreUpdate OEM.", + "description": "Copy OEM content to CloudMedia.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:56:10.4708828-08:00", + "endTimeUtc": "2018-03-02T10:56:16.1459718-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate Code Integrity Policy", + "description": "Generates the Code Integrity Policy", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:56:16.1807685-08:00", + "endTimeUtc": "2018-03-02T10:57:07.0682796-08:00", + "steps": [] + }, + { + "name": "Update OEM S2D whitelist.", + "description": "Update S2D health service from StorageDisks.xml.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:57:07.0995306-08:00", + "endTimeUtc": "2018-03-02T10:57:14.7249566-08:00", + "steps": [] + }, + { + "name": "(FBI) Create new Storage Accounts", + "description": "Create newly introduced storage accounts to be used by different providers.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:57:14.7562105-08:00", + "endTimeUtc": "2018-03-02T10:58:34.4194385-08:00", + "steps": [] + }, + { + "name": "NC Auto Update Disable", + "description": "Disable EnableAutomaticUpdates flag on NC fabriccluster", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T10:58:34.4506838-08:00", + "endTimeUtc": "2018-03-02T11:00:13.6332139-08:00", + "steps": [] + }, + { + "name": "Install Update.", + "description": "Install Update on Hosts and Infra VMs.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T11:00:13.6644452-08:00", + "endTimeUtc": "2018-03-02T12:19:16.6339385-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate base images for hosts and virtual machines.", + "description": "Creates and updates the base images needed by hosts and virtual machines.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:19:16.7901987-08:00", + "endTimeUtc": "2018-03-02T12:38:55.3959294-08:00", + "steps": [] + }, + { + "name": "(DEP) Generate host image.", + "description": "Build VHDs for the host at runtime and the backup WinPE for servicing.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:38:55.4115607-08:00", + "endTimeUtc": "2018-03-02T12:43:15.272197-08:00", + "steps": [] + }, + { + "name": "Update PrivilegedEndpoint whitelist", + "description": "Update PrivilegedEndpoint whitelist on SeedRing nodes.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:43:15.3034455-08:00", + "endTimeUtc": "2018-03-02T12:47:22.3519764-08:00", + "steps": [] + }, + { + "name": "Update Defender", + "description": "Update Defender signatures.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:47:22.3832322-08:00", + "endTimeUtc": "2018-03-02T12:48:07.0983871-08:00", + "steps": [] + }, + { + "name": "Update Node Sets", + "description": "Live Update all nodes in a node set.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T12:48:07.129639-08:00", + "endTimeUtc": "2018-03-02T13:51:45.6581291-08:00", + "steps": [] + }, + { + "name": "Update SeedRing IBC", + "description": "Update SeedRing IBC step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T13:51:45.6934194-08:00", + "endTimeUtc": "2018-03-02T14:02:32.5586541-08:00", + "steps": [] + }, + { + "name": "Restart Storage Hosts", + "description": "Restart Storage Hosts step.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T14:02:32.5899091-08:00", + "endTimeUtc": "2018-03-02T18:53:35.1617531-08:00", + "steps": [] + }, + { + "name": "Restart CA.", + "description": "Restart CA to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T18:53:35.1993965-08:00", + "endTimeUtc": "2018-03-02T19:00:23.0498989-08:00", + "steps": [] + }, + { + "name": "Restart NC.", + "description": "Restart NC VMs to finish applying OS updates and Update the NC ring app.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T19:00:23.1436539-08:00", + "endTimeUtc": "2018-03-02T20:53:58.2467744-08:00", + "steps": [] + }, + { + "name": "Restart SQL.", + "description": "Restart SQL VMs to finish applying OS updates and Update SQL servers.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T20:53:58.3717999-08:00", + "endTimeUtc": "2018-03-02T21:08:54.2948193-08:00", + "steps": [] + }, + { + "name": "Restart SLB.", + "description": "Restart SLB to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T21:08:54.3260706-08:00", + "endTimeUtc": "2018-03-02T21:28:05.8095784-08:00", + "steps": [] + }, + { + "name": "Restart ACSFabric and Gateway", + "description": "Restart ACSFabric and Gateway to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T21:28:05.8408311-08:00", + "endTimeUtc": "2018-03-02T22:27:56.0854925-08:00", + "steps": [] + }, + { + "name": "Restart WAS", + "description": "Restart WAS to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T22:27:56.1479976-08:00", + "endTimeUtc": "2018-03-02T22:46:02.7735634-08:00", + "steps": [] + }, + { + "name": "Restart WASPUBLIC", + "description": "Restart WASPUBLIC to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T22:46:02.8048171-08:00", + "endTimeUtc": "2018-03-02T23:15:02.30254-08:00", + "steps": [] + }, + { + "name": "Restart XRP FabricRing, PXE and ADFS, and SQL.", + "description": "Restart XRP FabricRing, PXE, ADFS, and SQL to finish applying OS updates.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:15:02.3337871-08:00", + "endTimeUtc": "2018-03-02T23:47:21.7605287-08:00", + "steps": [] + }, + { + "name": "Update OEM manifest.", + "description": "Update ECE manifest from OEM manifests.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:47:21.7917861-08:00", + "endTimeUtc": "2018-03-02T23:47:35.5958946-08:00", + "steps": [] + }, + { + "name": "Update Active Version on Node Sets", + "description": "Live Update all nodes active version.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-02T23:47:35.6271478-08:00", + "endTimeUtc": "2018-03-03T00:05:12.3530683-08:00", + "steps": [] + }, + { + "name": "Post Update Trace Collector.", + "description": "Switch Trace Collector to post update and validate the service is running.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:05:12.5405827-08:00", + "endTimeUtc": "2018-03-03T00:06:19.9796654-08:00", + "steps": [] + }, + { + "name": "Enable StartComponentCleanup on NC VMs", + "description": "Enable WU StartComponentCleanup on NC VMs", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:06:20.0265482-08:00", + "endTimeUtc": "2018-03-03T00:07:37.297809-08:00", + "steps": [] + }, + { + "name": "Update Cloud Security", + "description": "Update cloud security step", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:07:37.3446716-08:00", + "endTimeUtc": "2018-03-03T00:07:56.664821-08:00", + "steps": [] + }, + { + "name": "PostUpdate Cloud.", + "description": "Update Azure Stack Version.", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:07:56.6960734-08:00", + "endTimeUtc": "2018-03-03T00:08:19.7703032-08:00", + "steps": [] + }, + { + "name": "Update ExternalDNS", + "description": "Disable DNS Recursion on WASP VMs", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:08:19.8015565-08:00", + "endTimeUtc": "2018-03-03T00:08:28.0283394-08:00", + "steps": [] + }, + { + "name": "Close Active Alerts After LiveUdpate", + "description": "Query HRP service and close all existing active alerts", + "errorMessage": "", + "status": "Success", + "startTimeUtc": "2018-03-03T00:08:28.0595832-08:00", + "endTimeUtc": "2018-03-03T00:09:04.8819362-08:00", + "steps": [] + } + ] + } + ] + }, + "timeStarted": "2018-03-02T17:25:22.818Z", + "duration": "PT14H43M50.0644552S", + "state": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Rerun.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Rerun.json new file mode 100644 index 000000000000..a579ad913ddf --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/UpdateRuns/Rerun.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "runName": "407d9b8f-debf-4058-b374-a94a1bb4de30", + "api-version": "2021-07-01" + }, + "responses": { + "202": { + "body": { + "id": "/subscriptions/3c2a4c80-e594-46eb-b923-98fd98d50155/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180410.1/updateRuns/5495b71f-692c-4580-8dcd-03dc6ce00209", + "name": "5495b71f-692c-4580-8dcd-03dc6ce00209", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "Installing" + }, + "duration": "PT0S", + "state": "InProgress" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Apply.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Apply.json new file mode 100644 index 000000000000..bb7353150536 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Apply.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "api-version": "2021-07-01" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com//subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1/updateRuns/407d9b8f-debf-4058-b374-a94a1bb4de30" + }, + "body": { + "id": "/subscriptions/3c2a4c80-e594-46eb-b923-98fd98d50155/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180410.1/updateRuns/5495b71f-692c-4580-8dcd-03dc6ce00209", + "name": "5495b71f-692c-4580-8dcd-03dc6ce00209", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "Downloading" + }, + "duration": "PT0S", + "state": "InProgress" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Get.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Get.json new file mode 100644 index 000000000000..ab3255a08a20 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "api-version": "2016-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1", + "name": "Microsoft1.2108.0.1", + "type": "Microsoft.Update.Admin/updateLocations/updates", + "location": "redmond", + "tags": {}, + "properties": { + "displayName": "displayName", + "description": "MAS Update 1.2108.0.1", + "version": "1.2108.0.1", + "availabilityType": "online", + "state": "HasPrerequisite", + "releaseLink": "https://aka.ms/azurestackupdate", + "packageSizeInMb": 23345, + "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft1.0.180302.1", + "publisher": "Microsoft", + "packageType": "Infrastructure", + "updatePrerequisites": [ + { + "updateType": "OEM", + "packageName": "OEM HPE 2.0.1709.0", + "version": "2.0.1709.0" + } + ], + "updateStateProperties": { + "progressPercentage": 0, + "notifyMessage": "" + }, + "additionalProperties": "", + "kbLink": "https://aka.ms/azurestackupdate", + "minVersionRequired": "1.2104.0.1", + "minOemVersionRequired": "2.0.1908.0", + "installedDate": "9999-12-31T11:59:59.99999999Z" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/HealthCheck.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/HealthCheck.json new file mode 100644 index 000000000000..523dc75c5b80 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/HealthCheck.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "api-version": "2021-07-01" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com//subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1/updateRuns/407d9b8f-debf-4058-b374-a94a1bb4de30" + }, + "body": { + "id": "/subscriptions/3c2a4c80-e594-46eb-b923-98fd98d50155/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180410.1/updateRuns/5495b71f-692c-4580-8dcd-03dc6ce00209", + "name": "5495b71f-692c-4580-8dcd-03dc6ce00209", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "HealthChecking" + }, + "timeStarted": "2021-08-03T08:09:12.8824552Z", + "duration": "PT0S", + "state": "InProgress" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/List.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/List.json new file mode 100644 index 000000000000..681aa7d0341f --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/List.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "api-version": "2016-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.210202.1", + "name": "Microsoft1.0.210202.1 ", + "type": "Microsoft.Update.Admin/updateLocations/updates", + "location": "redmond ", + "tags": {}, + "properties": { + "displayName": "displayName", + "description": "MAS Update 1.2108.0.1", + "version": "1.2108.0.1", + "availabilityType": "online", + "state": "HasPrerequisite", + "releaseLink": "https://aka.ms/azurestackupdate", + "packageSizeInMb": 23345, + "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft1.0.180302.1", + "publisher": "Microsoft", + "packageType": "Infrastructure", + "updatePrerequisites": [ + { + "updateType": "OEM", + "packageName": "OEM HPE 2.0.1709.0", + "version": "2.0.1709.0" + } + ], + "updateStateProperties": { + "progressPercentage": 0, + "notifyMessage": "" + }, + "additionalProperties": "", + "kbLink": "https://aka.ms/azurestackupdate", + "minVersionRequired": "1.2104.0.1", + "minOemVersionRequired": "2.0.1908.0", + "installedDate": "9999-12-31T11:59:59.99999999Z" + } + }, + { + "id": "/subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/OEM2.1.2008.5", + "name": "OEM2.0.1709.1", + "type": "Microsoft.Update.Admin/updateLocations/updates", + "location": "redmond", + "tags": {}, + "properties": { + "displayName": "displayName", + "description": "OEM Update 2.0.1709.1", + "version": "1.2108.0.1", + "availabilityType": "online", + "state": "Downloading", + "releaseLink": "https://aka.ms/azurestackupdate", + "packageSizeInMb": 23345, + "packagePath": "\\\\SU1FileServer\\SU1_Infrastructure_2\\Updates\\Packages\\Microsoft1.0.180302.1", + "publisher": "Microsoft", + "packageType": "OEM", + "updatePrerequisites": [], + "updateStateProperties": { + "progressPercentage": 51, + "notifyMessage": "" + }, + "additionalProperties": "OEMFamily:HPE", + "kbLink": "https://aka.ms/azurestackupdate", + "minVersionRequired": "1.2008.0.43", + "minOemVersionRequired": "2.1.1908.0", + "installedDate": "9999-12-31T11:59:59.99999999Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Prepare.json b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Prepare.json new file mode 100644 index 000000000000..bb7353150536 --- /dev/null +++ b/specification/azsadmin/resource-manager/update/Microsoft.Update.Admin/stable/2021-07-01/examples/Updates/Prepare.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "System.Redmond", + "updateLocation": "Redmond", + "updateName": "Microsoft1.0.180302.1", + "api-version": "2021-07-01" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com//subscriptions/23d66fd1-4743-42ff-b391-e29dc51d799e/resourceGroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180302.1/updateRuns/407d9b8f-debf-4058-b374-a94a1bb4de30" + }, + "body": { + "id": "/subscriptions/3c2a4c80-e594-46eb-b923-98fd98d50155/resourcegroups/System.Redmond/providers/Microsoft.Update.Admin/updateLocations/redmond/updates/Microsoft1.0.180410.1/updateRuns/5495b71f-692c-4580-8dcd-03dc6ce00209", + "name": "5495b71f-692c-4580-8dcd-03dc6ce00209", + "type": "Microsoft.Update.Admin/updateLocations/updates/updateRuns", + "location": "redmond", + "tags": {}, + "properties": { + "progress": { + "name": "Downloading" + }, + "duration": "PT0S", + "state": "InProgress" + } + } + } + } +} diff --git a/specification/azsadmin/resource-manager/update/readme.azsautogen.md b/specification/azsadmin/resource-manager/update/readme.azsautogen.md index 9707ee20776d..c6786f2c4bd9 100644 --- a/specification/azsadmin/resource-manager/update/readme.azsautogen.md +++ b/specification/azsadmin/resource-manager/update/readme.azsautogen.md @@ -61,6 +61,10 @@ input-file: - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/Updates.json - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json + - $(this-folder)/Microsoft.Update.Admin/stable/2021-07-01/Update.json + - $(this-folder)/Microsoft.Update.Admin/stable/2021-07-01/Updates.json + - $(this-folder)/Microsoft.Update.Admin/stable/2021-07-01/UpdateLocations.json + - $(this-folder)/Microsoft.Update.Admin/stable/2021-07-01/UpdateRuns.json ``` diff --git a/specification/azsadmin/resource-manager/update/readme.md b/specification/azsadmin/resource-manager/update/readme.md index 8ffadfe459b3..5aa06e1f9479 100644 --- a/specification/azsadmin/resource-manager/update/readme.md +++ b/specification/azsadmin/resource-manager/update/readme.md @@ -24,7 +24,7 @@ These are the global settings for the Update API. title: UpdateAdminClient description: Update Admin Client openapi-type: arm -tag: package-2016-05-01 +tag: package-2021-07-01 ``` ### Tag: package-2016-05-01 @@ -39,6 +39,18 @@ input-file: - "Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json" ``` +### Tag: package-2021-07-01 + +These settings apply only when `--tag=package-2021-07-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-07-01' +input-file: + - "Microsoft.Update.Admin/stable/2021-07-01/Update.json" + - "Microsoft.Update.Admin/stable/2021-07-01/Updates.json" + - "Microsoft.Update.Admin/stable/2021-07-01/UpdateLocations.json" + - "Microsoft.Update.Admin/stable/2021-07-01/UpdateRuns.json" +``` + --- # Code Generation @@ -65,15 +77,8 @@ This block is updated by an automatic script. Edits may be lost! ``` yaml # 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.Update.Admin/preview/2016-05-01/Update.json - - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/Updates.json - - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/UpdateLocations.json - - $(this-folder)/Microsoft.Update.Admin/preview/2016-05-01/UpdateRuns.json - ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesCreateOrUpdate.json index a23a088045aa..c9508f902d1b 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesCreateOrUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesCreateOrUpdate.json @@ -6,6 +6,7 @@ "databaseName": "KustoDatabase8", "api-version": "2021-08-27", "parameters": { + "kind": "ReadWrite", "location": "westus", "properties": { "softDeletePeriod": "P1D" diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesUpdate.json index 70ce2a3f9acf..6e5ae0de11e1 100644 --- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesUpdate.json +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/examples/KustoDatabasesUpdate.json @@ -6,6 +6,8 @@ "databaseName": "KustoDatabase8", "api-version": "2021-08-27", "parameters": { + "kind": "ReadWrite", + "location": "westus", "properties": { "hotCachePeriod": "P1D" } diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json new file mode 100644 index 000000000000..862172566cfa --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "resourceName": { + "name": "adc1", + "type": "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + } + }, + "responses": { + "200": { + "body": { + "name": "adc1", + "nameAvailable": false, + "message": "Name 'adc1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json new file mode 100644 index 000000000000..59deb2b1c04d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurationsTest", + "api-version": "2022-02-01", + "parameters": { + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "databaseName": "kustodatabase", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/attachedDatabaseConfigurations/attachedDatabaseConfigurationsTest", + "name": "kustoCluster2/attachedDatabaseConfigurationsTest", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/attachedDatabaseConfigurations/attachedDatabaseConfigurationsTest", + "name": "kustoCluster2/attachedDatabaseConfigurationsTest", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + }, + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/attachedDatabaseConfigurations/attachedDatabaseConfigurationsTest", + "name": "kustoCluster2/attachedDatabaseConfigurationsTest", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + }, + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsDelete.json new file mode 100644 index 000000000000..d14ceabed97c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurationsTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsGet.json new file mode 100644 index 000000000000..050e9cd0bf02 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurationsTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/AttachedDatabaseConfigurations/attachedDatabaseConfigurationsTest", + "name": "kustoCluster2/attachedDatabaseConfigurationsTest", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "databaseName": "*", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json new file mode 100644 index 000000000000..b05085ab69e9 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoAttachedDatabaseConfigurationsListByCluster.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/AttachedDatabaseConfigurations/KustoDatabase8", + "name": "kustoCluster2/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2/AttachedDatabaseConfigurations/KustoDatabase9", + "name": "kustoCluster2/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations", + "location": "westus", + "properties": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader", + "databaseName": "db1", + "defaultPrincipalsModificationKind": "Union", + "tableLevelSharingProperties": { + "tablesToInclude": [ + "Table1" + ], + "tablesToExclude": [ + "Table2" + ], + "externalTablesToInclude": [ + "ExternalTable1" + ], + "externalTablesToExclude": [ + "ExternalTable2" + ], + "materializedViewsToInclude": [ + "MaterializedViewTable1" + ], + "materializedViewsToExclude": [ + "MaterializedViewTable2" + ] + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterAddLanguageExtensions.json new file mode 100644 index 000000000000..96d77c3c8961 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterAddLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01", + "languageExtensionsToAdd": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterDetachFollowerDatabases.json new file mode 100644 index 000000000000..5d14678e5eee --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterDetachFollowerDatabases.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01", + "followerDatabaseToRemove": { + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/kustoCluster2", + "attachedDatabaseConfigurationName": "attachedDatabaseConfigurationsTest" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListFollowerDatabases.json new file mode 100644 index 000000000000..339fb29c1d71 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListFollowerDatabases.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower1", + "databaseName": "*" + }, + { + "attachedDatabaseConfigurationName": "attachedDbConfiguration2", + "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/follower4", + "databaseName": "db1" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListLanguageExtensions.json new file mode 100644 index 000000000000..0ae1fe92a3d0 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterListLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..5564a3b5ea01 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/principalAssignments" + }, + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..c7bf05f4058c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..5ccfd9169153 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsGet.json new file mode 100644 index 000000000000..f8fb03e6d8bb --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/PrincipalAssignments", + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsList.json new file mode 100644 index 000000000000..390a79cc80bb --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterPrincipalAssignmentsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "AllDatabasesAdmin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "AllDatabasesViewer", + "principalId": "11112222-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterRemoveLanguageExtensions.json new file mode 100644 index 000000000000..d5ff2a56ed1d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClusterRemoveLanguageExtensions.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01", + "languageExtensionsToRemove": { + "value": [ + { + "languageExtensionName": "PYTHON" + }, + { + "languageExtensionName": "R" + } + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCheckNameAvailability.json new file mode 100644 index 000000000000..124858551016 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01", + "location": "westus", + "clusterName": { + "name": "kustoCluster", + "type": "Microsoft.Kusto/clusters" + } + }, + "responses": { + "200": { + "body": { + "name": "kuskusprod", + "nameAvailable": false, + "message": "Name 'kuskusprod' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCreateOrUpdate.json new file mode 100644 index 000000000000..97d039d49030 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersCreateOrUpdate.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01", + "parameters": { + "location": "westus", + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "enableAutoStop": true, + "publicIPType": "DualStack", + "publicNetworkAccess": "Enabled", + "allowedIpRangeList": [ + "0.0.0.0/0" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster", + "name": "kustoCluster", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "enableAutoStop": true, + "publicIPType": "DualStack", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Disabled", + "allowedIpRangeList": [ + "0.0.0.0/0" + ] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd" + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster", + "name": "kustoCluster", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": true, + "enableDoubleEncryption": false, + "enableAutoStop": true, + "publicIPType": "DualStack", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Disabled", + "allowedIpRangeList": [ + "0.0.0.0/0" + ] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd123" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDelete.json new file mode 100644 index 000000000000..a96922b909ff --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDiagnoseVirtualNetwork.json new file mode 100644 index 000000000000..b35ca2c16f56 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersDiagnoseVirtualNetwork.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "findings": [ + "Outbound dependency 'Storage:443' might not be satisfied (Outbound)" + ] + } + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersGet.json new file mode 100644 index 000000000000..2e8e41ff0e82 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster", + "name": "kustoCluster", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": false, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "enableAutoStop": true, + "publicIPType": "IPv4", + "publicNetworkAccess": "Enabled", + "allowedIpRangeList": [], + "restrictOutboundNetworkAccess": "Enabled", + "allowedFqdnList": [ + "my-stroage.blob.core.windows.net" + ], + "privateEndpointConnections": [ + { + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/Clusters/PrivateEndpointConnections", + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateEndpointConnections/privateEndpointTest", + "properties": { + "provisioningState": "Succeeded", + "groupId": "cluster", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-29T15:06:54.2757906Z" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd123" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersList.json new file mode 100644 index 000000000000..53bcb47e135c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster", + "name": "kustoCluster", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "enableAutoStop": true, + "publicIPType": "DualStack", + "publicNetworkAccess": "Enabled", + "allowedIpRangeList": [], + "restrictOutboundNetworkAccess": "Enabled", + "allowedFqdnList": [ + "my-stroage.blob.core.windows.net" + ], + "privateEndpointConnections": [ + { + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/Clusters/PrivateEndpointConnections", + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateEndpointConnections/privateEndpointTest", + "properties": { + "provisioningState": "Succeeded", + "groupId": "cluster", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + } + } + } + ] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "etag": "abcd123" + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": true, + "enableStreamingIngest": true, + "engineType": "V2", + "publicNetworkAccess": "Enabled", + "publicIPType": "IPv4", + "allowedIpRangeList": [ + "0.0.0.0/0" + ], + "restrictOutboundNetworkAccess": "Disabled", + "privateEndpointConnections": [] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "etag": "abcd123" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListByResourceGroup.json new file mode 100644 index 000000000000..1f405bb3dfa5 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListByResourceGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4", + "name": "KustoClusterRPTest4", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V2", + "publicNetworkAccess": "Enabled", + "restrictOutboundNetworkAccess": "Disabled", + "allowedIpRangeList": [], + "allowedFqdnList": [ + "my-stroage.blob.core.windows.net" + ] + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "etag": "abcd123" + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3", + "name": "KustoClusterRPTest3", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "enableDiskEncryption": true, + "enableStreamingIngest": true, + "engineType": "V3", + "publicNetworkAccess": "Enabled", + "allowedIpRangeList": [ + "0.0.0.0/0" + ], + "provisioningState": "Succeeded", + "restrictOutboundNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "etag": "abcd123" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListResourceSkus.json new file mode 100644 index 000000000000..9f826573c6a2 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListResourceSkus.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D13_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_D14_v2", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L8s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + }, + { + "resourceType": "clusters", + "sku": { + "name": "Standard_L16s", + "tier": "Standard" + }, + "capacity": { + "minimum": 2, + "maximum": 100, + "default": 2, + "scaleType": "automatic" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListSkus.json new file mode 100644 index 000000000000..2f20d0793d4a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersListSkus.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_D13_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "Standard_D14_v2", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L8", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + }, + { + "name": "L16", + "tier": "Standard", + "locations": [ + "West US", + "West Europe" + ], + "locationInfo": [ + { + "location": "West US", + "zones": [ + "1", + "2", + "3" + ] + }, + { + "location": "West Europe", + "zones": [] + } + ] + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStart.json new file mode 100644 index 000000000000..4893b47707ab --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStop.json new file mode 100644 index 000000000000..4893b47707ab --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersUpdate.json new file mode 100644 index 000000000000..a08eacb6f529 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoClustersUpdate.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster2", + "api-version": "2022-02-01", + "If-Match": "*", + "parameters": { + "location": "westus" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "enableStreamingIngest": true, + "enablePurge": true, + "enableAutoStop": true, + "publicIPType": "IPv4", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "restrictOutboundNetworkAccess": "Disabled" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "name": "kustoCluster2", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": true, + "enableAutoStop": true, + "publicIPType": "IPv4", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "restrictOutboundNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd123" + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "name": "kustoCluster2", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": true, + "enableAutoStop": true, + "publicIPType": "IPv4", + "keyVaultProperties": { + "keyVaultUri": "https://dummy.keyvault.com", + "keyName": "keyName", + "keyVersion": "keyVersion" + }, + "engineType": "V3", + "restrictOutboundNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd123" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster2", + "name": "kustoCluster2", + "type": "Microsoft.Kusto/Clusters", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "enableDiskEncryption": false, + "enableStreamingIngest": true, + "enablePurge": true, + "enableAutoStop": true, + "publicIPType": "IPv4", + "engineType": "V3", + "restrictOutboundNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_L8s", + "capacity": 2, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned", + "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4", + "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c", + "userAssignedIdentities": {} + }, + "etag": "abcd123" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionEventGridValidationAsync.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionEventGridValidationAsync.json new file mode 100644 index 000000000000..d9100133439c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionEventGridValidationAsync.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "parameters": { + "dataConnectionName": "dataConnectionTest", + "properties": { + "kind": "EventGrid", + "properties": { + "consumerGroup": "$Default", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "ignoreFirstRecord": false, + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "databaseRouting": "Single" + } + } + } + }, + "responses": { + "200": { + "body": [ + { + "errorMessage": "Database does not exist" + } + ] + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionValidationAsync.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionValidationAsync.json new file mode 100644 index 000000000000..11c3b84d34a0 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionValidationAsync.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "parameters": { + "dataConnectionName": "dataConnectionTest", + "properties": { + "kind": "EventHub", + "properties": { + "consumerGroup": "testConsumerGroup1", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "compression": "None", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON" + } + } + } + }, + "responses": { + "200": { + "body": [ + { + "errorMessage": "Event hub's namespace does not exist" + }, + { + "errorMessage": "Database does not exist" + } + ] + }, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCheckNameAvailability.json new file mode 100644 index 000000000000..aabfa8fe26af --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCheckNameAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "dataConnectionName": { + "name": "DataConnections8", + "type": "Microsoft.Kusto/clusters/databases/dataConnections" + } + }, + "responses": { + "200": { + "body": { + "name": "DataConnections8", + "nameAvailable": false, + "message": "Name 'DataConnections8' is already taken. Please specify a different name.", + "reason": "AlreadyExists" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCreateOrUpdate.json new file mode 100644 index 000000000000..53ed5999ebd3 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsCreateOrUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsDelete.json new file mode 100644 index 000000000000..5c635979ac0e --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridCreateOrUpdate.json new file mode 100644 index 000000000000..fd4da0aa737a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridCreateOrUpdate.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest", + "parameters": { + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "databaseRouting": "Single" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridGet.json new file mode 100644 index 000000000000..9861b786772c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridUpdate.json new file mode 100644 index 000000000000..db3b5847168c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsEventGridUpdate.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest", + "parameters": { + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "databaseRouting": "Single" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsGet.json new file mode 100644 index 000000000000..1b4181634549 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "eventSystemProperties": [], + "compression": "None", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsListByDatabase.json new file mode 100644 index 000000000000..942719d6634c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsListByDatabase.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection8", + "name": "kustoCluster/KustoDatabase8/KustoDataConnection8", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "eventSystemProperties": [], + "compression": "None", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/KustoDataConnection9", + "name": "kustoCluster/KustoDatabase8/KustoDataConnection9", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventGrid", + "properties": { + "ignoreFirstRecord": false, + "storageAccountResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount", + "eventGridResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/teststorageaccount/providers/Microsoft.EventGrid/eventSubscriptions/eventSubscriptionTest", + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest2", + "consumerGroup": "$Default", + "tableName": "TestTable", + "mappingRuleName": "TestMapping", + "dataFormat": "JSON", + "blobStorageEventType": "Microsoft.Storage.BlobCreated", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "managedIdentityObjectId": "87654321-1234-1234-1234-123456789123", + "databaseRouting": "Single", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsUpdate.json new file mode 100644 index 000000000000..60b70680f912 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDataConnectionsUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "dataConnectionName": "dataConnectionTest", + "parameters": { + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/DataConnections/dataConnectionTest", + "name": "kustoCluster/KustoDatabase8/dataConnectionTest", + "type": "Microsoft.Kusto/Clusters/Databases/DataConnections", + "location": "westus", + "kind": "EventHub", + "properties": { + "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1", + "managedIdentityResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.ManagedIdentity/userAssignedIdentities/managedidentityTest1", + "consumerGroup": "testConsumerGroup1", + "compression": "None" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseAddPrincipals.json new file mode 100644 index 000000000000..1d6a39226641 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseAddPrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "databasePrincipalsToAdd": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseListPrincipals.json new file mode 100644 index 000000000000..62b555fd09bf --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseListPrincipals.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json new file mode 100644 index 000000000000..5efbb7d159bd --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "principalAssignmentName": { + "name": "kustoprincipal1", + "type": "Microsoft.Kusto/clusters/databases/principalAssignments" + }, + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "name": "kustoprincipal1", + "nameAvailable": false, + "message": "Name 'kustoprincipal1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json new file mode 100644 index 000000000000..03b60f149d82 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsDelete.json new file mode 100644 index 000000000000..29af8f6f8af0 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsGet.json new file mode 100644 index 000000000000..57ab8085e888 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "principalAssignmentName": "kustoprincipal1", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsList.json new file mode 100644 index 000000000000..24dde9472c15 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasePrincipalAssignmentsList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal1", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Viewer", + "principalId": "11223344-1234-1234-1234-123456789999", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1", + "name": "kustoCluster/Kustodatabase8/kustoprincipal2", + "type": "Microsoft.Kusto/Clusters/Databases/PrincipalAssignments", + "properties": { + "role": "Admin", + "principalId": "87654321-1234-1234-1234-123456789123", + "principalType": "App", + "tenantId": "12345678-1234-1234-1234-123456789123", + "tenantName": "tenantName", + "principalName": "TestApp", + "provisioningState": "Succeeded", + "aadObjectId": "98765432-1234-1234-1234-123456789123" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseReadonlyUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseReadonlyUpdate.json new file mode 100644 index 000000000000..565a24bffcf5 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseReadonlyUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "kustoReadOnlyDatabase", + "api-version": "2022-02-01", + "parameters": { + "location": "westus", + "kind": "ReadOnlyFollowing", + "properties": { + "hotCachePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/kustoReadOnlyDatabase", + "name": "kustoCluster/kustoReadOnlyDatabase", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadOnlyFollowing", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/kustoReadOnlyDatabase", + "name": "kustoCluster/kustoReadOnlyDatabase", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadOnlyFollowing", + "properties": { + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/kustoReadOnlyDatabase", + "name": "kustoCluster/kustoReadOnlyDatabase", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadOnlyFollowing", + "properties": { + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseRemovePrincipals.json new file mode 100644 index 000000000000..80a7157a8d7f --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabaseRemovePrincipals.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "databasePrincipalsToRemove": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Some User", + "role": "Admin", + "type": "User", + "fqn": "aaduser=some_guid", + "email": "user@microsoft.com", + "appId": "" + }, + { + "name": "Kusto", + "role": "Viewer", + "type": "Group", + "fqn": "aadgroup=some_guid", + "email": "kusto@microsoft.com", + "appId": "" + }, + { + "name": "SomeApp", + "role": "Admin", + "type": "App", + "fqn": "aadapp=some_guid_app_id", + "email": "", + "appId": "some_guid_app_id" + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCheckNameAvailability.json new file mode 100644 index 000000000000..43737c56974f --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "resourceName": { + "name": "database1", + "type": "Microsoft.Kusto/clusters/databases" + } + }, + "responses": { + "200": { + "body": { + "name": "database1", + "nameAvailable": false, + "message": "Name 'database1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCreateOrUpdate.json new file mode 100644 index 000000000000..dc944835d819 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesCreateOrUpdate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "parameters": { + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus" + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesDelete.json new file mode 100644 index 000000000000..be74b1557632 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesGet.json new file mode 100644 index 000000000000..af724bf0cc4e --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "softDeletePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesListByCluster.json new file mode 100644 index 000000000000..954607a7e568 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesListByCluster.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "softDeletePeriod": "P1D", + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase9", + "name": "kustoCluster/KustoDatabase9", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadOnlyFollowing", + "properties": { + "softDeletePeriod": "P1D", + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesUpdate.json new file mode 100644 index 000000000000..eab4e336cf25 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoDatabasesUpdate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "api-version": "2022-02-01", + "parameters": { + "kind": "ReadWrite", + "properties": { + "hotCachePeriod": "P1D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "kind": "ReadWrite", + "location": "westus", + "properties": { + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8", + "name": "kustoCluster/KustoDatabase8", + "type": "Microsoft.Kusto/Clusters/Databases", + "location": "westus", + "kind": "ReadWrite", + "properties": { + "hotCachePeriod": "P1D", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCheckNameAvailability.json new file mode 100644 index 000000000000..efb9aaf93d07 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "resourceName": { + "name": "pme1", + "type": "Microsoft.Kusto/clusters/managedPrivateEndpoints" + } + }, + "responses": { + "200": { + "body": { + "name": "pme1", + "nameAvailable": false, + "message": "Name 'pme1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCreateOrUpdate.json new file mode 100644 index 000000000000..e6b27a7696de --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsCreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "managedPrivateEndpointName": "managedPrivateEndpointTest", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsDelete.json new file mode 100644 index 000000000000..05d8f34bad8e --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "managedPrivateEndpointName": "managedPrivateEndpointTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsGet.json new file mode 100644 index 000000000000..8c0d5a686983 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "managedPrivateEndpointName": "managedPrivateEndpointTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsList.json new file mode 100644 index 000000000000..afae14c303ef --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/kustoManagedPrivateEndpoint1", + "name": "kustoCluster/KustoDatabase8/kustomanagedPrivateEndpoint1", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve." + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/kustoManagedPrivateEndpoint2", + "name": "kustoCluster/KustoDatabase8/kustomanagedPrivateEndpoint2", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHubs/storageAccounts/eventHubTest", + "groupId": "namespace", + "requestMessage": "Please Approve." + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsUpdate.json new file mode 100644 index 000000000000..f526eef2cb70 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoManagedPrivateEndpointsUpdate.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "managedPrivateEndpointName": "managedPrivateEndpointTest", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve Managed Private Endpoint Request." + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve Managed Private Endpoint Request." + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/ManagedPrivateEndpoints/managedPrivateEndpointTest", + "name": "kustoCluster/KustoDatabase8/managedPrivateEndpointTest", + "type": "Microsoft.Kusto/Clusters/ManagedPrivateEndpoints", + "properties": { + "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Storage/storageAccounts/storageAccountTest", + "groupId": "blob", + "requestMessage": "Please Approve Managed Private Endpoint Request." + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsGet.json new file mode 100644 index 000000000000..d85a0bdbc39a --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "location": "westus", + "operationId": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationresults/30972f1b-b61d-4fd8-bd34-3dcfa24670f3", + "name": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3", + "status": "Failed", + "startTime": "2020-10-26T13:45:39.6554616Z", + "endTime": "2020-10-26T13:45:42.7025301Z", + "percentComplete": 1.0, + "properties": { + "operationKind": "FollowerDatabaseCreate", + "operationState": "BadInput" + }, + "error": { + "code": "CannotAlterFollowerDatabase", + "message": "[BadRequest] Cannot alter leader cluster 'test' for resource name 'adc'." + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsOperationResultResponseTypeGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsOperationResultResponseTypeGet.json new file mode 100644 index 000000000000..f98af9b512ab --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationResultsOperationResultResponseTypeGet.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "location": "westus", + "operationId": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationsList.json new file mode 100644 index 000000000000..b35c9a472949 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "operationName", + "display": { + "provider": "providerName", + "resource": "resourceName", + "operation": "operationName", + "description": "operation description" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOutboundNetworkDependenciesList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOutboundNetworkDependenciesList.json new file mode 100644 index 000000000000..23bc2e87fa5e --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoOutboundNetworkDependenciesList.json @@ -0,0 +1,188 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/OutboundNetworkDependenciesEndpoints/AzureActiveDirectory", + "name": "kustoCluster/AzureActiveDirectory", + "type": "Microsoft.Kusto/Clusters/OutboundNetworkDependenciesEndpoints", + "properties": { + "category": "Azure Active Directory", + "endpoints": [ + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "graph.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "graph.microsoft.com", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "graph.microsoft-ppe.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/OutboundNetworkDependenciesEndpoints/AzureMonitor", + "name": "kustoCluster/AzureMonitor", + "type": "Microsoft.Kusto/Clusters/OutboundNetworkDependenciesEndpoints", + "properties": { + "category": "Azure Monitor", + "endpoints": [ + { + "domainName": "prod.warmpath.msftcloudes.com", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "gcs.prod.monitoring.core.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "production.diagnostics.monitoring.core.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "shoebox2.metrics.nsatc.net:443", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/OutboundNetworkDependenciesEndpoints/CertificateAuthority", + "name": "kustoCluster/CertificateAuthority", + "type": "Microsoft.Kusto/Clusters/OutboundNetworkDependenciesEndpoints", + "properties": { + "category": "Certificate Authority", + "endpoints": [ + { + "domainName": "ocsp.msocsp.com", + "endpointDetails": [ + { + "port": 80 + } + ] + }, + { + "domainName": "ocsp.digicert.com", + "endpointDetails": [ + { + "port": 80 + } + ] + }, + { + "domainName": "crl3.digicert.com", + "endpointDetails": [ + { + "port": 80 + } + ] + }, + { + "domainName": "crl.microsoft.com", + "endpointDetails": [ + { + "port": 80 + } + ] + }, + { + "domainName": "www.microsoft.com", + "endpointDetails": [ + { + "port": 80 + } + ] + } + ], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/OutboundNetworkDependenciesEndpoints/AzureStorage", + "name": "kustoCluster/AzureStorage", + "type": "Microsoft.Kusto/Clusters/OutboundNetworkDependenciesEndpoints", + "properties": { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "clusterinternalsa.blob.core.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "clusterinternalsa.queue.core.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "clusterinternalsa.table.core.windows.net", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json new file mode 100644 index 000000000000..e8eebb9c3cf6 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoclusterrptest4", + "privateEndpointConnectionName": "privateEndpointTest", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/privateEndpointConnections/privateEndpointTest", + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/clusters/privateEndpointConnections", + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/privateEndpointConnections/privateEndpointTest", + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/clusters/privateEndpointConnections", + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..fdffe125bf3b --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "privateEndpointConnectionName": "privateEndpointTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..cbf80d9834bd --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "privateEndpointConnectionName": "privateEndpointTest", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateEndpointConnections/privateEndpointTest", + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/clusters/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "cluster", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..17ec9d18c235 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateEndpointConnectionsList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateEndpointConnections/privateEndpointTest", + "name": "privateEndpointTest", + "type": "Microsoft.Kusto/clusters/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "cluster", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateEndpointConnections/privateEndpointTest2", + "name": "privateEndpointTest2", + "type": "Microsoft.Kusto/clusters/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/rg1Network/providers/Microsoft.Network/privateEndpoints/privateEndpointName2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-approved", + "actionsRequired": "None" + }, + "groupId": "cluster", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesGet.json new file mode 100644 index 000000000000..497524a51364 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "privateLinkResourceName": "cluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateLinkResources/cluster", + "name": "cluster", + "type": "Microsoft.Kusto/clusters/PrivateLinkResources", + "properties": { + "groupId": "cluster", + "requiredMembers": [ + "Engine", + "DataManagement", + "blob-ne3kstrldkustoCluster00", + "queue-ne3kstrldkustoCluster00", + "table-ne3kstrldkustoCluster00", + "blob-qmukstrldkustoCluster01", + "queue-qmukstrldkustoCluster01", + "table-qmukstrldkustoCluster01" + ], + "requiredZoneNames": [ + "privatelink.westus2.kusto.windows.net", + "privatelink.blob.core.windows.net", + "privatelink.queue.core.windows.net", + "privatelink.table.core.windows.net" + ] + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesList.json new file mode 100644 index 000000000000..a1cda863b86d --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoPrivateLinkResourcesList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/privateLinkResources/cluster", + "name": "cluster", + "type": "Microsoft.Kusto/clusters/PrivateLinkResources", + "properties": { + "groupId": "cluster", + "requiredMembers": [ + "Engine", + "DataManagement", + "blob-ne3kstrldkustoCluster00", + "queue-ne3kstrldkustoCluster00", + "table-ne3kstrldkustoCluster00", + "blob-qmukstrldkustoCluster01", + "queue-qmukstrldkustoCluster01", + "table-qmukstrldkustoCluster01" + ], + "requiredZoneNames": [ + "privatelink.westus2.kusto.windows.net", + "privatelink.blob.core.windows.net", + "privatelink.queue.core.windows.net", + "privatelink.table.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCheckNameAvailability.json new file mode 100644 index 000000000000..873e88c246f1 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCheckNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "api-version": "2022-02-01", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "db", + "scriptName": { + "name": "kustoScriptName1", + "type": "Microsoft.Kusto/clusters/databases/scripts" + } + }, + "responses": { + "200": { + "body": { + "name": "kustoScriptName1", + "nameAvailable": false, + "message": "Name 'kustoScriptName1' is already taken. Please specify a different name" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCreateOrUpdate.json new file mode 100644 index 000000000000..aaba5df68de5 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsCreateOrUpdate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "scriptName": "kustoScript", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "scriptUrlSasToken": "?sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=********************************", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/Scripts/kustoScript", + "name": "kustoCluster/KustoDatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user2@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-01T17:16:24.3644126Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/Scripts/kustoScript", + "name": "kustoCluster/KustoDatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-29T15:06:54.2757906Z" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/Scripts/kustoScript", + "name": "kustoCluster/KustoDatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user2@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-01T17:16:24.3644126Z" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsDelete.json new file mode 100644 index 000000000000..0d5997a7fcd8 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "scriptName": "kustoScript", + "api-version": "2022-02-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsGet.json new file mode 100644 index 000000000000..96fe5155aa37 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "scriptName": "kustoScript", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/Scripts/kustoScript", + "name": "kustoCluster/Kustodatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-29T15:06:54.2757906Z" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsListByDatabase.json new file mode 100644 index 000000000000..b3ce8be1174c --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsListByDatabase.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "Kustodatabase8", + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/Scripts/kustoScript1", + "name": "kustoCluster/Kustodatabase8/kustoScript1", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-29T15:06:54.2757906Z" + } + }, + { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/Kustodatabase8/Scripts/kustoScript2", + "name": "kustoCluster/Kustodatabase8/kustoScript2", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script2.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user2@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-06-30T16:07:55.2831451Z" + } + } + ] + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsUpdate.json new file mode 100644 index 000000000000..358d3f52e599 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/examples/KustoScriptsUpdate.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-1234-123456789098", + "resourceGroupName": "kustorptest", + "clusterName": "kustoCluster", + "databaseName": "KustoDatabase8", + "scriptName": "kustoScript", + "api-version": "2022-02-01", + "parameters": { + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "scriptUrlSasToken": "?sv=2019-02-02&st=2019-04-29T22%3A18%3A26Z&se=2019-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=********************************", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/Scripts/kustoScript", + "name": "kustoCluster/KustoDatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user2@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-01T17:16:24.3644126Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/12345678-1234-1234-1234-123456789098/providers/Microsoft.Kusto/locations/westus/operationResults/742bef43-608b-4b58-ba96-6f7a32ec5f0f?api-version=2021-02-01" + }, + "body": { + "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoCluster/Databases/KustoDatabase8/Scripts/kustoScript", + "name": "kustoCluster/KustoDatabase8/kustoScript", + "type": "Microsoft.Kusto/Clusters/Databases/Scripts", + "properties": { + "scriptUrl": "https://mysa.blob.core.windows.net/container/script.txt", + "forceUpdateTag": "2bcf3c21-ffd1-4444-b9dd-e52e00ee53fe", + "continueOnErrors": true + }, + "systemData": { + "createdBy": "user@microsoft.com", + "createdByType": "User", + "createdAt": "2021-06-29T15:06:54.2757906Z", + "lastModifiedBy": "user2@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-01T17:16:24.3644126Z" + } + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/kusto.json new file mode 100644 index 000000000000..35089103ded6 --- /dev/null +++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2022-02-01/kusto.json @@ -0,0 +1,6309 @@ +{ + "swagger": "2.0", + "info": { + "title": "KustoManagementClient", + "version": "2022-02-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "x-ms-examples": { + "KustoClustersGet": { + "$ref": "./examples/KustoClustersGet.json" + } + }, + "description": "Gets a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CreateOrUpdate", + "x-ms-examples": { + "KustoClustersCreateOrUpdate": { + "$ref": "./examples/KustoClustersCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create or update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Cluster" + }, + "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new cluster to be created, but to prevent updating an existing cluster. Other values will result in a 412 Pre-condition Failed response." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully created the cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "x-ms-examples": { + "KustoClustersUpdate": { + "$ref": "./examples/KustoClustersUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Update a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterUpdate" + }, + "description": "The Kusto cluster parameters supplied to the Update operation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Cluster.", + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "201": { + "description": "Successfully updated the cluster.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "202": { + "description": "Successfully updated the cluster.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Cluster" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "x-ms-examples": { + "KustoClustersDelete": { + "$ref": "./examples/KustoClustersDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- cluster deleted successfully." + }, + "202": { + "description": "Accepted the delete cluster request." + }, + "204": { + "description": "NoContent -- cluster does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Stop", + "x-ms-examples": { + "KustoClustersStop": { + "$ref": "./examples/KustoClustersStop.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Stops a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Start", + "x-ms-examples": { + "KustoClustersStart": { + "$ref": "./examples/KustoClustersStart.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Starts a Kusto cluster.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCheckNameAvailability": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the principal assignment name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the principal assignment." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Get", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsGet": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster principal assignment object.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Create a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The Kusto cluster principalAssignment's parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignment.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_Delete", + "x-ms-examples": { + "KustoClusterPrincipalAssignmentsDelete": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto cluster principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": { + "get": { + "tags": [ + "ClusterPrincipalAssignments" + ], + "operationId": "ClusterPrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterPrincipalAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.", + "operationId": "Clusters_ListFollowerDatabases", + "x-ms-examples": { + "KustoClusterListFollowerDatabases": { + "$ref": "./examples/KustoClusterListFollowerDatabases.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of followed databases.", + "schema": { + "$ref": "#/definitions/FollowerDatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Detaches all followers of a database owned by this cluster.", + "operationId": "Clusters_DetachFollowerDatabases", + "x-ms-examples": { + "KustoClusterDetachFollowerDatabases": { + "$ref": "./examples/KustoClusterDetachFollowerDatabases.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "followerDatabaseToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The follower databases properties to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.", + "operationId": "Clusters_DiagnoseVirtualNetwork", + "x-ms-examples": { + "KustoClusterDiagnoseVirtualNetwork": { + "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DiagnoseVirtualNetworkResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "x-ms-examples": { + "KustoClustersListByResourceGroup": { + "$ref": "./examples/KustoClustersListByResourceGroup.json" + } + }, + "description": "Lists all Kusto clusters within a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "KustoClustersList": { + "$ref": "./examples/KustoClustersList.json" + } + }, + "description": "Lists all Kusto clusters within a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ClusterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": { + "get": { + "description": "Lists eligible SKUs for Kusto resource provider.", + "x-ms-examples": { + "KustoClustersListSkus": { + "$ref": "./examples/KustoClustersListSkus.json" + } + }, + "operationId": "Clusters_ListSkus", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuDescriptionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_CheckNameAvailability", + "x-ms-examples": { + "KustoClustersCheckNameAvailability": { + "$ref": "./examples/KustoClustersCheckNameAvailability.json" + } + }, + "description": "Checks that the cluster name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "clusterName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCheckNameRequest" + }, + "description": "The name of the cluster." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabasesCheckNameAvailability": { + "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" + } + }, + "description": "Checks that the databases resource name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurationCheckNameAvailability": { + "post": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "operationId": "AttachedDatabaseConfigurations_CheckNameAvailability", + "x-ms-examples": { + "KustoAttachedDatabaseConfigurationCheckNameAvailability": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json" + } + }, + "description": "Checks that the attached database configuration resource name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfigurationsCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpointsCheckNameAvailability": { + "post": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_CheckNameAvailability", + "x-ms-examples": { + "KustoManagedPrivateEndpointsCheckNameAvailability": { + "$ref": "./examples/KustoManagedPrivateEndpointsCheckNameAvailability.json" + } + }, + "description": "Checks that the managed private endpoints resource name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointsCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListSkusByResource", + "x-ms-examples": { + "KustoClustersListResourceSkus": { + "$ref": "./examples/KustoClustersListResourceSkus.json" + } + }, + "description": "Returns the SKUs available for the provided resource.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ListResourceSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns the list of databases of the given Kusto cluster.", + "operationId": "Databases_ListByCluster", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDatabasesListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of databases.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": { + "get": { + "tags": [ + "Databases" + ], + "description": "Returns a database.", + "operationId": "Databases_Get", + "x-ms-examples": { + "KustoDatabasesGet": { + "$ref": "./examples/KustoDatabasesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Databases" + ], + "description": "Creates or updates a database.", + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "Kusto ReadWrite database create or update": { + "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" + }, + "Kusto ReadOnly database update": { + "$ref": "./examples/KustoDatabaseReadonlyUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Databases" + ], + "description": "Updates a database.", + "operationId": "Databases_Update", + "x-ms-examples": { + "KustoDatabasesUpdate": { + "$ref": "./examples/KustoDatabasesUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The database parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Successfully updated the database.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted the update database request.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "description": "Deletes the database with the given name.", + "operationId": "Databases_Delete", + "x-ms-examples": { + "KustoDatabasesDelete": { + "$ref": "./examples/KustoDatabasesDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified database does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": { + "post": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CheckNameAvailability", + "x-ms-examples": { + "KustoDatabaseCheckNameAvailability": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json" + } + }, + "description": "Checks that the database principal assignment is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "principalAssignmentName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Get", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsGet": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json" + } + }, + "description": "Gets a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster database principal assignment object.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_CreateOrUpdate", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsCreateOrUpdate": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto cluster database principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The Kusto principalAssignments parameters supplied for the operation." + } + ], + "responses": { + "200": { + "description": "Successfully updated the PrincipalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "201": { + "description": "Successfully created the principalAssignments.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_Delete", + "x-ms-examples": { + "KustoDatabasePrincipalAssignmentsDelete": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/PrincipalAssignmentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- principalAssignments deleted successfully." + }, + "202": { + "description": "Accepted the delete principalAssignments request." + }, + "204": { + "description": "NoContent -- principalAssignments does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": { + "get": { + "tags": [ + "DatabasePrincipalAssignments" + ], + "operationId": "DatabasePrincipalAssignments_List", + "x-ms-examples": { + "KustoPrincipalAssignmentsList": { + "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json" + } + }, + "description": "Lists all Kusto cluster database principalAssignments.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "description": "Returns a list of database principals of the given Kusto cluster and database.", + "operationId": "Databases_ListPrincipals", + "x-ms-examples": { + "KustoDatabaseListPrincipals": { + "$ref": "./examples/KustoDatabaseListPrincipals.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of database principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_AddPrincipals", + "x-ms-examples": { + "KustoDatabaseAddPrincipals": { + "$ref": "./examples/KustoDatabaseAddPrincipals.json" + } + }, + "description": "Add Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to add." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts": { + "get": { + "tags": [ + "scripts" + ], + "operationId": "Scripts_ListByDatabase", + "x-ms-examples": { + "KustoScriptsList": { + "$ref": "./examples/KustoScriptsListByDatabase.json" + } + }, + "description": "Returns the list of database scripts for given database.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list result of Kusto database scripts.", + "schema": { + "$ref": "#/definitions/ScriptListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}": { + "get": { + "tags": [ + "Scripts" + ], + "operationId": "Scripts_Get", + "x-ms-examples": { + "KustoScriptsGet": { + "$ref": "./examples/KustoScriptsGet.json" + } + }, + "description": "Gets a Kusto cluster database script.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Kusto cluster database script object.", + "schema": { + "$ref": "#/definitions/Script" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Scripts" + ], + "operationId": "Scripts_CreateOrUpdate", + "x-ms-examples": { + "KustoScriptsCreateOrUpdate": { + "$ref": "./examples/KustoScriptsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto database script.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Script" + }, + "description": "The Kusto Script parameters contains the KQL to run." + } + ], + "responses": { + "200": { + "description": "Successfully updated the Script.", + "schema": { + "$ref": "#/definitions/Script" + } + }, + "201": { + "description": "Successfully created the script.", + "schema": { + "$ref": "#/definitions/Script" + } + }, + "202": { + "description": "Successfully accepted the Script.", + "schema": { + "$ref": "#/definitions/Script" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Scripts" + ], + "operationId": "Scripts_Update", + "x-ms-examples": { + "KustoScriptsUpdate": { + "$ref": "./examples/KustoScriptsUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Updates a database script.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Script" + }, + "description": "The Kusto Script parameters contains to the KQL to run." + } + ], + "responses": { + "200": { + "description": "Successfully updated the database script.", + "schema": { + "$ref": "#/definitions/Script" + } + }, + "202": { + "description": "Accepted the update request of the database script.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Script" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Scripts" + ], + "operationId": "Scripts_Delete", + "x-ms-examples": { + "KustoScriptsDelete": { + "$ref": "./examples/KustoScriptsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Script deleted successfully." + }, + "202": { + "description": "Accepted the delete Script request." + }, + "204": { + "description": "NoContent -- If the Script resource is already deleted, this is the expected status code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints": { + "get": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_List", + "x-ms-examples": { + "KustoManagedPrivateEndpointsList": { + "$ref": "./examples/KustoManagedPrivateEndpointsList.json" + } + }, + "description": "Returns the list of managed private endpoints.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list result of managed private endpoints.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}": { + "get": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Get", + "x-ms-examples": { + "KustoManagedPrivateEndpointsGet": { + "$ref": "./examples/KustoManagedPrivateEndpointsGet.json" + } + }, + "description": "Gets a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The managed private endpoint object.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_CreateOrUpdate", + "x-ms-examples": { + "KustoManagedPrivateEndpointsCreateOrUpdate": { + "$ref": "./examples/KustoManagedPrivateEndpointsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The managed private endpoint parameters." + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "201": { + "description": "Successfully created the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "202": { + "description": "Successfully accepted the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Update", + "x-ms-examples": { + "KustoManagedPrivateEndpointsUpdate": { + "$ref": "./examples/KustoManagedPrivateEndpointsUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Updates a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The managed private endpoint parameters." + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "202": { + "description": "Accepted the update request of the managed private endpoint.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Delete", + "x-ms-examples": { + "ManagedPrivateEndpointsDelete": { + "$ref": "./examples/KustoManagedPrivateEndpointsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- managed private endpoint deleted successfully." + }, + "202": { + "description": "Accepted the delete managed private endpoint request." + }, + "204": { + "description": "NoContent -- If the managed private endpoint resource is already deleted, this is the expected status code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "KustoPrivateEndpointConnectionsList": { + "$ref": "./examples/KustoPrivateEndpointConnectionsList.json" + } + }, + "description": "Returns the list of private endpoint connections.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list result of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Accepted. The private endpoint connection update will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the private endpoint connection." + }, + "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/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Returns the list of private link resources.", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "Gets private endpoint connections.": { + "$ref": "./examples/KustoPrivateLinkResourcesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets a private link resource.", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/KustoPrivateLinkResourcesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "OutboundNetworkDependenciesEndpoints" + ], + "operationId": "Clusters_ListOutboundNetworkDependenciesEndpoints", + "x-ms-examples": { + "Get Kusto cluster outbound network dependencies": { + "$ref": "./examples/KustoOutboundNetworkDependenciesList.json" + } + }, + "description": "Gets the network endpoints of all outbound dependencies of a Kusto cluster", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundNetworkDependenciesEndpointListResult" + } + }, + "default": { + "description": "Error from the RP", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns the list of attached database configurations of the given Kusto cluster.", + "operationId": "AttachedDatabaseConfigurations_ListByCluster", + "x-ms-examples": { + "KustoAttachedDatabaseConfigurationsListByCluster": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of attached database configurations.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_Get", + "x-ms-examples": { + "AttachedDatabaseConfigurationsGet": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified attached database configuration.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Creates or updates an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate", + "x-ms-examples": { + "AttachedDatabaseConfigurationsCreateOrUpdate": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The database parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Deletes the attached database configuration with the given name.", + "operationId": "AttachedDatabaseConfigurations_Delete", + "x-ms-examples": { + "AttachedDatabaseConfigurationsDelete": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified database does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_RemovePrincipals", + "x-ms-examples": { + "KustoDatabaseRemovePrincipals": { + "$ref": "./examples/KustoDatabaseRemovePrincipals.json" + } + }, + "description": "Remove Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to remove." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns the list of data connections of the given Kusto database.", + "operationId": "DataConnections_ListByDatabase", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDataConnectionsListByDatabase.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of data connections.", + "schema": { + "$ref": "#/definitions/DataConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_dataConnectionValidation", + "x-ms-examples": { + "KustoDataConnectionValidation": { + "$ref": "./examples/KustoDataConnectionValidationAsync.json" + }, + "KustoDataConnectionEventGridValidation": { + "$ref": "./examples/KustoDataConnectionEventGridValidationAsync.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Checks that the data connection parameters are valid.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionValidation" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/DataConnectionValidationListResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_CheckNameAvailability", + "x-ms-examples": { + "KustoDataConnectionsCheckNameAvailability": { + "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json" + } + }, + "description": "Checks that the data connection name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "dataConnectionName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionCheckNameRequest" + }, + "description": "The name of the data connection." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the Kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scriptsCheckNameAvailability": { + "post": { + "tags": [ + "Scripts" + ], + "operationId": "Scripts_CheckNameAvailability", + "x-ms-examples": { + "KustoScriptsCheckNameAvailability": { + "$ref": "./examples/KustoScriptsCheckNameAvailability.json" + } + }, + "description": "Checks that the script name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "scriptName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScriptCheckNameRequest" + }, + "description": "The name of the script." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the Kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns a data connection.", + "operationId": "DataConnections_Get", + "x-ms-examples": { + "KustoDataConnectionsGet": { + "$ref": "./examples/KustoDataConnectionsGet.json" + }, + "KustoDataConnectionsEventGridGet": { + "$ref": "./examples/KustoDataConnectionsEventGridGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "DataConnections" + ], + "description": "Creates or updates a data connection.", + "operationId": "DataConnections_CreateOrUpdate", + "x-ms-examples": { + "KustoDataConnectionsCreateOrUpdate": { + "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json" + }, + "KustoDataConnectionsEventGridCreateOrUpdate": { + "$ref": "./examples/KustoDataConnectionsEventGridCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully created the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the create data connection request.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DataConnections" + ], + "description": "Updates a data connection.", + "operationId": "DataConnections_Update", + "x-ms-examples": { + "KustoDataConnectionsUpdate": { + "$ref": "./examples/KustoDataConnectionsUpdate.json" + }, + "KustoDataConnectionsEventGridUpdate": { + "$ref": "./examples/KustoDataConnectionsEventGridUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully updated the data connection.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the update data connection request.", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DataConnections" + ], + "description": "Deletes the data connection with the given name.", + "operationId": "DataConnections_Delete", + "x-ms-examples": { + "KustoDataConnectionsDelete": { + "$ref": "./examples/KustoDataConnectionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the data connection." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified data connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.Kusto/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "KustoOperationsList": { + "$ref": "./examples/KustoOperationsList.json" + } + }, + "description": "Lists available operations for the Microsoft.Kusto provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_ListLanguageExtensions", + "x-ms-examples": { + "KustoClusterListLanguageExtensions": { + "$ref": "./examples/KustoClusterListLanguageExtensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of language extensions.", + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Add a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_AddLanguageExtensions", + "x-ms-examples": { + "KustoClusterAddLanguageExtensions": { + "$ref": "./examples/KustoClusterAddLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToAdd", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to add." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Remove a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_RemoveLanguageExtensions", + "x-ms-examples": { + "KustoClusterRemoveLanguageExtensions": { + "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "languageExtensionsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to remove." + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}": { + "get": { + "tags": [ + "OperationResults" + ], + "description": "Returns operation results.", + "operationId": "OperationsResults_Get", + "x-ms-examples": { + "KustoOperationResultsGet": { + "$ref": "./examples/KustoOperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the operation result.", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "x-ms-paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationResults/{operationId}?operationResultResponseType=Location": { + "get": { + "tags": [ + "OperationResults" + ], + "description": "Returns operation results.", + "operationId": "OperationsResultsLocation_Get", + "x-ms-examples": { + "KustoOperationsResultsLocationGet": { + "$ref": "./examples/KustoOperationResultsOperationResultResponseTypeGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the operation result." + }, + "202": { + "description": "Operation is still in progress." + }, + "default": { + "description": "The long running operation failed." + } + } + } + } + }, + "definitions": { + "ClusterProperties": { + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the resource.", + "enum": [ + "Creating", + "Unavailable", + "Running", + "Deleting", + "Deleted", + "Stopping", + "Stopped", + "Starting", + "Updating" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "uri": { + "type": "string", + "readOnly": true, + "description": "The cluster URI." + }, + "dataIngestionUri": { + "type": "string", + "readOnly": true, + "description": "The cluster data ingestion URI." + }, + "stateReason": { + "type": "string", + "readOnly": true, + "description": "The reason for the cluster's current state." + }, + "trustedExternalTenants": { + "type": "array", + "items": { + "$ref": "#/definitions/TrustedExternalTenant" + }, + "description": "The cluster's external tenants." + }, + "optimizedAutoscale": { + "type": "object", + "$ref": "#/definitions/OptimizedAutoscale", + "description": "Optimized auto scale definition." + }, + "enableDiskEncryption": { + "description": "A boolean value that indicates if the cluster's disks are encrypted.", + "default": false, + "type": "boolean" + }, + "enableStreamingIngest": { + "description": "A boolean value that indicates if the streaming ingest is enabled.", + "default": false, + "type": "boolean" + }, + "virtualNetworkConfiguration": { + "type": "object", + "$ref": "#/definitions/VirtualNetworkConfiguration", + "description": "Virtual network definition." + }, + "keyVaultProperties": { + "type": "object", + "$ref": "#/definitions/KeyVaultProperties", + "description": "KeyVault properties for the cluster encryption." + }, + "enablePurge": { + "description": "A boolean value that indicates if the purge operations are enabled.", + "default": false, + "type": "boolean" + }, + "languageExtensions": { + "type": "object", + "$ref": "#/definitions/LanguageExtensionsList", + "readOnly": true, + "description": "List of the cluster's language extensions." + }, + "enableDoubleEncryption": { + "description": "A boolean value that indicates if double encryption is enabled.", + "default": false, + "type": "boolean" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "allowedIpRangeList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of ips in the format of CIDR allowed to connect to the cluster." + }, + "engineType": { + "type": "string", + "description": "The engine type", + "enum": [ + "V2", + "V3" + ], + "x-ms-enum": { + "name": "EngineType", + "modelAsString": true + }, + "default": "V3" + }, + "acceptedAudiences": { + "type": "array", + "items": { + "$ref": "#/definitions/AcceptedAudiences" + }, + "description": "The cluster's accepted audiences." + }, + "enableAutoStop": { + "description": "A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days).", + "default": true, + "type": "boolean" + }, + "restrictOutboundNetworkAccess": { + "description": "Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ClusterNetworkAccessFlag", + "modelAsString": true + }, + "default": "Disabled" + }, + "allowedFqdnList": { + "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.", + "type": "array", + "items": { + "description": "FQDN to be allowed for egress. Example: my-storageaccount.blob.core.windows.net", + "type": "string" + } + }, + "publicIPType": { + "description": "Indicates what public IP type to create - IPv4 (default), or DualStack (both IPv4 and IPv6)", + "enum": [ + "IPv4", + "DualStack" + ], + "type": "string", + "x-ms-enum": { + "name": "publicIPType", + "modelAsString": true + }, + "default": "IPv4" + }, + "virtualClusterGraduationProperties": { + "description": "Virtual Cluster graduation properties", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "description": "A list of private endpoint connections." + } + }, + "description": "Class representing the Kusto cluster properties." + }, + "TrustedExternalTenant": { + "properties": { + "value": { + "type": "string", + "description": "GUID representing an external tenant." + } + }, + "description": "Represents a tenant ID that is trusted by the cluster." + }, + "AzureResourceSku": { + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU details." + }, + "capacity": { + "$ref": "#/definitions/AzureCapacity", + "description": "The number of instances of the cluster." + } + }, + "description": "Azure resource SKU definition." + }, + "AzureCapacity": { + "type": "object", + "required": [ + "minimum", + "maximum", + "default", + "scaleType" + ], + "properties": { + "scaleType": { + "description": "Scale type.", + "type": "string", + "enum": [ + "automatic", + "manual", + "none" + ], + "x-ms-enum": { + "name": "AzureScaleType", + "modelAsString": true + } + }, + "minimum": { + "description": "Minimum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed capacity.", + "type": "integer", + "format": "int32" + }, + "default": { + "description": "The default capacity that would be used.", + "type": "integer", + "format": "int32" + } + }, + "description": "Azure capacity definition." + }, + "SkuDescriptionList": { + "description": "The list of the EngagementFabric SKU descriptions", + "type": "object", + "properties": { + "value": { + "description": "SKU descriptions", + "type": "array", + "items": { + "$ref": "#/definitions/SkuDescription" + }, + "readOnly": true + } + } + }, + "SkuDescription": { + "description": "The Kusto SKU description of given resource type", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the SKU", + "type": "string", + "readOnly": true + }, + "tier": { + "description": "The tier of the SKU", + "type": "string", + "readOnly": true + }, + "locations": { + "description": "The set of locations that the SKU is available", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "locationInfo": { + "description": "Locations and zones", + "type": "array", + "items": { + "$ref": "#/definitions/SkuLocationInfoItem" + }, + "readOnly": true + }, + "restrictions": { + "description": "The restrictions because of which SKU cannot be used", + "type": "array", + "items": { + "type": "object" + }, + "readOnly": true + } + } + }, + "SkuLocationInfoItem": { + "description": "The locations and zones info for SKU.", + "type": "object", + "required": [ + "location" + ], + "properties": { + "location": { + "description": "The available location of the SKU.", + "type": "string" + }, + "zones": { + "description": "The available zone of the SKU.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureSku": { + "type": "object", + "required": [ + "name", + "tier" + ], + "properties": { + "name": { + "description": "SKU name.", + "type": "string", + "enum": [ + "Dev(No SLA)_Standard_D11_v2", + "Dev(No SLA)_Standard_E2a_v4", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D32d_v4", + "Standard_D16d_v5", + "Standard_D32d_v5", + "Standard_DS13_v2+1TB_PS", + "Standard_DS13_v2+2TB_PS", + "Standard_DS14_v2+3TB_PS", + "Standard_DS14_v2+4TB_PS", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L8s_v2", + "Standard_L16s_v2", + "Standard_E64i_v3", + "Standard_E80ids_v4", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Standard_E8as_v5+1TB_PS", + "Standard_E8as_v5+2TB_PS", + "Standard_E16as_v5+3TB_PS", + "Standard_E16as_v5+4TB_PS", + "Standard_E2ads_v5", + "Standard_E4ads_v5", + "Standard_E8ads_v5", + "Standard_E16ads_v5", + "Standard_E8s_v4+1TB_PS", + "Standard_E8s_v4+2TB_PS", + "Standard_E16s_v4+3TB_PS", + "Standard_E16s_v4+4TB_PS", + "Standard_E8s_v5+1TB_PS", + "Standard_E8s_v5+2TB_PS", + "Standard_E16s_v5+3TB_PS", + "Standard_E16s_v5+4TB_PS" + ], + "x-ms-enum": { + "name": "AzureSkuName", + "modelAsString": true + } + }, + "capacity": { + "description": "The number of instances of the cluster.", + "type": "integer", + "format": "int32" + }, + "tier": { + "description": "SKU tier.", + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "AzureSkuTier", + "modelAsString": true + } + } + }, + "description": "Azure SKU definition." + }, + "Zones": { + "description": "An array represents the availability zones of the cluster.", + "type": "array", + "items": { + "type": "string" + } + }, + "OptimizedAutoscale": { + "type": "object", + "required": [ + "version", + "isEnabled", + "minimum", + "maximum" + ], + "properties": { + "version": { + "description": "The version of the template defined, for instance 1.", + "type": "integer", + "format": "int32" + }, + "isEnabled": { + "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", + "type": "boolean" + }, + "minimum": { + "description": "Minimum allowed instances count.", + "type": "integer", + "format": "int32" + }, + "maximum": { + "description": "Maximum allowed instances count.", + "type": "integer", + "format": "int32" + } + }, + "description": "A class that contains the optimized auto scale definition." + }, + "VirtualNetworkConfiguration": { + "type": "object", + "required": [ + "subnetId", + "enginePublicIpId", + "dataManagementPublicIpId" + ], + "properties": { + "subnetId": { + "description": "The subnet resource id.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "enginePublicIpId": { + "description": "Engine service's public IP address resource id.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "dataManagementPublicIpId": { + "description": "Data management's service public IP address resource id.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "A class that contains virtual network definition." + }, + "DatabaseStatistics": { + "type": "object", + "readOnly": true, + "properties": { + "size": { + "type": "number", + "description": "The database size - the total size of compressed data and index in bytes." + } + }, + "description": "A class that contains database statistics information." + }, + "AttachedDatabaseConfigurationProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "databaseName": { + "type": "string", + "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases." + }, + "clusterResourceId": { + "type": "string", + "description": "The resource id of the cluster where the databases you would like to attach reside." + }, + "attachedDatabaseNames": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "description": "The list of databases from the clusterResourceId which are currently attached to the cluster." + }, + "defaultPrincipalsModificationKind": { + "type": "string", + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "DefaultPrincipalsModificationKind", + "modelAsString": true + }, + "description": "The default principals modification kind" + }, + "tableLevelSharingProperties": { + "type": "object", + "$ref": "#/definitions/TableLevelSharingProperties", + "description": "Table level sharing specifications" + } + }, + "description": "Class representing the an attached database configuration properties of kind specific.", + "required": [ + "databaseName", + "clusterResourceId", + "defaultPrincipalsModificationKind" + ] + }, + "ReadWriteDatabaseProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "softDeletePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "isFollowed": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the database is followed." + } + }, + "description": "Class representing the Kusto database properties." + }, + "ReadOnlyFollowingDatabaseProperties": { + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "softDeletePeriod": { + "type": "string", + "readOnly": true, + "format": "duration", + "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan." + }, + "hotCachePeriod": { + "type": "string", + "format": "duration", + "description": "The time the data should be kept in cache for fast queries in TimeSpan." + }, + "statistics": { + "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, + "description": "The statistics of the database." + }, + "leaderClusterResourceId": { + "type": "string", + "readOnly": true, + "description": "The name of the leader cluster" + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "readOnly": true, + "description": "The name of the attached database configuration cluster" + }, + "principalsModificationKind": { + "type": "string", + "readOnly": true, + "enum": [ + "Union", + "Replace", + "None" + ], + "x-ms-enum": { + "name": "PrincipalsModificationKind", + "modelAsString": true + }, + "description": "The principals modification kind of the database" + } + }, + "description": "Class representing the Kusto database properties." + }, + "EventHubConnectionProperties": { + "properties": { + "eventHubResourceId": { + "type": "string", + "description": "The resource ID of the event hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the event hub" + }, + "compression": { + "$ref": "#/definitions/Compression", + "description": "The event hub messages compression type" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "managedIdentityResourceId": { + "type": "string", + "description": "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id." + }, + "managedIdentityObjectId": { + "type": "string", + "readOnly": true, + "description": "The object ID of the managedIdentityResourceId" + }, + "databaseRouting": { + "type": "string", + "description": "Indication for database routing information from the data connection, by default only database routing information is allowed", + "enum": [ + "Single", + "Multi" + ], + "x-ms-enum": { + "name": "DatabaseRouting", + "modelAsString": true + }, + "default": "Single" + } + }, + "required": [ + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event hub connection properties." + }, + "IotHubConnectionProperties": { + "properties": { + "iotHubResourceId": { + "type": "string", + "description": "The resource ID of the Iot hub to be used to create a data connection." + }, + "consumerGroup": { + "type": "string", + "description": "The iot hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/IotHubDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "eventSystemProperties": { + "type": "array", + "items": { + "type": "string" + }, + "description": "System properties of the iot hub" + }, + "sharedAccessPolicyName": { + "type": "string", + "description": "The name of the share access policy" + }, + "databaseRouting": { + "type": "string", + "description": "Indication for database routing information from the data connection, by default only database routing information is allowed", + "enum": [ + "Single", + "Multi" + ], + "x-ms-enum": { + "name": "DatabaseRouting", + "modelAsString": true + }, + "default": "Single" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "required": [ + "iotHubResourceId", + "consumerGroup", + "sharedAccessPolicyName" + ], + "description": "Class representing the Kusto Iot hub connection properties." + }, + "EventHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventHubDataFormat", + "modelAsString": true + } + }, + "IotHubDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "iotHubDataFormat", + "modelAsString": true + } + }, + "EventGridDataFormat": { + "description": "The data format of the message. Optionally the data format can be added to each message.", + "type": "string", + "enum": [ + "MULTIJSON", + "JSON", + "CSV", + "TSV", + "SCSV", + "SOHSV", + "PSV", + "TXT", + "RAW", + "SINGLEJSON", + "AVRO", + "TSVE", + "PARQUET", + "ORC", + "APACHEAVRO", + "W3CLOGFILE" + ], + "x-ms-enum": { + "name": "eventGridDataFormat", + "modelAsString": true + } + }, + "BlobStorageEventType": { + "description": "The name of blob storage event type to process.", + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ], + "x-ms-enum": { + "name": "blobStorageEventType", + "modelAsString": true + } + }, + "Compression": { + "description": "The compression type", + "type": "string", + "enum": [ + "None", + "GZip" + ], + "x-ms-enum": { + "name": "compression", + "modelAsString": true + }, + "default": "None" + }, + "EventGridConnectionProperties": { + "properties": { + "storageAccountResourceId": { + "type": "string", + "description": "The resource ID of the storage account where the data resides." + }, + "eventGridResourceId": { + "type": "string", + "description": "The resource ID of the event grid that is subscribed to the storage account events." + }, + "eventHubResourceId": { + "type": "string", + "description": "The resource ID where the event grid is configured to send events." + }, + "consumerGroup": { + "type": "string", + "description": "The event hub consumer group." + }, + "tableName": { + "type": "string", + "description": "The table where the data should be ingested. Optionally the table information can be added to each message." + }, + "mappingRuleName": { + "type": "string", + "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message." + }, + "dataFormat": { + "$ref": "#/definitions/EventGridDataFormat", + "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "ignoreFirstRecord": { + "type": "boolean", + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "blobStorageEventType": { + "$ref": "#/definitions/BlobStorageEventType", + "description": "The name of blob storage event type to process." + }, + "managedIdentityResourceId": { + "type": "string", + "description": "Empty for non-managed identity based data connection. For system assigned identity, provide cluster resource Id. For user assigned identity (UAI) provide the UAI resource Id." + }, + "managedIdentityObjectId": { + "type": "string", + "readOnly": true, + "description": "The object ID of managedIdentityResourceId" + }, + "databaseRouting": { + "type": "string", + "description": "Indication for database routing information from the data connection, by default only database routing information is allowed", + "enum": [ + "Single", + "Multi" + ], + "x-ms-enum": { + "name": "DatabaseRouting", + "modelAsString": true + }, + "default": "Single" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "required": [ + "storageAccountResourceId", + "eventHubResourceId", + "consumerGroup" + ], + "description": "Class representing the Kusto event grid connection properties." + }, + "Cluster": { + "required": [ + "sku" + ], + "properties": { + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "zones": { + "$ref": "#/definitions/Zones", + "description": "The availability zones of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Class representing a Kusto cluster." + }, + "ClusterUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "description": "Resource location." + }, + "sku": { + "$ref": "#/definitions/AzureSku", + "description": "The SKU of the cluster." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the cluster, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The cluster properties.", + "$ref": "#/definitions/ClusterProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Class representing an update to a Kusto cluster." + }, + "AttachedDatabaseConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The list of attached database configurations." + } + }, + "description": "The list attached database configurations operation response." + }, + "AttachedDatabaseConfiguration": { + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the attached database configuration.", + "$ref": "#/definitions/AttachedDatabaseConfigurationProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an attached database configuration." + }, + "Database": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the database", + "enum": [ + "ReadWrite", + "ReadOnlyFollowing" + ], + "type": "string", + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a Kusto database.", + "discriminator": "kind" + }, + "ReadWriteDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadWriteDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read write database.", + "x-ms-discriminator-value": "ReadWrite" + }, + "ReadOnlyFollowingDatabase": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The database properties.", + "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Database" + } + ], + "description": "Class representing a read only following database.", + "x-ms-discriminator-value": "ReadOnlyFollowing" + }, + "DatabasePrincipal": { + "type": "object", + "required": [ + "name", + "role", + "type" + ], + "properties": { + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewer", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "name": { + "description": "Database principal name.", + "type": "string" + }, + "type": { + "description": "Database principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "DatabasePrincipalType", + "modelAsString": true + } + }, + "fqn": { + "description": "Database principal fully qualified name.", + "type": "string" + }, + "email": { + "description": "Database principal email if exists.", + "type": "string" + }, + "appId": { + "description": "Application id - relevant only for application principal type.", + "type": "string" + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + } + }, + "description": "A class representing database principal entity." + }, + "DatabasePrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Database principal role.", + "type": "string", + "enum": [ + "Admin", + "Ingestor", + "Monitor", + "User", + "UnrestrictedViewer", + "Viewer" + ], + "x-ms-enum": { + "name": "DatabasePrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "aadObjectId": { + "type": "string", + "readOnly": true, + "description": "The service principal object id in AAD (Azure active directory)" + } + }, + "description": "A class representing database principal property." + }, + "ClusterPrincipalProperties": { + "type": "object", + "required": [ + "principalId", + "role", + "principalType" + ], + "properties": { + "principalId": { + "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.", + "type": "string" + }, + "role": { + "description": "Cluster principal role.", + "type": "string", + "enum": [ + "AllDatabasesAdmin", + "AllDatabasesViewer" + ], + "x-ms-enum": { + "name": "ClusterPrincipalRole", + "modelAsString": true + } + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the principal" + }, + "principalType": { + "description": "Principal type.", + "type": "string", + "enum": [ + "App", + "Group", + "User" + ], + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "tenantName": { + "type": "string", + "readOnly": true, + "description": "The tenant name of the principal" + }, + "principalName": { + "type": "string", + "readOnly": true, + "description": "The principal name" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "aadObjectId": { + "type": "string", + "readOnly": true, + "description": "The service principal object id in AAD (Azure active directory)" + } + }, + "description": "A class representing cluster principal property." + }, + "ScriptProperties": { + "type": "object", + "properties": { + "scriptUrl": { + "description": "The url to the KQL script blob file. Must not be used together with scriptContent property", + "type": "string" + }, + "scriptUrlSasToken": { + "description": "The SaS token that provide read access to the file which contain the script. Must be provided when using scriptUrl property.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "scriptContent": { + "description": "The script content. This property should be used when the script is provide inline and not through file in a SA. Must not be used together with scriptUrl and scriptUrlSasToken properties.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "forceUpdateTag": { + "description": "A unique string. If changed the script will be applied again.", + "type": "string" + }, + "continueOnErrors": { + "description": "Flag that indicates whether to continue if one of the command fails.", + "type": "boolean", + "default": false + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing database script property." + }, + "ManagedPrivateEndpointProperties": { + "type": "object", + "required": [ + "privateLinkResourceId", + "groupId" + ], + "properties": { + "privateLinkResourceId": { + "description": "The ARM resource ID of the resource for which the managed private endpoint is created.", + "type": "string" + }, + "privateLinkResourceRegion": { + "description": "The region of the resource to which the managed private endpoint is created.", + "type": "string" + }, + "groupId": { + "description": "The groupId in which the managed private endpoint is created.", + "type": "string" + }, + "requestMessage": { + "description": "The user request message.", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing the properties of a managed private endpoint object." + }, + "DatabasePrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabasePrincipalProperties", + "description": "The database principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a database principal assignment." + }, + "ClusterPrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterPrincipalProperties", + "description": "The cluster principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a cluster principal assignment." + }, + "ScriptListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Script" + }, + "description": "The list of Kusto scripts." + } + }, + "description": "The list Kusto database script operation response." + }, + "Script": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScriptProperties", + "description": "The database script." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a database script." + }, + "ManagedPrivateEndpointListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The list of managed private endpoints." + } + }, + "description": "The list managed private endpoints operation response." + }, + "ManagedPrivateEndpoint": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedPrivateEndpointProperties", + "description": "A managed private endpoint." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a managed private endpoint." + }, + "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 + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "required": [ + "privateLinkServiceConnectionState" + ], + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to.", + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint.", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint.", + "readOnly": true + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint.", + "readOnly": true + } + } + }, + "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 + } + } + }, + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The private link resource required zone names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "OutboundNetworkDependenciesEndpointListResult": { + "description": "Collection of Outbound Environment Endpoints", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundNetworkDependenciesEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundNetworkDependenciesEndpoint": { + "description": "Endpoints accessed for a common purpose that the Kusto Service Environment requires outbound network access to.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OutboundNetworkDependenciesEndpointProperties", + "description": "The outbound environment endpoint properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "OutboundNetworkDependenciesEndpointProperties": { + "description": "Endpoints accessed for a common purpose that the Kusto Service Environment requires outbound network access to.", + "type": "object", + "properties": { + "category": { + "description": "The type of service accessed by the Kusto Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that the Kusto Service Environment reaches the service at.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + } + }, + "EndpointDependency": { + "description": "A domain name that a service is reached at, including details of the current connection status.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The ports used when connecting to DomainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "Current TCP connectivity information from the Kusto cluster to a single endpoint.", + "type": "object", + "properties": { + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + } + } + }, + "ClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + }, + "description": "The list of Kusto clusters." + } + }, + "description": "The list Kusto clusters operation response." + }, + "DatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of Kusto databases." + } + }, + "description": "The list Kusto databases operation response." + }, + "DatabasePrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipalAssignment" + }, + "description": "The list of Kusto database principal assignments." + } + }, + "description": "The list Kusto database principal assignments operation response." + }, + "ClusterPrincipalAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ClusterPrincipalAssignment" + }, + "description": "The list of Kusto cluster principal assignments." + } + }, + "description": "The list Kusto cluster principal assignments operation response." + }, + "DatabasePrincipalListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation response." + }, + "FollowerDatabaseListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FollowerDatabaseDefinition" + }, + "description": "The list of follower database result." + } + }, + "description": "The list Kusto database principals operation response." + }, + "DataConnection": { + "required": [ + "kind" + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "kind": { + "description": "Kind of the endpoint for the data connection", + "enum": [ + "EventHub", + "EventGrid", + "IotHub" + ], + "type": "string", + "x-ms-enum": { + "name": "DataConnectionKind", + "modelAsString": true + } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing an data connection.", + "discriminator": "kind" + }, + "DataConnectionValidationResult": { + "type": "object", + "properties": { + "errorMessage": { + "type": "string", + "description": "A message which indicates a problem in data connection validation." + } + }, + "description": "The result returned from a data connection validation request." + }, + "DatabasePrincipalListRequest": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabasePrincipal" + }, + "description": "The list of Kusto database principals." + } + }, + "description": "The list Kusto database principals operation request." + }, + "FollowerDatabaseDefinition": { + "type": "object", + "required": [ + "clusterResourceId", + "attachedDatabaseConfigurationName" + ], + "properties": { + "clusterResourceId": { + "type": "string", + "description": "Resource id of the cluster that follows a database owned by this cluster." + }, + "attachedDatabaseConfigurationName": { + "type": "string", + "description": "Resource name of the attached database configuration in the follower cluster." + }, + "databaseName": { + "type": "string", + "readOnly": true, + "description": "The database name owned by this cluster that was followed. * in case following all databases." + } + }, + "description": "A class representing follower database request." + }, + "DiagnoseVirtualNetworkResult": { + "properties": { + "findings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of network connectivity diagnostic finding" + } + } + }, + "DataConnectionValidation": { + "properties": { + "dataConnectionName": { + "type": "string", + "description": "The name of the data connection." + }, + "properties": { + "$ref": "#/definitions/DataConnection", + "description": "The data connection properties to validate." + } + }, + "description": "Class representing an data connection validation." + }, + "EventHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Event Hub data connection properties to validate.", + "$ref": "#/definitions/EventHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an event hub data connection.", + "x-ms-discriminator-value": "EventHub" + }, + "IotHubDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The Iot Hub data connection properties.", + "$ref": "#/definitions/IotHubConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an iot hub data connection.", + "x-ms-discriminator-value": "IotHub" + }, + "EventGridDataConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the Event Grid data connection.", + "$ref": "#/definitions/EventGridConnectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataConnection" + } + ], + "description": "Class representing an Event Grid data connection.", + "x-ms-discriminator-value": "EventGrid" + }, + "DataConnectionValidationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnectionValidationResult" + }, + "description": "The list of Kusto data connection validation errors." + } + }, + "description": "The list Kusto data connection validation result." + }, + "DataConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The list of Kusto data connections." + } + }, + "description": "The list Kusto data connections operation response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "An error response from Kusto." + } + }, + "description": "An error response from Kusto." + }, + "ClusterCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Cluster name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters" + ], + "x-ms-enum": { + "name": "ClusterType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a cluster check name availability request." + }, + "CheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases", + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a database check name availability request." + }, + "AttachedDatabaseConfigurationsCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Attached database resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "AttachedDatabaseType", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/attachedDatabaseConfigurations." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a AttachedDatabaseConfigurations check name availability request." + }, + "ManagedPrivateEndpointsCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Managed private endpoint resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/managedPrivateEndpoints" + ], + "x-ms-enum": { + "name": "ManagedPrivateEndpointsType", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/managedPrivateEndpoints." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a managedPrivateEndpoints check name availability request." + }, + "ClusterPrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/principalAssignments" + ], + "x-ms-enum": { + "name": "PrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "DataConnectionCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Data Connection name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/dataConnections" + ], + "x-ms-enum": { + "name": "DataConnectionType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." + } + }, + "required": [ + "name", + "type" + ], + "description": "A data connection check name availability request." + }, + "ScriptCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Script name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/scripts" + ], + "x-ms-enum": { + "name": "ScriptType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/scripts." + } + }, + "required": [ + "name", + "type" + ], + "description": "A script name availability request." + }, + "DatabasePrincipalAssignmentCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Principal Assignment resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/principalAssignments" + ], + "x-ms-enum": { + "name": "DatabasePrincipalAssignmentType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." + } + }, + "required": [ + "name", + "type" + ], + "description": "A principal assignment check name availability request." + }, + "CheckNameResult": { + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Specifies a Boolean value that indicates if the name is available." + }, + "name": { + "type": "string", + "description": "The name that was checked." + }, + "message": { + "type": "string", + "description": "Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated." + }, + "reason": { + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "reason", + "modelAsString": true + }, + "description": "Message providing the reason why the given name is invalid." + } + }, + "description": "The result returned from a check name availability request." + }, + "ListResourceSkusResult": { + "description": "List of available SKUs for a Kusto Cluster.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceSku" + }, + "description": "The collection of available SKUs for an existing resource." + } + } + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for displaying in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from Kusto." + }, + "OperationListResult": { + "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "title": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete.", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation.", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "KeyVaultProperties": { + "description": "Properties of the key vault.", + "properties": { + "keyName": { + "type": "string", + "description": "The name of the key vault key.", + "x-ms-client-name": "KeyName" + }, + "keyVersion": { + "type": "string", + "description": "The version of the key vault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyVaultUri": { + "type": "string", + "description": "The Uri of the key vault.", + "x-ms-client-name": "KeyVaultUri" + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key.", + "x-ms-client-name": "UserIdentity" + } + } + }, + "LanguageExtensionName": { + "description": "Language extension that can run within KQL query.", + "type": "string", + "enum": [ + "PYTHON", + "R" + ], + "x-ms-enum": { + "name": "languageExtensionName", + "modelAsString": true + } + }, + "LanguageExtension": { + "type": "object", + "description": "The language extension object.", + "properties": { + "languageExtensionName": { + "$ref": "#/definitions/LanguageExtensionName", + "description": "The language extension name." + } + } + }, + "LanguageExtensionsList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageExtension" + }, + "description": "The list of language extensions." + } + }, + "description": "The list of language extension objects." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "OperationResult": { + "description": "Operation Result Entity.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "ID of the resource.", + "type": "string" + }, + "name": { + "readOnly": true, + "description": "Name of the resource.", + "type": "string" + }, + "status": { + "description": "status of the Operation result.", + "$ref": "#/definitions/Status" + }, + "startTime": { + "description": "The operation start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The operation end time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100, + "description": "Percentage completed." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationResultProperties", + "description": "Properties of the operation results" + }, + "error": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationResultErrorProperties", + "description": "Object that contains the error code and message if the operation failed." + } + } + }, + "Status": { + "readOnly": true, + "description": "The status of operation.", + "type": "string", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "Running" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "OperationResultProperties": { + "properties": { + "operationKind": { + "type": "string", + "description": "The kind of the operation." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "operationState": { + "type": "string", + "description": "The state of the operation." + } + }, + "description": "Operation result properties" + }, + "OperationResultErrorProperties": { + "properties": { + "code": { + "type": "string", + "description": "The code of the error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Operation result error properties" + }, + "TableLevelSharingProperties": { + "properties": { + "tablesToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tables to include in the follower database" + }, + "tablesToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tables to exclude from the follower database" + }, + "externalTablesToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of external tables to include in the follower database" + }, + "externalTablesToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of external tables exclude from the follower database" + }, + "materializedViewsToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of materialized views to include in the follower database" + }, + "materializedViewsToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of materialized views exclude from the follower database" + } + }, + "description": "Tables that will be included and excluded in the follower database" + }, + "AcceptedAudiences": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID or valid URL representing an accepted audience." + } + }, + "description": "Represents an accepted audience trusted by the cluster." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API Version." + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LocationNameParameter": { + "name": "location", + "in": "path", + "description": "Azure location (region) name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AttachedDatabaseConfigurationNameParameter": { + "name": "attachedDatabaseConfigurationName", + "in": "path", + "description": "The name of the attached database configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group containing the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database in the Kusto cluster.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectionNameParameter": { + "name": "dataConnectionName", + "in": "path", + "description": "The name of the data connection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrincipalAssignmentNameParameter": { + "name": "principalAssignmentName", + "in": "path", + "description": "The name of the Kusto principalAssignment.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ScriptNameParameter": { + "name": "scriptName", + "in": "path", + "description": "The name of the Kusto database script.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "The Guid of the operation ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the private endpoint connection." + }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ManagedPrivateEndpointNameParameter": { + "name": "managedPrivateEndpointName", + "in": "path", + "description": "The name of the managed private endpoint.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md index be79be2e0855..223a184bcf55 100644 --- a/specification/azure-kusto/resource-manager/readme.go.md +++ b/specification/azure-kusto/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-02 - tag: package-2021-08-27 - tag: package-2021-01 - tag: package-2020-09-18 @@ -32,6 +33,16 @@ batch: - tag: package-2020-02-15 - tag: package-2020-06-14 ``` + +### Tag: package-2022-02 and go + +These settings apply only when `--tag=package-2022-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-02' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-02-01/$(namespace) +``` + ### Tag: package-2021-08-27 and go These settings apply only when `--tag=package-2021-08-27 --go` is specified on the command line. @@ -40,6 +51,7 @@ Please also specify `--go-sdk-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-kusto -no-namespace-folders: true +namespace: azure.mgmt.kusto package-version: 2.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto/azure/mgmt/kusto ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/kusto/azure-mgmt-kusto -``` diff --git a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/common/1.0/types.json b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/common/1.0/types.json index b1b95ae7cdd5..57f07db7de4b 100644 --- a/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/common/1.0/types.json +++ b/specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/common/1.0/types.json @@ -34,6 +34,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md index 544b80c041e9..829c7478bdb8 100644 --- a/specification/azureactivedirectory/resource-manager/readme.md +++ b/specification/azureactivedirectory/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the azureactivedirectory. ``` yaml openapi-type: arm -tag: package-preview-2017-04 +tag: package-2020-03 ``` diff --git a/specification/azureactivedirectory/resource-manager/readme.python.md b/specification/azureactivedirectory/resource-manager/readme.python.md index b18cdaf7f375..27ae798499cd 100644 --- a/specification/azureactivedirectory/resource-manager/readme.python.md +++ b/specification/azureactivedirectory/resource-manager/readme.python.md @@ -3,26 +3,21 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-azureactivedirectory -no-namespace-folders: true +namespace: azure.mgmt.azureactivedirectory package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/azureactivedirectory/azure-mgmt-azureactivedirectory/azure/mgmt/azureactivedirectory ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azureactivedirectory/azure-mgmt-azureactivedirectory -``` - -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` \ No newline at end of file diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/activeDirectoryConnectors.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/activeDirectoryConnectors.json new file mode 100644 index 000000000000..a57958255fa4 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/activeDirectoryConnectors.json @@ -0,0 +1,222 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "ActiveDirectoryConnectorListResult": { + "description": "A list of active directory connectors", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ActiveDirectoryConnectorResource" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ActiveDirectoryConnectorResource": { + "type": "object", + "description": "Active directory connector resource", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActiveDirectoryConnectorProperties", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "ActiveDirectoryConnectorProperties": { + "type": "object", + "description": "The properties of an Active Directory connector resource", + "properties": { + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Active Directory connector resource.", + "readOnly": true + }, + "spec": { + "$ref": "#/definitions/ActiveDirectoryConnectorSpec", + "description": "null", + "x-ms-client-flatten": false + }, + "status": { + "$ref": "#/definitions/ActiveDirectoryConnectorStatus", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "spec" + ] + }, + "ActiveDirectoryConnectorSpec": { + "description": "The specifications of the AD Kubernetes resource.", + "type": "object", + "properties": { + "activeDirectory": { + "$ref": "#/definitions/ActiveDirectoryConnectorDomainDetails", + "description": "null", + "x-ms-client-flatten": false + }, + "dns": { + "$ref": "#/definitions/ActiveDirectoryConnectorDNSDetails", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "activeDirectory", + "dns" + ] + }, + "ActiveDirectoryConnectorDomainDetails": { + "type": "object", + "description": "Active Directory domain details", + "properties": { + "realm": { + "type": "string", + "description": "Name (uppercase) of the Active Directory domain that this AD connector will be associated with." + }, + "netbiosDomainName": { + "type": "string", + "description": "NETBIOS name of the Active Directory domain." + }, + "domainControllers": { + "$ref": "#/definitions/ActiveDirectoryDomainControllers", + "description": "null", + "x-ms-client-flatten": false + } + }, + "required": [ + "realm", + "domainControllers" + ] + }, + "ActiveDirectoryConnectorDNSDetails": { + "type": "object", + "description": "DNS server details", + "properties": { + "domainName": { + "type": "string", + "description": "DNS domain name for which DNS lookups should be forwarded to the Active Directory DNS servers." + }, + "nameserverIPAddresses": { + "type": "array", + "description": "List of Active Directory DNS server IP addresses.", + "items": { + "type": "string", + "minimum": 1 + } + }, + "replicas": { + "type": "integer", + "description": "Replica count for DNS proxy service. Default value is 1.", + "default": 1, + "format": "int64" + }, + "preferK8sDnsForPtrLookups": { + "type": "boolean", + "description": "Flag indicating whether to prefer Kubernetes DNS server response over AD DNS server response for IP address lookups.", + "default": true + } + }, + "required": [ + "nameserverIPAddresses" + ] + }, + "ActiveDirectoryDomainControllers": { + "type": "object", + "description": "Details about the Active Directory domain controllers associated with this AD connector instance", + "properties": { + "primaryDomainController": { + "$ref": "#/definitions/ActiveDirectoryDomainController", + "description": "Information about the Primary Domain Controller (PDC) in the AD domain.", + "x-ms-client-flatten": false + }, + "secondaryDomainControllers": { + "$ref": "#/definitions/ActiveDirectorySecondaryDomainControllers", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "ActiveDirectoryDomainController": { + "type": "object", + "description": "Information about a domain controller in the AD domain.", + "properties": { + "hostname": { + "type": "string", + "description": "Fully-qualified domain name of a domain controller in the AD domain." + } + }, + "required": [ + "hostname" + ] + }, + "ActiveDirectorySecondaryDomainControllers": { + "type": "array", + "description": "Information about the secondary domain controllers in the AD domain.", + "items": { + "$ref": "#/definitions/ActiveDirectoryDomainController", + "description": "List of the fully-qualified domain names of the secondary domain controllers in the AD domain.", + "x-ms-client-flatten": false + }, + "x-ms-identifiers": [ + "hostname" + ] + }, + "ActiveDirectoryConnectorStatus": { + "type": "object", + "description": "The status of the Kubernetes custom resource.", + "properties": { + "lastUpdateTime": { + "type": "string", + "description": "The time that the custom resource was last updated." + }, + "observedGeneration": { + "type": "integer", + "format": "int64", + "description": "The version of the replicaSet associated with the AD connector custom resource." + }, + "state": { + "type": "string", + "description": "The state of the AD connector custom resource." + } + }, + "additionalProperties": { + "type": "object" + } + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/azurearcdata.json new file mode 100644 index 000000000000..c35f16befff5 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/azurearcdata.json @@ -0,0 +1,1443 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.AzureArcData/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Data Services on Azure Arc API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "./operations.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available Azure Data Services on Azure Arc API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_List", + "summary": "List sqlManagedInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group.", + "summary": "List sqlManagedInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": { + "get": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Instance tags.": { + "$ref": "./examples/GetSqlManagedInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "name": "sqlManagedInstance", + "in": "body", + "description": "The SQL Managed Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a SQL Managed Instance": { + "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Managed Instance." + }, + "202": { + "description": "Resource deletion is in progress.." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Managed Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Instance.": { + "$ref": "./examples/DeleteSqlManagedInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlManagedInstances" + ], + "operationId": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlManagedInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Managed Instance.", + "required": true, + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a sql Instance tags.": { + "$ref": "./examples/UpdateSqlManagedInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_List", + "summary": "List sqlServerInstance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group.", + "summary": "List sqlServerInstance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL Server Instance in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": { + "get": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/GetSqlServerInstance.json" + } + } + }, + "put": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "sqlServerInstance", + "in": "body", + "description": "The SQL Server Instance to be created or updated.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/CreateOrUpdateSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL Server Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified SQL Server Instance does not exist." + } + }, + "x-ms-examples": { + "Delete a SQL Server Instance.": { + "$ref": "./examples/DeleteSqlServerInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SqlServerInstances" + ], + "operationId": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/sqlServerInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL Server Instance.", + "required": true, + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a SQL Server Instance tags.": { + "$ref": "./examples/UpdateSqlServerInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInSubscription", + "summary": "List dataController resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a subscription.": { + "$ref": "./examples/ListSubscriptionDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": { + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_ListInGroup", + "summary": "List dataController resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all dataControllers in a resource group.": { + "$ref": "./examples/ListByResourceGroupDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": { + "put": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "dataControllerResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a Data Controller.": { + "$ref": "./examples/CreateOrUpdateDataController.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the DataController." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified DataController does not exist." + } + }, + "x-ms-examples": { + "Delete a dataController.": { + "$ref": "./examples/DeleteDataController.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a data controller.": { + "$ref": "./examples/GetDataController.json" + } + } + }, + "patch": { + "tags": [ + "DataControllers" + ], + "operationId": "DataControllers_PatchDataController", + "description": "Updates a dataController resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "dataControllerResource", + "description": "The update data controller resource", + "required": true, + "in": "body", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./dataControllers.json#/definitions/DataControllerResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a dataController tags.": { + "$ref": "./examples/UpdateDataController.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors": { + "get": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_List", + "summary": "List the active directory connectors associated with the given data controller.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all Active Directory connectors associated with a data controller.": { + "$ref": "./examples/ListByDataControllerActiveDirectoryConnector.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}/activeDirectoryConnectors/{activeDirectoryConnectorName}": { + "put": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Create", + "description": "Creates or replaces an Active Directory connector resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "activeDirectoryConnectorResource", + "description": "desc", + "required": true, + "in": "body", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or update an Active Directory connector instance.": { + "$ref": "./examples/CreateOrUpdateActiveDirectoryConnector.json" + } + } + }, + "delete": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Delete", + "description": "Deletes an Active Directory connector resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the active directory connector." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified active directory connector does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes an Active Directory connector instance.": { + "$ref": "./examples/DeleteActiveDirectoryConnector.json" + } + } + }, + "get": { + "tags": [ + "ActiveDirectoryConnectors" + ], + "operationId": "ActiveDirectoryConnectors_Get", + "description": "Retrieves an Active Directory connector resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dataControllerName" + }, + { + "$ref": "#/parameters/activeDirectoryConnectorName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./activeDirectoryConnectors.json#/definitions/ActiveDirectoryConnectorResource" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Retrieves an Active Directory connector resource.": { + "$ref": "./examples/GetActiveDirectoryConnector.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_List", + "summary": "List postgres Instance resources in the subscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all Postgres Instance in a subscription.": { + "$ref": "./examples/ListSubscriptionPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_ListByResourceGroup", + "description": "Get a postgres Instances list by Resource group name.", + "summary": "List postgres Instance resources in the resource group", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceListResult" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all postgres Instances in a resource group.": { + "$ref": "./examples/ListByResourceGroupPostgresInstance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/postgresInstances/{postgresInstanceName}": { + "get": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Get", + "description": "Retrieves a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Gets a postgres Instances.": { + "$ref": "./examples/GetPostgresInstance.json" + } + } + }, + "put": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Create", + "description": "Creates or replaces a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "name": "resource", + "description": "The postgres instance", + "required": true, + "in": "body", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a Postgres Instance.": { + "$ref": "./examples/CreateOrUpdatePostgresInstance.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Delete", + "description": "Deletes a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the Postgres Instance." + }, + "202": { + "description": "Resource deletion is in progress." + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + }, + "204": { + "description": "The specified Postgres Instance does not exist." + } + }, + "x-ms-examples": { + "Deletes a PostgresInstances.": { + "$ref": "./examples/DeletePostgresInstance.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PostgresInstances" + ], + "operationId": "PostgresInstances_Update", + "description": "Updates a postgres Instance resource", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/postgresInstanceName" + }, + { + "name": "parameters", + "in": "body", + "description": "The Postgres Instance.", + "required": true, + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstanceUpdate" + } + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./postgresInstances.json#/definitions/PostgresInstance" + } + }, + "default": { + "description": "*** Error Responses: ***", + "schema": { + "$ref": "./common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Updates a postgres Instances tags.": { + "$ref": "./examples/UpdatePostgresInstance.json" + } + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region to use for the request", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + }, + "dataControllerName": { + "name": "dataControllerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the data controller", + "x-ms-parameter-location": "method" + }, + "activeDirectoryConnectorName": { + "name": "activeDirectoryConnectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Active Directory connector instance", + "x-ms-parameter-location": "method" + }, + "sqlManagedInstanceName": { + "name": "sqlManagedInstanceName", + "description": "Name of SQL Managed Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "sqlServerInstanceName": { + "name": "sqlServerInstanceName", + "description": "Name of SQL Server Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "postgresInstanceName": { + "name": "postgresInstanceName", + "description": "Name of Postgres Instance", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/common.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/common.json new file mode 100644 index 000000000000..3fd5b31316c0 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/common.json @@ -0,0 +1,146 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "CommonSku": { + "description": "The resource model definition representing SKU for ARM resources", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. It is typically a letter+number code" + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "ErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "null" + } + }, + "description": "An error response from the Azure Data on Azure Arc service." + }, + "ErrorResponseBody": { + "type": "object", + "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/ErrorResponseBody" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Batch service." + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "CustomLocation" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "BasicLoginInformation": { + "type": "object", + "description": "Username and password for basic login authentication.", + "properties": { + "username": { + "type": "string", + "description": "Login username." + }, + "password": { + "type": "string", + "description": "Login password.", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/dataControllers.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/dataControllers.json new file mode 100644 index 000000000000..59f2ef201866 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/dataControllers.json @@ -0,0 +1,248 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "DataControllerResource": { + "description": "Data controller resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "$ref": "#/definitions/DataControllerProperties", + "description": "The data controller's properties", + "x-ms-client-flatten": false + } + }, + "required": [ + "properties" + ] + }, + "PageOfDataControllerResource": { + "type": "object", + "description": "A list of data controllers.", + "properties": { + "value": { + "items": { + "$ref": "#/definitions/DataControllerResource" + }, + "type": "array", + "description": "Array of results." + }, + "nextLink": { + "type": "string", + "description": "Link to retrieve next page of results." + } + } + }, + "DataControllerUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a data controller resource." + }, + "DataControllerProperties": { + "description": "The data controller properties.", + "type": "object", + "properties": { + "infrastructure": { + "type": "string", + "enum": [ + "azure", + "gcp", + "aws", + "alibaba", + "onpremises", + "other" + ], + "x-ms-enum": { + "name": "infrastructure", + "modelAsString": false + }, + "default": "other", + "description": "The infrastructure the data controller is running on." + }, + "onPremiseProperty": { + "$ref": "#/definitions/OnPremiseProperty" + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "uploadWatermark": { + "$ref": "#/definitions/UploadWatermark" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Deprecated. Azure Arc Data Services data controller no longer expose any endpoint. All traffic are exposed through Kubernetes native API." + }, + "metricsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for metrics dashboard on the Kubernetes cluster." + }, + "logsDashboardCredential": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Login credential for logs dashboard on the Kubernetes cluster." + }, + "logAnalyticsWorkspaceConfig": { + "$ref": "#/definitions/LogAnalyticsWorkspaceConfig" + }, + "uploadServicePrincipal": { + "$ref": "#/definitions/UploadServicePrincipal", + "description": "Deprecated. Service principal is deprecated in favor of Arc Kubernetes service extension managed identity." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc Data Controller resource.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "UploadWatermark": { + "description": "Properties on upload watermark. Mostly timestamp for each upload data type", + "type": "object", + "properties": { + "metrics": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time" + }, + "logs": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time" + }, + "usages": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time" + } + } + }, + "OnPremiseProperty": { + "description": "Properties from the Kubernetes data controller", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "A globally unique ID identifying the associated Kubernetes cluster" + }, + "publicSigningKey": { + "type": "string", + "description": "Certificate that contains the Kubernetes cluster public key used to verify signing" + }, + "signingCertificateThumbprint": { + "type": "string", + "description": "Unique thumbprint returned to customer to verify the certificate being uploaded" + } + }, + "required": [ + "id", + "publicSigningKey" + ] + }, + "LogAnalyticsWorkspaceConfig": { + "type": "object", + "description": "Log analytics workspace id and primary key", + "properties": { + "workspaceId": { + "type": "string", + "format": "uuid", + "description": "Azure Log Analytics workspace ID" + }, + "primaryKey": { + "type": "string", + "description": "Primary key of the workspace", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "UploadServicePrincipal": { + "type": "object", + "description": "Service principal for uploading billing, metrics and logs.", + "properties": { + "clientId": { + "type": "string", + "format": "uuid", + "description": "Client ID of the service principal for uploading data." + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "Tenant ID of the service principal." + }, + "authority": { + "type": "string", + "description": "Authority for the service principal. Example: https://login.microsoftonline.com/" + }, + "clientSecret": { + "type": "string", + "description": "Secret of the service principal", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json new file mode 100644 index 000000000000..d82a813ec47b --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateActiveDirectoryConnector.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2022-03-01-preview", + "activeDirectoryConnectorResource": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + } + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + }, + "201": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateDataController.json new file mode 100644 index 000000000000..8ddfc81df347 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateDataController.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2022-03-01-preview", + "dataControllerResource": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey" + }, + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "metricsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logsDashboardCredential": { + "username": "username", + "password": "********" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444", + "primaryKey": "********" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/", + "clientSecret": "********" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + }, + "201": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdatePostgresInstance.json new file mode 100644 index 000000000000..699bd5bd6876 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdatePostgresInstance.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2022-03-01-preview", + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "resource": { + "location": "eastus", + "properties": { + "dataControllerId": "dataControllerId", + "admin": "admin", + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "k8sRaw": { + "apiVersion": "apiVersion", + "kind": "postgresql-12", + "metadata": { + "creationTimestamp": "2020-08-25T14:55:10Z", + "generation": 1, + "name": "pg1", + "namespace": "test", + "resourceVersion": "527780", + "selfLink": "/apis/arcdata.microsoft.com/v1alpha1/namespaces/test/postgresql-12s/pg1", + "uid": "1111aaaa-ffff-ffff-ffff-99999aaaaaaa" + }, + "spec": { + "backups": { + "deltaMinutes": 3, + "fullMinutes": 10, + "tiers": [ + { + "retention": { + "maximums": [ + "6", + "512MB" + ], + "minimums": [ + "3" + ] + }, + "storage": { + "volumeSize": "1Gi" + } + } + ] + }, + "engine": { + "extensions": [ + { + "name": "citus" + } + ] + }, + "scale": { + "shards": 3 + }, + "scheduling": { + "default": { + "resources": { + "requests": { + "memory": "256Mi" + } + } + } + }, + "service": { + "type": "NodePort" + }, + "storage": { + "data": { + "className": "local-storage", + "size": "5Gi" + }, + "logs": { + "className": "local-storage", + "size": "5Gi" + } + } + }, + "status": { + "externalEndpoint": null, + "readyPods": "4/4", + "state": "Ready" + } + } + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + }, + "201": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testsqlregistration", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json new file mode 100644 index 000000000000..429450e7d703 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlManagedInstance.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2022-03-01-preview", + "sqlManagedInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username", + "password": "********" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + }, + "201": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json new file mode 100644 index 000000000000..94278b6f6bc9 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/CreateOrUpdateSqlServerInstance.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2022-03-01-preview", + "sqlServerInstance": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "vCore": "4", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Registered", + "azureDefenderStatus": "Protected", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Registered", + "azureDefenderStatus": "Protected", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + }, + "201": { + "body": { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "status": "Connected", + "azureDefenderStatus": "Protected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteActiveDirectoryConnector.json new file mode 100644 index 000000000000..3887fefcdee2 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteActiveDirectoryConnector.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteDataController.json new file mode 100644 index 000000000000..bb2b6a90bcc3 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteDataController.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeletePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeletePostgresInstance.json new file mode 100644 index 000000000000..2d7ce1873c07 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeletePostgresInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlManagedInstance.json new file mode 100644 index 000000000000..003ea83295e1 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlManagedInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlServerInstance.json new file mode 100644 index 000000000000..a68603dd987c --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/DeleteSqlServerInstance.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetActiveDirectoryConnector.json new file mode 100644 index 000000000000..ccfd3dcac5aa --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetActiveDirectoryConnector.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "activeDirectoryConnectorName": "testADConnector", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector", + "name": "testADConnector", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetDataController.json new file mode 100644 index 000000000000..3cc2234a3f9f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetDataController.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController", + "name": "testdataController", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetPostgresInstance.json new file mode 100644 index 000000000000..77c9e0d08d57 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetPostgresInstance.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstances", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances", + "name": "testpostgresInstances", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlManagedInstance.json new file mode 100644 index 000000000000..2e25b0ceed61 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlManagedInstance.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlServerInstance.json new file mode 100644 index 000000000000..b3eedaba2f52 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/GetSqlServerInstance.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json new file mode 100644 index 000000000000..e6c95a2b16cf --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByDataControllerActiveDirectoryConnector.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-03-01-preview", + "dataControllerName": "testdataController" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc1.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc2.contoso.local" + }, + { + "hostname": "dc3.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector1", + "name": "testADConnector1", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + }, + { + "properties": { + "spec": { + "activeDirectory": { + "realm": "CONTOSO.LOCAL", + "domainControllers": { + "primaryDomainController": { + "hostname": "dc4.contoso.local" + }, + "secondaryDomainControllers": [ + { + "hostname": "dc5.contoso.local" + }, + { + "hostname": "dc6.contoso.local" + } + ] + }, + "netbiosDomainName": "CONTOSO" + }, + "dns": { + "nameserverIPAddresses": [ + "11.11.111.111", + "22.22.222.222" + ], + "replicas": 1, + "preferK8sDnsForPtrLookups": false, + "domainName": "contoso.local" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController/activeDirectoryConnectors/testADConnector2", + "name": "testADConnector2", + "type": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupDataController.json new file mode 100644 index 000000000000..df12ccfd82f3 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupDataController.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupPostgresInstance.json new file mode 100644 index 000000000000..4a7b9c6f0714 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupPostgresInstance.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureArcData/PostgresInstances" + }, + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json new file mode 100644 index 000000000000..09812f7dd8d0 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlManagedInstance.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json new file mode 100644 index 000000000000..4e01e5a8da1f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListByResourceGroupSqlServerInstance.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListOperation.json new file mode 100644 index 000000000000..43d2407a2a91 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListOperation.json @@ -0,0 +1,313 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "read_OperationStatuses", + "description": "read OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/Locations/OperationStatuses/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Locations/OperationStatuses", + "operation": "write_OperationStatuses", + "description": "write OperationStatuses" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInSubscription", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_ListInGroup", + "description": "read dataControllers" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_GetDataController", + "description": "Retrieves a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PutDataController", + "description": "Creates or replaces a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_DeleteDataController", + "description": "Deletes a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers", + "operation": "DataControllers_PatchDataController", + "description": "Updates a dataController resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_List", + "description": "read sqlManagedInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_ListByResourceGroup", + "description": "Gets all sqlManagedInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Get", + "description": "Retrieves a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Create", + "description": "Creates or replaces a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Delete", + "description": "Deletes a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlManagedInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlManagedInstances", + "operation": "SqlManagedInstances_Update", + "description": "Updates a SQL Managed Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_List", + "description": "read sqlServerInstances" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_ListByResourceGroup", + "description": "Gets all sqlServerInstances in a resource group." + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Get", + "description": "Retrieves a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Create", + "description": "Creates or replaces a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Delete", + "description": "Deletes a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/sqlServerInstances/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "sqlServerInstances", + "operation": "SqlServerInstances_Update", + "description": "Updates a SQL Server Instance resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_List", + "description": "read activeDirectoryConnectors" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Get", + "description": "Retrieves an active directory connector resource" + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/write", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Create", + "description": "Creates or replaces an active directory connector resource." + } + }, + { + "name": "Microsoft.AzureArcData/dataControllers/activeDirectoryConnectors/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "dataControllers/activeDirectoryConnectors", + "operation": "ActiveDirectoryConnectors_Delete", + "description": "Deletes an active directory connector resource" + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/read", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Get Postgres Instance details.", + "description": "Retrieves details of Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/write", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Create new or update existing Postgres Instances.", + "description": "Create a new or change properties of existing Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/postgresInstances/delete", + "isDataAction": false, + "display": { + "resource": "Microsoft.AzureArcData", + "provider": "Azure Arc Data Resource Provider.", + "operation": "Delete exisiting Postgres Instances.", + "description": "Delete exisiting Postgres Instances." + } + }, + { + "name": "Microsoft.AzureArcData/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Register the Microsoft.AzureArcData", + "description": "Register the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/unregister/action", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Microsoft.AzureArcData", + "operation": "Unregister the Microsoft.AzureArcData", + "description": "Unregister the subscription for Microsoft.AzureArcData" + } + }, + { + "name": "Microsoft.AzureArcData/Operations/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.AzureArcData", + "resource": "Operations", + "operation": "read_Operations", + "description": "read Operations" + } + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionDataController.json new file mode 100644 index 000000000000..dedb485277ce --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionDataController.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + }, + { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension" + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2", + "name": "testdataController2", + "type": "Microsoft.AzureArcData/dataControllers" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionPostgresInstance.json new file mode 100644 index 000000000000..cc8123a5d07a --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionPostgresInstance.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances1", + "name": "testpostgresInstances1", + "type": "Microsoft.AzureArcData/PostgresInstances" + }, + { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstances/testpostgresInstances2", + "name": "testpostgresInstances2", + "type": "Microsoft.AzureArcData/PostgresInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json new file mode 100644 index 000000000000..746ec75061e6 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlManagedInstance.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1", + "name": "sqlManagedInstances1", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + }, + { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2", + "name": "sqlManagedInstances2", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlServerInstance.json new file mode 100644 index 000000000000..b72d30d0b67d --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/ListSubscriptionSqlServerInstance.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2022-03-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1", + "name": "sqlServerInstance1", + "type": "Microsoft.AzureArcData/SqlServerInstances" + }, + { + "properties": { + "version": "SQL Server 2017", + "edition": "Developer", + "containerResourceId": "Arc Machine Name", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2008 R2", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Connected" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2", + "name": "sqlServerInstance2", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + ] + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateDataController.json new file mode 100644 index 000000000000..f151898ff8ba --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateDataController.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "dataControllerName": "testdataController1", + "api-version": "2022-03-01-preview", + "dataControllerResource": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "onPremiseProperty": { + "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f", + "publicSigningKey": "publicOnPremSigningKey", + "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded" + }, + "basicLoginInformation": { + "username": "username" + }, + "metricsDashboardCredential": { + "username": "username" + }, + "logsDashboardCredential": { + "username": "username" + }, + "logAnalyticsWorkspaceConfig": { + "workspaceId": "00000000-1111-2222-3333-444444444444" + }, + "uploadServicePrincipal": { + "clientId": "00000000-1111-2222-3333-444444444444", + "tenantId": "00000000-1111-2222-3333-444444444444", + "authority": "https://login.microsoftonline.com/" + }, + "uploadWatermark": { + "metrics": "2020-01-01T17:18:19.1234567Z", + "logs": "2020-01-01T17:18:19.1234567Z", + "usages": "2020-01-01T17:18:19.1234567Z" + }, + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "infrastructure": "onpremises" + }, + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1", + "name": "testdataController1", + "type": "Microsoft.AzureArcData/dataControllers" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdatePostgresInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdatePostgresInstance.json new file mode 100644 index 000000000000..ca9778d55ec8 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdatePostgresInstance.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "postgresInstanceName": "testpostgresInstance", + "api-version": "2022-03-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "basicLoginInformation": { + "username": "username" + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "sku": { + "name": "default", + "tier": "Hyperscale", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/PostgresInstance/testpostgresInstance", + "name": "testpostgresInstance", + "type": "Microsoft.AzureArcData/PostgresInstance" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlManagedInstance.json new file mode 100644 index 000000000000..c82498320e8f --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlManagedInstance.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlManagedInstanceName": "testsqlManagedInstance", + "api-version": "2022-03-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "admin": "Admin user", + "startTime": "Instance start time", + "endTime": "Instance end time", + "basicLoginInformation": { + "username": "username" + }, + "licenseType": "LicenseIncluded", + "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s", + "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension", + "k8sRaw": { + "additionalProperty": 1234, + "spec": { + "replicas": 1, + "scheduling": { + "default": { + "resources": { + "requests": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + }, + "limits": { + "cpu": "1", + "memory": "8Gi", + "additionalProperty": "additionalValue" + } + } + } + } + } + } + }, + "location": "northeurope", + "extendedLocation": { + "type": "CustomLocation", + "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "sku": { + "name": "vCore", + "tier": "GeneralPurpose", + "dev": true + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance", + "name": "testsqlManagedInstance", + "type": "Microsoft.AzureArcData/sqlManagedInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlServerInstance.json new file mode 100644 index 000000000000..ca731ffc6344 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/examples/UpdateSqlServerInstance.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlServerInstanceName": "testsqlServerInstance", + "api-version": "2022-03-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "version": "SQL Server 2012", + "edition": "Developer", + "containerResourceId": "Resource id of hosting Arc Machine", + "createTime": "01/01/2020 01:01:01", + "patchLevel": "patchlevel", + "collation": "collation", + "currentVersion": "2012", + "instanceName": "name of instance", + "tcpDynamicPorts": "1433", + "tcpStaticPorts": "1433", + "productId": "sql id", + "vCore": "4", + "licenseType": "Free", + "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z", + "azureDefenderStatus": "Protected", + "status": "Registered", + "hostType": "Physical Server", + "esuExpirationDate": "2023-07-01T17:18:19.1234567Z" + }, + "location": "northeurope", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance", + "name": "testsqlServerInstance", + "type": "Microsoft.AzureArcData/SqlServerInstances" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/operations.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/operations.json new file mode 100644 index 000000000000..6402bfbf4644 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/operations.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "Operation": { + "description": "Azure Data Services on Azure Arc operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action." + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + }, + "required": [ + "name", + "display", + "isDataAction" + ] + }, + "OperationListResult": { + "description": "Result of the request to list Azure Data Services on Azure Arc operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string" + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string" + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string" + } + }, + "required": [ + "provider", + "resource", + "operation", + "description" + ] + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/postgresInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/postgresInstances.json new file mode 100644 index 000000000000..54762e0ec386 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/postgresInstances.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "PostgresInstanceSku": { + "description": "The resource model definition representing SKU for Azure Database for PostgresSQL - Azure Arc", + "type": "object", + "properties": { + "tier": { + "type": "string", + "enum": [ + "Hyperscale" + ], + "x-ms-enum": { + "name": "PostgresInstanceSkuTier", + "modelAsString": false + }, + "default": "Hyperscale", + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier." + } + }, + "allOf": [ + { + "$ref": "./common.json#/definitions/CommonSku" + } + ] + }, + "PostgresInstanceProperties": { + "description": "Postgres Instance properties.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "The data controller id" + }, + "admin": { + "type": "string", + "description": "The instance admin" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for basic authentication." + }, + "k8sRaw": { + "type": "object", + "description": "The raw kubernetes information" + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the Azure Arc-enabled PostgreSQL instance." + } + } + }, + "PostgresInstance": { + "description": "A Postgres Instance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties", + "x-ms-client-flatten": false, + "description": "null" + }, + "sku": { + "$ref": "#/definitions/PostgresInstanceSku", + "description": "Resource sku." + } + }, + "required": [ + "properties" + ] + }, + "PostgresInstanceUpdate": { + "description": "An update to a Postgres Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/PostgresInstanceProperties", + "x-ms-client-flatten": false + } + } + }, + "PostgresInstanceListResult": { + "description": "A list of PostgresInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/PostgresInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Azure subscription", + "x-ms-parameter-location": "client" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure resource group", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region to use for the request", + "x-ms-parameter-location": "method" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlManagedInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlManagedInstances.json new file mode 100644 index 000000000000..424ded0f571b --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlManagedInstances.json @@ -0,0 +1,289 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlManagedInstance": { + "description": "A SqlManagedInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlManagedInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + }, + "extendedLocation": { + "$ref": "./common.json#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "sku": { + "$ref": "#/definitions/SqlManagedInstanceSku", + "description": "Resource sku." + } + }, + "required": [ + "properties" + ] + }, + "SqlManagedInstanceSku": { + "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc", + "type": "object", + "properties": { + "name": { + "type": "string", + "enum": [ + "vCore" + ], + "description": "The name of the SKU.", + "x-ms-enum": { + "name": "SqlManagedInstanceSkuName", + "modelAsString": false + } + }, + "tier": { + "type": "string", + "enum": [ + "GeneralPurpose", + "BusinessCritical" + ], + "x-ms-enum": { + "name": "SqlManagedInstanceSkuTier", + "modelAsString": false + }, + "default": "GeneralPurpose", + "description": "The pricing tier for the instance." + }, + "dev": { + "type": "boolean", + "default": true, + "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. " + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "The SKU family" + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The SKU capacity" + } + }, + "required": [ + "name" + ] + }, + "SqlManagedInstanceProperties": { + "description": "Properties of sqlManagedInstance.", + "type": "object", + "properties": { + "dataControllerId": { + "type": "string", + "description": "null" + }, + "admin": { + "type": "string", + "description": "The instance admin user" + }, + "startTime": { + "type": "string", + "description": "The instance start time" + }, + "endTime": { + "type": "string", + "description": "The instance end time" + }, + "k8sRaw": { + "$ref": "#/definitions/SqlManagedInstanceK8sRaw", + "description": "The raw kubernetes information" + }, + "basicLoginInformation": { + "$ref": "./common.json#/definitions/BasicLoginInformation", + "description": "Username and password for basic authentication." + }, + "lastUploadedDate": { + "type": "string", + "format": "date-time", + "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the Arc-enabled SQL Managed Instance resource." + }, + "keytab": { + "type": "string", + "description": "A base64-encoded keytab.", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "licenseType": { + "type": "string", + "enum": [ + "BasePrice", + "LicenseIncluded", + "DisasterRecovery" + ], + "x-ms-enum": { + "name": "arcSqlManagedInstanceLicenseType", + "modelAsString": true + }, + "default": "BasePrice", + "description": "The license type to apply for this managed instance." + }, + "clusterId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to." + }, + "extensionId": { + "type": "string", + "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to." + } + } + }, + "SqlManagedInstanceUpdate": { + "description": "An update to a SQL Managed Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlManagedInstanceK8sRaw": { + "type": "object", + "description": "The raw kubernetes information.", + "properties": { + "spec": { + "$ref": "#/definitions/SqlManagedInstanceK8sSpec" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "SqlManagedInstanceK8sSpec": { + "type": "object", + "description": "The kubernetes spec information.", + "properties": { + "scheduling": { + "$ref": "#/definitions/K8sScheduling" + }, + "replicas": { + "type": "integer", + "format": "int32", + "description": "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'." + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sScheduling": { + "type": "object", + "description": "The kubernetes scheduling information.", + "properties": { + "default": { + "$ref": "#/definitions/K8sSchedulingOptions" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sSchedulingOptions": { + "type": "object", + "description": "The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service", + "properties": { + "resources": { + "$ref": "#/definitions/K8sResourceRequirements" + } + }, + "additionalProperties": { + "type": "object" + } + }, + "K8sResourceRequirements": { + "type": "object", + "description": "The kubernetes resource limits and requests used to restrict or reserve resource usage.", + "properties": { + "requests": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + }, + "limits": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'." + } + }, + "additionalProperties": { + "type": "object" + } + }, + "SqlManagedInstanceListResult": { + "description": "A list of SqlManagedInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlManagedInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlServerInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlServerInstances.json new file mode 100644 index 000000000000..ce785275b874 --- /dev/null +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/preview/2022-03-01-preview/sqlServerInstances.json @@ -0,0 +1,235 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01-preview", + "title": "AzureArcDataManagementClient", + "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources." + }, + "paths": {}, + "definitions": { + "SqlServerInstance": { + "description": "A SqlServerInstance.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlServerInstanceProperties", + "description": "null", + "x-ms-client-flatten": false + } + } + }, + "SqlServerInstanceProperties": { + "description": "Properties of SqlServerInstance.", + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "SQL Server version.", + "enum": [ + "SQL Server 2012", + "SQL Server 2014", + "SQL Server 2016", + "SQL Server 2017", + "SQL Server 2019", + "SQL Server 2022", + "Unknown" + ], + "x-ms-enum": { + "name": "sqlVersion", + "modelAsString": true + } + }, + "edition": { + "type": "string", + "description": "SQL Server edition.", + "enum": [ + "Evaluation", + "Enterprise", + "Standard", + "Web", + "Developer", + "Express" + ], + "x-ms-enum": { + "name": "editionType", + "modelAsString": true + } + }, + "containerResourceId": { + "type": "string", + "description": "ARM Resource id of the container resource (Azure Arc for Servers)." + }, + "createTime": { + "type": "string", + "description": "The time when the resource was created.", + "readOnly": true + }, + "vCore": { + "type": "string", + "description": "The number of logical processors used by the SQL Server instance." + }, + "status": { + "type": "string", + "description": "The cloud connectivity status.", + "enum": [ + "Connected", + "Disconnected", + "Registered", + "Unknown" + ], + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "patchLevel": { + "type": "string", + "description": "SQL Server update level." + }, + "collation": { + "type": "string", + "description": "SQL Server collation." + }, + "currentVersion": { + "type": "string", + "description": "SQL Server current version." + }, + "instanceName": { + "type": "string", + "description": "SQL Server instance name." + }, + "tcpDynamicPorts": { + "type": "string", + "description": "Dynamic TCP ports used by SQL Server." + }, + "tcpStaticPorts": { + "type": "string", + "description": "Static TCP ports used by SQL Server." + }, + "productId": { + "type": "string", + "description": "SQL Server product ID." + }, + "licenseType": { + "type": "string", + "description": "SQL Server license type.", + "enum": [ + "Paid", + "Free", + "HADR", + "Undefined" + ], + "x-ms-enum": { + "name": "arcSqlServerLicenseType", + "modelAsString": true + } + }, + "azureDefenderStatusLastUpdated": { + "type": "string", + "format": "date-time", + "description": "Timestamp of last Azure Defender status update." + }, + "azureDefenderStatus": { + "type": "string", + "description": "Status of Azure Defender.", + "enum": [ + "Protected", + "Unprotected", + "Unknown" + ], + "x-ms-enum": { + "name": "defenderStatus", + "modelAsString": true + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the Arc-enabled SQL Server resource.", + "readOnly": true + }, + "esuExpirationDate": { + "type": "string", + "format": "date-time", + "description": "Timestamp of ESU Expiration." + }, + "hostType": { + "type": "string", + "description": "Type of host for Azure Arc SQL Server", + "enum": [ + "Virtual Machine", + "Physical Server", + "AWS Virtual Machine", + "GCP Virtual Machine", + "Other" + ], + "x-ms-enum": { + "name": "hostType", + "modelAsString": true + } + } + }, + "required": [ + "containerResourceId", + "status" + ] + }, + "SqlServerInstanceUpdate": { + "description": "An update to a SQL Server Instance.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlServerInstanceListResult": { + "description": "A list of SqlServerInstance.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlServerInstance" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request", + "x-ms-parameter-location": "client" + } + }, + "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" + } + } + } +} diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json index 9add6d681f3f..9c3969091e09 100644 --- a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json @@ -68,6 +68,10 @@ "items": { "$ref": "#/definitions/ErrorResponseBody" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json index be32e92dced1..6d311453f81b 100644 --- a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json +++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json @@ -62,6 +62,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { diff --git a/specification/azurearcdata/resource-manager/readme.md b/specification/azurearcdata/resource-manager/readme.md index 4a842bfc5c2b..7fc5dfac4253 100644 --- a/specification/azurearcdata/resource-manager/readme.md +++ b/specification/azurearcdata/resource-manager/readme.md @@ -27,14 +27,29 @@ These are the global settings for the azurearcdata. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2021-11-01 +tag: package-preview-2022-03 ``` + +### Tag: package-preview-2022-03 + +These settings apply only when `--tag=package-preview-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-03' +input-file: + - Microsoft.AzureArcData/preview/2022-03-01-preview/azurearcdata.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/common.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/dataControllers.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/operations.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/postgresInstances.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/sqlManagedInstances.json + - Microsoft.AzureArcData/preview/2022-03-01-preview/sqlServerInstances.json +``` ### Tag: package-2021-11-01 These settings apply only when `--tag=package-2021-11-01` is specified on the command line. -```yaml $(tag) == 'package-2021-11-01' +``` yaml $(tag) == 'package-2021-11-01' input-file: - Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json ``` @@ -43,7 +58,7 @@ input-file: These settings apply only when `--tag=package-2021-08-01` is specified on the command line. -```yaml $(tag) == 'package-2021-08-01' +``` yaml $(tag) == 'package-2021-08-01' input-file: - Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json ``` @@ -52,7 +67,7 @@ input-file: These settings apply only when `--tag=package-preview-2021-07-01` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-07-01' +``` yaml $(tag) == 'package-preview-2021-07-01' input-file: - Microsoft.AzureArcData/preview/2021-07-01-preview/azurearcdata.json ``` @@ -61,7 +76,7 @@ input-file: These settings apply only when `--tag=package-preview-2021-06-01` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-06-01' +``` yaml $(tag) == 'package-preview-2021-06-01' input-file: - Microsoft.AzureArcData/preview/2021-06-01-preview/azurearcdata.json ``` diff --git a/specification/azurearcdata/resource-manager/readme.python.md b/specification/azurearcdata/resource-manager/readme.python.md index 2362cf4f5a0f..246e6245ae8f 100644 --- a/specification/azurearcdata/resource-manager/readme.python.md +++ b/specification/azurearcdata/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-azurearcdata -no-namespace-folders: true +namespace: azure.mgmt.azurearcdata package-version: 1.1.1b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/azurearcdata/azure-mgmt-azurearcdata/azure/mgmt/azurearcdata ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azurearcdata/azure-mgmt-azurearcdata -``` diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json index f9ef85967cab..45121f77ab92 100644 --- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json +++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json @@ -137,17 +137,17 @@ "$ref": "#/definitions/SqlServerRegistration" } }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 TinaGroupUpdateFailVmAttached - SQL Server registration cannot be updated as it has attached a SQL Server.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 TinaGroupNameTooLong - SQL Server registration name cannot exceed 15 characters.\n\n * 400 InvalidTinaGroupName - Invalid SQL Server registration name.\n\n * 400 TinaGroupNotEmpty - SQL Server registration is not empty.\n\n * 400 TinaGroupUpdateNotAllowed - Update to SQL Server registration is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", - "schema": { - "$ref": "#/definitions/CloudError" - } - }, "201": { "description": "Successfully created the SQL Server registration.", "schema": { "$ref": "#/definitions/SqlServerRegistration" } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 TinaGroupUpdateFailVmAttached - SQL Server registration cannot be updated as it has attached a SQL Server.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 TinaGroupNameTooLong - SQL Server registration name cannot exceed 15 characters.\n\n * 400 InvalidTinaGroupName - Invalid SQL Server registration name.\n\n * 400 TinaGroupNotEmpty - SQL Server registration is not empty.\n\n * 400 TinaGroupUpdateNotAllowed - Update to SQL Server registration is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-examples": { @@ -184,14 +184,14 @@ "200": { "description": "Successfully deleted the SQL Server registration." }, + "204": { + "description": "The specified SQL Server registration does not exist." + }, "default": { "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 TinaGroupUpdateFailVmAttached - SQL Server registration cannot be updated as it has attached a SQL Server.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 TinaGroupNameTooLong - SQL Server registration name cannot exceed 15 characters.\n\n * 400 InvalidTinaGroupName - Invalid SQL Server registration name.\n\n * 400 TinaGroupNotEmpty - SQL Server registration is not empty.\n\n * 400 TinaGroupUpdateNotAllowed - Update to SQL Server registration is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", "schema": { "$ref": "#/definitions/CloudError" } - }, - "204": { - "description": "The specified SQL Server registration does not exist." } }, "x-ms-examples": { @@ -441,17 +441,17 @@ "$ref": "#/definitions/SqlServer" } }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidVmResourceIdChange - Server resource id property cannot be updated.\n\n * 400 TinaAlreadyIncludedInGroup - SQL Server cannot be moved from one group to another in same operation.\n\n * 400 TinaCannotRemoveFromGroup - SQL Server cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL Server.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL Server registration does not match that of the SQL Server.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC Servers are allowed.\n\n * 400 InvalidTinaGroupResourceIdParameterValue - SQL Server registration resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL Server and SQL Server registration are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided Server resource id is not valid.\n\n * 400 MismatchInTinaAndVmResourceIdSubscription - Mismatch in subscription id for SQL Server and Server resource id property.\n\n * 400 MismatchTinaAndVmName - SQL Server name is not same as the Server name provided on ServerResourceId property.\n\n * 400 MismatchTinaAndVmRgName - SQL Server resource group name is not same as the Server resource group name provided on ServerResourceId property.\n\n * 400 NotSupportedTinaOSVersion - Server OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 SqlExtNotInstalled - Sql Iaas Extension is not installed on Server.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Server as this was not created from Azure marketplace image.\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL Server registration.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 404 SubscriptionDoesNotHaveTINAInResourceGroup - Subscription does not have SQL Server Instance in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", - "schema": { - "$ref": "#/definitions/CloudError" - } - }, "201": { "description": "Successfully created the SQL Server.", "schema": { "$ref": "#/definitions/SqlServer" } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidVmResourceIdChange - Server resource id property cannot be updated.\n\n * 400 TinaAlreadyIncludedInGroup - SQL Server cannot be moved from one group to another in same operation.\n\n * 400 TinaCannotRemoveFromGroup - SQL Server cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL Server.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL Server registration does not match that of the SQL Server.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC Servers are allowed.\n\n * 400 InvalidTinaGroupResourceIdParameterValue - SQL Server registration resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL Server and SQL Server registration are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided Server resource id is not valid.\n\n * 400 MismatchInTinaAndVmResourceIdSubscription - Mismatch in subscription id for SQL Server and Server resource id property.\n\n * 400 MismatchTinaAndVmName - SQL Server name is not same as the Server name provided on ServerResourceId property.\n\n * 400 MismatchTinaAndVmRgName - SQL Server resource group name is not same as the Server resource group name provided on ServerResourceId property.\n\n * 400 NotSupportedTinaOSVersion - Server OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 SqlExtNotInstalled - Sql Iaas Extension is not installed on Server.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Server as this was not created from Azure marketplace image.\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL Server registration.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 404 SubscriptionDoesNotHaveTINAInResourceGroup - Subscription does not have SQL Server Instance in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-examples": { @@ -495,14 +495,14 @@ "200": { "description": "Successfully deleted the SQL Server." }, + "204": { + "description": "The specified SQL Server does not exist." + }, "default": { "description": "*** Error Responses: ***\n\n * 400 InvalidVmResourceIdChange - Server resource id property cannot be updated.\n\n * 400 TinaAlreadyIncludedInGroup - SQL Server cannot be moved from one group to another in same operation.\n\n * 400 TinaCannotRemoveFromGroup - SQL Server cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL Server.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL Server registration does not match that of the SQL Server.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC Servers are allowed.\n\n * 400 InvalidTinaGroupResourceIdParameterValue - SQL Server registration resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL Server and SQL Server registration are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided Server resource id is not valid.\n\n * 400 MismatchInTinaAndVmResourceIdSubscription - Mismatch in subscription id for SQL Server and Server resource id property.\n\n * 400 MismatchTinaAndVmName - SQL Server name is not same as the Server name provided on ServerResourceId property.\n\n * 400 MismatchTinaAndVmRgName - SQL Server resource group name is not same as the Server resource group name provided on ServerResourceId property.\n\n * 400 NotSupportedTinaOSVersion - Server OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 SqlExtNotInstalled - Sql Iaas Extension is not installed on Server.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Server as this was not created from Azure marketplace image.\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL Server registration.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveTINAGroupInResourceGroup - Subscription does not have SQL Server registration in resource group.\n\n * 404 SubscriptionDoesNotHaveTINAInResourceGroup - Subscription does not have SQL Server Instance in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.", "schema": { "$ref": "#/definitions/CloudError" } - }, - "204": { - "description": "The specified SQL Server does not exist." } }, "x-ms-examples": { @@ -766,6 +766,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -1136,6 +1139,10 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, @@ -1160,6 +1167,10 @@ "items": { "$ref": "#/definitions/ODataError" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The error details." } }, diff --git a/specification/azuredata/resource-manager/readme.python.md b/specification/azuredata/resource-manager/readme.python.md index 13fbd1d77211..e5c6d4a3c2d2 100644 --- a/specification/azuredata/resource-manager/readme.python.md +++ b/specification/azuredata/resource-manager/readme.python.md @@ -3,20 +3,15 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -package-name: azuredata -no-namespace-folders: true +package-name: azure-mgmt-azuredata +namespace: azure.mgmt.azuredata package-version: 1.0.0b1 ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/azuredata/azure-mgmt-azuredata/azure/mgmt/azuredata -``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azuredata/azure-mgmt-azuredata ``` \ No newline at end of file diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json index 8805bab1ea83..3827a417a105 100644 --- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json +++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/AzureStack.json @@ -269,7 +269,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URI to the next page of operations.", 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 233fb31cbc06..702117643ff0 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 @@ -430,6 +430,9 @@ "items": { "$ref": "#/definitions/DataDiskImage" }, + "x-ms-identifiers": [ + "lun" + ], "readOnly": true } } @@ -536,7 +539,10 @@ "type": "array", "items": { "$ref": "#/definitions/ProductLink" - } + }, + "x-ms-identifiers": [ + "uri" + ] }, "legalTerms": { "description": "The legal terms.", diff --git a/specification/azurestack/resource-manager/readme.python.md b/specification/azurestack/resource-manager/readme.python.md index 743c17a3b419..cb63d29cf04f 100644 --- a/specification/azurestack/resource-manager/readme.python.md +++ b/specification/azurestack/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.azurestack @@ -13,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack/azure/mgmt/azurestack ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azurestack/azure-mgmt-azurestack -``` \ No newline at end of file diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md index 2cf9c932a0eb..1447a86e5b12 100644 --- a/specification/azurestackhci/resource-manager/readme.go.md +++ b/specification/azurestackhci/resource-manager/readme.go.md @@ -20,11 +20,22 @@ azure-arm: true ```yaml $(go) && $(multiapi) batch: + - tag: package-2022-01 - tag: package-preview-2021-01 - tag: package-2020-10 - tag: package-2020-03-01-preview ``` +### Tag: package-2022-01 and go + +These settings apply only when `--tag=package-2022-01 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2022-01' && $(go) +namespace: azurestackhci +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-01-01/$(namespace) +``` + ### Tag: package-preview-2021-01 and go These settings apply only when `--tag=package-preview-2021-01 --go` is specified on the command line. diff --git a/specification/azurestackhci/resource-manager/readme.python.md b/specification/azurestackhci/resource-manager/readme.python.md index 60ef8a5dcc18..f3bb3527fcff 100644 --- a/specification/azurestackhci/resource-manager/readme.python.md +++ b/specification/azurestackhci/resource-manager/readme.python.md @@ -3,19 +3,15 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-azurestackhci -no-namespace-folders: true +namespace: azure.mgmt.azurestackhci package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci -``` diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json index a49b2e8ca22b..150a737fb9b0 100644 --- a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json @@ -640,6 +640,9 @@ "items": { "$ref": "#/definitions/Disk" }, + "x-ms-identifiers": [ + "name" + ], "description": "Specifies information about the operating system disk used by baremetal instance." } }, @@ -675,6 +678,9 @@ "items": { "$ref": "#/definitions/IpAddress" }, + "x-ms-identifiers": [ + "ipAddress" + ], "description": "Specifies the network interfaces for the AzureBareMetal instance." }, "circuitId": { @@ -702,6 +708,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of AzureBareMetal operations" } }, @@ -795,6 +804,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/stable/2021-08-09/baremetalinfrastructure.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/stable/2021-08-09/baremetalinfrastructure.json index 2c4538f885f7..12c8d5fd7e3c 100644 --- a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/stable/2021-08-09/baremetalinfrastructure.json +++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/stable/2021-08-09/baremetalinfrastructure.json @@ -463,6 +463,9 @@ "items": { "$ref": "#/definitions/Disk" }, + "x-ms-identifiers": [ + "name" + ], "description": "Specifies information about the operating system disk used by baremetal instance." } }, @@ -498,6 +501,9 @@ "items": { "$ref": "#/definitions/IpAddress" }, + "x-ms-identifiers": [ + "ipAddress" + ], "description": "Specifies the network interfaces for the AzureBareMetal instance." }, "circuitId": { @@ -525,6 +531,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of AzureBareMetal operations" } }, @@ -613,6 +622,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md index 005b88759d16..7a1fb97dfc16 100644 --- a/specification/baremetalinfrastructure/resource-manager/readme.python.md +++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md @@ -6,21 +6,16 @@ Use --python-mode=update if you already have a setup.py and just want to update These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-baremetalinfrastructure -no-namespace-folders: true +namespace: azure.mgmt.baremetalinfrastructure package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure/azure/mgmt/baremetalinfrastructure ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/baremetalinfrastructure/azure-mgmt-baremetalinfrastructure -``` \ No newline at end of file diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json index 38fb4c0ed701..196324c88eda 100644 --- a/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2021-06-01/BatchManagement.json @@ -2782,6 +2782,9 @@ "items": { "$ref": "#/definitions/VirtualMachineFamilyCoreQuota" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." }, "dedicatedCoreQuotaPerVMFamilyEnforced": { @@ -3461,6 +3464,10 @@ "items": { "$ref": "#/definitions/DeleteCertificateError" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, @@ -3818,6 +3825,9 @@ "items": { "$ref": "#/definitions/UserAccount" }, + "x-ms-identifiers": [ + "name" + ], "title": "The list of user accounts to be created on each node in the pool." }, "metadata": { @@ -3825,6 +3835,9 @@ "items": { "$ref": "#/definitions/MetadataItem" }, + "x-ms-identifiers": [ + "name" + ], "title": "A list of name-value pairs associated with the pool as metadata.", "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." }, @@ -3867,6 +3880,7 @@ "items": { "$ref": "#/definitions/MountConfiguration" }, + "x-ms-identifiers": [], "title": "A list of file systems to mount on each node in the pool.", "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." } @@ -4134,6 +4148,7 @@ "items": { "$ref": "#/definitions/ResizeError" }, + "x-ms-identifiers": [], "title": "Additional details about the error." } }, @@ -4159,6 +4174,7 @@ "items": { "$ref": "#/definitions/AutoScaleRunError" }, + "x-ms-identifiers": [], "title": "Additional details about the error." } }, @@ -4213,6 +4229,9 @@ "items": { "$ref": "#/definitions/DataDisk" }, + "x-ms-identifiers": [ + "lun" + ], "title": "The configuration for data disks attached to the compute nodes in the pool.", "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them." }, @@ -4241,6 +4260,10 @@ "items": { "$ref": "#/definitions/VMExtension" }, + "x-ms-identifiers": [ + "name", + "type" + ], "title": "The virtual machine extension for the pool.", "description": "If specified, the extensions mentioned in this configuration will be installed on each node." }, @@ -4350,6 +4373,9 @@ "items": { "$ref": "#/definitions/ContainerRegistry" }, + "x-ms-identifiers": [ + "registryServers" + ], "title": "Additional private registries from which containers can be pulled.", "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." } @@ -4645,6 +4671,9 @@ "items": { "$ref": "#/definitions/ResourceFile" }, + "x-ms-identifiers": [ + "httpUrl" + ], "title": "A list of files that the Batch service will download to the compute node before running the command line." }, "environmentSettings": { @@ -4652,6 +4681,9 @@ "items": { "$ref": "#/definitions/EnvironmentSetting" }, + "x-ms-identifiers": [ + "name" + ], "title": "A list of environment variable settings for the start task." }, "userIdentity": { @@ -5113,6 +5145,7 @@ "items": { "$ref": "#/definitions/ResizeError" }, + "x-ms-identifiers": [], "title": "Details of any errors encountered while performing the last resize on the pool.", "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady." } @@ -5128,6 +5161,9 @@ "items": { "$ref": "#/definitions/InboundNatPool" }, + "x-ms-identifiers": [ + "name" + ], "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.", "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." } @@ -5191,7 +5227,8 @@ "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", "items": { "$ref": "#/definitions/NetworkSecurityGroupRule" - } + }, + "x-ms-identifiers": [] } }, "required": [ @@ -5338,6 +5375,10 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, @@ -5378,6 +5419,9 @@ "items": { "$ref": "#/definitions/SkuCapability" }, + "x-ms-identifiers": [ + "name" + ], "description": "A collection of capabilities which this SKU supports." } }, @@ -5391,6 +5435,9 @@ "items": { "$ref": "#/definitions/SupportedSku" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of SKUs available for the Batch service in the location." }, "nextLink": { @@ -5459,6 +5506,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "title": "The list of operations supported by the resource provider." }, "nextLink": { @@ -5710,6 +5760,7 @@ "items": { "$ref": "#/definitions/OutboundEnvironmentEndpoint" }, + "x-ms-identifiers": [], "description": "The collection of outbound network dependency endpoints returned by the listing operation." }, "nextLink": { @@ -5733,6 +5784,9 @@ "items": { "$ref": "#/definitions/EndpointDependency" }, + "x-ms-identifiers": [ + "domainName" + ], "description": "The endpoints for this service to which the Batch service makes outbound calls." } }, @@ -5757,6 +5811,7 @@ "items": { "$ref": "#/definitions/EndpointDetail" }, + "x-ms-identifiers": [], "description": "The list of connection details for this endpoint." } }, diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/BatchManagement.json new file mode 100644 index 000000000000..a0fa8ef32394 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/BatchManagement.json @@ -0,0 +1,6096 @@ +{ + "swagger": "2.0", + "info": { + "title": "BatchManagementClient", + "description": "The Batch Management Client.", + "version": "2022-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}": { + "put": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Create", + "x-ms-examples": { + "BatchAccountCreate_Default": { + "$ref": "./examples/BatchAccountCreate_Default.json" + }, + "BatchAccountCreate_BYOS": { + "$ref": "./examples/BatchAccountCreate_BYOS.json" + }, + "PrivateBatchAccountCreate": { + "$ref": "./examples/PrivateBatchAccountCreate.json" + }, + "BatchAccountCreate_SystemAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_SystemAssignedIdentity.json" + }, + "BatchAccountCreate_UserAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_UserAssignedIdentity.json" + } + }, + "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountCreateParameters" + }, + "description": "Additional parameters for account creation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Update", + "x-ms-examples": { + "BatchAccountUpdate": { + "$ref": "./examples/BatchAccountUpdate.json" + } + }, + "description": "Updates the properties of an existing Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountUpdateParameters" + }, + "description": "Additional parameters for account update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Delete", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/BatchAccountDelete.json" + } + }, + "description": "Deletes the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that specifies the delay in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_Get", + "x-ms-examples": { + "BatchAccountGet": { + "$ref": "./examples/BatchAccountGet.json" + }, + "PrivateBatchAccountGet": { + "$ref": "./examples/PrivateBatchAccountGet.json" + } + }, + "description": "Gets information about the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account entity.", + "schema": { + "$ref": "#/definitions/BatchAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_List", + "x-ms-examples": { + "BatchAccountList": { + "$ref": "./examples/BatchAccountList.json" + } + }, + "description": "Gets information about the Batch accounts associated with the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the subscription.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_ListByResourceGroup", + "x-ms-examples": { + "BatchAccountListByResourceGroup": { + "$ref": "./examples/BatchAccountListByResourceGroup.json" + } + }, + "description": "Gets information about the Batch accounts associated with the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of Batch account entities associated with the resource group.", + "schema": { + "$ref": "#/definitions/BatchAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/syncAutoStorageKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_SynchronizeAutoStorageKeys", + "x-ms-examples": { + "BatchAccountSynchronizeAutoStorageKeys": { + "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" + } + }, + "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account, only if storage key authentication is being used.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/regenerateKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_RegenerateKey", + "x-ms-examples": { + "BatchAccountRegenerateKey": { + "$ref": "./examples/BatchAccountRegenerateKey.json" + } + }, + "summary": "Regenerates the specified account key for the Batch account.", + "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, regenerating the keys will fail.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BatchAccountRegenerateKeyParameters" + }, + "description": "The type of key to regenerate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch account keys.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_GetKeys", + "x-ms-examples": { + "BatchAccountGetKeys": { + "$ref": "./examples/BatchAccountGetKeys.json" + } + }, + "summary": "Gets the account keys for the specified Batch account.", + "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, getting the keys will fail.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the keys of the Batch account.", + "schema": { + "$ref": "#/definitions/BatchAccountKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}/activate": { + "post": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Activate", + "x-ms-examples": { + "ApplicationPackageActivate": { + "$ref": "./examples/ApplicationPackageActivate.json" + } + }, + "description": "Activates the specified application package. This should be done after the `ApplicationPackage` was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActivateApplicationPackageParameters" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}": { + "put": { + "tags": [ + "Application" + ], + "operationId": "Application_Create", + "x-ms-examples": { + "ApplicationCreate": { + "$ref": "./examples/ApplicationCreate.json" + } + }, + "description": "Adds an application to the specified Batch account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Application_Delete", + "x-ms-examples": { + "ApplicationDelete": { + "$ref": "./examples/ApplicationDelete.json" + } + }, + "description": "Deletes an application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_Get", + "x-ms-examples": { + "ApplicationGet": { + "$ref": "./examples/ApplicationGet.json" + } + }, + "description": "Gets information about the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Application_Update", + "x-ms-examples": { + "ApplicationUpdate": { + "$ref": "./examples/ApplicationUpdate.json" + } + }, + "description": "Updates settings for the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + }, + "description": "The parameters for the request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application entity.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions/{versionName}": { + "put": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Create", + "x-ms-examples": { + "ApplicationPackageCreate": { + "$ref": "./examples/ApplicationPackageCreate.json" + } + }, + "description": "Creates an application package record. The record contains a storageUrl where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used. If the auto storage account was configured to use storage keys, the URL returned will contain a SAS.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The parameters for the request." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Delete", + "x-ms-examples": { + "ApplicationPackageDelete": { + "$ref": "./examples/ApplicationPackageDelete.json" + } + }, + "description": "Deletes an application package record and its associated binary file.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_Get", + "x-ms-examples": { + "ApplicationPackageGet": { + "$ref": "./examples/ApplicationPackageGet.json" + } + }, + "description": "Gets information about the specified application package.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the application package entity.", + "schema": { + "$ref": "#/definitions/ApplicationPackage" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Application_List", + "x-ms-examples": { + "ApplicationList": { + "$ref": "./examples/ApplicationList.json" + } + }, + "description": "Lists all of the applications in the specified account.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application entities associated with the specified account.", + "schema": { + "$ref": "#/definitions/ListApplicationsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/applications/{applicationName}/versions": { + "get": { + "tags": [ + "ApplicationPackage" + ], + "operationId": "ApplicationPackage_List", + "x-ms-examples": { + "ApplicationPackageList": { + "$ref": "./examples/ApplicationPackageList.json" + } + }, + "description": "Lists all of the application packages in the specified application.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of the application package entities associated with the specified application.", + "schema": { + "$ref": "#/definitions/ListApplicationPackagesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/quotas": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_GetQuotas", + "x-ms-examples": { + "LocationGetQuotas": { + "$ref": "./examples/LocationGetQuotas.json" + } + }, + "description": "Gets the Batch service quotas for the specified subscription at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service quotas." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service quotas for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/BatchLocationQuota" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/virtualMachineSkus": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_ListSupportedVirtualMachineSkus", + "x-ms-examples": { + "LocationListVirtualMachineSkus": { + "$ref": "./examples/LocationListVirtualMachineSkus.json" + } + }, + "description": "Gets the list of Batch supported Virtual Machine VM sizes available at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service supported SKUs." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"familyName\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service supported virtual machine vm sizes for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/SupportedSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/cloudServiceSkus": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_ListSupportedCloudServiceSkus", + "x-ms-examples": { + "LocationListCloudServiceSkus": { + "$ref": "./examples/LocationListCloudServiceSkus.json" + } + }, + "description": "Gets the list of Batch supported Cloud Service VM sizes available at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service supported SKUs." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"familyName\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service supported Cloud Service VM sizes for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/SupportedSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Batch/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists available operations for the Microsoft.Batch provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/checkNameAvailability": { + "post": { + "operationId": "Location_CheckNameAvailability", + "description": "Checks whether the Batch account name is available in the specified region.", + "x-ms-examples": { + "LocationCheckNameAvailability_Available": { + "$ref": "./examples/LocationCheckNameAvailability_Available.json" + }, + "LocationCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" + } + }, + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The desired region for the name check." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Properties needed to check the availability of a name." + } + ], + "responses": { + "200": { + "description": "Success. Returns details about whether a Batch account name is available.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates": { + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_ListByBatchAccount", + "description": "Lists all of the certificates in the specified account.", + "x-ms-examples": { + "ListCertificates": { + "$ref": "./examples/CertificateList.json" + }, + "ListCertificates - Filter and Select": { + "$ref": "./examples/CertificateListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"properties/provisioningState\", \"properties/provisioningStateTransitionTime\", \"name\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListCertificatesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}": { + "put": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Create", + "description": "Creates a new certificate inside the specified account.", + "x-ms-examples": { + "CreateCertificate - Minimal Pfx": { + "$ref": "./examples/CertificateCreate_Minimal.json" + }, + "CreateCertificate - Minimal Cer": { + "$ref": "./examples/CertificateCreate_MinimalCer.json" + }, + "CreateCertificate - Full": { + "$ref": "./examples/CertificateCreate_Full.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Additional parameters for certificate creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. A value of \"*\" can be used to apply the operation only if the certificate already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new certificate to be created, but to prevent updating an existing certificate. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Update", + "description": "Updates the properties of an existing certificate.", + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/CertificateUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + }, + "description": "Certificate entity to update." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the certificate to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Delete", + "description": "Deletes the specified certificate.", + "x-ms-examples": { + "CertificateDelete": { + "$ref": "./examples/CertificateDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_Get", + "description": "Gets information about the specified certificate.", + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/CertificateGet.json" + }, + "Get Certificate with Deletion Error": { + "$ref": "./examples/CertificateGetWithDeletionError.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}/cancelDelete": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_CancelDeletion", + "summary": "Cancels a failed deletion of a certificate from the specified account.", + "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.", + "x-ms-examples": { + "CertificateCancelDeletion": { + "$ref": "./examples/CertificateCancelDeletion.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/CertificateNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the certificate entity.", + "schema": { + "$ref": "#/definitions/Certificate" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors": { + "get": { + "operationId": "BatchAccount_ListDetectors", + "description": "Gets information about the detectors available for a given Batch account.", + "x-ms-examples": { + "ListDetectors": { + "$ref": "./examples/DetectorList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of detectors associated with a Batch account.", + "schema": { + "$ref": "#/definitions/DetectorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}": { + "get": { + "operationId": "BatchAccount_GetDetector", + "description": "Gets information about the given detector for a given Batch account.", + "x-ms-examples": { + "GetDetector": { + "$ref": "./examples/DetectorGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/DetectorIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains information about the given detector associated with a Batch account.", + "schema": { + "$ref": "#/definitions/DetectorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_ListByBatchAccount", + "description": "Lists all of the private link resources in the specified account.", + "x-ms-examples": { + "ListPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateLinkResourcesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "operationId": "PrivateLinkResource_Get", + "description": "Gets information about the specified private link resource.", + "x-ms-examples": { + "GetPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_ListByBatchAccount", + "description": "Lists all of the private endpoint connections in the specified account.", + "x-ms-examples": { + "ListPrivateEndpointConnections": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateEndpointConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Get", + "description": "Gets information about the specified private endpoint connection.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Update", + "description": "Updates the properties of an existing private endpoint connection.", + "x-ms-examples": { + "UpdatePrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "PrivateEndpointConnection properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The state (ETag) version of the private endpoint connection to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the PrivateEndpointConnection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The operation was accepted and will be performed in the background.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": { + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_ListByBatchAccount", + "description": "Lists all of the pools in the specified account.", + "x-ms-examples": { + "ListPool": { + "$ref": "./examples/PoolList.json" + }, + "ListPoolWithFilter": { + "$ref": "./examples/PoolListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListPoolsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": { + "put": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Create", + "description": "Creates a new pool inside the specified account.", + "x-ms-examples": { + "CreatePool - Minimal CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" + }, + "CreatePool - Minimal VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" + }, + "CreatePool - Full CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_CloudServiceConfiguration.json" + }, + "CreatePool - Custom Image": { + "$ref": "./examples/PoolCreate_SharedImageGallery.json" + }, + "CreatePool - Public IPs": { + "$ref": "./examples/PoolCreate_PublicIPs.json" + }, + "CreatePool - Full VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" + }, + "CreatePool - No public IP": { + "$ref": "./examples/PoolCreate_NoPublicIPAddresses.json" + }, + "CreatePool - UserAssignedIdentities": { + "$ref": "./examples/PoolCreate_UserAssignedIdentities.json" + }, + "CreatePool - VirtualMachineConfiguration Extensions": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration_Extensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Additional parameters for pool creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Update", + "description": "Updates the properties of an existing pool.", + "x-ms-examples": { + "UpdatePool - Resize Pool": { + "$ref": "./examples/PoolUpdate_ResizePool.json" + }, + "UpdatePool - Enable Autoscale": { + "$ref": "./examples/PoolUpdate_EnableAutoScale.json" + }, + "UpdatePool - Remove Start Task": { + "$ref": "./examples/PoolUpdate_RemoveStartTask.json" + }, + "UpdatePool - Other Properties": { + "$ref": "./examples/PoolUpdate_OtherProperties.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Delete", + "description": "Deletes the specified pool.", + "x-ms-examples": { + "DeletePool": { + "$ref": "./examples/PoolDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful." + }, + "202": { + "description": "The operation will be completed asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Get", + "description": "Gets information about the specified pool.", + "x-ms-examples": { + "GetPool": { + "$ref": "./examples/PoolGet.json" + }, + "GetPool - VirtualMachineConfiguration Extensions": { + "$ref": "./examples/PoolGet_VirtualMachineConfiguration_Extensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/disableAutoScale": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_DisableAutoScale", + "description": "Disables automatic scaling for a pool.", + "x-ms-examples": { + "Disable AutoScale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}/stopResize": { + "post": { + "tags": [ + "Pool" + ], + "operationId": "Pool_StopResize", + "summary": "Stops an ongoing resize operation on the pool.", + "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.", + "x-ms-examples": { + "StopPoolResize": { + "$ref": "./examples/PoolStopResize.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_ListOutboundNetworkDependenciesEndpoints", + "description": "Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://docs.microsoft.com/en-us/azure/batch/batch-virtual-network.", + "x-ms-examples": { + "ListOutboundNetworkDependencies": { + "$ref": "./examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of outbound network dependencies.", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AutoStorageBaseProperties": { + "type": "object", + "properties": { + "storageAccountId": { + "type": "string", + "description": "The resource ID of the storage account to be used for auto-storage account." + }, + "authenticationMode": { + "type": "string", + "description": "The authentication mode which the Batch service will use to manage the auto-storage account.", + "default": "StorageKeys", + "enum": [ + "StorageKeys", + "BatchAccountManagedIdentity" + ], + "x-ms-enum": { + "name": "AutoStorageAuthenticationMode", + "modelAsString": false, + "values": [ + { + "value": "StorageKeys", + "description": "The Batch service will authenticate requests to auto-storage using storage account keys." + }, + { + "value": "BatchAccountManagedIdentity", + "description": "The Batch service will authenticate requests to auto-storage using the managed identity assigned to the Batch account." + } + ] + } + }, + "nodeIdentityReference": { + "title": "The reference to the user assigned identity which compute nodes will use to access auto-storage.", + "description": "The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "required": [ + "storageAccountId" + ], + "description": "The properties related to the auto-storage account." + }, + "BatchAccountUpdateProperties": { + "type": "object", + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + }, + "allowedAuthenticationModes": { + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." + } + }, + "description": "The properties of a Batch account." + }, + "BatchAccountCreateProperties": { + "type": "object", + "properties": { + "autoStorage": { + "$ref": "#/definitions/AutoStorageBaseProperties", + "description": "The properties related to the auto-storage account." + }, + "poolAllocationMode": { + "title": "The allocation mode to use for creating pools in the Batch account.", + "description": "The pool allocation mode also affects how clients may authenticate to the Batch Service API. If the mode is BatchService, clients may authenticate using access keys or Azure Active Directory. If the mode is UserSubscription, clients must use Azure Active Directory. The default is BatchService.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "$ref": "#/definitions/KeyVaultReference", + "description": "A reference to the Azure key vault associated with the Batch account." + }, + "publicNetworkAccess": { + "title": "The network access type for accessing Azure Batch account.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + }, + "allowedAuthenticationModes": { + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." + } + }, + "description": "The properties of a Batch account." + }, + "AuthenticationMode": { + "type": "string", + "description": "The authentication mode for the Batch account.", + "enum": [ + "SharedKey", + "AAD", + "TaskAuthenticationToken" + ], + "x-ms-enum": { + "name": "AuthenticationMode", + "modelAsString": false, + "values": [ + { + "value": "SharedKey", + "description": "The authentication mode using shared keys." + }, + { + "value": "AAD", + "description": "The authentication mode using Azure Active Directory." + }, + { + "value": "TaskAuthenticationToken", + "description": "The authentication mode using task authentication tokens." + } + ] + } + }, + "BatchAccountCreateParameters": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The region in which to create the account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountCreateProperties", + "description": "The properties of the Batch account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "required": [ + "location" + ], + "description": "Parameters supplied to the Create operation." + }, + "KeyVaultReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource ID of the Azure key vault associated with the Batch account." + }, + "url": { + "type": "string", + "description": "The URL of the Azure key vault associated with the Batch account." + } + }, + "required": [ + "id", + "url" + ], + "description": "Identifies the Azure key vault associated with a Batch account." + }, + "AutoStorageProperties": { + "type": "object", + "properties": { + "lastKeySync": { + "type": "string", + "format": "date-time", + "description": "The UTC time at which storage keys were last synchronized with the Batch account." + } + }, + "required": [ + "lastKeySync" + ], + "allOf": [ + { + "$ref": "#/definitions/AutoStorageBaseProperties" + } + ], + "description": "Contains information about the auto-storage account associated with a Batch account." + }, + "VirtualMachineFamilyCoreQuota": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "x-nullable": false, + "type": "string", + "description": "The Virtual Machine family name." + }, + "coreQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "description": "The core quota for the VM family for the Batch account." + } + }, + "description": "A VM Family and its associated core quota for the Batch account." + }, + "BatchAccountIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the Batch account. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Batch account. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Batch account.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Batch account has a system assigned identity with it." + }, + { + "value": "UserAssigned", + "description": "Batch account has user assigned identities with it." + }, + { + "value": "None", + "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the Batch account.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + } + } + }, + "description": "The identity of the Batch account, if configured. This is used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration or when `ManagedIdentity` is selected as the auto-storage authentication mode.", + "required": [ + "type" + ] + }, + "BatchAccountProperties": { + "type": "object", + "properties": { + "accountEndpoint": { + "type": "string", + "readOnly": true, + "description": "The account endpoint used to interact with the Batch service." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The provisioned state of the resource", + "enum": [ + "Invalid", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Cancelled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The account is in an invalid state." + }, + { + "value": "Creating", + "description": "The account is being created." + }, + { + "value": "Deleting", + "description": "The account is being deleted." + }, + { + "value": "Succeeded", + "description": "The account has been created and is ready for use." + }, + { + "value": "Failed", + "description": "The last operation for the account is failed." + }, + { + "value": "Cancelled", + "description": "The last operation for the account is cancelled." + } + ] + } + }, + "poolAllocationMode": { + "readOnly": true, + "x-nullable": false, + "title": "The allocation mode to use for creating pools in the Batch account.", + "$ref": "#/definitions/PoolAllocationMode" + }, + "keyVaultReference": { + "title": "A reference to the Azure key vault associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/KeyVaultReference" + }, + "publicNetworkAccess": { + "readOnly": true, + "x-nullable": true, + "title": "The network interface type for accessing Azure Batch service and Batch account operations.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateEndpointConnections": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connections associated with the Batch account" + }, + "autoStorage": { + "title": "The properties and status of any auto-storage account associated with the Batch account.", + "readOnly": true, + "$ref": "#/definitions/AutoStorageProperties" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "readOnly": true, + "$ref": "#/definitions/EncryptionProperties" + }, + "dedicatedCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The dedicated core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "lowPriorityCoreQuota": { + "readOnly": true, + "x-nullable": true, + "type": "integer", + "format": "int32", + "title": "The Spot/low-priority core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamily": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineFamilyCoreQuota" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamilyEnforced": { + "readOnly": true, + "x-nullable": false, + "type": "boolean", + "title": "A value indicating whether core quotas per Virtual Machine family are enforced for this account", + "description": "Batch is transitioning its core quota system for dedicated cores to be enforced per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply." + }, + "poolQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The pool quota for the Batch account." + }, + "activeJobAndJobScheduleQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "title": "The active job and job schedule quota for the Batch account." + }, + "allowedAuthenticationModes": { + "readOnly": true, + "x-nullable": false, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." + } + }, + "description": "Account specific properties." + }, + "BatchAccount": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountProperties", + "description": "The properties associated with the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Contains information about an Azure Batch account." + }, + "BatchAccountUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The user-specified tags associated with the account." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BatchAccountUpdateProperties", + "description": "The properties of the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." + } + }, + "description": "Parameters for updating an Azure Batch account." + }, + "BatchAccountListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BatchAccount" + }, + "description": "The collection of Batch accounts returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "EncryptionProperties": { + "type": "object", + "properties": { + "keySource": { + "type": "string", + "description": "Type of the key source.", + "enum": [ + "Microsoft.Batch", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch", + "description": "Batch creates and manages the encryption keys used to protect the account data." + }, + { + "value": "Microsoft.KeyVault", + "description": "The encryption keys used to protect the account data are stored in an external key vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key Identifier must also be supplied under the keyVaultProperties." + } + ] + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Additional details when using Microsoft.KeyVault" + } + }, + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following prerequisites must be met:\n\n The Batch Account has a System Assigned identity\n The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions\n The KeyVault has soft-delete and purge protection enabled" + } + }, + "description": "KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault." + }, + "BatchAccountRegenerateKeyParameters": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "The type of account key to regenerate.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "AccountKeyType", + "modelAsString": false, + "values": [ + { + "value": "Primary", + "description": "The primary account key." + }, + { + "value": "Secondary", + "description": "The secondary account key." + } + ] + } + } + }, + "required": [ + "keyName" + ], + "description": "Parameters supplied to the RegenerateKey operation." + }, + "BatchAccountKeys": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "readOnly": true, + "description": "The Batch account name." + }, + "primary": { + "type": "string", + "readOnly": true, + "description": "The primary key associated with the account." + }, + "secondary": { + "type": "string", + "readOnly": true, + "description": "The secondary key associated with the account." + } + }, + "description": "A set of Azure Batch account keys." + }, + "ActivateApplicationPackageParameters": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "The format of the application package binary file." + } + }, + "required": [ + "format" + ], + "description": "Parameters for an activating an application package." + }, + "Application": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The properties associated with the Application." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about an application in a Batch account." + }, + "ApplicationProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name for the application." + }, + "allowUpdates": { + "type": "boolean", + "description": "A value indicating whether packages within the application may be overwritten using the same version string." + }, + "defaultVersion": { + "type": "string", + "description": "The package to use if a client requests the application but does not specify a version. This property can only be set to the name of an existing package." + } + }, + "description": "The properties associated with the Application." + }, + "ApplicationPackage": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPackageProperties", + "description": "The properties associated with the Application Package." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "An application package which represents a particular version of an application." + }, + "ApplicationPackageProperties": { + "type": "object", + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The current state of the application package.", + "enum": [ + "Pending", + "Active" + ], + "x-ms-enum": { + "name": "PackageState", + "modelAsString": false, + "values": [ + { + "value": "Pending", + "description": "The application package has been created but has not yet been activated." + }, + { + "value": "Active", + "description": "The application package is ready for use." + } + ] + } + }, + "format": { + "type": "string", + "readOnly": true, + "description": "The format of the application package, if the package is active." + }, + "storageUrl": { + "type": "string", + "readOnly": true, + "description": "The URL for the application package in Azure Storage." + }, + "storageUrlExpiry": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The UTC time at which the Azure Storage URL will expire." + }, + "lastActivationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the package was last activated, if the package is active." + } + }, + "description": "Properties of an application package" + }, + "ListApplicationsResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The list of applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list applications." + }, + "ListApplicationPackagesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackage" + }, + "description": "The list of application packages." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The result of performing list application packages." + }, + "BatchLocationQuota": { + "type": "object", + "properties": { + "accountQuota": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The number of Batch accounts that may be created under the subscription in the specified region." + } + }, + "description": "Quotas associated with a Batch region for a particular subscription." + }, + "Resource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags of the resource." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The ETag of the resource, used for concurrency statements." + } + }, + "description": "A definition of an Azure resource.", + "x-ms-azure-resource": true + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the resources in the Batch account.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Azure Batch through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource." + } + ] + } + }, + "PoolAllocationMode": { + "type": "string", + "description": "The allocation mode for creating pools in the Batch account.", + "enum": [ + "BatchService", + "UserSubscription" + ], + "x-ms-enum": { + "name": "PoolAllocationMode", + "modelAsString": false, + "values": [ + { + "value": "BatchService", + "description": "Pools will be allocated in subscriptions owned by the Batch service." + }, + { + "value": "UserSubscription", + "description": "Pools will be allocated in a subscription owned by the user." + } + ] + } + }, + "CertificateBaseProperties": { + "description": "Base certificate properties.", + "type": "object", + "properties": { + "thumbprintAlgorithm": { + "type": "string", + "title": "The algorithm of the certificate thumbprint.", + "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'." + }, + "thumbprint": { + "type": "string", + "title": "The thumbprint of the certificate.", + "description": "This must match the thumbprint from the name." + }, + "format": { + "type": "string", + "x-nullable": false, + "description": "The format of the certificate - either Pfx or Cer. If omitted, the default is Pfx.", + "enum": [ + "Pfx", + "Cer" + ], + "x-ms-enum": { + "name": "CertificateFormat", + "modelAsString": false, + "values": [ + { + "value": "Pfx", + "description": "The certificate is a PFX (PKCS#12) formatted certificate or certificate chain." + }, + { + "value": "Cer", + "description": "The certificate is a base64-encoded X.509 certificate." + } + ] + } + } + } + }, + "CertificateProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its current state.", + "readOnly": true + }, + "previousProvisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "description": "The previous provisioned state of the resource", + "enum": [ + "Succeeded", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "CertificateProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The certificate is available for use in pools." + }, + { + "value": "Deleting", + "description": "The user has requested that the certificate be deleted, but the delete operation has not yet completed. You may not reference the certificate when creating or updating pools." + }, + { + "value": "Failed", + "description": "The user requested that the certificate be deleted, but there are pools that still have references to the certificate, or it is still installed on one or more compute nodes. (The latter can occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes refresh their certificates only when they restart.) You may use the cancel certificate delete operation to cancel the delete, or the delete certificate operation to retry the delete." + } + ] + } + }, + "previousProvisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the certificate entered its previous state.", + "readOnly": true + }, + "publicData": { + "type": "string", + "readOnly": true, + "description": "The public key of the certificate." + }, + "deleteCertificateError": { + "readOnly": true, + "$ref": "#/definitions/DeleteCertificateError", + "title": "The error which occurred while deleting the certificate", + "description": "This is only returned when the certificate provisioningState is 'Failed'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "description": "Certificate properties." + }, + "CertificateCreateOrUpdateProperties": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CertificateBaseProperties" + } + ], + "properties": { + "data": { + "type": "string", + "title": "The base64-encoded contents of the certificate.", + "description": "The maximum size is 10KB." + }, + "password": { + "type": "string", + "title": "The password to access the certificate's private key.", + "description": "This must not be specified if the certificate format is Cer." + } + }, + "description": "Certificate properties for create operations", + "required": [ + "data" + ] + }, + "Certificate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "CertificateCreateOrUpdateParameters": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CertificateCreateOrUpdateProperties", + "description": "The properties associated with the certificate." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a certificate." + }, + "ListCertificatesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "description": "The collection of returned certificates." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "DeleteCertificateError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/DeleteCertificateError" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "A list of additional details about the error." + } + }, + "required": [ + "code", + "message" + ], + "description": "An error response from the Batch service." + }, + "DetectorListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DetectorResponse" + }, + "description": "The collection of Batch account detectors returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Values returned by the List operation." + }, + "DetectorResponse": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DetectorResponseProperties", + "description": "The properties associated with the detector." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains the information for a detector." + }, + "DetectorResponseProperties": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "A base64 encoded string that represents the content of a detector." + } + }, + "description": "Detector response properties." + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The properties associated with the private link resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "title": "The group id of the private link resource.", + "description": "The group id is used to establish the private link connection.", + "readOnly": true + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required members that are used to establish the private link connection.", + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required zone names for the private DNS resource name", + "readOnly": true + } + }, + "description": "Private link resource properties." + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties associated with the private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioning state of the private endpoint connection.", + "enum": [ + "Succeeded", + "Updating", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The connection status is final and is ready for use if Status is Approved." + }, + { + "value": "Updating", + "description": "The user has requested that the connection status be updated, but the update operation has not yet completed. You may not reference the connection when connecting the Batch account." + }, + { + "value": "Failed", + "description": "The user requested that the connection be updated and it failed. You may retry the update operation." + } + ] + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "title": "The ARM resource identifier of the private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "title": "The private link service connection state of the private endpoint connection." + } + }, + "description": "Private endpoint connection properties." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The ARM resource identifier of the private endpoint. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}.", + "readOnly": true + } + }, + "description": "The private endpoint of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "title": "The status for the private endpoint connection of Batch account" + }, + "description": { + "type": "string", + "title": "Description of the private Connection state" + }, + "actionRequired": { + "type": "string", + "title": "Action required on the private connection state", + "readOnly": true + } + }, + "required": [ + "status" + ], + "description": "The private link service connection state of the private endpoint connection" + }, + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "title": "The status of the Batch private endpoint connection", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false, + "values": [ + { + "value": "Approved", + "description": "The private endpoint connection is approved and can be used to access Batch account" + }, + { + "value": "Pending", + "description": "The private endpoint connection is pending and cannot be used to access Batch account" + }, + { + "value": "Rejected", + "description": "The private endpoint connection is rejected and cannot be used to access Batch account" + }, + { + "value": "Disconnected", + "description": "The private endpoint connection is disconnected and cannot be used to access Batch account" + } + ] + } + }, + "Pool": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolProperties", + "description": "The properties associated with the pool." + }, + "identity": { + "title": "The type of identity used for the Batch Pool.", + "description": "The type of identity used for the Batch Pool.", + "$ref": "#/definitions/BatchPoolIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a pool." + }, + "PoolProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "title": "The display name for the pool.", + "description": "The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "title": "The last modified time of the pool.", + "description": "This is the last time at which the pool level data, such as the targetDedicatedNodes or autoScaleSettings, changed. It does not factor in node-level changes such as a compute node changing state.", + "readOnly": true + }, + "creationTime": { + "type": "string", + "format": "date-time", + "title": "The creation time of the pool.", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "title": "The current state of the pool.", + "enum": [ + "Succeeded", + "Deleting" + ], + "x-ms-enum": { + "name": "PoolProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The pool is available to run tasks subject to the availability of compute nodes." + }, + { + "value": "Deleting", + "description": "The user has requested that the pool be deleted, but the delete operation has not yet completed." + } + ] + }, + "readOnly": true + }, + "provisioningStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current state.", + "readOnly": true + }, + "allocationState": { + "type": "string", + "title": "Whether the pool is resizing.", + "enum": [ + "Steady", + "Resizing", + "Stopping" + ], + "x-ms-enum": { + "name": "AllocationState", + "modelAsString": false, + "values": [ + { + "value": "Steady", + "description": "The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of nodes." + }, + { + "value": "Resizing", + "description": "The pool is resizing; that is, compute nodes are being added to or removed from the pool." + }, + { + "value": "Stopping", + "description": "The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed." + } + ] + }, + "readOnly": true + }, + "allocationStateTransitionTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the pool entered its current allocation state.", + "readOnly": true + }, + "vmSize": { + "type": "string", + "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.", + "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (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", + "title": "This property describes how the pool nodes will be deployed - using Cloud Services or Virtual Machines.", + "description": "Using CloudServiceConfiguration specifies that the nodes should be creating using Azure Cloud Services (PaaS), while VirtualMachineConfiguration uses Azure Virtual Machines (IaaS)." + }, + "currentDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The number of compute nodes currently in the pool.", + "readOnly": true + }, + "currentLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The number of Spot/low-priority compute nodes currently in the pool.", + "readOnly": true + }, + "scaleSettings": { + "$ref": "#/definitions/ScaleSettings", + "title": "Settings which configure the number of nodes in the pool." + }, + "autoScaleRun": { + "$ref": "#/definitions/AutoScaleRun", + "title": "The results and errors from the last execution of the autoscale formula.", + "description": "This property is set only if the pool automatically scales, i.e. autoScaleSettings are used.", + "readOnly": true + }, + "interNodeCommunication": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InterNodeCommunicationState", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enable network communication between virtual machines." + }, + { + "value": "Disabled", + "description": "Disable network communication between virtual machines." + } + ] + }, + "title": "Whether the pool permits direct communication between nodes.", + "description": "This imposes restrictions on which nodes can be assigned to the pool. Enabling this value can reduce the chance of the requested number of nodes to be allocated in the pool. If not specified, this value defaults to 'Disabled'." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "title": "The network configuration for the pool." + }, + "taskSlotsPerNode": { + "type": "integer", + "format": "int32", + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." + }, + "taskSchedulingPolicy": { + "$ref": "#/definitions/TaskSchedulingPolicy", + "title": "How tasks are distributed across compute nodes in a pool.", + "description": "If not specified, the default is spread." + }, + "userAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/UserAccount" + }, + "x-ms-identifiers": [ + "name" + ], + "title": "The list of user accounts to be created on each node in the pool." + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/MetadataItem" + }, + "x-ms-identifiers": [ + "name" + ], + "title": "A list of name-value pairs associated with the pool as metadata.", + "description": "The Batch service does not assign any meaning to metadata; it is solely for the use of user code." + }, + "startTask": { + "$ref": "#/definitions/StartTask", + "title": "A task specified to run on each compute node as it joins the pool.", + "description": "In an PATCH (update) operation, this property can be set to an empty object to remove the start task from the pool." + }, + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateReference" + }, + "title": "The list of certificates to be installed on each compute node in the pool.", + "description": "For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory." + }, + "applicationPackages": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationPackageReference" + }, + "title": "The list of application packages to be installed on each compute node in the pool.", + "description": "Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool." + }, + "applicationLicenses": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of application licenses the Batch service will make available on each compute node in the pool.", + "description": "The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail." + }, + "resizeOperationStatus": { + "$ref": "#/definitions/ResizeOperationStatus", + "title": "Contains details about the current or last completed resize operation.", + "readOnly": true + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "x-ms-identifiers": [], + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." + } + }, + "description": "Pool properties." + }, + "BatchPoolIdentity": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of identity used for the Batch Pool.", + "enum": [ + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "PoolIdentityType", + "modelAsString": false, + "values": [ + { + "value": "UserAssigned", + "description": "Batch pool has user assigned identities with it." + }, + { + "value": "None", + "description": "Batch pool has no identity associated with it. Setting `None` in update pool will remove existing identities." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the Batch pool.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + } + } + }, + "description": "The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities", + "required": [ + "type" + ] + }, + "DeploymentConfiguration": { + "type": "object", + "properties": { + "cloudServiceConfiguration": { + "$ref": "#/definitions/CloudServiceConfiguration", + "title": "The cloud service configuration for the pool.", + "description": "This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'." + }, + "virtualMachineConfiguration": { + "$ref": "#/definitions/VirtualMachineConfiguration", + "title": "The virtual machine configuration for the pool.", + "description": "This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Deployment configuration properties." + }, + "ScaleSettings": { + "type": "object", + "properties": { + "fixedScale": { + "$ref": "#/definitions/FixedScaleSettings", + "title": "Fixed scale settings for the pool.", + "description": "This property and autoScale are mutually exclusive and one of the properties must be specified." + }, + "autoScale": { + "$ref": "#/definitions/AutoScaleSettings", + "title": "AutoScale settings for the pool.", + "description": "This property and fixedScale are mutually exclusive and one of the properties must be specified." + } + }, + "title": "Scale settings for the pool", + "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes." + }, + "AutoScaleSettings": { + "type": "object", + "properties": { + "formula": { + "type": "string", + "title": "A formula for the desired number of compute nodes in the pool.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/azure/batch/batch-automatic-scaling", + "description": "Create an automatic scaling formula for scaling compute nodes in a Batch pool" + } + }, + "evaluationInterval": { + "type": "string", + "format": "duration", + "title": "The time interval at which to automatically adjust the pool size according to the autoscale formula.", + "description": "If omitted, the default value is 15 minutes (PT15M)." + } + }, + "required": [ + "formula" + ], + "title": "AutoScale settings for the pool." + }, + "FixedScaleSettings": { + "type": "object", + "properties": { + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool.", + "description": "The default value is 15 minutes. Timeout values use ISO 8601 format. For example, use PT10M for 10 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/low-priority compute nodes in the pool.", + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "If omitted, the default value is Requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + } + }, + "title": "Fixed scale settings for the pool." + }, + "ComputeNodeDeallocationOption": { + "type": "string", + "title": "Determines what to do with a node and its running task(s) after it has been selected for deallocation.", + "enum": [ + "Requeue", + "Terminate", + "TaskCompletion", + "RetainedData" + ], + "x-ms-enum": { + "name": "ComputeNodeDeallocationOption", + "modelAsString": false, + "values": [ + { + "value": "Requeue", + "description": "Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "Terminate", + "description": "Terminate running tasks. The tasks will be completed with failureInfo indicating that they were terminated, and will not run again. Remove nodes as soon as tasks have been terminated." + }, + { + "value": "TaskCompletion", + "description": "Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove nodes when all tasks have completed." + }, + { + "value": "RetainedData", + "description": "Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired." + } + ] + } + }, + "CertificateReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The fully qualified ID of the certificate to install on the pool. This must be inside the same batch account as the pool." + }, + "storeLocation": { + "type": "string", + "title": "The location of the certificate store on the compute node into which to install the certificate.", + "description": "The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory.", + "enum": [ + "CurrentUser", + "LocalMachine" + ], + "x-ms-enum": { + "name": "CertificateStoreLocation", + "modelAsString": false, + "values": [ + { + "value": "CurrentUser", + "description": "Certificates should be installed to the CurrentUser certificate store." + }, + { + "value": "LocalMachine", + "description": "Certificates should be installed to the LocalMachine certificate store." + } + ] + } + }, + "storeName": { + "type": "string", + "title": "The name of the certificate store on the compute node into which to install the certificate.", + "description": "This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My." + }, + "visibility": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "enum": [ + "StartTask", + "Task", + "RemoteUser" + ], + "x-ms-enum": { + "name": "CertificateVisibility", + "modelAsString": false, + "values": [ + { + "value": "StartTask", + "description": "The certificate should be visible to the user account under which the start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well." + }, + { + "value": "Task", + "description": "The certificate should be visible to the user accounts under which job tasks are run." + }, + { + "value": "RemoteUser", + "description": "The certificate should be visible to the user accounts under which users remotely access the node." + } + ] + } + }, + "title": "Which user accounts on the compute node should have access to the private data of the certificate." + } + }, + "required": [ + "id" + ], + "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool." + }, + "ApplicationPackageReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The ID of the application package to install. This must be inside the same batch account as the pool. This can either be a reference to a specific version or the default version if one exists." + }, + "version": { + "type": "string", + "title": "The version of the application to deploy. If omitted, the default version is deployed.", + "description": "If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409." + } + }, + "title": "Link to an application package inside the batch account", + "required": [ + "id" + ] + }, + "ResizeError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "x-ms-identifiers": [], + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when resizing a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRunError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoScaleRunError" + }, + "x-ms-identifiers": [], + "title": "Additional details about the error." + } + }, + "title": "An error that occurred when autoscaling a pool.", + "required": [ + "code", + "message" + ] + }, + "AutoScaleRun": { + "type": "object", + "properties": { + "evaluationTime": { + "type": "string", + "format": "date-time", + "title": "The time at which the autoscale formula was last evaluated." + }, + "results": { + "type": "string", + "title": "The final values of all variables used in the evaluation of the autoscale formula.", + "description": "Each variable value is returned in the form $variable=value, and variables are separated by semicolons." + }, + "error": { + "$ref": "#/definitions/AutoScaleRunError", + "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful." + } + }, + "required": [ + "evaluationTime" + ], + "title": "The results and errors from an execution of a pool autoscale formula." + }, + "VirtualMachineConfiguration": { + "type": "object", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "title": "A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use." + }, + "nodeAgentSkuId": { + "type": "string", + "title": "The SKU of the Batch node agent to be provisioned on compute nodes in the pool.", + "description": "The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation." + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "title": "Windows operating system settings on the virtual machine.", + "description": "This property must not be specified if the imageReference specifies a Linux OS image." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "x-ms-identifiers": [ + "lun" + ], + "title": "The configuration for data disks attached to the compute nodes in the pool.", + "description": "This property must be specified if the compute nodes in the pool need to have empty data disks attached to them." + }, + "licenseType": { + "type": "string", + "title": "The type of on-premises license to be used when deploying the operating system.", + "description": "This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are:\n\n Windows_Server - The on-premises license is for Windows Server.\n Windows_Client - The on-premises license is for Windows Client.\n" + }, + "containerConfiguration": { + "$ref": "#/definitions/ContainerConfiguration", + "title": "The container configuration for the pool.", + "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + }, + "nodePlacementConfiguration": { + "$ref": "#/definitions/NodePlacementConfiguration", + "title": "The node placement configuration for the pool.", + "description": "This configuration will specify rules on how nodes in the pool will be physically allocated." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VMExtension" + }, + "x-ms-identifiers": [ + "name", + "type" + ], + "title": "The virtual machine extension for the pool.", + "description": "If specified, the extensions mentioned in this configuration will be installed on each node." + }, + "osDisk": { + "$ref": "#/definitions/OSDisk", + "title": "Settings for the operating system disk of the Virtual Machine.", + "description": "Contains configuration for ephemeral OSDisk settings." + } + }, + "required": [ + "imageReference", + "nodeAgentSkuId" + ], + "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure." + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "username": { + "type": "string", + "x-ms-client-name": "userName", + "title": "The user name to log into the registry server." + }, + "password": { + "type": "string", + "title": "The password to log into the registry server." + }, + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "title": "A private container registry." + }, + "DiskEncryptionConfiguration": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "The disks to encrypt on each compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.", + "enum": [ + "OsDisk", + "TemporaryDisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "OsDisk", + "description": "The OS Disk on the compute node is encrypted.", + "name": "OsDisk" + }, + { + "value": "TemporaryDisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node", + "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image." + }, + "ContainerConfiguration": { + "type": "object", + "properties": { + "type": { + "type": "string", + "title": "The container technology to be used.", + "enum": [ + "DockerCompatible" + ], + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false, + "values": [ + { + "value": "DockerCompatible", + "description": "A Docker compatible container technology will be used to launch the containers." + } + ] + } + }, + "containerImageNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of container image names.", + "description": "This is the full image reference, as would be specified to \"docker pull\". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry." + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "x-ms-identifiers": [ + "registryServers" + ], + "title": "Additional private registries from which containers can be pulled.", + "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." + } + }, + "required": [ + "type" + ], + "title": "The configuration for container-enabled pools." + }, + "NodePlacementPolicyType": { + "type": "string", + "title": "The placement policy for allocating nodes in the pool.", + "description": "The default value is regional.", + "enum": [ + "Regional", + "Zonal" + ], + "x-ms-enum": { + "name": "NodePlacementPolicyType", + "modelAsString": false, + "values": [ + { + "value": "Regional", + "description": "All nodes in the pool will be allocated in the same region." + }, + { + "value": "Zonal", + "description": "Nodes in the pool will be spread across different zones with best effort balancing.", + "name": "Zonal" + } + ] + } + }, + "NodePlacementConfiguration": { + "title": "Node placement configuration for batch pools.", + "description": "Allocation configuration used by Batch Service to provision the nodes.", + "type": "object", + "properties": { + "policy": { + "$ref": "#/definitions/NodePlacementPolicyType", + "title": "Node placement Policy type on Batch Pools.", + "description": "Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy." + } + } + }, + "VMExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the virtual machine extension." + }, + "publisher": { + "type": "string", + "title": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "title": "The type of the extensions." + }, + "typeHandlerVersion": { + "type": "string", + "title": "The version of 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", + "title": "JSON formatted public settings for the extension." + }, + "protectedSettings": { + "x-ms-secret": true, + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. " + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of extension names.", + "description": "Collection of extension names after which this extension needs to be provisioned." + } + }, + "required": [ + "name", + "publisher", + "type" + ], + "title": "The configuration for virtual machine extensions." + }, + "WindowsConfiguration": { + "type": "object", + "properties": { + "enableAutomaticUpdates": { + "type": "boolean", + "title": "Whether automatic updates are enabled on the virtual machine.", + "description": "If omitted, the default value is true." + } + }, + "title": "Windows operating system settings to apply to the virtual machine." + }, + "ImageReference": { + "type": "object", + "properties": { + "publisher": { + "type": "string", + "title": "The publisher of the Azure Virtual Machines Marketplace image.", + "description": "For example, Canonical or MicrosoftWindowsServer." + }, + "offer": { + "type": "string", + "title": "The offer type of the Azure Virtual Machines Marketplace image.", + "description": "For example, UbuntuServer or WindowsServer." + }, + "sku": { + "type": "string", + "title": "The SKU of the Azure Virtual Machines Marketplace image.", + "description": "For example, 18.04-LTS or 2022-datacenter." + }, + "version": { + "type": "string", + "title": "The version of the Azure Virtual Machines Marketplace image.", + "description": "A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "id": { + "type": "string", + "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.", + "description": "This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." + } + }, + "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation." + }, + "DataDisk": { + "type": "object", + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "title": "The logical unit number.", + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive." + }, + "caching": { + "$ref": "#/definitions/CachingType", + "title": "The type of caching to be enabled for the data disks.", + "description": "Values are:\n\n none - The caching mode for the disk is not enabled.\n readOnly - The caching mode for the disk is read only.\n readWrite - The caching mode for the disk is read and write.\n\n The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "title": "The initial disk size in GB when creating new data disk." + }, + "storageAccountType": { + "title": "The storage account type to be used for the data disk.", + "description": "If omitted, the default is \"Standard_LRS\". Values are:\n\n Standard_LRS - The data disk should use standard locally redundant storage.\n Premium_LRS - The data disk should use premium locally redundant storage.", + "$ref": "#/definitions/StorageAccountType" + } + }, + "required": [ + "lun", + "diskSizeGB" + ], + "description": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." + }, + "TaskSchedulingPolicy": { + "type": "object", + "properties": { + "nodeFillType": { + "type": "string", + "title": "How tasks should be distributed across compute nodes.", + "enum": [ + "Spread", + "Pack" + ], + "x-ms-enum": { + "name": "ComputeNodeFillType", + "modelAsString": false, + "values": [ + { + "value": "Spread", + "description": "Tasks should be assigned evenly across all nodes in the pool." + }, + { + "value": "Pack", + "description": "As many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool." + } + ] + } + } + }, + "required": [ + "nodeFillType" + ], + "title": "Specifies how tasks should be distributed across compute nodes." + }, + "LinuxUserConfiguration": { + "type": "object", + "properties": { + "uid": { + "type": "integer", + "format": "int32", + "title": "The user ID of the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid." + }, + "gid": { + "type": "integer", + "format": "int32", + "title": "The group ID for the user account.", + "description": "The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid." + }, + "sshPrivateKey": { + "type": "string", + "title": "The SSH private key for the user account.", + "description": "The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done)." + } + }, + "title": "Properties used to create a user account on a Linux node." + }, + "WindowsUserConfiguration": { + "type": "object", + "properties": { + "loginMode": { + "type": "string", + "title": "Login mode for user", + "description": "Specifies login mode for the user. The default value for VirtualMachineConfiguration pools is interactive mode and for CloudServiceConfiguration pools is batch mode.", + "enum": [ + "Batch", + "Interactive" + ], + "x-ms-enum": { + "name": "LoginMode", + "modelAsString": false, + "values": [ + { + "value": "Batch", + "description": "The LOGON32_LOGON_BATCH Win32 login mode. The batch login mode is recommended for long running parallel processes." + }, + { + "value": "Interactive", + "description": "The LOGON32_LOGON_INTERACTIVE Win32 login mode. Some applications require having permissions associated with the interactive login mode. If this is the case for an application used in your task, then this option is recommended." + } + ] + } + } + }, + "title": "Properties used to create a user account on a Windows node." + }, + "UserAccount": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the user account." + }, + "password": { + "type": "string", + "title": "The password for the user account." + }, + "elevationLevel": { + "title": "The elevation level of the user account.", + "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + }, + "linuxUserConfiguration": { + "title": "The Linux-specific user configuration for the user account.", + "description": "This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options.", + "$ref": "#/definitions/LinuxUserConfiguration" + }, + "windowsUserConfiguration": { + "title": "The Windows-specific user configuration for the user account.", + "description": "This property can only be specified if the user is on a Windows pool. If not specified and on a Windows pool, the user is created with the default options.", + "$ref": "#/definitions/WindowsUserConfiguration" + } + }, + "required": [ + "name", + "password" + ], + "title": "Properties used to create a user on an Azure Batch node." + }, + "StartTask": { + "type": "object", + "properties": { + "commandLine": { + "type": "string", + "title": "The command line of the start task.", + "description": "The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. Required if any other properties of the startTask are specified." + }, + "resourceFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceFile" + }, + "x-ms-identifiers": [ + "httpUrl" + ], + "title": "A list of files that the Batch service will download to the compute node before running the command line." + }, + "environmentSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentSetting" + }, + "x-ms-identifiers": [ + "name" + ], + "title": "A list of environment variable settings for the start task." + }, + "userIdentity": { + "$ref": "#/definitions/UserIdentity", + "title": "The user identity under which the start task runs.", + "description": "If omitted, the task runs as a non-administrative user unique to the task." + }, + "maxTaskRetryCount": { + "type": "integer", + "format": "int32", + "title": "The maximum number of times the task may be retried.", + "description": "The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit, however this is not recommended for a start task or any task. The default value is 0 (no retries)." + }, + "waitForSuccess": { + "type": "boolean", + "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.", + "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true." + }, + "containerSettings": { + "$ref": "#/definitions/TaskContainerSettings", + "title": "The settings for the container under which the start task runs.", + "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container." + } + }, + "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.", + "description": "In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task." + }, + "TaskContainerSettings": { + "type": "object", + "properties": { + "containerRunOptions": { + "type": "string", + "title": "Additional options to the container create command.", + "description": "These additional options are supplied as arguments to the \"docker create\" command, in addition to those controlled by the Batch Service." + }, + "imageName": { + "type": "string", + "title": "The image to use to create the container in which the task will run.", + "description": "This is the full image reference, as would be specified to \"docker pull\". If no tag is provided as part of the image name, the tag \":latest\" is used as a default." + }, + "registry": { + "$ref": "#/definitions/ContainerRegistry", + "title": "The private registry which contains the container image.", + "description": "This setting can be omitted if was already provided at pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "A flag to indicate where the container task working directory is. The default is 'taskWorkingDirectory'.", + "enum": [ + "TaskWorkingDirectory", + "ContainerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "TaskWorkingDirectory", + "description": "Use the standard Batch service task working directory, which will contain the Task resource files populated by Batch." + }, + { + "value": "ContainerImageDefault", + "description": "Using container image defined working directory. Beware that this directory will not contain the resource files downloaded by Batch." + } + ] + } + } + }, + "required": [ + "imageName" + ], + "title": "The container settings for a task." + }, + "ResourceFile": { + "type": "object", + "properties": { + "autoStorageContainerName": { + "type": "string", + "title": "The storage container name in the auto storage account.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified." + }, + "storageContainerUrl": { + "type": "string", + "title": "The URL of the blob container within Azure Blob Storage.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access." + }, + "httpUrl": { + "type": "string", + "title": "The URL of the file to download.", + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access." + }, + "blobPrefix": { + "type": "string", + "title": "The blob prefix to use when downloading blobs from an Azure Storage container. Only the blobs whose names begin with the specified prefix will be downloaded.", + "description": "The property is valid only when autoStorageContainerName or storageContainerUrl is used. This prefix can be a partial filename or a subdirectory. If a prefix is not specified, all the files in the container will be downloaded." + }, + "filePath": { + "type": "string", + "title": "The location on the compute node to which to download the file, relative to the task's working directory.", + "description": "If the httpUrl property is specified, the filePath is required and describes the path which the file will be downloaded to, including the filename. Otherwise, if the autoStorageContainerName or storageContainerUrl property is specified, filePath is optional and is the directory to download the files to. In the case where filePath is used as a directory, any directory structure already associated with the input data will be retained in full and appended to the specified filePath directory. The specified relative path cannot break out of the task's working directory (for example by using '..')." + }, + "fileMode": { + "type": "string", + "title": "The file permission mode attribute in octal format.", + "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by storageContainerUrl or httpUrl", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "title": "A single file or multiple files to be downloaded to a compute node." + }, + "EnvironmentSetting": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the environment variable." + }, + "value": { + "type": "string", + "title": "The value of the environment variable." + } + }, + "required": [ + "name" + ], + "title": "An environment variable to be set on a task process." + }, + "UserIdentity": { + "type": "object", + "properties": { + "userName": { + "type": "string", + "title": "The name of the user identity under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + }, + "autoUser": { + "$ref": "#/definitions/AutoUserSpecification", + "title": "The auto user under which the task is run.", + "description": "The userName and autoUser properties are mutually exclusive; you must specify one but not both." + } + }, + "title": "The definition of the user identity under which the task is run.", + "description": "Specify either the userName or autoUser property, but not both." + }, + "UserAssignedIdentities": { + "type": "object", + "description": "The list of associated user identities.", + "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." + } + } + }, + "ComputeNodeIdentityReference": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The ARM resource id of the user assigned identity." + } + }, + "description": "The reference to a user assigned identity associated with the Batch pool which a compute node will use." + }, + "AutoUserSpecification": { + "type": "object", + "properties": { + "scope": { + "type": "string", + "title": "The scope for the auto user", + "description": "The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.", + "enum": [ + "Task", + "Pool" + ], + "x-ms-enum": { + "name": "AutoUserScope", + "modelAsString": false, + "values": [ + { + "value": "Task", + "description": "Specifies that the service should create a new user for the task." + }, + { + "value": "Pool", + "description": "Specifies that the task runs as the common auto user account which is created on every node in a pool." + } + ] + } + }, + "elevationLevel": { + "title": "The elevation level of the auto user.", + "description": "The default value is nonAdmin.", + "$ref": "#/definitions/ElevationLevel" + } + }, + "title": "Specifies the parameters for the auto user that runs a task on the Batch service." + }, + "ElevationLevel": { + "type": "string", + "title": "The elevation level of the user.", + "enum": [ + "NonAdmin", + "Admin" + ], + "x-ms-enum": { + "name": "ElevationLevel", + "modelAsString": false, + "values": [ + { + "value": "NonAdmin", + "description": "The user is a standard user without elevated access." + }, + { + "value": "Admin", + "description": "The user is a user with elevated access and operates with full Administrator permissions." + } + ] + } + }, + "StorageAccountType": { + "type": "string", + "title": "The storage account type for use in creating data disks.", + "enum": [ + "Standard_LRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": false, + "values": [ + { + "value": "Standard_LRS", + "description": "The data disk should use standard locally redundant storage." + }, + { + "value": "Premium_LRS", + "description": "The data disk should use premium locally redundant storage." + } + ] + } + }, + "CachingType": { + "type": "string", + "title": "The type of caching to enable for the disk.", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "CachingType", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "ReadOnly", + "description": "The caching mode for the disk is read only." + }, + { + "value": "ReadWrite", + "description": "The caching mode for the disk is read and write." + } + ] + } + }, + "DiffDiskPlacement": { + "type": "string", + "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "enum": [ + "CacheDisk" + ], + "x-ms-enum": { + "name": "DiffDiskPlacement", + "modelAsString": false, + "values": [ + { + "value": "CacheDisk", + "description": "The Ephemeral OS Disk is stored on the VM cache.", + "name": "CacheDisk" + } + ] + } + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "placement": { + "$ref": "#/definitions/DiffDiskPlacement", + "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." + } + }, + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "ephemeralOSDiskSettings": { + "$ref": "#/definitions/DiffDiskSettings", + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + } + }, + "title": "Settings for the operating system disk of the virtual machine." + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Batch Pool.", + "enum": [ + "BatchManaged", + "UserManaged", + "NoPublicIPAddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "BatchManaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool." + }, + { + "value": "UserManaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes." + }, + { + "value": "NoPublicIPAddresses", + "description": "No public IP Address will be created for the Compute Nodes in the Pool." + } + ] + } + }, + "PublicIPAddressConfiguration": { + "type": "object", + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the pool", + "description": "The default value is BatchManaged" + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 Spot/low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, + "NetworkConfiguration": { + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", + "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", + "description": "Setting up RBAC for Azure Batch VNets" + } + }, + "dynamicVNetAssignmentScope": { + "type": "string", + "title": "The scope of dynamic vnet assignment.", + "enum": [ + "none", + "job" + ], + "x-ms-enum": { + "name": "DynamicVNetAssignmentScope", + "modelAsString": false, + "values": [ + { + "value": "none", + "description": "No dynamic VNet assignment is enabled." + }, + { + "value": "job", + "description": "Dynamic VNet assignment is done per-job. Don't use this option unless your batch account has been approved to use this feature." + } + ] + } + }, + "endpointConfiguration": { + "$ref": "#/definitions/PoolEndpointConfiguration", + "title": "The configuration for endpoints on compute nodes in the Batch pool.", + "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "This property is only supported on Pools with the virtualMachineConfiguration property." + } + }, + "description": "The network configuration for a pool." + }, + "CloudServiceConfiguration": { + "type": "object", + "properties": { + "osFamily": { + "type": "string", + "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.", + "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + }, + "osVersion": { + "type": "string", + "title": "The Azure Guest OS version to be installed on the virtual machines in the pool.", + "description": "The default value is * which specifies the latest operating system version for the specified OS family." + } + }, + "required": [ + "osFamily" + ], + "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform." + }, + "MetadataItem": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the metadata item." + }, + "value": { + "type": "string", + "title": "The value of the metadata item." + } + }, + "required": [ + "name", + "value" + ], + "title": "A name-value pair associated with a Batch service resource.", + "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." + }, + "ResizeOperationStatus": { + "type": "object", + "properties": { + "targetDedicatedNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of dedicated compute nodes in the pool." + }, + "targetLowPriorityNodes": { + "type": "integer", + "format": "int32", + "title": "The desired number of Spot/low-priority compute nodes in the pool." + }, + "resizeTimeout": { + "type": "string", + "format": "duration", + "title": "The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool.", + "description": "The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request)." + }, + "nodeDeallocationOption": { + "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", + "description": "The default value is requeue.", + "$ref": "#/definitions/ComputeNodeDeallocationOption" + }, + "startTime": { + "type": "string", + "format": "date-time", + "title": "The time when this resize operation was started." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/ResizeError" + }, + "x-ms-identifiers": [], + "title": "Details of any errors encountered while performing the last resize on the pool.", + "description": "This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady." + } + }, + "title": "Details about the current or last completed resize operation.", + "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)." + }, + "PoolEndpointConfiguration": { + "type": "object", + "properties": { + "inboundNatPools": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatPool" + }, + "x-ms-identifiers": [ + "name" + ], + "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.", + "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." + } + }, + "required": [ + "inboundNatPools" + ], + "title": "The endpoint configuration for a pool." + }, + "InboundNatPool": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the endpoint.", + "description": "The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400." + }, + "protocol": { + "type": "string", + "title": "The protocol of the endpoint.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "InboundEndpointProtocol", + "modelAsString": false, + "values": [ + { + "value": "TCP", + "description": "Use TCP for the endpoint." + }, + { + "value": "UDP", + "description": "Use UDP for the endpoint." + } + ] + } + }, + "backendPort": { + "type": "integer", + "format": "int32", + "title": "The port number on the compute node.", + "description": "This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "title": "The first port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "title": "The last port number in the range of external ports that will be used to provide inbound access to the backendPort on individual compute nodes.", + "description": "Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400." + }, + "networkSecurityGroupRules": { + "type": "array", + "title": "A list of network security group rules that will be applied to the endpoint.", + "description": "The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400.", + "items": { + "$ref": "#/definitions/NetworkSecurityGroupRule" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], + "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally." + }, + "NetworkSecurityGroupRule": { + "type": "object", + "properties": { + "priority": { + "type": "integer", + "format": "int32", + "title": "The priority for this rule.", + "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + }, + "access": { + "type": "string", + "title": "The action that should be taken for a specified IP address, subnet range or tag.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkSecurityGroupRuleAccess", + "modelAsString": false, + "values": [ + { + "value": "Allow", + "description": "Allow access." + }, + { + "value": "Deny", + "description": "Deny access." + } + ] + } + }, + "sourceAddressPrefix": { + "type": "string", + "title": "The source address prefix or tag to match for the rule.", + "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *." + } + }, + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], + "title": "A network security group rule to apply to an inbound endpoint." + }, + "ListPrivateLinkResourcesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The collection of returned private link resources." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPrivateEndpointConnectionsResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The collection of returned private endpoint connection." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPoolsResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Pool" + }, + "description": "The collection of returned pools." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "CloudError": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "description": "The body of the error response.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Batch service." + }, + "CloudErrorBody": { + "type": "object", + "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" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Batch service." + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "The value of the feature." + } + }, + "description": "A SKU capability, such as the number of cores." + }, + "SupportedSku": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the SKU." + }, + "familyName": { + "readOnly": true, + "type": "string", + "description": "The family name of the SKU." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "A collection of capabilities which this SKU supports." + } + }, + "description": "Describes a Batch supported SKU." + }, + "SupportedSkusResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SupportedSku" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of SKUs available for the Batch service in the location." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "required": [ + "value" + ], + "description": "The Batch List supported SKUs operation response." + }, + "Operation": { + "title": "A REST API operation", + "type": "object", + "properties": { + "name": { + "title": "The operation name.", + "description": "This is of the format {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "title": "The object that describes the operation.", + "type": "object", + "properties": { + "provider": { + "title": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "The operation type.", + "description": "For example: read, write, delete, or listKeys/action", + "type": "string" + }, + "resource": { + "title": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "The friendly name of the operation", + "type": "string" + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation.", + "type": "object" + } + } + }, + "OperationListResult": { + "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "title": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "title": "The URL to get the next set of operation list results if there are any." + } + } + }, + "CheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name to check for availability" + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Batch/batchAccounts" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch/batchAccounts", + "description": "The Batch account resource type.", + "name": "BatchAccounts" + } + ] + }, + "description": "The resource type." + } + }, + "required": [ + "name", + "type" + ], + "description": "Parameters for a check name availability request." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameAvailabilityReason", + "modelAsString": false, + "values": [ + { + "value": "Invalid", + "description": "The requested name is invalid." + }, + { + "value": "AlreadyExists", + "description": "The requested name is already in use." + } + ] + }, + "description": "Gets the reason that a Batch account name could not be used. The Reason element is only returned if NameAvailable is false." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "MountConfiguration": { + "type": "object", + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with both sasKey and identity; exactly one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with both accountKey and identity; exactly one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access containerName", + "description": "This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "type": "object", + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + }, + "OutboundEnvironmentEndpointCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [], + "description": "The collection of outbound network dependency endpoints returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "OutboundEnvironmentEndpoint": { + "type": "object", + "properties": { + "category": { + "type": "string", + "readOnly": true, + "description": "The type of service that the Batch service connects to." + }, + "endpoints": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [ + "domainName" + ], + "description": "The endpoints for this service to which the Batch service makes outbound calls." + } + }, + "description": "A collection of related endpoints from the same service for which the Batch service requires outbound access." + }, + "EndpointDependency": { + "type": "object", + "properties": { + "domainName": { + "type": "string", + "readOnly": true, + "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Human-readable supplemental information about the dependency and when it is applicable." + }, + "endpointDetails": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [], + "description": "The list of connection details for this endpoint." + } + }, + "description": "A domain name and connection details used to access a dependency." + }, + "EndpointDetail": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The port an endpoint is connected to." + } + }, + "description": "Details about the connection between the Batch service and the endpoint." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to be used with the HTTP request." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group that contains the Batch account.", + "x-ms-parameter-location": "method" + }, + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+$", + "minLength": 3, + "maxLength": 24, + "description": "The name of the Batch account.", + "x-ms-parameter-location": "method" + }, + "CertificateNameParameter": { + "name": "certificateName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[\\w]+-[\\w]+$", + "minLength": 5, + "maxLength": 45, + "description": "The identifier for the certificate. This must be made up of algorithm and thumbprint separated by a dash, and must match the certificate data in the request. For example SHA1-a3d1c5.", + "x-ms-parameter-location": "method" + }, + "DetectorIdParameter": { + "name": "detectorId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the detector.", + "x-ms-parameter-location": "method" + }, + "PoolNameParameter": { + "name": "poolName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The pool name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private link resource name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private endpoint connection name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the application. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "VersionNameParameter": { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-][a-zA-Z0-9_.-]*$", + "minLength": 1, + "maxLength": 64, + "description": "The version of the application.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationCreate.json new file mode 100644 index 000000000000..4b177c1c1b1c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationCreate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F8EBB3DC411\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F8EBB3DC411\"", + "properties": { + "allowUpdates": false, + "displayName": "myAppName" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationDelete.json new file mode 100644 index 000000000000..d534b6a2cd20 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationGet.json new file mode 100644 index 000000000000..32f674934a96 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "Sample Application" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationList.json new file mode 100644 index 000000000000..892eab8d592c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "1" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app2", + "name": "app1", + "etag": "W/\"0x8D64F91A9089879\"", + "properties": { + "allowUpdates": false, + "defaultVersion": "2.0", + "displayName": "myAppName" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageActivate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageActivate.json new file mode 100644 index 000000000000..e202e5625d5b --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageActivate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1", + "parameters": { + "format": "zip" + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageCreate.json new file mode 100644 index 000000000000..8a8603f552f9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageCreate.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "storageUrl": "http://mystorage1.blob.core.windows.net/myapp?mysas", + "storageUrlExpiry": "2017-06-27T18:48:09.9330991Z", + "state": "Pending" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageDelete.json new file mode 100644 index 000000000000..652465cded54 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageGet.json new file mode 100644 index 000000000000..9955e9596ebb --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "versionName": "1" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64FEC83A3B436\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1", + "name": "1", + "etag": "W/\"0x8D64FEC83A3B436\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageList.json new file mode 100644 index 000000000000..7ee7c9802055 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationPackageList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/1.0", + "name": "1.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Pending" + } + }, + { + "type": "Microsoft.Batch/batchAccounts/applications/versions", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1/versions/2.0", + "name": "2.0", + "etag": "W/\"0x8D64FF0B9F47F67\"", + "properties": { + "state": "Active", + "format": "zip", + "lastActivationTime": "2017-06-27T18:48:09.9330991Z" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationUpdate.json new file mode 100644 index 000000000000..145ac1c4f884 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/ApplicationUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "applicationName": "app1", + "parameters": { + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D64F915BDF7F00\"" + }, + "body": { + "type": "Microsoft.Batch/batchAccounts/applications", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/applications/app1", + "name": "app1", + "etag": "W/\"0x8D64F915BDF7F00\"", + "properties": { + "allowUpdates": true, + "displayName": "myAppName", + "defaultVersion": "2" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_BYOS.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_BYOS.json new file mode 100644 index 000000000000..233d8c5d4736 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_BYOS.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "poolAllocationMode": "UserSubscription", + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_Default.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_Default.json new file mode 100644 index 000000000000..96fb83dfbe3d --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_Default.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_SystemAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_SystemAssignedIdentity.json new file mode 100644 index 000000000000..c572fa92c18e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_SystemAssignedIdentity.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "principalId": "1a2e532b-9900-414c-8600-cfc6126628d7", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "type": "SystemAssigned" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_UserAssignedIdentity.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_UserAssignedIdentity.json new file mode 100644 index 000000000000..9cbaa7c00f5e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountCreate_UserAssignedIdentity.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountDelete.json new file mode 100644 index 000000000000..3f5dc5e51197 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGet.json new file mode 100644 index 000000000000..10aadf4929bd --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGetKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGetKeys.json new file mode 100644 index 000000000000..00f8a139d3c7 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountGetKeys.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountList.json new file mode 100644 index 000000000000..9696d83b578a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListByResourceGroup.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListByResourceGroup.json new file mode 100644 index 000000000000..5eb1f3293690 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..0da1d51795d9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure Batch", + "endpoints": [ + { + "domainName": "sampleacct.japaneast.batch.azure.com", + "description": "Applicable to job manager tasks, tasks that use job scoped authentication, or any task that makes calls to Batch.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "japaneast.service.batch.azure.com", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "autostorageaccountname.blob.core.windows.net", + "description": "AutoStorage endpoint for this Batch account. Applicable to all Azure Batch pools under this account.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.blob.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.table.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.queue.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Microsoft Package Repository", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "description": "Only applicable to pools containing a Mount Configuration. Learn about Mount Configurations in Batch at https://docs.microsoft.com/azure/batch/virtual-file-mount.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Key Vault", + "endpoints": [ + { + "domainName": "*.vault.azure.net", + "description": "Only applicable to pools containing a Disk Encryption Configuration and whose VM size does not support encryption at host. Learn more about disk encryption in Azure Batch at https://docs.microsoft.com/azure/batch/disk-encryption. Learn more about encryption at host and supported VM sizes at https://docs.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountRegenerateKey.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountRegenerateKey.json new file mode 100644 index 000000000000..4842002ca865 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountRegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "keyName": "Primary" + } + }, + "responses": { + "200": { + "body": { + "accountName": "sampleacct", + "primary": "AAAA==", + "secondary": "BBBB==" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountSynchronizeAutoStorageKeys.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountSynchronizeAutoStorageKeys.json new file mode 100644 index 000000000000..368e50c72478 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountSynchronizeAutoStorageKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountUpdate.json new file mode 100644 index 000000000000..aaf287eceb7e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/BatchAccountUpdate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Enabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCancelDeletion.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCancelDeletion.json new file mode 100644 index 000000000000..c9538432936d --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCancelDeletion.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD513C3EDBB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD513C3EDBB\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Failed", + "previousProvisioningStateTransitionTime": "2017-07-21T00:22:54.3299195Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Full.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Full.json new file mode 100644 index 000000000000..a2e945c3f2a8 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Full.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "", + "format": "Pfx" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Minimal.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Minimal.json new file mode 100644 index 000000000000..7c064c17bac7 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_Minimal.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_MinimalCer.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_MinimalCer.json new file mode 100644 index 000000000000..de4097daa760 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateCreate_MinimalCer.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIICrjCCAZagAwI...", + "format": "Cer" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Cer", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateDelete.json new file mode 100644 index 000000000000..47f1b8b5c86d --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/certificateOperationResults/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e-8D4EDFF164A11C9?api-version=2022-01-01" + } + }, + "204": {} + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGet.json new file mode 100644 index 000000000000..b6540bf0eeda --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGetWithDeletionError.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGetWithDeletionError.json new file mode 100644 index 000000000000..3d3369bd0566 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateGetWithDeletionError.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Failed", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "previousProvisioningState": "Deleting", + "previousProvisioningStateTransitionTime": "2017-07-21T00:15:25.5625498Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI...", + "deleteCertificateError": { + "code": "NodesReferencingCertificate", + "message": "The specified certificate is being used by the below mentioned node(s)\nRequestId:2dc78afc-b15b-42d2-8c85-39cb61a0799e\nTime:2017-08-28T10:22:52.8633406Z", + "target": "BatchAccount", + "details": [ + { + "code": "Nodes", + "message": "node1, node3" + } + ] + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateList.json new file mode 100644 index 000000000000..5379356a8f71 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2022-01-01", + "maxResults": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates?api-version=2022-01-01&$skiptoken=NPK%3D28%3A2857p428pug%2022F53A7734C947B8NRK%3D45%3Asha1-c23dc7f22edc793856a7506fe66397ccb4a33b46SM%3D5%3AFalse" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateListWithFilter.json new file mode 100644 index 000000000000..6d09eaf344b9 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateListWithFilter.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "api-version": "2022-01-01", + "$filter": "properties/provisioningStateTransitionTime gt '2017-05-01' or properties/provisioningState eq 'Failed'", + "$select": "properties/format,properties/provisioningState" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "provisioningState": "Failed", + "format": "Pfx" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "name": "sha1-aeb228ffb0bf67a793d61dce263ebd16949f15a1", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118572E0\"", + "properties": { + "provisioningState": "Failed", + "format": "Cer" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateUpdate.json new file mode 100644 index 000000000000..7c064c17bac7 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/CertificateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "certificateName": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "parameters": { + "properties": { + "data": "MIIJsgIBAzCCCW4GCSqGSIb3DQE...", + "password": "" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDD5118668F7\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/samplecct/certificates/sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "name": "sha1-0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "type": "Microsoft.Batch/batchAccounts/certificates", + "etag": "W/\"0x8D4EDD5118668F7\"", + "properties": { + "thumbprintAlgorithm": "sha1", + "thumbprint": "0a0e4f50d51beadeac1d35afc5116098e7902e6e", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-07-21T01:47:38.4420202Z", + "format": "Pfx", + "publicData": "MIICrjCCAZagAwI..." + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorGet.json new file mode 100644 index 000000000000..1283549dfe0c --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "detectorId": "poolsAndNodes" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.Batch/batchAccounts/detectors", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/detectors/poolsAndNodes", + "name": "poolsAndNodes", + "properties": { + "value": "ew0KICAibWV0YWRhdGEiOiB7DQogICAgImlkIjogInBvb2xzQW5kTm9kZXMiLA0KICAgICJuYW1lIjogIlBvb2xzIGFuZCBOb2RlcyIsDQogICAgImRlc2NyaXB0aW9uIjogbnVsbCwNCiAgICAiYXV0aG9yIjogIiIsDQogICAgImNhdGVnb3J5IjogbnVsbCwNCiAgICAic3VwcG9ydFRvcGljTGlzdCI6IFsNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDc3IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDYxIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY1IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY2IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY5IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDcyIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDc5IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDgyIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDkxIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDkzIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDk0IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfQ0KICAgIF0sDQogICAgImFuYWx5c2lzVHlwZXMiOiBudWxsLA0KICAgICJ0eXBlIjogIkFuYWx5c2lzIiwNCiAgICAic2NvcmUiOiAwLjANCiAgfSwNCiAgImRhdGFzZXQiOiBbXSwNCiAgInN0YXR1cyI6IHsNCiAgICAibWVzc2FnZSI6IG51bGwsDQogICAgInN0YXR1c0lkIjogNA0KICB9LA0KICAiZGF0YVByb3ZpZGVyc01ldGFkYXRhIjogbnVsbCwNCiAgInN1Z2dlc3RlZFV0dGVyYW5jZXMiOiBudWxsDQp9" + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorList.json new file mode 100644 index 000000000000..ff16880538cb --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/DetectorList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.Batch/batchAccounts/detectors", + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/detectors/poolsAndNodes", + "name": "poolsAndNodes", + "properties": { + "value": "ew0KICAibWV0YWRhdGEiOiB7DQogICAgImlkIjogInBvb2xzQW5kTm9kZXMiLA0KICAgICJuYW1lIjogIlBvb2xzIGFuZCBOb2RlcyIsDQogICAgImRlc2NyaXB0aW9uIjogbnVsbCwNCiAgICAiYXV0aG9yIjogIiIsDQogICAgImNhdGVnb3J5IjogbnVsbCwNCiAgICAic3VwcG9ydFRvcGljTGlzdCI6IFsNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDc3IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDYxIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY1IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY2IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDY5IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDcyIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDc5IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDgyIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDkxIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDkzIiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfSwNCiAgICAgIHsNCiAgICAgICAgImlkIjogIjMyNjM1MDk0IiwNCiAgICAgICAgInBlc0lkIjogIjE1NjE0IiwNCiAgICAgICAgInR5cGVJZCI6ICJEaWFnbm9zdGljcy5Nb2RlbHNBbmRVdGlscy5BdHRyaWJ1dGVzLlN1cHBvcnRUb3BpYywgRGlhZ25vc3RpY3MuTW9kZWxzQW5kVXRpbHMsIFZlcnNpb249MS4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1udWxsIg0KICAgICAgfQ0KICAgIF0sDQogICAgImFuYWx5c2lzVHlwZXMiOiBudWxsLA0KICAgICJ0eXBlIjogIkFuYWx5c2lzIiwNCiAgICAic2NvcmUiOiAwLjANCiAgfSwNCiAgImRhdGFzZXQiOiBbXSwNCiAgInN0YXR1cyI6IHsNCiAgICAibWVzc2FnZSI6IG51bGwsDQogICAgInN0YXR1c0lkIjogNA0KICB9LA0KICAiZGF0YVByb3ZpZGVyc01ldGFkYXRhIjogbnVsbCwNCiAgInN1Z2dlc3RlZFV0dGVyYW5jZXMiOiBudWxsDQp9" + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_AlreadyExists.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_AlreadyExists.json new file mode 100644 index 000000000000..785c52f4db56 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_AlreadyExists.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "existingaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "An account named 'existingaccountname' is already in use." + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_Available.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_Available.json new file mode 100644 index 000000000000..8566c2f973bd --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationCheckNameAvailability_Available.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid", + "locationName": "japaneast", + "parameters": { + "name": "newaccountname", + "type": "Microsoft.Batch/batchAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationGetQuotas.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationGetQuotas.json new file mode 100644 index 000000000000..68e05fbeff48 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationGetQuotas.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid", + "locationName": "japaneast" + }, + "responses": { + "200": { + "body": { + "accountQuota": 1 + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListCloudServiceSkus.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListCloudServiceSkus.json new file mode 100644 index 000000000000..7fe83d93fbf2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListCloudServiceSkus.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid", + "locationName": "japaneast" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Small", + "familyName": "standardA0_A7Family", + "capabilities": [ + { + "name": "MaxResourceVolumeMB", + "value": "20480" + }, + { + "name": "vCPUs", + "value": "1" + }, + { + "name": "HyperVGenerations", + "value": "V1" + }, + { + "name": "MemoryGB", + "value": "0.75" + }, + { + "name": "LowPriorityCapable", + "value": "False" + }, + { + "name": "vCPUsAvailable", + "value": "1" + }, + { + "name": "EphemeralOSDiskSupported", + "value": "False" + } + ] + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListVirtualMachineSkus.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListVirtualMachineSkus.json new file mode 100644 index 000000000000..a18c96ae27b2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/LocationListVirtualMachineSkus.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid", + "locationName": "japaneast" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_D1_v2", + "familyName": "standardDFamily", + "capabilities": [ + { + "name": "MaxResourceVolumeMB", + "value": "20480" + }, + { + "name": "vCPUs", + "value": "1" + }, + { + "name": "HyperVGenerations", + "value": "V1" + }, + { + "name": "MemoryGB", + "value": "0.75" + }, + { + "name": "LowPriorityCapable", + "value": "False" + }, + { + "name": "vCPUsAvailable", + "value": "1" + }, + { + "name": "EphemeralOSDiskSupported", + "value": "False" + } + ] + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/OperationsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/OperationsList.json new file mode 100644 index 000000000000..b3def6ea6ae2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/OperationsList.json @@ -0,0 +1,1219 @@ +{ + "parameters": { + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Batch/batchAccounts/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Account Log Definitions", + "operation": "Read Batch service log definitions", + "description": "Gets the available logs for the Batch service" + }, + "isDataAction": false, + "origin": "system", + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "ServiceLog", + "displayName": "Service Logs", + "blobDuration": "PT1H" + } + ] + } + } + }, + { + "name": "Microsoft.Batch/batchAccounts/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Account Metric Definitions", + "operation": "Read Batch service metric definitions", + "description": "Gets the available metrics for the Batch service" + }, + "isDataAction": false, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "CoreCount", + "displayName": "Dedicated Core Count", + "displayDescription": "Total number of dedicated cores in the batch account", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "TotalNodeCount", + "displayName": "Dedicated Node Count", + "displayDescription": "Total number of dedicated nodes in the batch account", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "LowPriorityCoreCount", + "displayName": "LowPriority Core Count", + "displayDescription": "Total number of low-priority cores in the batch account", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "TotalLowPriorityNodeCount", + "displayName": "Spot/low-priority Node Count", + "displayDescription": "Total number of low-priority nodes in the batch account", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "CreatingNodeCount", + "displayName": "Creating Node Count", + "displayDescription": "Number of nodes being created", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "StartingNodeCount", + "displayName": "Starting Node Count", + "displayDescription": "Number of nodes starting", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "WaitingForStartTaskNodeCount", + "displayName": "Waiting For Start Task Node Count", + "displayDescription": "Number of nodes waiting for the Start Task to complete", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "StartTaskFailedNodeCount", + "displayName": "Start Task Failed Node Count", + "displayDescription": "Number of nodes where the Start Task has failed", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "IdleNodeCount", + "displayName": "Idle Node Count", + "displayDescription": "Number of idle nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "OfflineNodeCount", + "displayName": "Offline Node Count", + "displayDescription": "Number of offline nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "RebootingNodeCount", + "displayName": "Rebooting Node Count", + "displayDescription": "Number of rebooting nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "ReimagingNodeCount", + "displayName": "Reimaging Node Count", + "displayDescription": "Number of reimaging nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "RunningNodeCount", + "displayName": "Running Node Count", + "displayDescription": "Number of running nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "LeavingPoolNodeCount", + "displayName": "Leaving Pool Node Count", + "displayDescription": "Number of nodes leaving the Pool", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "UnusableNodeCount", + "displayName": "Unusable Node Count", + "displayDescription": "Number of unusable nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PreemptedNodeCount", + "displayName": "Preempted Node Count", + "displayDescription": "Number of preempted nodes", + "unit": "Count", + "aggregationType": "Total", + "lockAggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "TaskStartEvent", + "displayName": "Task Start Events", + "displayDescription": "Total number of tasks that have started", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + }, + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "TaskCompleteEvent", + "displayName": "Task Complete Events", + "displayDescription": "Total number of tasks that have completed", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + }, + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "TaskFailEvent", + "displayName": "Task Fail Events", + "displayDescription": "Total number of tasks that have completed in a failed state", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + }, + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PoolCreateEvent", + "displayName": "Pool Create Events", + "displayDescription": "Total number of pools that have been created", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PoolResizeStartEvent", + "displayName": "Pool Resize Start Events", + "displayDescription": "Total number of pool resizes that have started", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PoolResizeCompleteEvent", + "displayName": "Pool Resize Complete Events", + "displayDescription": "Total number of pool resizes that have completed", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PoolDeleteStartEvent", + "displayName": "Pool Delete Start Events", + "displayDescription": "Total number of pool deletes that have started", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "PoolDeleteCompleteEvent", + "displayName": "Pool Delete Complete Events", + "displayDescription": "Total number of pool deletes that have completed", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "poolId", + "displayName": "Pool ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobDeleteCompleteEvent", + "displayName": "Job Delete Complete Events", + "displayDescription": "Total number of jobs that have been successfully deleted.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobDeleteStartEvent", + "displayName": "Job Delete Start Events", + "displayDescription": "Total number of jobs that have been requested to be deleted.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobDisableCompleteEvent", + "displayName": "Job Disable Complete Events", + "displayDescription": "Total number of jobs that have been successfully disabled.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobDisableStartEvent", + "displayName": "Job Disable Start Events", + "displayDescription": "Total number of jobs that have been requested to be disabled.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobStartEvent", + "displayName": "Job Start Events", + "displayDescription": "Total number of jobs that have been successfully started.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobTerminateCompleteEvent", + "displayName": "Job Terminate Complete Events", + "displayDescription": "Total number of jobs that have been successfully terminated.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + }, + { + "name": "JobTerminateStartEvent", + "displayName": "Job Terminate Start Events", + "displayDescription": "Total number of jobs that have been requested to be terminated.", + "unit": "Count", + "aggregationType": "Total", + "fillGapWithZero": false, + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ], + "dimensions": [ + { + "name": "jobId", + "displayName": "Job ID", + "toBeExportedForShoebox": true + } + ], + "supportsInstanceLevelAggregation": false, + "enableRegionalMdmAccount": false + } + ] + } + } + }, + { + "name": "Microsoft.Batch/batchAccounts/jobs/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Jobs", + "operation": "List or Get Jobs", + "description": "Lists jobs on a Batch account or gets the properties of a job" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/batchAccounts/jobs/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Jobs", + "operation": "Create or Update Job", + "description": "Creates a new job on a Batch account or updates an existing job" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/batchAccounts/jobs/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Jobs", + "operation": "Delete Job", + "description": "Deletes a job from a Batch account" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/batchAccounts/jobSchedules/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Job Schedules", + "operation": "List or Get Job Schedules", + "description": "Lists job schedules on a Batch account or gets the properties of a job schedule" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/batchAccounts/jobSchedules/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Job Schedules", + "operation": "Create or Update Job Schedule", + "description": "Creates a new job schedule on a Batch account or updates an existing job schedule" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/batchAccounts/jobSchedules/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Job Schedules", + "operation": "Delete Job Schedule", + "description": "Deletes a job schedule from a Batch account" + }, + "isDataAction": true + }, + { + "name": "Microsoft.Batch/operations/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Available Batch Operations", + "operation": "List Available Batch Operations", + "description": "Lists operations available on Microsoft.Batch resource provider" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "List or Get Batch Accounts", + "description": "Lists Batch accounts or gets the properties of a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Create or Update Batch Account", + "description": "Creates a new Batch account or updates an existing Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Delete Batch Account", + "description": "Deletes a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/listkeys/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "List Batch Account Keys", + "description": "Lists access keys for a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/regeneratekeys/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Regenerate Batch Account Keys", + "description": "Regenerates access keys for a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/locations/quotas/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Quotas", + "operation": "Get Batch Quotas", + "description": "Gets Batch quotas of the specified subscription at the specified Azure region" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/locations/checkNameAvailability/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that the account name is valid and not in use." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/operationResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Resource Provider", + "operation": "Get Batch account operation results", + "description": "Gets the results of a long running Batch account operation" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/locations/accountOperationResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Resource Provider", + "operation": "Get Batch account operation results", + "description": "Gets the results of a long running Batch account operation" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/register/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Resource Provider", + "operation": "Register the Batch Resource Provider", + "description": "Registers the subscription for the Batch Resource Provider and enables the creation of Batch accounts" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/unregister/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Resource Provider", + "operation": "Unregister the Batch Resource Provider", + "description": "Unregisters the subscription for the Batch Resource Provider preventing the creation of Batch accounts" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/syncAutoStorageKeys/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Accounts", + "operation": "Synchronize Auto Storage Account Keys", + "description": "Synchronizes access keys for the auto storage account configured for a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Applications", + "operation": "List or Get Applications", + "description": "Lists applications or gets the properties of an application" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Applications", + "operation": "Create or Update Application", + "description": "Creates a new application or updates an existing application" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Applications", + "operation": "Delete Application", + "description": "Deletes an application" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/versions/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Application Packages", + "operation": "Get Application Package", + "description": "Gets the properties of an application package" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/versions/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Application Packages", + "operation": "Create or Update Application Package", + "description": "Creates a new application package or updates an existing application package" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/versions/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Application Packages", + "operation": "Delete Application Package", + "description": "Deletes an application package" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/applications/versions/activate/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Application Packages", + "operation": "Activate Application Package", + "description": "Activates an application package" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.Batch/batchAccounts/certificates/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Certificates", + "operation": "List or Get Certificates", + "description": "Lists certificates on a Batch account or gets the properties of a certificate" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/certificates/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Certificates", + "operation": "Create or Update Certificate", + "description": "Creates a new certificate on a Batch account or updates an existing certificate" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/certificates/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Certificates", + "operation": "Delete Certificate", + "description": "Deletes a certificate from a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/certificates/cancelDelete/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Certificates", + "operation": "Cancel Delete Certificate", + "description": "Cancels the failed deletion of a certificate on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/certificateOperationResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Certificates", + "operation": "Get Certificate Operation Results", + "description": "Gets the results of a long running certificate operation on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/pools/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "List or Get Pools", + "description": "Lists pools on a Batch account or gets the properties of a pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/pools/write", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "Create or Update Pool", + "description": "Creates a new pool on a Batch account or updates an existing pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/pools/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "Delete Pool", + "description": "Deletes a pool from a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/pools/stopResize/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "Stop Pool Resize", + "description": "Stops an ongoing resize operation on a Batch account pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/pools/disableAutoscale/action", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "Disable Pool AutoScale", + "description": "Disables automatic scaling for a Batch account pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/poolOperationResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Pools", + "operation": "Get Pool Operation Results", + "description": "Gets the results of a long running pool operation on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/locations/virtualMachineSkus/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Supported Skus", + "operation": "List Supported Batch Virtual Machine VM", + "description": "Lists available Batch supported Virtual Machine VM sizes at the given location" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/locations/cloudServiceSkus/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Batch Supported Skus", + "operation": "List Supported Batch Cloud Service VM", + "description": "Lists available Batch supported Cloud Service VM sizes at the given location" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/privateLinkResources/read", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateLinkResources", + "operation": "Get or List Private link resources", + "description": "Gets the properties of a Private link resource or Lists Private link resources on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnections/write", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnections", + "operation": "Update Private endpoint connection", + "description": "Update an existing Private endpoint connection on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnections/read", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnections", + "operation": "Get or List Private endpoint connection", + "description": "Gets Private endpoint connection or Lists Private endpoint connections on a Batch account" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnections", + "operation": "Get Batch account private endpoint connection operation results", + "description": "Gets the results of a long running Batch account private endpoint connection operation" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionProxies/validate/action", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnectionProxies", + "operation": "Validates a Private endpoint connection proxy", + "description": "Validates a Private endpoint connection proxy on a Batch account" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionProxies/write", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnectionProxies", + "operation": "Create or Update Private endpoint connection proxy", + "description": "Create a new Private endpoint connection proxy on a Batch account" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionProxies/read", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnectionProxies", + "operation": "Get Private endpoint connection proxy", + "description": "Gets Private endpoint connection proxy on a Batch account" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionProxies/delete", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnectionProxies", + "operation": "Delete Private endpoint connection proxy", + "description": "Delete a Private endpoint connection proxy on a Batch account" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/privateEndpointConnectionProxyResults/read", + "display": { + "provider": "Microsoft Batch", + "resource": "PrivateEndpointConnectionProxies", + "operation": "Get Batch account private endpoint connection proxy operation results", + "description": "Gets the results of a long running Batch account private endpoint connection proxy operation" + }, + "isDataAction": false, + "origin": "system" + }, + { + "name": "Microsoft.Batch/batchAccounts/outboundNetworkDependenciesEndpoints/read", + "display": { + "provider": "Microsoft Batch", + "resource": "Outbound Network Dependencies Endpoints", + "operation": "List Outbound Network Dependency Endpoints", + "description": "Lists the outbound network dependency endpoints for a Batch account" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_CloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_CloudServiceConfiguration.json new file mode 100644 index 000000000000..88c73de169ed --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_CloudServiceConfiguration.json @@ -0,0 +1,228 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "displayName": "my-pool-name", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "password": "", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "sshPrivateKey": "sshprivatekeyvalue", + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135", + "/subscriptions/subid2/resourceGroups/rg24/providers/Microsoft.Network/publicIPAddresses/ip268" + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "elevationLevel": "Admin", + "password": "Password", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json new file mode 100644 index 000000000000..bb1f59902958 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalCloudServiceConfiguration.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3 + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 3, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json new file mode 100644 index 000000000000..63bda6ed9ae3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_MinimalVirtualMachineConfiguration.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_NoPublicIPAddresses.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_NoPublicIPAddresses.json new file mode 100644 index 000000000000..dd359c827c92 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_NoPublicIPAddresses.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "NoPublicIPAddresses" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_PublicIPs.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_PublicIPs.json new file mode 100644 index 000000000000..035fd73b08bc --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_PublicIPs.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "publicIPAddressConfiguration": { + "provision": "UserManaged", + "ipAddressIds": [ + "/subscriptions/subid1/resourceGroups/rg13/providers/Microsoft.Network/publicIPAddresses/ip135" + ] + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_SharedImageGallery.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_SharedImageGallery.json new file mode 100644 index 000000000000..9366e7a0914f --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_SharedImageGallery.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "id": "/subscriptions/subid/resourceGroups/networking-group/providers/Microsoft.Compute/galleries/testgallery/images/testimagedef/versions/0.0.1" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 0, + "targetLowPriorityNodes": 0 + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_UserAssignedIdentities.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_UserAssignedIdentities.json new file mode 100644 index 000000000000..feb2d6e9df0a --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_UserAssignedIdentities.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}, + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {} + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2020-10-01T10:22:55.9407275Z", + "creationTime": "2020-10-01T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2020-10-01T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2020-10-01T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "principalId1", + "clientId": "clientId1" + }, + "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "principalId": "principalId2", + "clientId": "clientId2" + } + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration.json new file mode 100644 index 000000000000..a0fb2f2351b2 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + }, + "nodePlacementConfiguration": { + "policy": "Zonal" + }, + "osDisk": { + "ephemeralOSDiskSettings": { + "placement": "CacheDisk" + } + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "MicrosoftWindowsServer", + "offer": "WindowsServer", + "sku": "2016-Datacenter-SmallDisk", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.windows amd64", + "windowsConfiguration": { + "enableAutomaticUpdates": false + }, + "licenseType": "Windows_Server", + "dataDisks": [ + { + "lun": 0, + "caching": "ReadWrite", + "diskSizeGB": 30, + "storageAccountType": "Premium_LRS" + }, + { + "lun": 1, + "caching": "None", + "diskSizeGB": 200, + "storageAccountType": "Standard_LRS" + } + ], + "diskEncryptionConfiguration": { + "targets": [ + "OsDisk", + "TemporaryDisk" + ] + }, + "nodePlacementConfiguration": { + "policy": "Zonal" + } + } + }, + "networkConfiguration": { + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "1", + "2" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json new file mode 100644 index 000000000000..2516140b5808 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolCreate_VirtualMachineConfiguration_Extensions.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "vmSize": "STANDARD_D4", + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "nodeAgentSkuId": "batch.node.ubuntu 20.04", + "extensions": [ + { + "name": "batchextension1", + "type": "SecurityMonitoringForLinux", + "publisher": "Microsoft.Azure.Security.Monitoring", + "typeHandlerVersion": "1.0", + "autoUpgradeMinorVersion": true, + "settings": { + "settingsKey": "settingsValue" + }, + "protectedSettings": { + "protectedSettingsKey": "protectedSettingsValue" + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=1", + "evaluationInterval": "PT5M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "nodeAgentSkuId": "batch.node.ubuntu 20.04", + "extensions": [ + { + "name": "batchextension1", + "type": "SecurityMonitoringForLinux", + "publisher": "Microsoft.Azure.Security.Monitoring", + "typeHandlerVersion": "1.0", + "autoUpgradeMinorVersion": true, + "settings": { + "settingsKey": "settingsValue" + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDelete.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDelete.json new file mode 100644 index 000000000000..0c8f59448472 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/poolOperationResults/delete-testpool-8D4EDFF164A11C9?api-version=2022-01-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDisableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDisableAutoScale.json new file mode 100644 index 000000000000..3d37ae6ea6e5 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolDisableAutoScale.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet.json new file mode 100644 index 000000000000..f849b82c99a3 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "123", + "22" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "password": "password", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json new file mode 100644 index 000000000000..aafe62527bff --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolGet_VirtualMachineConfiguration_Extensions.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "0001-com-ubuntu-server-focal", + "sku": "20_04-lts" + }, + "nodeAgentSkuId": "batch.node.ubuntu 20.04", + "extensions": [ + { + "name": "batchextension1", + "type": "SecurityMonitoringForLinux", + "publisher": "Microsoft.Azure.Security.Monitoring", + "typeHandlerVersion": "1.0", + "autoUpgradeMinorVersion": true, + "settings": { + "settingsKey": "settingsValue" + } + } + ] + } + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolList.json new file mode 100644 index 000000000000..a1a9e03ec109 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolList.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Enabled", + "taskSlotsPerNode": 13, + "taskSchedulingPolicy": { + "nodeFillType": "Pack" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "4", + "osVersion": "WA-GUEST-OS-4.45_201708-01" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "resizeTimeout": "PT8M" + } + }, + "networkConfiguration": { + "subnetId": "/subscriptions/subid/resourceGroups/rg1234/providers/Microsoft.Network/virtualNetworks/network1234/subnets/subnet123", + "endpointConfiguration": { + "inboundNatPools": [ + { + "name": "testnat", + "protocol": "TCP", + "backendPort": 12001, + "frontendPortRangeStart": 15000, + "frontendPortRangeEnd": 15100, + "networkSecurityGroupRules": [ + { + "access": "Allow", + "sourceAddressPrefix": "192.100.12.45", + "priority": 150, + "sourcePortRanges": [ + "*" + ] + }, + { + "access": "Deny", + "sourceAddressPrefix": "*", + "priority": 3500, + "sourcePortRanges": [ + "*" + ] + } + ] + } + ] + } + }, + "metadata": [ + { + "name": "metadata-1", + "value": "value-1" + }, + { + "name": "metadata-2", + "value": "value-2" + } + ], + "startTask": { + "commandLine": "cmd /c SET", + "resourceFiles": [ + { + "httpUrl": "https://testaccount.blob.core.windows.net/example-blob-file", + "filePath": "c:\\temp\\gohere", + "fileMode": "777" + } + ], + "environmentSettings": [ + { + "name": "MYSET", + "value": "1234" + } + ], + "userIdentity": { + "autoUser": { + "scope": "Pool", + "elevationLevel": "Admin" + } + }, + "maxTaskRetryCount": 6, + "waitForSuccess": true + }, + "userAccounts": [ + { + "name": "username1", + "password": "", + "elevationLevel": "Admin", + "linuxUserConfiguration": { + "uid": 1234, + "gid": 4567 + } + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234", + "version": "asdf" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "RemoteUser" + ] + } + ], + "applicationLicenses": [ + "app-license0", + "app-license1" + ], + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 6, + "targetLowPriorityNodes": 28, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M", + "errors": [ + { + "code": "AllocationTimedout", + "message": "Desired number of dedicated nodes could not be allocated as the resize timeout was reached" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolListWithFilter.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolListWithFilter.json new file mode 100644 index 000000000000..43f9329537df --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolListWithFilter.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "$filter": "startswith(name, 'po') or (properties/allocationState eq 'Steady' and properties/provisioningStateTransitionTime lt datetime'2017-02-02')", + "$select": "properties/allocationState,properties/provisioningStateTransitionTime,properties/currentDedicatedNodes,properties/currentLowPriorityNodes", + "maxResults": "50" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 2 + } + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/pooltest", + "name": "pooltest", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningStateTransitionTime": "2017-08-26T10:22:55.9407275Z", + "allocationState": "Resizing", + "currentDedicatedNodes": 4, + "currentLowPriorityNodes": 0 + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolStopResize.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolStopResize.json new file mode 100644 index 000000000000..eaf996f72db0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolStopResize.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-28T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Steady", + "allocationStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "virtualMachineConfiguration": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "latest" + }, + "nodeAgentSkuId": "batch.node.ubuntu 18.04" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 3, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT15M" + } + }, + "resizeOperationStatus": { + "startTime": "2017-08-28T10:22:55.9407275Z", + "targetDedicatedNodes": 1, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT10M" + }, + "currentDedicatedNodes": 0, + "currentLowPriorityNodes": 0 + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_EnableAutoScale.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_EnableAutoScale.json new file mode 100644 index 000000000000..e7e8dd2f9813 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_EnableAutoScale.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicatedNodes=34" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_OtherProperties.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_OtherProperties.json new file mode 100644 index 000000000000..479a0c74f9fa --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_OtherProperties.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY" + } + ] + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + }, + "metadata": [ + { + "name": "key1", + "value": "value1" + } + ], + "applicationPackages": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_1234" + }, + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/applications/app_5678", + "version": "1.0" + } + ], + "certificates": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool/certificates/sha1-1234567", + "storeLocation": "LocalMachine", + "storeName": "MY", + "visibility": [ + "StartTask", + "Task", + "RemoteUser" + ] + } + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_RemoveStartTask.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_RemoveStartTask.json new file mode 100644 index 000000000000..c2a28a5e4360 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_RemoveStartTask.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "startTask": {} + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "autoScale": { + "formula": "$TargetDedicated=34", + "evaluationInterval": "PT15M" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 34, + "nodeDeallocationOption": "Requeue", + "resizeTimeout": "PT15M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_ResizePool.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_ResizePool.json new file mode 100644 index 000000000000..f55f17403bd6 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PoolUpdate_ResizePool.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "poolName": "testpool", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 5, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/pools/testpool", + "name": "testpool", + "type": "Microsoft.Batch/batchAccounts/pools", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "lastModified": "2017-08-29T10:22:55.9407275Z", + "creationTime": "2017-08-28T10:22:55.9407275Z", + "provisioningState": "Succeeded", + "provisioningStateTransitionTime": "2017-08-28T10:22:55.9407275Z", + "allocationState": "Resizing", + "allocationStateTransitionTime": "2017-08-29T10:22:55.9407275Z", + "vmSize": "STANDARD_D4", + "interNodeCommunication": "Disabled", + "taskSlotsPerNode": 1, + "taskSchedulingPolicy": { + "nodeFillType": "Spread" + }, + "deploymentConfiguration": { + "cloudServiceConfiguration": { + "osFamily": "5", + "osVersion": "*" + } + }, + "scaleSettings": { + "fixedScale": { + "targetDedicatedNodes": 1, + "targetLowPriorityNodes": 0, + "resizeTimeout": "PT8M", + "nodeDeallocationOption": "TaskCompletion" + } + }, + "autoScaleRun": { + "evaluationTime": "2017-08-29T10:22:55.9407275Z", + "results": "$TargetDedicatedNodes=34;NodeDeallocationOption=requeue" + }, + "currentDedicatedNodes": 12, + "currentLowPriorityNodes": 0, + "resizeOperationStatus": { + "startTime": "2017-08-29T10:22:55.9407275Z", + "targetDedicatedNodes": 8, + "nodeDeallocationOption": "TaskCompletion", + "resizeTimeout": "PT8M" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountCreate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountCreate.json new file mode 100644 index 000000000000..19b653d833bc --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid", + "parameters": { + "location": "japaneast", + "properties": { + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "UserSubscription", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "keyVaultReference": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.KeyVault/vaults/sample", + "url": "http://sample.vault.azure.net/" + }, + "publicNetworkAccess": "Disabled" + }, + "identity": { + "type": "None" + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountGet.json new file mode 100644 index 000000000000..11686aeb05c4 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateBatchAccountGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "sampleacct", + "resourceGroupName": "default-azurebatch-japaneast", + "api-version": "2022-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "sampleacct", + "location": "japaneast", + "properties": { + "accountEndpoint": "sampleacct.japaneast.batch.azure.com", + "provisioningState": "Succeeded", + "poolAllocationMode": "BatchService", + "dedicatedCoreQuota": 20, + "lowPriorityCoreQuota": 20, + "poolQuota": 20, + "activeJobAndJobScheduleQuota": 20, + "autoStorage": { + "storageAccountId": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Storage/storageAccounts/samplestorage", + "lastKeySync": "2016-03-10T23:48:38.9878479Z" + }, + "publicNetworkAccess": "Disabled", + "privateEndpointConnections": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + }, + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct", + "type": "Microsoft.Batch/batchAccounts" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..9195385b152e --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionUpdate.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..9cce8cb3f630 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "W/\"0x8D4EDFEBFADF4AB\"" + }, + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "name": "testprivateEndpointConnection5.24d6b4b5-e65c-4330-bbe9-3a290d62f8e0", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "etag": "W/\"0x8D4EDFEBFADF4AB\"", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + }, + "204": {}, + "202": { + "headers": { + "Retry-After": "15", + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnectionProxyResults/Updating$testprivateEndpointConnection5.24d6b4b5$e65c-4330-bbe9-3a290d62f8e0-8D4EDFF164A11C9?api-version=2022-01-01" + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..eeefa0c4baf1 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateEndpointConnectionName": "testprivateEndpointConnection", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateEndpointConnections/testprivateEndpointConnection", + "name": "testprivateEndpointConnection", + "type": "Microsoft.Batch/batchAccounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Network/privateEndpoints/testprivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by xyz.abc@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourceGet.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..b43d3b5399c0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "sampleacct", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/sampleacct", + "name": "sampleacct", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + } + } +} diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourcesList.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..814c6be08cf0 --- /dev/null +++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2022-01-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "default-azurebatch-japaneast", + "accountName": "sampleacct", + "privateLinkResourceName": "testprivateLinkResource", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/default-azurebatch-japaneast/providers/Microsoft.Batch/batchAccounts/sampleacct/privateLinkResources/testprivateLinkResource", + "name": "testprivateLinkResource", + "type": "Microsoft.Batch/batchAccounts/privateLinkResources", + "properties": { + "groupId": "batchAccount", + "requiredMembers": [ + "batchAccount" + ], + "requiredZoneNames": [ + "privatelink.japaneast.batch.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md index 2583c70d9209..6cdb52ce91a8 100644 --- a/specification/batch/resource-manager/readme.go.md +++ b/specification/batch/resource-manager/readme.go.md @@ -22,6 +22,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-01 - tag: package-2021-06 - tag: package-2021-01 - tag: package-2020-09 @@ -36,6 +37,15 @@ batch: - tag: package-2015-12 ``` +### Tag: package-2022-01 and go + +These settings apply only when `--tag=package-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-01-01/$(namespace) +``` + ### Tag: package-2021-06 and go These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md index d8780797b3fb..40f6172d48b2 100644 --- a/specification/batch/resource-manager/readme.md +++ b/specification/batch/resource-manager/readme.md @@ -28,7 +28,16 @@ These are the global settings for the Batch API. title: BatchManagementClient description: Batch Client openapi-type: arm -tag: package-2021-06 +tag: package-2022-01 +``` + +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.Batch/stable/2022-01-01/BatchManagement.json ``` ### Tag: package-2021-06 @@ -167,6 +176,9 @@ directive: - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].get - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].patch - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/certificates/{certificateName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}"].patch + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/detectors/{detectorId}"].put - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].get - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].put - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}"].patch diff --git a/specification/batch/resource-manager/readme.python.md b/specification/batch/resource-manager/readme.python.md index 4d29c125de77..c4b6d1b1e0e7 100644 --- a/specification/batch/resource-manager/readme.python.md +++ b/specification/batch/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.batch @@ -13,12 +13,6 @@ package-version: 14.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true -output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch -``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch -``` +output-folder: $(python-sdks-folder)/batch/azure-mgmt-batch/azure/mgmt/batch \ No newline at end of file diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json new file mode 100644 index 000000000000..c4e7f60b9ed1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json @@ -0,0 +1,175 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-09-01-preview", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available billing REST API operations.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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/OperationsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "The list of billing operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "The list of billing operations supported by the Microsoft.Billing 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 Billing REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Identifies if the operation is a data operation.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed such as invoice and billing subscription.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type such as read, write and delete.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationsErrorResponse": { + "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/OperationsErrorDetails" + } + } + }, + "OperationsErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "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/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json index ce04ec821cff..c576917da1d3 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json @@ -367,6 +367,7 @@ }, "ErrorDetails": { "description": "The details of the error.", + "type": "object", "properties": { "code": { "description": "Error code.", @@ -415,6 +416,13 @@ } }, "parameters": { + "versionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + }, "apiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json new file mode 100644 index 000000000000..3126645acb0f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json @@ -0,0 +1,175 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-11-01-preview", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available billing REST API operations.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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/OperationsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "The list of billing operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "The list of billing operations supported by the Microsoft.Billing 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 Billing REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Identifies if the operation is a data operation.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed such as invoice and billing subscription.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type such as read, write and delete.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationsErrorResponse": { + "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/OperationsErrorDetails" + } + } + }, + "OperationsErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "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/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json index 71d5830f954e..c0fd4dbb91b3 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json +++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json @@ -217,6 +217,7 @@ }, "PromotionList": { "description": "The list of promotions.", + "type": "object", "properties": { "value": { "description": "The list of promotions.", @@ -354,6 +355,7 @@ }, "ErrorDetails": { "description": "The details of the error.", + "type": "object", "properties": { "code": { "description": "Error code.", @@ -402,6 +404,13 @@ } }, "parameters": { + "versionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + }, "apiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json index 64c7ddf2e524..149d236c7c6b 100644 --- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billing.json @@ -2635,40 +2635,6 @@ } } }, - "/providers/Microsoft.Billing/operations": { - "get": { - "tags": [ - "Operations" - ], - "operationId": "Operations_List", - "description": "Lists the available billing REST API operations.", - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/rest/api/billing/" - }, - "parameters": [ - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions": { "get": { "tags": [ @@ -4375,6 +4341,12 @@ "$ref": "#/definitions/BillingProfile" } }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, "nextLink": { "description": "The link (url) to the next page of results.", "type": "string", @@ -6120,65 +6092,6 @@ } } }, - "Operation": { - "description": "A Billing REST API operation.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", - "type": "string", - "readOnly": true - }, - "isDataAction": { - "description": "Identifies if the operation is a data operation.", - "type": "boolean", - "readOnly": true - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.Billing.", - "type": "string", - "readOnly": true - }, - "resource": { - "description": "Resource on which the operation is performed such as invoice and billing subscription.", - "type": "string", - "readOnly": true - }, - "operation": { - "description": "Operation type such as read, write and delete.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "Description of operation.", - "type": "string", - "readOnly": true - } - } - } - } - }, - "OperationListResult": { - "description": "The list of billing operations and a URL link to get the next set of results.", - "properties": { - "value": { - "description": "The list of billing operations supported by the Microsoft.Billing 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 - } - } - }, "BillingRoleAssignmentListResult": { "description": "The list of role assignments.", "properties": { @@ -6429,13 +6342,10 @@ "modelAsString": true } }, - "billingProfilesInfo": { - "type": "array", + "billingProfileInfo": { "description": "The list of billing profiles associated with agreement and present only for specific agreements.", "readOnly": true, - "items": { - "$ref": "#/definitions/BillingProfileInfo" - } + "$ref": "#/definitions/BillingProfileInfo" }, "effectiveDate": { "description": "The date from which the agreement is effective.", @@ -6464,8 +6374,8 @@ } }, "BillingProfileInfo": { - "type": "object", "description": "Details about billing profile associated with agreement and available only for specific agreements.", + "type": "object", "properties": { "billingProfileId": { "description": "The unique identifier for the billing profile.", diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billingOperations.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billingOperations.json new file mode 100644 index 000000000000..de47ae2c4f0e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/billingOperations.json @@ -0,0 +1,175 @@ +{ + "swagger": "2.0", + "info": { + "version": "2020-05-01", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available billing REST API operations.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "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/OperationsErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "The list of billing operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "The list of billing operations supported by the Microsoft.Billing 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 Billing REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Identifies if the operation is a data operation.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed such as invoice and billing subscription.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type such as read, write and delete.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationsErrorResponse": { + "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/OperationsErrorDetails" + } + } + }, + "OperationsErrorDetails": { + "description": "The details of the error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "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/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md index 52fad95257fb..fef550323a96 100644 --- a/specification/billing/resource-manager/readme.md +++ b/specification/billing/resource-manager/readme.md @@ -56,6 +56,7 @@ These settings apply only when `--tag=package-2020-05` is specified on the comma input-file: - Microsoft.Billing/stable/2020-05-01/billing.json - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json +- Microsoft.Billing/stable/2020-05-01/billingOperations.json ``` ### Tag: package-2020-09-preview @@ -66,6 +67,7 @@ These settings apply only when `--tag=package-2020-09-preview` is specified on t input-file: - Microsoft.Billing/stable/2020-05-01/billing.json - Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json +- Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json ``` ### Tag: package-2020-11-preview @@ -76,6 +78,7 @@ These settings apply only when `--tag=package-2020-11-preview` is specified on t input-file: - Microsoft.Billing/stable/2020-05-01/billing.json - Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json +- Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json ``` ### Tag: package-2019-10-preview diff --git a/specification/billing/resource-manager/readme.python.md b/specification/billing/resource-manager/readme.python.md index 829ed6a6c37d..e745b93e6dd3 100644 --- a/specification/billing/resource-manager/readme.python.md +++ b/specification/billing/resource-manager/readme.python.md @@ -13,12 +13,8 @@ package-name: azure-mgmt-billing package-version: 0.3.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing/azure/mgmt/billing ``` -``` yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/billing/azure-mgmt-billing -``` diff --git a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json index 8fc167645305..339b84d20881 100644 --- a/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json +++ b/specification/blockchain/resource-manager/Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json @@ -1053,7 +1053,10 @@ "type": "array", "items": { "$ref": "#/definitions/FirewallRule" - } + }, + "x-ms-identifiers": [ + "ruleName" + ] } } }, @@ -1166,7 +1169,10 @@ "type": "array", "items": { "$ref": "#/definitions/ConsortiumMember" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Gets or sets the URL, that the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -1220,7 +1226,10 @@ "type": "array", "items": { "$ref": "#/definitions/ApiKey" - } + }, + "x-ms-identifiers": [ + "keyName" + ] } } }, @@ -1309,7 +1318,10 @@ "type": "array", "items": { "$ref": "#/definitions/Consortium" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1347,7 +1359,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceProviderOperation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Gets or sets the URL, that the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -1409,7 +1424,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceTypeSku" - } + }, + "x-ms-identifiers": [ + "resourceType" + ] } } }, @@ -1427,7 +1445,10 @@ "type": "array", "items": { "$ref": "#/definitions/SkuSetting" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1526,7 +1547,10 @@ "type": "array", "items": { "$ref": "#/definitions/FirewallRule" - } + }, + "x-ms-identifiers": [ + "ruleName" + ] } } }, @@ -1555,7 +1579,10 @@ "type": "array", "items": { "$ref": "#/definitions/FirewallRule" - } + }, + "x-ms-identifiers": [ + "ruleName" + ] } } }, diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md index 68d037eee05a..6d0cadf84dfa 100644 --- a/specification/blockchain/resource-manager/readme.md +++ b/specification/blockchain/resource-manager/readme.md @@ -51,7 +51,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-powershell - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-net diff --git a/specification/blockchain/resource-manager/readme.python.md b/specification/blockchain/resource-manager/readme.python.md index 50680aec44a9..ea4cb7292c4f 100644 --- a/specification/blockchain/resource-manager/readme.python.md +++ b/specification/blockchain/resource-manager/readme.python.md @@ -2,26 +2,17 @@ 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.blockchain - package-name: azure-mgmt-blockchain - package-version: 2.0.0 - clear-output-folder: true +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-blockchain +namespace: azure.mgmt.blockchain +package-version: 1.0.0b1 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/blockchain/azure-mgmt-blockchain/azure/mgmt/blockchain -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/blockchain/azure-mgmt-blockchain + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/blockchain/azure-mgmt-blockchain/azure/mgmt/blockchain ``` diff --git a/specification/blueprint/resource-manager/readme.python.md b/specification/blueprint/resource-manager/readme.python.md index e39e1e3a364a..06e8474ab102 100644 --- a/specification/blueprint/resource-manager/readme.python.md +++ b/specification/blueprint/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-blueprint -no-namespace-folders: true +namespace: azure.mgmt.blueprint package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/blueprint/azure-mgmt-blueprint/azure/mgmt/blueprint ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/blueprint/azure-mgmt-blueprint -``` diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json index 976d2ac8ed7b..375ba9d9f21e 100644 --- a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json +++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json @@ -1529,6 +1529,9 @@ "items": { "$ref": "#/definitions/Site" }, + "x-ms-identifiers": [ + "siteId" + ], "description": "The list of sites" }, "channelId": { @@ -1926,6 +1929,9 @@ "items": { "$ref": "#/definitions/WebChatSite" }, + "x-ms-identifiers": [ + "siteId" + ], "description": "The list of Web Chat sites" } }, @@ -1954,6 +1960,9 @@ "items": { "$ref": "#/definitions/DirectLineSite" }, + "x-ms-identifiers": [ + "siteId" + ], "description": "The list of Direct Line sites" }, "DirectLineEmbedCode": { @@ -2141,7 +2150,10 @@ "description": "The list of line channel registrations", "items": { "$ref": "#/definitions/LineRegistration" - } + }, + "x-ms-identifiers": [ + "generatedId" + ] }, "callbackUrl": { "type": "string", @@ -2476,7 +2488,10 @@ "description": "Service Provider Parameters associated with the Connection Setting", "items": { "$ref": "#/definitions/ConnectionSettingParameter" - } + }, + "x-ms-identifiers": [ + "key" + ] }, "provisioningState": { "type": "string", @@ -2529,6 +2544,9 @@ "items": { "$ref": "#/definitions/ServiceProvider" }, + "x-ms-identifiers": [ + "properties/id" + ], "description": "Gets the list of bot service providers and their properties." } }, @@ -2618,7 +2636,11 @@ "type": "array", "items": { "$ref": "#/definitions/ServiceProviderParameter" - } + }, + "x-ms-identifiers": [ + "name", + "type" + ] } }, "description": "The Object used to describe a Service Provider supported by Bot Service" @@ -2672,7 +2694,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationEntity" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/botservice/resource-manager/readme.python.md b/specification/botservice/resource-manager/readme.python.md index e933f98a0492..da1273d67b8b 100644 --- a/specification/botservice/resource-manager/readme.python.md +++ b/specification/botservice/resource-manager/readme.python.md @@ -4,20 +4,9 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.botservice - package-name: azure-mgmt-botservice - package-version: 1.0.0 - clear-output-folder: true -``` -``` yaml $(python) && $(track2) -python-mode: create + +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.botservice @@ -26,24 +15,9 @@ package-version: 0.2.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/botservice/azure-mgmt-botservice/azure/mgmt/botservice -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/botservice/azure-mgmt-botservice/azure/mgmt/botservice ``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/botservice/azure-mgmt-botservice -``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/botservice/azure-mgmt-botservice -``` diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/afdx.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/afdx.json index 92e5b0e0643d..b97906510860 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/afdx.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/afdx.json @@ -34,6 +34,54 @@ } }, "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/checkEndpointNameAvailability": { + "post": { + "tags": [ + "CheckEndpointNameAvailability" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a afdx endpoint.", + "operationId": "CheckEndpointNameAvailability", + "x-ms-examples": { + "CheckEndpointNameAvailability": { + "$ref": "./examples/CheckEndpointNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkEndpointNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/usages": { "post": { "tags": [ @@ -4103,7 +4151,9 @@ "Rejected", "TimedOut", "PendingRevalidation", - "Approved" + "Approved", + "RefreshingValidationToken", + "InternalError" ], "type": "string", "x-ms-enum": { @@ -4307,7 +4357,8 @@ "type": "array", "items": { "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" - } + }, + "x-ms-identifiers": [] } } }, @@ -4348,6 +4399,20 @@ } } }, + "AutoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoGeneratedDomainNameLabelScope", + "modelAsString": true + } + }, "AFDEndpoint": { "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format .azureedge.net.", "type": "object", @@ -4378,6 +4443,10 @@ "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", "type": "string", "readOnly": true + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" } } }, @@ -4806,9 +4875,7 @@ "sharedPrivateLinkResource": { "description": "The properties of the private link resource for private origin.", "type": "object", - "items": { - "$ref": "#/definitions/SharedPrivateLinkResourceProperties" - } + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" }, "enabledState": { "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.", @@ -4824,7 +4891,8 @@ }, "enforceCertificateNameCheck": { "description": "Whether to enable certificate name check at origin level", - "type": "boolean" + "type": "boolean", + "default": true } } }, @@ -4944,11 +5012,6 @@ "maximum": 50, "minimum": 0 }, - "responseBasedAfdOriginErrorDetectionSettings": { - "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": "./cdn.json#/definitions/ResponseBasedOriginErrorDetectionParameters" - }, "sessionAffinityState": { "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", "enum": [ @@ -5184,9 +5247,7 @@ "compressionSettings": { "description": "compression settings.", "type": "object", - "items": { - "$ref": "#/definitions/CompressionSettings" - } + "$ref": "#/definitions/CompressionSettings" } } }, @@ -5266,14 +5327,20 @@ "type": "array", "items": { "$ref": "./cdn.json#/definitions/DeliveryRuleCondition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "actions": { "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "type": "array", "items": { "$ref": "./cdn.json#/definitions/DeliveryRuleAction" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "matchProcessingBehavior": { "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", @@ -5289,6 +5356,54 @@ } } }, + "CheckEndpointNameAvailabilityInput": { + "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": "./cdn.json#/definitions/ResourceType" + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + } + } + }, + "CheckEndpointNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "type": "boolean" + }, + "availableHostname": { + "description": "Returns the available hostname generated based on the AutoGeneratedDomainNameLabelScope when the name is available, otherwise it returns empty string", + "readOnly": true, + "type": "string" + }, + "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" + } + } + }, "CheckHostNameAvailabilityInput": { "description": "Input of CheckHostNameAvailability API.", "type": "object", @@ -5406,7 +5521,10 @@ "type": "string" } } - } + }, + "x-ms-identifiers": [ + "name" + ] }, "data": { "type": "array", @@ -5421,10 +5539,12 @@ "type": "number" } } - } + }, + "x-ms-identifiers": [] } } - } + }, + "x-ms-identifiers": [] } } }, @@ -5471,13 +5591,18 @@ "type": "number" } } - } + }, + "x-ms-identifiers": [] } } - } + }, + "x-ms-identifiers": [ + "name" + ] } } - } + }, + "x-ms-identifiers": [] } } }, @@ -5618,7 +5743,10 @@ "type": "string" } } - } + }, + "x-ms-identifiers": [ + "name" + ] }, "data": { "type": "array", @@ -5633,10 +5761,12 @@ "type": "number" } } - } + }, + "x-ms-identifiers": [] } } - } + }, + "x-ms-identifiers": [] } } }, @@ -5685,10 +5815,12 @@ "format": "double" } } - } + }, + "x-ms-identifiers": [] } } - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json index 345b5be8a383..d41c6d5845f8 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdn.json @@ -2490,10 +2490,6 @@ "modelAsString": true } }, - "identity": { - "description": "Managed service identity.", - "$ref": "#/definitions/ManagedServiceIdentity" - }, "provisioningState": { "readOnly": true, "description": "Provisioning status of the profile.", @@ -2513,59 +2509,6 @@ } } }, - "ManagedServiceIdentity": { - "description": "Managed service identity.", - "type": "object", - "properties": { - "type": { - "description": "Type of managed service identity.", - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string", - "x-ms-enum": { - "name": "ManagedServiceIdentityType", - "modelAsString": true - } - }, - "tenantId": { - "description": "Tenant of managed service identity.", - "type": "string", - "readOnly": true - }, - "principalId": { - "description": "Principal Id of managed service identity.", - "type": "string", - "readOnly": true - }, - "userAssignedIdentities": { - "description": "The list of user assigned 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}", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/userAssignedIdentity" - } - } - } - }, - "userAssignedIdentity": { - "description": "User Assigned identity.", - "type": "object", - "properties": { - "principalId": { - "description": "Principal Id of user assigned identity", - "type": "string", - "readOnly": true - }, - "clientId": { - "description": "Client Id of user assigned identity", - "type": "string", - "readOnly": true - } - } - }, "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": { @@ -2593,10 +2536,27 @@ "additionalProperties": { "type": "string" } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProfilePropertiesUpdateParameters" } }, "x-ms-azure-resource": true }, + "ProfilePropertiesUpdateParameters": { + "type": "object", + "description": "The JSON object containing profile update parameters.", + "properties": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "type": "integer", + "format": "int32", + "minimum": 16, + "exclusiveMinimum": false + } + } + }, "SsoUri": { "description": "The URI required to login to the supplemental portal from the Azure portal.", "type": "object", @@ -2658,14 +2618,20 @@ "type": "array", "items": { "$ref": "#/definitions/DeepCreatedOrigin" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "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" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "customDomains": { "description": "The custom domains under the endpoint.", @@ -2781,7 +2747,8 @@ "type": "array", "items": { "$ref": "#/definitions/GeoFilter" - } + }, + "x-ms-identifiers": [] }, "defaultOriginGroup": { "description": "A reference to the origin group.", @@ -2793,7 +2760,10 @@ "type": "array", "items": { "$ref": "#/definitions/UrlSigningKey" - } + }, + "x-ms-identifiers": [ + "keyId" + ] }, "deliveryPolicy": { "description": "A policy that specifies the delivery rules to be used for an endpoint.", @@ -2811,7 +2781,10 @@ "type": "array", "items": { "$ref": "#/definitions/DeliveryRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2849,14 +2822,20 @@ "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleCondition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "actions": { "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", "type": "array", "items": { "$ref": "#/definitions/DeliveryRuleAction" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4373,7 +4352,10 @@ "type": "array", "items": { "$ref": "#/definitions/UrlSigningParamIdentifier" - } + }, + "x-ms-identifiers": [ + "paramName" + ] } } }, @@ -5409,7 +5391,8 @@ "type": "array", "items": { "$ref": "#/definitions/HttpErrorRangeParameters" - } + }, + "x-ms-identifiers": [] } } }, @@ -5867,6 +5850,9 @@ "items": { "$ref": "#/definitions/ResourceUsage" }, + "x-ms-identifiers": [ + "resourceType" + ], "description": "List of resource usages." }, "nextLink": { @@ -5923,6 +5909,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of CDN operations supported by the CDN resource provider." }, "nextLink": { @@ -6001,14 +5990,20 @@ "type": "array", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "metricSpecifications": { "description": "Metric specifications of operation.", "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -6063,7 +6058,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricAvailability" - } + }, + "x-ms-identifiers": [] }, "supportedTimeGrainTypes": { "type": "array", @@ -6077,7 +6073,10 @@ "description": "The dimensions of metric", "items": { "$ref": "#/definitions/DimensionProperties" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "fillGapWithZero": { "type": "boolean", @@ -6166,7 +6165,10 @@ "type": "array", "items": { "$ref": "#/definitions/IpAddressGroup" - } + }, + "x-ms-identifiers": [ + "deliveryRegion" + ] } } }, @@ -6183,14 +6185,20 @@ "type": "array", "items": { "$ref": "#/definitions/cidrIpAddress" - } + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] }, "ipv6Addresses": { "description": "The list of ip v6 addresses.", "type": "array", "items": { "$ref": "#/definitions/cidrIpAddress" - } + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] } } }, @@ -6428,6 +6436,10 @@ "items": { "$ref": "#/definitions/ErrorDetail" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The error details." }, "additionalInfo": { @@ -6436,6 +6448,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdnwebapplicationfirewall.json index 27e15be59b4f..b59cca749da8 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdnwebapplicationfirewall.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/cdnwebapplicationfirewall.json @@ -504,7 +504,10 @@ "type": "array", "items": { "$ref": "#/definitions/CustomRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -548,7 +551,8 @@ "type": "array", "items": { "$ref": "#/definitions/MatchCondition" - } + }, + "x-ms-identifiers": [] }, "action": { "description": "Describes what action to be applied when rule matches", @@ -564,7 +568,10 @@ "type": "array", "items": { "$ref": "#/definitions/RateLimitRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -696,7 +703,11 @@ "type": "array", "items": { "$ref": "#/definitions/ManagedRuleSet" - } + }, + "x-ms-identifiers": [ + "ruleSetType", + "ruleSetVersion" + ] } } }, @@ -730,7 +741,10 @@ "type": "array", "items": { "$ref": "#/definitions/ManagedRuleGroupOverride" - } + }, + "x-ms-identifiers": [ + "ruleGroupName" + ] } } }, @@ -749,7 +763,10 @@ "type": "array", "items": { "$ref": "#/definitions/ManagedRuleOverride" - } + }, + "x-ms-identifiers": [ + "ruleId" + ] } } }, @@ -841,6 +858,9 @@ "items": { "$ref": "#/definitions/ManagedRuleGroupDefinition" }, + "x-ms-identifiers": [ + "ruleGroupName" + ], "description": "Rule groups of the managed rule set." } } @@ -864,6 +884,9 @@ "items": { "$ref": "#/definitions/ManagedRuleDefinition" }, + "x-ms-identifiers": [ + "ruleId" + ], "description": "List of rules within the managed rule group." } } diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Create.json index 90752bc39076..762f8feee71f 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Create.json @@ -9,7 +9,8 @@ "tags": {}, "location": "CentralUs", "properties": { - "enabledState": "Enabled" + "enabledState": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } }, @@ -25,7 +26,8 @@ "hostName": "endpoint1.azureedge.net", "enabledState": "Enabled", "provisioningState": "Succeeded", - "deploymentStatus": "NotStarted" + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } }, @@ -40,7 +42,8 @@ "hostName": "endpoint1.azureedge.net", "enabledState": "Enabled", "provisioningState": "Creating", - "deploymentStatus": "NotStarted" + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } }, @@ -55,7 +58,8 @@ "hostName": "endpoint1.azureedge.net", "enabledState": "Enabled", "provisioningState": "Creating", - "deploymentStatus": "NotStarted" + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } } diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Get.json index 41ca4afad024..4baf2d289149 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_Get.json @@ -18,7 +18,8 @@ "hostName": "endpoint1.azureedge.net", "enabledState": "Enabled", "provisioningState": "Succeeded", - "deploymentStatus": "Succeeded" + "deploymentStatus": "Succeeded", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } } diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListByProfile.json index 3237c166b64e..499a8a189e5d 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListByProfile.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDEndpoints_ListByProfile.json @@ -19,7 +19,8 @@ "hostName": "endpoint1.azureedge.net", "enabledState": "Enabled", "provisioningState": "Succeeded", - "deploymentStatus": "Succeeded" + "deploymentStatus": "Succeeded", + "autoGeneratedDomainNameLabelScope": "TenantReuse" } } ] diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Create.json index 915140606596..e55a181b46aa 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Create.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Create.json @@ -40,7 +40,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" @@ -64,7 +63,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" @@ -88,7 +86,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Get.json index 2f6bc37113a3..270c45753aa0 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Get.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Get.json @@ -24,7 +24,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListByProfile.json index 26b6125e3df9..39e2d4e95126 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListByProfile.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_ListByProfile.json @@ -25,7 +25,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Update.json index 30364403f4b0..0352e36052bb 100644 --- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Update.json +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/AFDOriginGroups_Update.json @@ -40,7 +40,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" @@ -67,7 +66,6 @@ "probeProtocol": "Http", "probeIntervalInSeconds": 10 }, - "responseBasedAfdOriginErrorDetectionSettings": null, "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, "provisioningState": "Succeeded", "deploymentStatus": "NotStarted" diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CheckEndpointNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CheckEndpointNameAvailability.json new file mode 100644 index 000000000000..da354d8043b7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2021-06-01/examples/CheckEndpointNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-06-01", + "subscriptionId": "subid", + "resourceGroupName": "myResourceGroup", + "checkEndpointNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/AfdEndpoints", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available", + "availableHostname": "" + } + } + } +} diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md index 5e657d370a53..a4ec40294fd9 100644 --- a/specification/cdn/resource-manager/readme.go.md +++ b/specification/cdn/resource-manager/readme.go.md @@ -25,6 +25,7 @@ directive: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-06 - tag: package-2020-09 - tag: package-2020-04 - tag: package-2019-06 @@ -36,6 +37,15 @@ batch: - tag: package-2015-06 ``` +### Tag: package-2021-06 and go + +These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace) +``` + ### Tag: package-2020-09 and go These settings apply only when `--tag=package-2020-09 --go` is specified on the command line. diff --git a/specification/cdn/resource-manager/readme.java.md b/specification/cdn/resource-manager/readme.java.md index d6d38fa512d1..f9854462e613 100644 --- a/specification/cdn/resource-manager/readme.java.md +++ b/specification/cdn/resource-manager/readme.java.md @@ -10,6 +10,15 @@ namespace: com.microsoft.azure.management.cdn license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 1 output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn + +directive: + - from: swagger-document + where: $.definitions.DeliveryRuleAction.properties.name + transform: > + $['x-ms-enum'] = { + "name": "DeliveryRuleActionValue", + "modelAsString": true + }; ``` ### Java multi-api diff --git a/specification/cdn/resource-manager/readme.python.md b/specification/cdn/resource-manager/readme.python.md index 1c9f4aca69ef..665a49e0cb33 100644 --- a/specification/cdn/resource-manager/readme.python.md +++ b/specification/cdn/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.cdn @@ -23,11 +22,7 @@ directive: "modelAsString": true }; ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn/azure/mgmt/cdn ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/cdn/azure-mgmt-cdn -``` diff --git a/specification/cdn/resource-manager/readme.typescript.md b/specification/cdn/resource-manager/readme.typescript.md index bd2a17ef3bf2..8a692534036e 100644 --- a/specification/cdn/resource-manager/readme.typescript.md +++ b/specification/cdn/resource-manager/readme.typescript.md @@ -11,4 +11,13 @@ typescript: package-name: "@azure/arm-cdn" output-folder: "$(typescript-sdks-folder)/sdk/cdn/arm-cdn" generate-metadata: true + +modelerfour: + naming: + override: + AFDProfiles: $DO_NOT_NORMALIZE$AfdProfiles + AFDCustomDomains: $DO_NOT_NORMALIZE$AfdCustomDomains + AFDEndpoints: $DO_NOT_NORMALIZE$AfdEndpoints + AFDOriginGroups: $DO_NOT_NORMALIZE$AfdOriginGroups + AFDOrigins: $DO_NOT_NORMALIZE$AfdOrigins ``` diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/stable/2021-04-01/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/stable/2021-04-01/changeanalysis.json index 09233bf47e33..816c74298c7c 100644 --- a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/stable/2021-04-01/changeanalysis.json +++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/stable/2021-04-01/changeanalysis.json @@ -247,7 +247,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceProviderOperationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next page for list of Azure operations.", @@ -356,7 +359,8 @@ "type": "array", "items": { "$ref": "#/definitions/PropertyChange" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/changeanalysis/resource-manager/readme.python.md b/specification/changeanalysis/resource-manager/readme.python.md index 7fc459b3f738..dbeb23068e2c 100644 --- a/specification/changeanalysis/resource-manager/readme.python.md +++ b/specification/changeanalysis/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -namespace: Microsoft.ChangeAnalysis +namespace: azure.mgmt.changeanalysis package-name: azure-mgmt-changeanalysis package-version: 1.0.0b1 clear-output-folder: true ``` -```yaml $(python-mode) == 'update' && $(track2) +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/changeanalysis/azure-mgmt-changeanalysis/azure/mgmt/changeanalysis ``` - -```yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/changeanalysis/azure-mgmt-changeanalysis -``` diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json index 343d1f1a5151..1892574e300e 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json @@ -81,6 +81,9 @@ "items": { "$ref": "#/definitions/step" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of steps.", "minItems": 1 }, @@ -139,6 +142,9 @@ "items": { "$ref": "#/definitions/branch" }, + "x-ms-identifiers": [ + "name" + ], "minItems": 1 } }, @@ -163,6 +169,9 @@ "items": { "$ref": "#/definitions/action" }, + "x-ms-identifiers": [ + "name" + ], "minItems": 1 } }, @@ -226,7 +235,10 @@ "type": "array", "items": { "$ref": "#/definitions/keyValuePair" - } + }, + "x-ms-identifiers": [ + "key" + ] }, "selectorId": { "type": "string", @@ -260,7 +272,10 @@ "type": "array", "items": { "$ref": "#/definitions/keyValuePair" - } + }, + "x-ms-identifiers": [ + "key" + ] }, "selectorId": { "type": "string", @@ -711,6 +726,7 @@ "items": { "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/chaos/resource-manager/readme.python.md b/specification/chaos/resource-manager/readme.python.md index 156899a9256c..04d23cc97027 100644 --- a/specification/chaos/resource-manager/readme.python.md +++ b/specification/chaos/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-chaos -no-namespace-folders: true +namespace: azure.mgmt.chaos package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/chaos/azure-mgmt-chaos/azure/mgmt/chaos ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/chaos/azure-mgmt-chaos -``` diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/FormRecognizer.json new file mode 100644 index 000000000000..ae5ff63a679b --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/FormRecognizer.json @@ -0,0 +1,2059 @@ +{ + "swagger": "2.0", + "info": { + "title": "Form Recognizer Client", + "description": "Extracts content, layout, and structured data from documents.", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}/formrecognizer", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "paths": { + "/documentModels/{modelId}:analyze": { + "post": { + "summary": "Analyze document", + "description": "Analyzes document with model.", + "operationId": "AnalyzeDocument", + "tags": [ + "Analysis" + ], + "consumes": [ + "application/json", + "application/octet-stream", + "application/pdf", + "image/jpeg", + "image/png", + "image/tiff", + "image/bmp" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryPages" + }, + { + "$ref": "#/parameters/QueryLocale" + }, + { + "$ref": "#/parameters/QueryStringIndexType" + }, + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "analyzeRequest", + "description": "Analyze request parameters.", + "required": false, + "in": "body", + "schema": { + "$ref": "#/definitions/AnalyzeDocumentRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "URL used to track the progress and obtain the result of the analyze operation." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "AnalyzeDocument_Url": { + "$ref": "./examples/AnalyzeDocument_Url.json" + }, + "AnalyzeDocument_Base64": { + "$ref": "./examples/AnalyzeDocument_Base64.json" + } + } + } + }, + "/documentModels/{modelId}/analyzeResults/{resultId}": { + "get": { + "summary": "Get analyze result", + "description": "Gets the result of document analysis.", + "operationId": "GetAnalyzeDocumentResult", + "tags": [ + "Analysis" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/PathResultId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/AnalyzeResultOperation" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetAnalyzeDocumentResult": { + "$ref": "./examples/GetAnalyzeDocumentResult.json" + } + } + } + }, + "/documentModels:build": { + "post": { + "summary": "Build model", + "description": "Builds a custom document analysis model.", + "operationId": "BuildDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "buildRequest", + "description": "Building request parameters.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/BuildDocumentModelRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BuildDocumentModel": { + "$ref": "./examples/BuildDocumentModel.json" + } + } + } + }, + "/documentModels:compose": { + "post": { + "summary": "Compose model", + "description": "Creates a new model from document types of existing models.", + "operationId": "ComposeDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "composeRequest", + "description": "Compose request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ComposeDocumentModelRequest" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ComposeDocumentModel": { + "$ref": "./examples/ComposeDocumentModel.json" + } + } + } + }, + "/documentModels:authorizeCopy": { + "post": { + "summary": "Generate copy authorization", + "description": "Generates authorization to copy a model to this location with specified modelId and optional description.", + "operationId": "AuthorizeCopyDocumentModel", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "authorizeCopyRequest", + "description": "Authorize copy request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AuthorizeCopyRequest" + } + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CopyAuthorization" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AuthorizeCopyDocumentModel": { + "$ref": "./examples/AuthorizeCopyDocumentModel.json" + } + } + } + }, + "/documentModels/{modelId}:copyTo": { + "post": { + "summary": "Copy model", + "description": "Copies model to the target resource, region, and modelId.", + "operationId": "CopyDocumentModelTo", + "tags": [ + "Creation" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + }, + { + "name": "copyToRequest", + "description": "Copy to request parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CopyAuthorization" + } + } + ], + "responses": { + "202": { + "description": "Request is queued successfully.", + "headers": { + "Operation-Location": { + "type": "string", + "description": "Operation result URL." + } + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CopyDocumentModelTo": { + "$ref": "./examples/CopyDocumentModelTo.json" + } + } + } + }, + "/operations": { + "get": { + "summary": "List operations", + "description": "Lists all operations.", + "operationId": "GetOperations", + "tags": [ + "Operation" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetOperationsResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + } + } + }, + "/operations/{operationId}": { + "get": { + "summary": "Get operation", + "description": "Gets operation info.", + "operationId": "GetOperation", + "tags": [ + "Operation" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathOperationId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetOperationResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOperation": { + "$ref": "./examples/GetOperation.json" + } + } + } + }, + "/documentModels": { + "get": { + "summary": "List models", + "description": "List all models", + "operationId": "GetModels", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetModelsResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "GetModels": { + "$ref": "./examples/GetModels.json" + } + } + } + }, + "/documentModels/{modelId}": { + "get": { + "summary": "Get model", + "description": "Gets detailed model information.", + "operationId": "GetModel", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/ModelInfo" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetModel_Prebuilt": { + "$ref": "./examples/GetModel_Prebuilt.json" + }, + "GetModel_Custom": { + "$ref": "./examples/GetModel_Custom.json" + } + } + }, + "delete": { + "summary": "Delete model", + "description": "Deletes model.", + "operationId": "DeleteModel", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/PathModelId" + }, + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "204": { + "description": "Deleting model." + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeleteModel": { + "$ref": "./examples/DeleteModel.json" + } + } + } + }, + "/info": { + "get": { + "summary": "Get info", + "description": "Return basic info about the current resource.", + "operationId": "GetInfo", + "tags": [ + "Management" + ], + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/QueryApiVersion" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GetInfoResponse" + } + }, + "default": { + "description": "Error encountered.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetInfo": { + "$ref": "./examples/GetInfo.json" + } + } + } + } + }, + "definitions": { + "AnalyzeDocumentRequest": { + "description": "Document analysis parameters.", + "type": "object", + "properties": { + "urlSource": { + "description": "Document URL to analyze", + "$ref": "#/definitions/UrlContentSource" + }, + "base64Source": { + "description": "Base64 encoding of the document to analyze", + "$ref": "#/definitions/Base64ContentSource" + } + } + }, + "BuildDocumentModelRequest": { + "description": "Request body to build a new custom model.", + "type": "object", + "required": [ + "modelId", + "buildMode" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "buildMode": { + "$ref": "#/definitions/DocumentBuildMode" + }, + "azureBlobSource": { + "description": "Azure Blob Storage location containing the training data.", + "$ref": "#/definitions/AzureBlobContentSource" + }, + "tags": { + "description": "List of key-value tag attributes associated with the model.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ComposeDocumentModelRequest": { + "description": "Request body to create a composed model from component models.", + "type": "object", + "required": [ + "modelId", + "componentModels" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "componentModels": { + "description": "List of component models to compose.", + "type": "array", + "uniqueItems": true, + "items": { + "$ref": "#/definitions/ComponentModelInfo" + } + }, + "tags": { + "description": "List of key-value tag attributes associated with the model.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ComponentModelInfo": { + "description": "A component of a composed model.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + } + } + }, + "AuthorizeCopyRequest": { + "description": "Request body to authorize model copy.", + "type": "object", + "required": [ + "modelId" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "tags": { + "description": "List of key-value tag attributes associated with the model.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "GetOperationsResponse": { + "description": "List Operations response object.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationInfo" + } + }, + "nextLink": { + "description": "Link to the next page of operations.", + "type": "string" + } + } + }, + "GetOperationResponse": { + "description": "Get Operation response object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationInfo" + } + ], + "properties": { + "error": { + "description": "Encountered error.", + "$ref": "#/definitions/Error" + }, + "result": { + "description": "Operation result upon success.", + "type": "object" + } + } + }, + "GetModelsResponse": { + "description": "List Models response object.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "value": { + "description": "List of models.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelSummary" + } + }, + "nextLink": { + "description": "Link to the next page of models.", + "type": "string" + } + } + }, + "GetInfoResponse": { + "description": "General information regarding the current resource.", + "type": "object", + "required": [ + "customDocumentModels" + ], + "properties": { + "customDocumentModels": { + "$ref": "#/definitions/CustomDocumentModelsInfo" + } + } + }, + "CustomDocumentModelsInfo": { + "description": "Info regarding custom document models.", + "type": "object", + "required": [ + "count", + "limit" + ], + "properties": { + "count": { + "description": "Number of custom models in the current resource.", + "type": "integer", + "format": "int32" + }, + "limit": { + "description": "Maximum number of custom models supported in the current resource.", + "type": "integer", + "format": "int32" + } + } + }, + "ApiVersion": { + "description": "API version.", + "type": "string", + "enum": [ + "2022-01-30-preview" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + } + }, + "ErrorResponse": { + "description": "Error response object.", + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + } + }, + "Error": { + "description": "Error info.", + "type": "object", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Target of the error.", + "type": "string" + }, + "details": { + "description": "List of detailed errors.", + "type": "array", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "description": "Detailed error.", + "type": "object", + "required": [ + "code" + ], + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "innererror": { + "$ref": "#/definitions/InnerError" + } + } + }, + "UrlContentSource": { + "description": "Content at specified URL.", + "type": "string", + "format": "uri" + }, + "Base64ContentSource": { + "description": "Content represented via Base64 encoding.", + "type": "string", + "format": "byte" + }, + "AzureBlobContentSource": { + "description": "Azure Blob Storage content.", + "type": "object", + "required": [ + "containerUrl" + ], + "properties": { + "containerUrl": { + "description": "Azure Blob Storage container URL.", + "type": "string", + "format": "uri" + }, + "prefix": { + "description": "Blob name prefix.", + "type": "string" + } + } + }, + "CopyAuthorization": { + "description": "Authorization to copy a model to the specified target resource and modelId.", + "type": "object", + "required": [ + "targetResourceId", + "targetResourceRegion", + "targetModelId", + "targetModelLocation", + "accessToken", + "expirationDateTime" + ], + "properties": { + "targetResourceId": { + "description": "ID of the target Azure resource where the model should be copied to.", + "type": "string", + "x-ms-azure-resource": true + }, + "targetResourceRegion": { + "description": "Location of the target Azure resource where the model should be copied to.", + "type": "string" + }, + "targetModelId": { + "description": "Identifier of the target model.", + "$ref": "#/definitions/ModelId" + }, + "targetModelLocation": { + "description": "URL of the copied model in the target account.", + "type": "string" + }, + "accessToken": { + "description": "Token used to authorize the request.", + "type": "string" + }, + "expirationDateTime": { + "description": "Date/time when the access token expires.", + "type": "string", + "format": "date-time" + } + } + }, + "OperationInfo": { + "description": "Operation info.", + "type": "object", + "required": [ + "operationId", + "status", + "createdDateTime", + "lastUpdatedDateTime", + "kind", + "resourceLocation" + ], + "properties": { + "operationId": { + "description": "Operation ID", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded", + "canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false + } + }, + "percentCompleted": { + "description": "Operation progress (0-100).", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100 + }, + "createdDateTime": { + "description": "Date and time (UTC) when the operation was created.", + "type": "string", + "format": "date-time" + }, + "lastUpdatedDateTime": { + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "format": "date-time" + }, + "kind": { + "description": "Type of operation.", + "type": "string", + "enum": [ + "documentModelBuild", + "documentModelCompose", + "documentModelCopyTo" + ], + "x-ms-enum": { + "name": "OperationKind", + "modelAsString": true + } + }, + "resourceLocation": { + "description": "URL of the resource targeted by this operation.", + "type": "string" + }, + "apiVersion": { + "description": "API version used to create this operation.", + "type": "string" + }, + "tags": { + "description": "List of key-value tag attributes associated with the model.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ModelSummary": { + "description": "Model summary.", + "type": "object", + "required": [ + "modelId", + "createdDateTime" + ], + "properties": { + "modelId": { + "$ref": "#/definitions/ModelId" + }, + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "createdDateTime": { + "description": "Date and time (UTC) when the model was created.", + "type": "string", + "format": "date-time" + }, + "apiVersion": { + "description": "API version used to create this model.", + "type": "string" + }, + "tags": { + "description": "List of key-value tag attributes associated with the model.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ModelInfo": { + "description": "Model info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ModelSummary" + } + ], + "properties": { + "docTypes": { + "description": "Supported document types.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocTypeInfo" + } + } + } + }, + "DocTypeInfo": { + "description": "Document type info.", + "type": "object", + "required": [ + "fieldSchema" + ], + "properties": { + "description": { + "$ref": "#/definitions/ModelDescription" + }, + "buildMode": { + "$ref": "#/definitions/DocumentBuildMode" + }, + "fieldSchema": { + "$ref": "#/definitions/DocTypeSchema" + }, + "fieldConfidence": { + "description": "Estimated confidence for each field.", + "type": "object", + "additionalProperties": { + "type": "number", + "minimum": 0, + "maximum": 1 + } + } + } + }, + "DocTypeSchema": { + "description": "Description of the document semantic schema using a JSON Schema style syntax.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentFieldSchema" + } + }, + "DocumentFieldSchema": { + "description": "Description of the field semantic schema using a JSON Schema style syntax.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/DocumentFieldType" + }, + "description": { + "description": "Field description.", + "type": "string" + }, + "example": { + "description": "Example field content.", + "type": "string" + }, + "items": { + "description": "Field type schema of each array element.", + "$ref": "#/definitions/DocumentFieldSchema" + }, + "properties": { + "description": "Named sub-fields of the object field.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentFieldSchema" + } + } + } + }, + "AnalyzeResultOperation": { + "description": "Status and result of the analyze operation.", + "type": "object", + "required": [ + "status", + "createdDateTime", + "lastUpdatedDateTime" + ], + "properties": { + "status": { + "description": "Operation status.", + "type": "string", + "enum": [ + "notStarted", + "running", + "failed", + "succeeded" + ], + "x-ms-enum": { + "name": "AnalyzeResultOperationStatus", + "modelAsString": false + } + }, + "createdDateTime": { + "description": "Date and time (UTC) when the analyze operation was submitted.", + "type": "string", + "format": "date-time" + }, + "lastUpdatedDateTime": { + "description": "Date and time (UTC) when the status was last updated.", + "type": "string", + "format": "date-time" + }, + "error": { + "description": "Encountered error during document analysis.", + "$ref": "#/definitions/Error" + }, + "analyzeResult": { + "$ref": "#/definitions/AnalyzeResult" + } + } + }, + "AnalyzeResult": { + "description": "Document analysis result.", + "type": "object", + "required": [ + "apiVersion", + "modelId", + "stringIndexType", + "content", + "pages" + ], + "properties": { + "apiVersion": { + "description": "API version used to produce this result.", + "$ref": "#/definitions/ApiVersion" + }, + "modelId": { + "description": "Model ID used to produce this result.", + "$ref": "#/definitions/ModelId" + }, + "stringIndexType": { + "description": "Method used to compute string offset and length.", + "$ref": "#/definitions/StringIndexType" + }, + "content": { + "description": "Concatenate string representation of all textual and visual elements in reading order.", + "type": "string" + }, + "pages": { + "description": "Analyzed pages.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentPage" + } + }, + "tables": { + "description": "Extracted tables.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentTable" + } + }, + "keyValuePairs": { + "description": "Extracted key-value pairs.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentKeyValuePair" + } + }, + "entities": { + "description": "Extracted entities.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentEntity" + } + }, + "styles": { + "description": "Extracted font styles.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentStyle" + } + }, + "languages": { + "description": "Detected languages.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentLanguage" + } + }, + "documents": { + "description": "Extracted documents.", + "type": "array", + "items": { + "$ref": "#/definitions/Document" + } + } + } + }, + "DocumentPage": { + "description": "Content and layout elements extracted from a page from the input.", + "type": "object", + "required": [ + "pageNumber", + "angle", + "width", + "height", + "unit", + "words", + "lines", + "spans" + ], + "properties": { + "pageNumber": { + "description": "1-based page number in the input document.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "angle": { + "description": "The general orientation of the content in clockwise direction, measured in degrees between (-180, 180].", + "type": "number", + "minimum": -180, + "maximum": 180, + "exclusiveMinimum": true + }, + "width": { + "description": "The width of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0 + }, + "height": { + "description": "The height of the image/PDF in pixels/inches, respectively.", + "type": "number", + "minimum": 0 + }, + "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": true + } + }, + "spans": { + "description": "Location of the page in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "words": { + "description": "Extracted words from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentWord" + } + }, + "selectionMarks": { + "description": "Extracted selection marks from the page.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSelectionMark" + } + }, + "lines": { + "description": "Extracted lines from the page, potentially containing both textual and visual elements.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentLine" + } + } + } + }, + "DocumentWord": { + "description": "A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, Japanese, and Korean, each character is represented as its own word.", + "type": "object", + "required": [ + "content", + "span", + "confidence" + ], + "properties": { + "content": { + "description": "Text content of the word.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the word.", + "$ref": "#/definitions/BoundingBox" + }, + "span": { + "description": "Location of the word in the reading order concatenated content.", + "$ref": "#/definitions/DocumentSpan" + }, + "confidence": { + "description": "Confidence of correctly extracting the word.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentSelectionMark": { + "description": "A selection mark object representing check boxes, radio buttons, and other elements indicating a selection.", + "type": "object", + "required": [ + "state", + "span", + "confidence" + ], + "properties": { + "state": { + "description": "State of the selection mark.", + "$ref": "#/definitions/DocumentSelectionMarkState" + }, + "boundingBox": { + "description": "Bounding box of the selection mark.", + "$ref": "#/definitions/BoundingBox" + }, + "span": { + "description": "Location of the selection mark in the reading order concatenated content.", + "$ref": "#/definitions/DocumentSpan" + }, + "confidence": { + "description": "Confidence of correctly extracting the selection mark.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentSelectionMarkState": { + "description": "State of the selection mark.", + "type": "string", + "enum": [ + "selected", + "unselected" + ], + "x-ms-enum": { + "name": "SelectionMarkState", + "modelAsString": true + } + }, + "DocumentLine": { + "description": "A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.", + "type": "object", + "required": [ + "content", + "spans" + ], + "properties": { + "content": { + "description": "Concatenated content of the contained elements in reading order.", + "type": "string" + }, + "boundingBox": { + "description": "Bounding box of the line.", + "$ref": "#/definitions/BoundingBox" + }, + "spans": { + "description": "Location of the line in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentTable": { + "description": "A table object consisting table cells arranged in a rectangular layout.", + "type": "object", + "required": [ + "rowCount", + "columnCount", + "cells", + "spans" + ], + "properties": { + "rowCount": { + "description": "Number of rows in the table.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "columnCount": { + "description": "Number of columns in the table.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "cells": { + "description": "Cells contained within the table.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentTableCell" + } + }, + "boundingRegions": { + "description": "Bounding regions covering the table.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the table in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentTableCell": { + "description": "An object representing the location and content of a table cell.", + "type": "object", + "required": [ + "rowIndex", + "columnIndex", + "content", + "spans" + ], + "properties": { + "kind": { + "description": "Table cell kind.", + "type": "string", + "enum": [ + "content", + "rowHeader", + "columnHeader", + "stubHead", + "description" + ], + "default": "content", + "x-ms-enum": { + "name": "DocumentTableCellKind", + "modelAsString": true + } + }, + "rowIndex": { + "description": "Row index of the cell.", + "type": "integer", + "format": "int32" + }, + "columnIndex": { + "description": "Column index of the cell.", + "type": "integer", + "format": "int32" + }, + "rowSpan": { + "description": "Number of rows spanned by this cell.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "columnSpan": { + "description": "Number of columns spanned by this cell.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 1 + }, + "content": { + "description": "Concatenated content of the table cell in reading order.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the table cell.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the table cell in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentKeyValuePair": { + "description": "An object representing a form field with distinct field label (key) and field value (may be empty).", + "type": "object", + "required": [ + "key", + "confidence" + ], + "properties": { + "key": { + "description": "Field label of the key-value pair.", + "$ref": "#/definitions/DocumentKeyValueElement" + }, + "value": { + "description": "Field value of the key-value pair.", + "$ref": "#/definitions/DocumentKeyValueElement" + }, + "confidence": { + "description": "Confidence of correctly extracting the key-value pair.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentKeyValueElement": { + "description": "An object representing the field key or value in a key-value pair.", + "type": "object", + "required": [ + "content", + "spans" + ], + "properties": { + "content": { + "description": "Concatenated content of the key-value element in reading order.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the key-value element.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the key-value element in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + } + } + }, + "DocumentEntity": { + "description": "An object representing various categories of entities.", + "type": "object", + "required": [ + "category", + "content", + "spans", + "confidence" + ], + "properties": { + "category": { + "description": "Entity type.", + "type": "string" + }, + "subCategory": { + "description": "Entity sub type.", + "type": "string" + }, + "content": { + "description": "Entity content.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the entity.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the entity in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the entity.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentStyle": { + "description": "An object representing observed text styles.", + "type": "object", + "required": [ + "spans", + "confidence" + ], + "properties": { + "isHandwritten": { + "description": "Is content handwritten?", + "type": "boolean" + }, + "spans": { + "description": "Location of the text elements in the concatenated content the style applies to.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly identifying the style.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentLanguage": { + "description": "An object representing the detected language for a given text span.", + "type": "object", + "required": [ + "languageCode", + "spans", + "confidence" + ], + "properties": { + "languageCode": { + "description": "Detected language. Value may an ISO 639-1 language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"zh-Hans\").", + "type": "string" + }, + "spans": { + "description": "Location of the text elements in the concatenated content the language applies to.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly identifying the language.", + "$ref": "#/definitions/Confidence" + } + } + }, + "Document": { + "description": "An object describing the location and semantic content of a document.", + "type": "object", + "required": [ + "docType", + "fields", + "spans", + "confidence" + ], + "properties": { + "docType": { + "description": "Document type.", + "$ref": "#/definitions/DocType" + }, + "boundingRegions": { + "description": "Bounding regions covering the document.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the document in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "fields": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentField" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the document.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentField": { + "description": "An object representing the content and location of a field value.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "description": "Data type of the field value.", + "$ref": "#/definitions/DocumentFieldType" + }, + "valueString": { + "description": "String value.", + "type": "string" + }, + "valueDate": { + "description": "Date value in YYYY-MM-DD format (ISO 8601).", + "type": "string", + "format": "date" + }, + "valueTime": { + "description": "Time value in hh:mm:ss format (ISO 8601).", + "type": "string", + "format": "time" + }, + "valuePhoneNumber": { + "description": "Phone number value in E.164 format (ex. +19876543210).", + "type": "string" + }, + "valueNumber": { + "description": "Floating point value.", + "type": "number" + }, + "valueInteger": { + "description": "Integer value.", + "type": "integer", + "format": "int64" + }, + "valueSelectionMark": { + "description": "Selection mark value.", + "$ref": "#/definitions/DocumentSelectionMarkState" + }, + "valueSignature": { + "description": "Presence of signature.", + "type": "string", + "enum": [ + "signed", + "unsigned" + ], + "x-ms-enum": { + "name": "DocumentSignatureType", + "modelAsString": true + } + }, + "valueCountryRegion": { + "description": "3-letter country code value (ISO 3166-1 alpha-3).", + "type": "string" + }, + "valueArray": { + "description": "Array of field values.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentField" + } + }, + "valueObject": { + "description": "Dictionary of named field values.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DocumentField" + } + }, + "valueCurrency": { + "description": "Currency value.", + "$ref": "#/definitions/CurrencyValue" + }, + "content": { + "description": "Field content.", + "type": "string" + }, + "boundingRegions": { + "description": "Bounding regions covering the field.", + "type": "array", + "items": { + "$ref": "#/definitions/BoundingRegion" + } + }, + "spans": { + "description": "Location of the field in the reading order concatenated content.", + "type": "array", + "items": { + "$ref": "#/definitions/DocumentSpan" + } + }, + "confidence": { + "description": "Confidence of correctly extracting the field.", + "$ref": "#/definitions/Confidence" + } + } + }, + "DocumentFieldType": { + "description": "Semantic data type of the field value.", + "type": "string", + "enum": [ + "string", + "date", + "time", + "phoneNumber", + "number", + "integer", + "selectionMark", + "countryRegion", + "signature", + "array", + "object", + "currency" + ], + "x-ms-enum": { + "name": "DocumentFieldType", + "modelAsString": true + } + }, + "CurrencyValue": { + "description": "Currency field value.", + "type": "object", + "required": [ + "amount" + ], + "properties": { + "amount": { + "description": "Currency amount.", + "type": "number", + "format": "double" + }, + "currencySymbol": { + "description": "Currency symbol label, if any.", + "type": "string" + } + } + }, + "ModelId": { + "description": "Unique model name.", + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}" + }, + "ModelDescription": { + "description": "Model description.", + "type": "string", + "maxLength": 4096 + }, + "DocumentBuildMode": { + "description": "Custom model build mode.", + "type": "string", + "enum": [ + "template", + "neural" + ], + "x-ms-enum": { + "name": "DocumentBuildMode", + "modelAsString": true + } + }, + "DocType": { + "description": "Document type name.", + "type": "string", + "minLength": 2, + "maxLength": 64 + }, + "BoundingBox": { + "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the page. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation.", + "type": "array", + "minItems": 8, + "maxItems": 8, + "items": { + "type": "number", + "minimum": 0 + } + }, + "BoundingRegion": { + "description": "Bounding box on a specific page of the input.", + "type": "object", + "required": [ + "pageNumber", + "boundingBox" + ], + "properties": { + "pageNumber": { + "description": "1-based page number of page containing the bounding region.", + "type": "integer", + "format": "int32", + "minimum": 1 + }, + "boundingBox": { + "description": "Bounding box on the page, or the entire page if not specified.", + "$ref": "#/definitions/BoundingBox" + } + } + }, + "Confidence": { + "description": "Prediction confidence.", + "type": "number", + "minimum": 0, + "maximum": 1 + }, + "DocumentSpan": { + "description": "Contiguous region of the concatenated content property, specified as an offset and length.", + "type": "object", + "required": [ + "offset", + "length" + ], + "properties": { + "offset": { + "description": "Zero-based index of the content represented by the span.", + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "length": { + "description": "Number of characters in the content represented by the span.", + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "StringIndexType": { + "description": "Method used to compute string offset and length.", + "type": "string", + "enum": [ + "textElements", + "unicodeCodePoint", + "utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true + }, + "default": "textElements" + } + }, + "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "Supported Cognitive Services endpoints (protocol and hostname, for\nexample: https://westus2.api.cognitive.microsoft.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "QueryApiVersion": { + "name": "api-version", + "description": "Requested API version.", + "required": true, + "type": "string", + "in": "query", + "enum": [ + "2022-01-30-preview" + ], + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + }, + "x-ms-parameter-location": "client" + }, + "PathModelId": { + "name": "modelId", + "description": "Unique model name.", + "required": true, + "type": "string", + "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}", + "in": "path", + "x-ms-parameter-location": "method" + }, + "PathOperationId": { + "name": "operationId", + "description": "Unique operation ID.", + "required": true, + "type": "string", + "in": "path", + "x-ms-parameter-location": "method" + }, + "PathResultId": { + "name": "resultId", + "description": "Analyze operation result ID.", + "required": true, + "type": "string", + "in": "path", + "x-ms-parameter-location": "method" + }, + "QueryPages": { + "name": "pages", + "description": "List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\"", + "required": false, + "type": "string", + "in": "query", + "pattern": "^(\\d+(-\\d+)?)(,\\s*(\\d+(-\\d+)?))*$", + "x-ms-parameter-location": "method" + }, + "QueryLocale": { + "name": "locale", + "description": "Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\").", + "required": false, + "type": "string", + "in": "query", + "x-ms-parameter-location": "method" + }, + "QueryStringIndexType": { + "name": "stringIndexType", + "description": "Method used to compute string offset and length.", + "required": false, + "in": "query", + "type": "string", + "enum": [ + "textElements", + "unicodeCodePoint", + "utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true + }, + "default": "textElements", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Base64.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Base64.json new file mode 100644 index 000000000000..aa2417ead468 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Base64.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-layout", + "pages": "1-2,4", + "locale": "en-US", + "stringIndexType": "textElements", + "analyzeRequest": { + "base64Source": "{base64EncodedPdf}" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/documentModels/prebuilt-layout/analyzeResults/{resultId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Url.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Url.json new file mode 100644 index 000000000000..026e5753980c --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AnalyzeDocument_Url.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "customModel", + "pages": "1-2,4", + "locale": "en-US", + "stringIndexType": "textElements", + "analyzeRequest": { + "urlSource": "http://host.com/doc.pdf" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/documentModels/customModel/analyzeResults/{resultId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AuthorizeCopyDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AuthorizeCopyDocumentModel.json new file mode 100644 index 000000000000..660c79dd27e1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/AuthorizeCopyDocumentModel.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "authorizeCopyRequest": { + "modelId": "{targetModelId}", + "description": "{targetModelDescription}" + } + }, + "responses": { + "200": { + "body": { + "targetResourceId": "{targetResourceId}", + "targetResourceRegion": "{targetResourceRegion}", + "targetModelId": "{targetModelId}", + "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/{targetModelId}?api-version={apiVersion}", + "accessToken": "{accessToken}", + "expirationDateTime": "2021-09-23T09:12:54.552Z" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/BuildDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/BuildDocumentModel.json new file mode 100644 index 000000000000..60f6db4ac355 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/BuildDocumentModel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "buildRequest": { + "modelId": "{modelId}", + "description": "{modelDescription}", + "buildMode": "template", + "azureBlobSource": { + "containerUrl": "https://myStorageAccount.blob.core.windows.net/myContainer?mySasToken", + "prefix": "{blobNamePrefix}" + }, + "tags": { + "createdBy": "{userId}" + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/ComposeDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/ComposeDocumentModel.json new file mode 100644 index 000000000000..b59559fdb6b5 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/ComposeDocumentModel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "composeRequest": { + "modelId": "{composedModelId}", + "description": "{composedModelDescription}", + "componentModels": [ + { + "modelId": "{modelId1}" + }, + { + "modelId": "{modelId2}" + } + ] + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/CopyDocumentModelTo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/CopyDocumentModelTo.json new file mode 100644 index 000000000000..6c55bc8d1939 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/CopyDocumentModelTo.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "sourceModel", + "copyToRequest": { + "targetResourceId": "{targetResourceId}", + "targetResourceRegion": "{targetResourceRegion}", + "targetModelId": "targetModel", + "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/targetModel?api-version={apiVersion}", + "accessToken": "{accessToken}", + "expirationDateTime": "2021-09-23T09:12:54.552Z" + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/DeleteModel.json new file mode 100644 index 000000000000..5b86b604dbf9 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/DeleteModel.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "{modelId}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetAnalyzeDocumentResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetAnalyzeDocumentResult.json new file mode 100644 index 000000000000..4bcfdbd68f41 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetAnalyzeDocumentResult.json @@ -0,0 +1,7219 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-invoice", + "resultId": "{resultId}" + }, + "responses": { + "200": { + "body": { + "status": "succeeded", + "createdDateTime": "2021-09-24T13:00:46Z", + "lastUpdatedDateTime": "2021-09-24T13:00:49Z", + "analyzeResult": { + "apiVersion": "{apiVersion}", + "modelId": "prebuilt-invoice", + "stringIndexType": "textElements", + "content": "CONTOSO LTD.\nINVOICE\nContoso Headquarters\nINVOICE: INV-100\n123 456th St\nINVOICE DATE: 11/15/2019\nNew York, NY, 10001\nDUE DATE: 12/15/2019\nCUSTOMER NAME: MICROSOFT CORPORATION\nSERVICE PERIOD: 10/14/2019 – 11/14/2019\nCUSTOMER ID: CID-12345\nMicrosoft Corp\n123 Other St,\nRedmond WA, 98052\nBILL TO:\nSHIP TO:\nSERVICE ADDRESS:\nMicrosoft Finance\nMicrosoft Delivery\nMicrosoft Services\n123 Bill St,\n123 Ship St,\n123 Service St,\nRedmond WA, 98052\nRedmond WA, 98052\nRedmond WA, 98052\nSALESPERSON\nP.O. NUMBER\nREQUISITIONER\nSHIPPED VIA\nF.O.B. POINT\nTERMS\nPO-3333\nDATE\nITEM CODE\nDESCRIPTION\nQTY\nUM\nPRICE\nTAX\nAMOUNT\n3/4/2021\nA123\nConsulting Services\n2\nhours\n$30.00\n10%\n$60.00\n3/5/2021\nB456\nDocument Fee\n3\n$10.00\n5%\n$30.00\n3/6/2021\nC789\nPrinting Fee\n10\npages\n$1.00\n20%\n$10.00\nSUBTOTAL\n$100.00\nSALES TAX\n$10.00\nTOTAL\n$110.00\nPREVIOUS UNPAID BALANCE\n$500.00\nAMOUNT DUE\n$610.00\nTHANK YOU FOR YOUR BUSINESS!\nREMIT TO:\nContoso Billing\n123 Remit St\nNew York, NY, 10001\n:unselected:", + "pages": [ + { + "pageNumber": 1, + "angle": 0, + "width": 8.5, + "height": 11, + "unit": "inch", + "words": [ + { + "content": "CONTOSO", + "boundingBox": [ + 0.5911, + 0.6857, + 1.7451, + 0.6857, + 1.7451, + 0.8664, + 0.5911, + 0.8664 + ], + "confidence": 1, + "span": { + "offset": 0, + "length": 7 + } + }, + { + "content": "LTD.", + "boundingBox": [ + 1.8441, + 0.6879, + 2.3181, + 0.6879, + 2.3181, + 0.865, + 1.8441, + 0.865 + ], + "confidence": 1, + "span": { + "offset": 8, + "length": 4 + } + }, + { + "content": "INVOICE", + "boundingBox": [ + 7.0751, + 0.589, + 7.9886, + 0.589, + 7.9886, + 0.7697, + 7.0751, + 0.7697 + ], + "confidence": 1, + "span": { + "offset": 13, + "length": 7 + } + }, + { + "content": "Contoso", + "boundingBox": [ + 0.5882, + 1.4303, + 1.1337, + 1.4303, + 1.1337, + 1.5383, + 0.5882, + 1.5383 + ], + "confidence": 1, + "span": { + "offset": 21, + "length": 7 + } + }, + { + "content": "Headquarters", + "boundingBox": [ + 1.1905, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 1.1905, + 1.5664 + ], + "confidence": 1, + "span": { + "offset": 29, + "length": 12 + } + }, + { + "content": "INVOICE:", + "boundingBox": [ + 6.8599, + 1.4217, + 7.4328, + 1.4217, + 7.4328, + 1.5218, + 6.8599, + 1.5218 + ], + "confidence": 1, + "span": { + "offset": 42, + "length": 8 + } + }, + { + "content": "INV-100", + "boundingBox": [ + 7.4959, + 1.422, + 7.9988, + 1.422, + 7.9988, + 1.5215, + 7.4959, + 1.5215 + ], + "confidence": 1, + "span": { + "offset": 51, + "length": 7 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 1.6339, + 0.8213, + 1.6339, + 0.8213, + 1.742, + 0.5945, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 59, + "length": 3 + } + }, + { + "content": "456th", + "boundingBox": [ + 0.874, + 1.6092, + 1.2102, + 1.6092, + 1.2102, + 1.742, + 0.874, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 63, + "length": 5 + } + }, + { + "content": "St", + "boundingBox": [ + 1.2598, + 1.6339, + 1.3812, + 1.6339, + 1.3812, + 1.742, + 1.2598, + 1.742 + ], + "confidence": 1, + "span": { + "offset": 69, + "length": 2 + } + }, + { + "content": "INVOICE", + "boundingBox": [ + 6.2263, + 1.6254, + 6.7562, + 1.6254, + 6.7562, + 1.7256, + 6.2263, + 1.7256 + ], + "confidence": 1, + "span": { + "offset": 72, + "length": 7 + } + }, + { + "content": "DATE:", + "boundingBox": [ + 6.8132, + 1.6267, + 7.1891, + 1.6267, + 7.1891, + 1.7248, + 6.8132, + 1.7248 + ], + "confidence": 1, + "span": { + "offset": 80, + "length": 5 + } + }, + { + "content": "11/15/2019", + "boundingBox": [ + 7.2528, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 7.2528, + 1.7449 + ], + "confidence": 1, + "span": { + "offset": 86, + "length": 10 + } + }, + { + "content": "New", + "boundingBox": [ + 0.5943, + 1.8385, + 0.8848, + 1.8385, + 0.8848, + 1.9454, + 0.5943, + 1.9454 + ], + "confidence": 1, + "span": { + "offset": 97, + "length": 3 + } + }, + { + "content": "York,", + "boundingBox": [ + 0.9293, + 1.8307, + 1.2568, + 1.8307, + 1.2568, + 1.9675, + 0.9293, + 1.9675 + ], + "confidence": 1, + "span": { + "offset": 101, + "length": 5 + } + }, + { + "content": "NY,", + "boundingBox": [ + 1.3205, + 1.8382, + 1.5242, + 1.8382, + 1.5242, + 1.9675, + 1.3205, + 1.9675 + ], + "confidence": 1, + "span": { + "offset": 107, + "length": 3 + } + }, + { + "content": "10001", + "boundingBox": [ + 1.5915, + 1.8372, + 1.9894, + 1.8372, + 1.9894, + 1.9454, + 1.5915, + 1.9454 + ], + "confidence": 1, + "span": { + "offset": 111, + "length": 5 + } + }, + { + "content": "DUE", + "boundingBox": [ + 6.4966, + 1.8333, + 6.7569, + 1.8333, + 6.7569, + 1.9322, + 6.4966, + 1.9322 + ], + "confidence": 1, + "span": { + "offset": 117, + "length": 3 + } + }, + { + "content": "DATE:", + "boundingBox": [ + 6.8126, + 1.8333, + 7.1846, + 1.8333, + 7.1846, + 1.9315, + 6.8126, + 1.9315 + ], + "confidence": 1, + "span": { + "offset": 121, + "length": 5 + } + }, + { + "content": "12/15/2019", + "boundingBox": [ + 7.2494, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 7.2494, + 1.9515 + ], + "confidence": 1, + "span": { + "offset": 127, + "length": 10 + } + }, + { + "content": "CUSTOMER", + "boundingBox": [ + 4.9513, + 2.0388, + 5.6868, + 2.0388, + 5.6868, + 2.1389, + 4.9513, + 2.1389 + ], + "confidence": 1, + "span": { + "offset": 138, + "length": 8 + } + }, + { + "content": "NAME:", + "boundingBox": [ + 5.7412, + 2.04, + 6.1764, + 2.04, + 6.1764, + 2.1381, + 5.7412, + 2.1381 + ], + "confidence": 1, + "span": { + "offset": 147, + "length": 5 + } + }, + { + "content": "MICROSOFT", + "boundingBox": [ + 6.2419, + 2.0391, + 6.9981, + 2.0391, + 6.9981, + 2.1386, + 6.2419, + 2.1386 + ], + "confidence": 1, + "span": { + "offset": 153, + "length": 9 + } + }, + { + "content": "CORPORATION", + "boundingBox": [ + 7.0448, + 2.0391, + 7.9825, + 2.0391, + 7.9825, + 2.1386, + 7.0448, + 2.1386 + ], + "confidence": 1, + "span": { + "offset": 163, + "length": 11 + } + }, + { + "content": "SERVICE", + "boundingBox": [ + 5.1667, + 2.2421, + 5.6923, + 2.2421, + 5.6923, + 2.3422, + 5.1667, + 2.3422 + ], + "confidence": 1, + "span": { + "offset": 175, + "length": 7 + } + }, + { + "content": "PERIOD:", + "boundingBox": [ + 5.748, + 2.2421, + 6.2721, + 2.2421, + 6.2721, + 2.3422, + 5.748, + 2.3422 + ], + "confidence": 1, + "span": { + "offset": 183, + "length": 7 + } + }, + { + "content": "10/14/2019", + "boundingBox": [ + 6.3357, + 2.2306, + 7.0749, + 2.2306, + 7.0749, + 2.3615, + 6.3357, + 2.3615 + ], + "confidence": 1, + "span": { + "offset": 191, + "length": 10 + } + }, + { + "content": "–", + "boundingBox": [ + 7.122, + 2.2922, + 7.1995, + 2.2922, + 7.1995, + 2.3037, + 7.122, + 2.3037 + ], + "confidence": 1, + "span": { + "offset": 202, + "length": 1 + } + }, + { + "content": "11/14/2019", + "boundingBox": [ + 7.2528, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 7.2528, + 2.3615 + ], + "confidence": 1, + "span": { + "offset": 204, + "length": 10 + } + }, + { + "content": "CUSTOMER", + "boundingBox": [ + 6.3253, + 2.4488, + 7.0608, + 2.4488, + 7.0608, + 2.5489, + 6.3253, + 2.5489 + ], + "confidence": 1, + "span": { + "offset": 215, + "length": 8 + } + }, + { + "content": "ID:", + "boundingBox": [ + 7.1153, + 2.45, + 7.2809, + 2.45, + 7.2809, + 2.5481, + 7.1153, + 2.5481 + ], + "confidence": 1, + "span": { + "offset": 224, + "length": 3 + } + }, + { + "content": "CID-12345", + "boundingBox": [ + 7.3369, + 2.4491, + 7.9951, + 2.4491, + 7.9951, + 2.5486, + 7.3369, + 2.5486 + ], + "confidence": 1, + "span": { + "offset": 228, + "length": 9 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 0.5943, + 2.6436, + 1.2303, + 2.6436, + 1.2303, + 2.759, + 0.5943, + 2.759 + ], + "confidence": 1, + "span": { + "offset": 238, + "length": 9 + } + }, + { + "content": "Corp", + "boundingBox": [ + 1.2808, + 2.651, + 1.586, + 2.651, + 1.586, + 2.7871, + 1.2808, + 2.7871 + ], + "confidence": 1, + "span": { + "offset": 248, + "length": 4 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 2.8541, + 0.8213, + 2.8541, + 0.8213, + 2.9623, + 0.5945, + 2.9623 + ], + "confidence": 1, + "span": { + "offset": 253, + "length": 3 + } + }, + { + "content": "Other", + "boundingBox": [ + 0.875, + 2.8476, + 1.262, + 2.8476, + 1.262, + 2.9623, + 0.875, + 2.9623 + ], + "confidence": 1, + "span": { + "offset": 257, + "length": 5 + } + }, + { + "content": "St,", + "boundingBox": [ + 1.3058, + 2.8541, + 1.4633, + 2.8541, + 1.4633, + 2.9845, + 1.3058, + 2.9845 + ], + "confidence": 1, + "span": { + "offset": 263, + "length": 3 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 0.5943, + 3.0513, + 1.2222, + 3.0513, + 1.2222, + 3.1656, + 0.5943, + 3.1656 + ], + "confidence": 1, + "span": { + "offset": 267, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 1.2753, + 3.0585, + 1.5468, + 3.0585, + 1.5468, + 3.1878, + 1.2753, + 3.1878 + ], + "confidence": 1, + "span": { + "offset": 275, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 1.6033, + 3.0575, + 2.0083, + 3.0575, + 2.0083, + 3.1656, + 1.6033, + 3.1656 + ], + "confidence": 1, + "span": { + "offset": 279, + "length": 5 + } + }, + { + "content": "BILL", + "boundingBox": [ + 0.5909, + 3.5603, + 0.8438, + 3.5603, + 0.8438, + 3.6579, + 0.5909, + 3.6579 + ], + "confidence": 1, + "span": { + "offset": 285, + "length": 4 + } + }, + { + "content": "TO:", + "boundingBox": [ + 0.8846, + 3.559, + 1.1032, + 3.559, + 1.1032, + 3.6592, + 0.8846, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 290, + "length": 3 + } + }, + { + "content": "SHIP", + "boundingBox": [ + 3.3361, + 3.559, + 3.6278, + 3.559, + 3.6278, + 3.6592, + 3.3361, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 294, + "length": 4 + } + }, + { + "content": "TO:", + "boundingBox": [ + 3.6716, + 3.559, + 3.8903, + 3.559, + 3.8903, + 3.6592, + 3.6716, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 299, + "length": 3 + } + }, + { + "content": "SERVICE", + "boundingBox": [ + 6.2104, + 3.559, + 6.7361, + 3.559, + 6.7361, + 3.6592, + 6.2104, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 303, + "length": 7 + } + }, + { + "content": "ADDRESS:", + "boundingBox": [ + 6.7828, + 3.559, + 7.4232, + 3.559, + 7.4232, + 3.6592, + 6.7828, + 3.6592 + ], + "confidence": 1, + "span": { + "offset": 311, + "length": 8 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 0.5943, + 3.7641, + 1.2303, + 3.7641, + 1.2303, + 3.8794, + 0.5943, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 320, + "length": 9 + } + }, + { + "content": "Finance", + "boundingBox": [ + 1.287, + 3.7701, + 1.7878, + 3.7701, + 1.7878, + 3.8794, + 1.287, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 330, + "length": 7 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 3.3454, + 3.7641, + 3.9814, + 3.7641, + 3.9814, + 3.8794, + 3.3454, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 338, + "length": 9 + } + }, + { + "content": "Delivery", + "boundingBox": [ + 4.0381, + 3.7647, + 4.5762, + 3.7647, + 4.5762, + 3.9076, + 4.0381, + 3.9076 + ], + "confidence": 1, + "span": { + "offset": 348, + "length": 8 + } + }, + { + "content": "Microsoft", + "boundingBox": [ + 6.2197, + 3.7641, + 6.8557, + 3.7641, + 6.8557, + 3.8794, + 6.2197, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 357, + "length": 9 + } + }, + { + "content": "Services", + "boundingBox": [ + 6.9042, + 3.7701, + 7.4427, + 3.7701, + 7.4427, + 3.8794, + 6.9042, + 3.8794 + ], + "confidence": 1, + "span": { + "offset": 367, + "length": 8 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 3.9746, + 0.8213, + 3.9746, + 0.8213, + 4.0827, + 0.5945, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 376, + "length": 3 + } + }, + { + "content": "Bill", + "boundingBox": [ + 0.8842, + 3.9681, + 1.0657, + 3.9681, + 1.0657, + 4.0817, + 0.8842, + 4.0817 + ], + "confidence": 1, + "span": { + "offset": 380, + "length": 4 + } + }, + { + "content": "St,", + "boundingBox": [ + 1.1222, + 3.9746, + 1.2765, + 3.9746, + 1.2765, + 4.1049, + 1.1222, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 385, + "length": 3 + } + }, + { + "content": "123", + "boundingBox": [ + 3.3456, + 3.9746, + 3.5724, + 3.9746, + 3.5724, + 4.0827, + 3.3456, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 389, + "length": 3 + } + }, + { + "content": "Ship", + "boundingBox": [ + 3.6239, + 3.9681, + 3.9042, + 3.9681, + 3.9042, + 4.1109, + 3.6239, + 4.1109 + ], + "confidence": 1, + "span": { + "offset": 393, + "length": 4 + } + }, + { + "content": "St,", + "boundingBox": [ + 3.9536, + 3.9746, + 4.1111, + 3.9746, + 4.1111, + 4.1049, + 3.9536, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 398, + "length": 3 + } + }, + { + "content": "123", + "boundingBox": [ + 6.2199, + 3.9746, + 6.4467, + 3.9746, + 6.4467, + 4.0827, + 6.2199, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 402, + "length": 3 + } + }, + { + "content": "Service", + "boundingBox": [ + 6.4985, + 3.9734, + 6.9738, + 3.9734, + 6.9738, + 4.0827, + 6.4985, + 4.0827 + ], + "confidence": 1, + "span": { + "offset": 406, + "length": 7 + } + }, + { + "content": "St,", + "boundingBox": [ + 7.0246, + 3.9746, + 7.1821, + 3.9746, + 7.1821, + 4.1049, + 7.0246, + 4.1049 + ], + "confidence": 1, + "span": { + "offset": 414, + "length": 3 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 0.5943, + 4.1717, + 1.2222, + 4.1717, + 1.2222, + 4.2861, + 0.5943, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 418, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 1.2753, + 4.1789, + 1.5468, + 4.1789, + 1.5468, + 4.3082, + 1.2753, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 426, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 1.6033, + 4.1779, + 2.0083, + 4.1779, + 2.0083, + 4.2861, + 1.6033, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 430, + "length": 5 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 3.3454, + 4.1717, + 3.9732, + 4.1717, + 3.9732, + 4.2861, + 3.3454, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 436, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 4.0264, + 4.1789, + 4.2979, + 4.1789, + 4.2979, + 4.3082, + 4.0264, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 444, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 4.3544, + 4.1779, + 4.7594, + 4.1779, + 4.7594, + 4.2861, + 4.3544, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 448, + "length": 5 + } + }, + { + "content": "Redmond", + "boundingBox": [ + 6.2197, + 4.1717, + 6.8475, + 4.1717, + 6.8475, + 4.2861, + 6.2197, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 454, + "length": 7 + } + }, + { + "content": "WA,", + "boundingBox": [ + 6.9007, + 4.1789, + 7.1722, + 4.1789, + 7.1722, + 4.3082, + 6.9007, + 4.3082 + ], + "confidence": 1, + "span": { + "offset": 462, + "length": 3 + } + }, + { + "content": "98052", + "boundingBox": [ + 7.2287, + 4.1779, + 7.6337, + 4.1779, + 7.6337, + 4.2861, + 7.2287, + 4.2861 + ], + "confidence": 1, + "span": { + "offset": 466, + "length": 5 + } + }, + { + "content": "SALESPERSON", + "boundingBox": [ + 0.7018, + 4.6528, + 1.6092, + 4.6528, + 1.6092, + 4.7529, + 0.7018, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 472, + "length": 11 + } + }, + { + "content": "P.O.", + "boundingBox": [ + 2.1216, + 4.6528, + 2.3788, + 4.6528, + 2.3788, + 4.7529, + 2.1216, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 484, + "length": 4 + } + }, + { + "content": "NUMBER", + "boundingBox": [ + 2.4376, + 4.654, + 3.0155, + 4.654, + 3.0155, + 4.7529, + 2.4376, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 489, + "length": 6 + } + }, + { + "content": "REQUISITIONER", + "boundingBox": [ + 3.4953, + 4.6528, + 4.5157, + 4.6528, + 4.5157, + 4.7687, + 3.4953, + 4.7687 + ], + "confidence": 1, + "span": { + "offset": 496, + "length": 13 + } + }, + { + "content": "SHIPPED", + "boundingBox": [ + 4.81, + 4.6528, + 5.362, + 4.6528, + 5.362, + 4.7529, + 4.81, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 510, + "length": 7 + } + }, + { + "content": "VIA", + "boundingBox": [ + 5.409, + 4.654, + 5.6317, + 4.654, + 5.6317, + 4.7517, + 5.409, + 4.7517 + ], + "confidence": 1, + "span": { + "offset": 518, + "length": 3 + } + }, + { + "content": "F.O.B.", + "boundingBox": [ + 5.8696, + 4.6528, + 6.2467, + 4.6528, + 6.2467, + 4.7529, + 5.8696, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 522, + "length": 6 + } + }, + { + "content": "POINT", + "boundingBox": [ + 6.3054, + 4.6528, + 6.706, + 4.6528, + 6.706, + 4.7529, + 6.3054, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 529, + "length": 5 + } + }, + { + "content": "TERMS", + "boundingBox": [ + 7.1806, + 4.6528, + 7.6304, + 4.6528, + 7.6304, + 4.7529, + 7.1806, + 4.7529 + ], + "confidence": 1, + "span": { + "offset": 535, + "length": 5 + } + }, + { + "content": "PO-3333", + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ], + "confidence": 1, + "span": { + "offset": 541, + "length": 7 + } + }, + { + "content": "DATE", + "boundingBox": [ + 0.7409, + 5.421, + 1.0744, + 5.421, + 1.0744, + 5.5186, + 0.7409, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 549, + "length": 4 + } + }, + { + "content": "ITEM", + "boundingBox": [ + 1.4213, + 5.421, + 1.7338, + 5.421, + 1.7338, + 5.5186, + 1.4213, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 554, + "length": 4 + } + }, + { + "content": "CODE", + "boundingBox": [ + 1.7893, + 5.4197, + 2.1407, + 5.4197, + 2.1407, + 5.5199, + 1.7893, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 559, + "length": 4 + } + }, + { + "content": "DESCRIPTION", + "boundingBox": [ + 2.8516, + 5.4197, + 3.7134, + 5.4197, + 3.7134, + 5.5199, + 2.8516, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 564, + "length": 11 + } + }, + { + "content": "QTY", + "boundingBox": [ + 4.4043, + 5.4197, + 4.6631, + 5.4197, + 4.6631, + 5.5357, + 4.4043, + 5.5357 + ], + "confidence": 1, + "span": { + "offset": 576, + "length": 3 + } + }, + { + "content": "UM", + "boundingBox": [ + 5.049, + 5.421, + 5.2654, + 5.421, + 5.2654, + 5.5199, + 5.049, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 580, + "length": 2 + } + }, + { + "content": "PRICE", + "boundingBox": [ + 5.8563, + 5.4199, + 6.2163, + 5.4199, + 6.2163, + 5.5197, + 5.8563, + 5.5197 + ], + "confidence": 1, + "span": { + "offset": 583, + "length": 5 + } + }, + { + "content": "TAX", + "boundingBox": [ + 6.7169, + 5.421, + 6.974, + 5.421, + 6.974, + 5.5186, + 6.7169, + 5.5186 + ], + "confidence": 1, + "span": { + "offset": 589, + "length": 3 + } + }, + { + "content": "AMOUNT", + "boundingBox": [ + 7.2847, + 5.4197, + 7.9039, + 5.4197, + 7.9039, + 5.5199, + 7.2847, + 5.5199 + ], + "confidence": 1, + "span": { + "offset": 593, + "length": 6 + } + }, + { + "content": "3/4/2021", + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ], + "confidence": 1, + "span": { + "offset": 600, + "length": 8 + } + }, + { + "content": "A123", + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 609, + "length": 4 + } + }, + { + "content": "Consulting", + "boundingBox": [ + 2.3388, + 5.6883, + 3.0438, + 5.6883, + 3.0438, + 5.8312, + 2.3388, + 5.8312 + ], + "confidence": 1, + "span": { + "offset": 614, + "length": 10 + } + }, + { + "content": "Services", + "boundingBox": [ + 3.0925, + 5.6937, + 3.6278, + 5.6937, + 3.6278, + 5.803, + 3.0925, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 625, + "length": 8 + } + }, + { + "content": "2", + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ], + "confidence": 1, + "span": { + "offset": 634, + "length": 1 + } + }, + { + "content": "hours", + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ], + "confidence": 1, + "span": { + "offset": 636, + "length": 5 + } + }, + { + "content": "$30.00", + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ], + "confidence": 1, + "span": { + "offset": 642, + "length": 6 + } + }, + { + "content": "10%", + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ], + "confidence": 1, + "span": { + "offset": 649, + "length": 3 + } + }, + { + "content": "$60.00", + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ], + "confidence": 1, + "span": { + "offset": 653, + "length": 6 + } + }, + { + "content": "3/5/2021", + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ], + "confidence": 1, + "span": { + "offset": 660, + "length": 8 + } + }, + { + "content": "B456", + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 669, + "length": 4 + } + }, + { + "content": "Document", + "boundingBox": [ + 2.345, + 5.993, + 3.0318, + 5.993, + 3.0318, + 6.0997, + 2.345, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 674, + "length": 8 + } + }, + { + "content": "Fee", + "boundingBox": [ + 3.0887, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 3.0887, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 683, + "length": 3 + } + }, + { + "content": "3", + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ], + "confidence": 1, + "span": { + "offset": 687, + "length": 1 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ], + "confidence": 1, + "span": { + "offset": 689, + "length": 6 + } + }, + { + "content": "5%", + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ], + "confidence": 1, + "span": { + "offset": 696, + "length": 2 + } + }, + { + "content": "$30.00", + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ], + "confidence": 1, + "span": { + "offset": 699, + "length": 6 + } + }, + { + "content": "3/6/2021", + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ], + "confidence": 1, + "span": { + "offset": 706, + "length": 8 + } + }, + { + "content": "C789", + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 715, + "length": 4 + } + }, + { + "content": "Printing", + "boundingBox": [ + 2.345, + 6.2906, + 2.8575, + 6.2906, + 2.8575, + 6.4281, + 2.345, + 6.4281 + ], + "confidence": 1, + "span": { + "offset": 720, + "length": 8 + } + }, + { + "content": "Fee", + "boundingBox": [ + 2.9143, + 6.2933, + 3.1351, + 6.2933, + 3.1351, + 6.3999, + 2.9143, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 729, + "length": 3 + } + }, + { + "content": "10", + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ], + "confidence": 1, + "span": { + "offset": 733, + "length": 2 + } + }, + { + "content": "pages", + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ], + "confidence": 1, + "span": { + "offset": 736, + "length": 5 + } + }, + { + "content": "$1.00", + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ], + "confidence": 1, + "span": { + "offset": 742, + "length": 5 + } + }, + { + "content": "20%", + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ], + "confidence": 1, + "span": { + "offset": 748, + "length": 3 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ], + "confidence": 1, + "span": { + "offset": 752, + "length": 6 + } + }, + { + "content": "SUBTOTAL", + "boundingBox": [ + 6.0282, + 6.9118, + 6.7309, + 6.9118, + 6.7309, + 7.0199, + 6.0282, + 7.0199 + ], + "confidence": 1, + "span": { + "offset": 759, + "length": 8 + } + }, + { + "content": "$100.00", + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ], + "confidence": 1, + "span": { + "offset": 768, + "length": 7 + } + }, + { + "content": "SALES", + "boundingBox": [ + 6.0382, + 7.2089, + 6.4262, + 7.2089, + 6.4262, + 7.317, + 6.0382, + 7.317 + ], + "confidence": 1, + "span": { + "offset": 776, + "length": 5 + } + }, + { + "content": "TAX", + "boundingBox": [ + 6.4702, + 7.2099, + 6.728, + 7.2099, + 6.728, + 7.316, + 6.4702, + 7.316 + ], + "confidence": 1, + "span": { + "offset": 782, + "length": 3 + } + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ], + "confidence": 1, + "span": { + "offset": 786, + "length": 6 + } + }, + { + "content": "TOTAL", + "boundingBox": [ + 6.2969, + 7.5089, + 6.7309, + 7.5089, + 6.7309, + 7.617, + 6.2969, + 7.617 + ], + "confidence": 1, + "span": { + "offset": 793, + "length": 5 + } + }, + { + "content": "$110.00", + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ], + "confidence": 1, + "span": { + "offset": 799, + "length": 7 + } + }, + { + "content": "PREVIOUS", + "boundingBox": [ + 4.8126, + 7.8055, + 5.4789, + 7.8055, + 5.4789, + 7.9137, + 4.8126, + 7.9137 + ], + "confidence": 1, + "span": { + "offset": 807, + "length": 8 + } + }, + { + "content": "UNPAID", + "boundingBox": [ + 5.5362, + 7.8065, + 6.057, + 7.8065, + 6.057, + 7.9137, + 5.5362, + 7.9137 + ], + "confidence": 1, + "span": { + "offset": 816, + "length": 6 + } + }, + { + "content": "BALANCE", + "boundingBox": [ + 6.1164, + 7.8057, + 6.7249, + 7.8057, + 6.7249, + 7.9135, + 6.1164, + 7.9135 + ], + "confidence": 1, + "span": { + "offset": 823, + "length": 7 + } + }, + { + "content": "$500.00", + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ], + "confidence": 1, + "span": { + "offset": 831, + "length": 7 + } + }, + { + "content": "AMOUNT", + "boundingBox": [ + 5.7652, + 8.1022, + 6.4055, + 8.1022, + 6.4055, + 8.2104, + 5.7652, + 8.2104 + ], + "confidence": 1, + "span": { + "offset": 839, + "length": 6 + } + }, + { + "content": "DUE", + "boundingBox": [ + 6.4562, + 8.1032, + 6.725, + 8.1032, + 6.725, + 8.2104, + 6.4562, + 8.2104 + ], + "confidence": 1, + "span": { + "offset": 846, + "length": 3 + } + }, + { + "content": "$610.00", + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ], + "confidence": 1, + "span": { + "offset": 850, + "length": 7 + } + }, + { + "content": "THANK", + "boundingBox": [ + 3.129, + 8.5453, + 3.5887, + 8.5453, + 3.5887, + 8.6429, + 3.129, + 8.6429 + ], + "confidence": 1, + "span": { + "offset": 858, + "length": 5 + } + }, + { + "content": "YOU", + "boundingBox": [ + 3.6316, + 8.544, + 3.9064, + 8.544, + 3.9064, + 8.6442, + 3.6316, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 864, + "length": 3 + } + }, + { + "content": "FOR", + "boundingBox": [ + 3.9671, + 8.544, + 4.2187, + 8.544, + 4.2187, + 8.6442, + 3.9671, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 868, + "length": 3 + } + }, + { + "content": "YOUR", + "boundingBox": [ + 4.2638, + 8.544, + 4.6347, + 8.544, + 4.6347, + 8.6442, + 4.2638, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 872, + "length": 4 + } + }, + { + "content": "BUSINESS!", + "boundingBox": [ + 4.6859, + 8.539, + 5.356, + 8.539, + 5.356, + 8.6442, + 4.6859, + 8.6442 + ], + "confidence": 1, + "span": { + "offset": 877, + "length": 9 + } + }, + { + "content": "REMIT", + "boundingBox": [ + 0.5909, + 9.1619, + 1.0014, + 9.1619, + 1.0014, + 9.2596, + 0.5909, + 9.2596 + ], + "confidence": 1, + "span": { + "offset": 887, + "length": 5 + } + }, + { + "content": "TO:", + "boundingBox": [ + 1.0446, + 9.1607, + 1.2603, + 9.1607, + 1.2603, + 9.2608, + 1.0446, + 9.2608 + ], + "confidence": 1, + "span": { + "offset": 893, + "length": 3 + } + }, + { + "content": "Contoso", + "boundingBox": [ + 0.5882, + 9.3697, + 1.1337, + 9.3697, + 1.1337, + 9.4777, + 0.5882, + 9.4777 + ], + "confidence": 1, + "span": { + "offset": 897, + "length": 7 + } + }, + { + "content": "Billing", + "boundingBox": [ + 1.1905, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 1.1905, + 9.5059 + ], + "confidence": 1, + "span": { + "offset": 905, + "length": 7 + } + }, + { + "content": "123", + "boundingBox": [ + 0.5945, + 9.5728, + 0.8213, + 9.5728, + 0.8213, + 9.681, + 0.5945, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 913, + "length": 3 + } + }, + { + "content": "Remit", + "boundingBox": [ + 0.881, + 9.5717, + 1.264, + 9.5717, + 1.264, + 9.681, + 0.881, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 917, + "length": 5 + } + }, + { + "content": "St", + "boundingBox": [ + 1.3125, + 9.5728, + 1.4337, + 9.5728, + 1.4337, + 9.681, + 1.3125, + 9.681 + ], + "confidence": 1, + "span": { + "offset": 923, + "length": 2 + } + }, + { + "content": "New", + "boundingBox": [ + 0.5943, + 9.7808, + 0.8848, + 9.7808, + 0.8848, + 9.8877, + 0.5943, + 9.8877 + ], + "confidence": 1, + "span": { + "offset": 926, + "length": 3 + } + }, + { + "content": "York,", + "boundingBox": [ + 0.9293, + 9.773, + 1.2568, + 9.773, + 1.2568, + 9.9098, + 0.9293, + 9.9098 + ], + "confidence": 1, + "span": { + "offset": 930, + "length": 5 + } + }, + { + "content": "NY,", + "boundingBox": [ + 1.3205, + 9.7805, + 1.5233, + 9.7805, + 1.5233, + 9.9098, + 1.3205, + 9.9098 + ], + "confidence": 1, + "span": { + "offset": 936, + "length": 3 + } + }, + { + "content": "10001", + "boundingBox": [ + 1.5903, + 9.7795, + 1.9882, + 9.7795, + 1.9882, + 9.8877, + 1.5903, + 9.8877 + ], + "confidence": 1, + "span": { + "offset": 940, + "length": 5 + } + } + ], + "selectionMarks": [ + { + "state": "unselected", + "boundingBox": [ + 4.3231, + 5.6279, + 4.7562, + 5.6279, + 4.7562, + 5.8654, + 4.3231, + 5.8654 + ], + "confidence": 0.212, + "span": { + "offset": 946, + "length": 12 + } + } + ], + "lines": [ + { + "content": "CONTOSO LTD.", + "boundingBox": [ + 0.5911, + 0.6857, + 2.3181, + 0.6857, + 2.3181, + 0.8664, + 0.5911, + 0.8664 + ], + "spans": [ + { + "offset": 0, + "length": 12 + } + ] + }, + { + "content": "INVOICE", + "boundingBox": [ + 7.0751, + 0.589, + 7.9886, + 0.589, + 7.9886, + 0.7697, + 7.0751, + 0.7697 + ], + "spans": [ + { + "offset": 13, + "length": 7 + } + ] + }, + { + "content": "Contoso Headquarters", + "boundingBox": [ + 0.5882, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 0.5882, + 1.5664 + ], + "spans": [ + { + "offset": 21, + "length": 20 + } + ] + }, + { + "content": "INVOICE: INV-100", + "boundingBox": [ + 6.8599, + 1.4217, + 7.9988, + 1.4217, + 7.9988, + 1.5218, + 6.8599, + 1.5218 + ], + "spans": [ + { + "offset": 42, + "length": 16 + } + ] + }, + { + "content": "123 456th St", + "boundingBox": [ + 0.5945, + 1.6092, + 1.3812, + 1.6092, + 1.3812, + 1.742, + 0.5945, + 1.742 + ], + "spans": [ + { + "offset": 59, + "length": 12 + } + ] + }, + { + "content": "INVOICE DATE: 11/15/2019", + "boundingBox": [ + 6.2263, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 6.2263, + 1.7449 + ], + "spans": [ + { + "offset": 72, + "length": 24 + } + ] + }, + { + "content": "New York, NY, 10001", + "boundingBox": [ + 0.5943, + 1.8307, + 1.9894, + 1.8307, + 1.9894, + 1.9675, + 0.5943, + 1.9675 + ], + "spans": [ + { + "offset": 97, + "length": 19 + } + ] + }, + { + "content": "DUE DATE: 12/15/2019", + "boundingBox": [ + 6.4966, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 6.4966, + 1.9515 + ], + "spans": [ + { + "offset": 117, + "length": 20 + } + ] + }, + { + "content": "CUSTOMER NAME: MICROSOFT CORPORATION", + "boundingBox": [ + 4.9513, + 2.0388, + 7.9825, + 2.0388, + 7.9825, + 2.1389, + 4.9513, + 2.1389 + ], + "spans": [ + { + "offset": 138, + "length": 36 + } + ] + }, + { + "content": "SERVICE PERIOD: 10/14/2019 – 11/14/2019", + "boundingBox": [ + 5.1667, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 5.1667, + 2.3615 + ], + "spans": [ + { + "offset": 175, + "length": 39 + } + ] + }, + { + "content": "CUSTOMER ID: CID-12345", + "boundingBox": [ + 6.3253, + 2.4488, + 7.9951, + 2.4488, + 7.9951, + 2.5489, + 6.3253, + 2.5489 + ], + "spans": [ + { + "offset": 215, + "length": 22 + } + ] + }, + { + "content": "Microsoft Corp", + "boundingBox": [ + 0.5943, + 2.6436, + 1.586, + 2.6436, + 1.586, + 2.7871, + 0.5943, + 2.7871 + ], + "spans": [ + { + "offset": 238, + "length": 14 + } + ] + }, + { + "content": "123 Other St,", + "boundingBox": [ + 0.5945, + 2.8476, + 1.4633, + 2.8476, + 1.4633, + 2.9845, + 0.5945, + 2.9845 + ], + "spans": [ + { + "offset": 253, + "length": 13 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 0.5943, + 3.0513, + 2.0083, + 3.0513, + 2.0083, + 3.1878, + 0.5943, + 3.1878 + ], + "spans": [ + { + "offset": 267, + "length": 17 + } + ] + }, + { + "content": "BILL TO:", + "boundingBox": [ + 0.5909, + 3.559, + 1.1032, + 3.559, + 1.1032, + 3.6592, + 0.5909, + 3.6592 + ], + "spans": [ + { + "offset": 285, + "length": 8 + } + ] + }, + { + "content": "SHIP TO:", + "boundingBox": [ + 3.3361, + 3.559, + 3.8903, + 3.559, + 3.8903, + 3.6592, + 3.3361, + 3.6592 + ], + "spans": [ + { + "offset": 294, + "length": 8 + } + ] + }, + { + "content": "SERVICE ADDRESS:", + "boundingBox": [ + 6.2104, + 3.559, + 7.4232, + 3.559, + 7.4232, + 3.6592, + 6.2104, + 3.6592 + ], + "spans": [ + { + "offset": 303, + "length": 16 + } + ] + }, + { + "content": "Microsoft Finance", + "boundingBox": [ + 0.5943, + 3.7641, + 1.7878, + 3.7641, + 1.7878, + 3.8794, + 0.5943, + 3.8794 + ], + "spans": [ + { + "offset": 320, + "length": 17 + } + ] + }, + { + "content": "Microsoft Delivery", + "boundingBox": [ + 3.3454, + 3.7641, + 4.5762, + 3.7641, + 4.5762, + 3.9076, + 3.3454, + 3.9076 + ], + "spans": [ + { + "offset": 338, + "length": 18 + } + ] + }, + { + "content": "Microsoft Services", + "boundingBox": [ + 6.2197, + 3.7641, + 7.4427, + 3.7641, + 7.4427, + 3.8794, + 6.2197, + 3.8794 + ], + "spans": [ + { + "offset": 357, + "length": 18 + } + ] + }, + { + "content": "123 Bill St,", + "boundingBox": [ + 0.5945, + 3.9681, + 1.2765, + 3.9681, + 1.2765, + 4.1049, + 0.5945, + 4.1049 + ], + "spans": [ + { + "offset": 376, + "length": 12 + } + ] + }, + { + "content": "123 Ship St,", + "boundingBox": [ + 3.3456, + 3.9681, + 4.1111, + 3.9681, + 4.1111, + 4.1109, + 3.3456, + 4.1109 + ], + "spans": [ + { + "offset": 389, + "length": 12 + } + ] + }, + { + "content": "123 Service St,", + "boundingBox": [ + 6.2199, + 3.9734, + 7.1821, + 3.9734, + 7.1821, + 4.1049, + 6.2199, + 4.1049 + ], + "spans": [ + { + "offset": 402, + "length": 15 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 0.5943, + 4.1717, + 2.0083, + 4.1717, + 2.0083, + 4.3082, + 0.5943, + 4.3082 + ], + "spans": [ + { + "offset": 418, + "length": 17 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 3.3454, + 4.1717, + 4.7594, + 4.1717, + 4.7594, + 4.3082, + 3.3454, + 4.3082 + ], + "spans": [ + { + "offset": 436, + "length": 17 + } + ] + }, + { + "content": "Redmond WA, 98052", + "boundingBox": [ + 6.2197, + 4.1717, + 7.6337, + 4.1717, + 7.6337, + 4.3082, + 6.2197, + 4.3082 + ], + "spans": [ + { + "offset": 454, + "length": 17 + } + ] + }, + { + "content": "SALESPERSON", + "boundingBox": [ + 0.7018, + 4.6528, + 1.6092, + 4.6528, + 1.6092, + 4.7529, + 0.7018, + 4.7529 + ], + "spans": [ + { + "offset": 472, + "length": 11 + } + ] + }, + { + "content": "P.O. NUMBER", + "boundingBox": [ + 2.1216, + 4.6528, + 3.0155, + 4.6528, + 3.0155, + 4.7529, + 2.1216, + 4.7529 + ], + "spans": [ + { + "offset": 484, + "length": 11 + } + ] + }, + { + "content": "REQUISITIONER", + "boundingBox": [ + 3.4953, + 4.6528, + 4.5157, + 4.6528, + 4.5157, + 4.7687, + 3.4953, + 4.7687 + ], + "spans": [ + { + "offset": 496, + "length": 13 + } + ] + }, + { + "content": "SHIPPED VIA", + "boundingBox": [ + 4.81, + 4.6528, + 5.6317, + 4.6528, + 5.6317, + 4.7529, + 4.81, + 4.7529 + ], + "spans": [ + { + "offset": 510, + "length": 11 + } + ] + }, + { + "content": "F.O.B. POINT", + "boundingBox": [ + 5.8696, + 4.6528, + 6.706, + 4.6528, + 6.706, + 4.7529, + 5.8696, + 4.7529 + ], + "spans": [ + { + "offset": 522, + "length": 12 + } + ] + }, + { + "content": "TERMS", + "boundingBox": [ + 7.1806, + 4.6528, + 7.6304, + 4.6528, + 7.6304, + 4.7529, + 7.1806, + 4.7529 + ], + "spans": [ + { + "offset": 535, + "length": 5 + } + ] + }, + { + "content": "PO-3333", + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ], + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + { + "content": "DATE", + "boundingBox": [ + 0.7409, + 5.421, + 1.0744, + 5.421, + 1.0744, + 5.5186, + 0.7409, + 5.5186 + ], + "spans": [ + { + "offset": 549, + "length": 4 + } + ] + }, + { + "content": "ITEM CODE", + "boundingBox": [ + 1.4213, + 5.4197, + 2.1407, + 5.4197, + 2.1407, + 5.5199, + 1.4213, + 5.5199 + ], + "spans": [ + { + "offset": 554, + "length": 9 + } + ] + }, + { + "content": "DESCRIPTION", + "boundingBox": [ + 2.8516, + 5.4197, + 3.7134, + 5.4197, + 3.7134, + 5.5199, + 2.8516, + 5.5199 + ], + "spans": [ + { + "offset": 564, + "length": 11 + } + ] + }, + { + "content": "QTY", + "boundingBox": [ + 4.4043, + 5.4197, + 4.6631, + 5.4197, + 4.6631, + 5.5357, + 4.4043, + 5.5357 + ], + "spans": [ + { + "offset": 576, + "length": 3 + } + ] + }, + { + "content": "UM", + "boundingBox": [ + 5.049, + 5.421, + 5.2654, + 5.421, + 5.2654, + 5.5199, + 5.049, + 5.5199 + ], + "spans": [ + { + "offset": 580, + "length": 2 + } + ] + }, + { + "content": "PRICE", + "boundingBox": [ + 5.8563, + 5.4199, + 6.2163, + 5.4199, + 6.2163, + 5.5197, + 5.8563, + 5.5197 + ], + "spans": [ + { + "offset": 583, + "length": 5 + } + ] + }, + { + "content": "TAX", + "boundingBox": [ + 6.7169, + 5.421, + 6.974, + 5.421, + 6.974, + 5.5186, + 6.7169, + 5.5186 + ], + "spans": [ + { + "offset": 589, + "length": 3 + } + ] + }, + { + "content": "AMOUNT", + "boundingBox": [ + 7.2847, + 5.4197, + 7.9039, + 5.4197, + 7.9039, + 5.5199, + 7.2847, + 5.5199 + ], + "spans": [ + { + "offset": 593, + "length": 6 + } + ] + }, + { + "content": "3/4/2021", + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ], + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + { + "content": "A123", + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ], + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + { + "content": "Consulting Services", + "boundingBox": [ + 2.3388, + 5.6883, + 3.6278, + 5.6883, + 3.6278, + 5.8312, + 2.3388, + 5.8312 + ], + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + { + "content": "2", + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ], + "spans": [ + { + "offset": 634, + "length": 1 + } + ] + }, + { + "content": "hours", + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ], + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + { + "content": "$30.00", + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ], + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + }, + { + "content": "10%", + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ], + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + { + "content": "$60.00", + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ], + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + { + "content": "3/5/2021", + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ], + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + { + "content": "B456", + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ], + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + { + "content": "Document Fee", + "boundingBox": [ + 2.345, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 2.345, + 6.0997 + ], + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + { + "content": "3", + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ], + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ], + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + }, + { + "content": "5%", + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ], + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + { + "content": "$30.00", + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ], + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + { + "content": "3/6/2021", + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ], + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + { + "content": "C789", + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ], + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + { + "content": "Printing Fee", + "boundingBox": [ + 2.345, + 6.2906, + 3.1351, + 6.2906, + 3.1351, + 6.4281, + 2.345, + 6.4281 + ], + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + { + "content": "10", + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ], + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + { + "content": "pages", + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ], + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + { + "content": "$1.00", + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ], + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + }, + { + "content": "20%", + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ], + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ], + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + }, + { + "content": "SUBTOTAL", + "boundingBox": [ + 6.0282, + 6.9118, + 6.7309, + 6.9118, + 6.7309, + 7.0199, + 6.0282, + 7.0199 + ], + "spans": [ + { + "offset": 759, + "length": 8 + } + ] + }, + { + "content": "$100.00", + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ], + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + { + "content": "SALES TAX", + "boundingBox": [ + 6.0382, + 7.2089, + 6.728, + 7.2089, + 6.728, + 7.317, + 6.0382, + 7.317 + ], + "spans": [ + { + "offset": 776, + "length": 9 + } + ] + }, + { + "content": "$10.00", + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ], + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + { + "content": "TOTAL", + "boundingBox": [ + 6.2969, + 7.5089, + 6.7309, + 7.5089, + 6.7309, + 7.617, + 6.2969, + 7.617 + ], + "spans": [ + { + "offset": 793, + "length": 5 + } + ] + }, + { + "content": "$110.00", + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ], + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + { + "content": "PREVIOUS UNPAID BALANCE", + "boundingBox": [ + 4.8126, + 7.8055, + 6.7249, + 7.8055, + 6.7249, + 7.9137, + 4.8126, + 7.9137 + ], + "spans": [ + { + "offset": 807, + "length": 23 + } + ] + }, + { + "content": "$500.00", + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ], + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + { + "content": "AMOUNT DUE", + "boundingBox": [ + 5.7652, + 8.1022, + 6.725, + 8.1022, + 6.725, + 8.2104, + 5.7652, + 8.2104 + ], + "spans": [ + { + "offset": 839, + "length": 10 + } + ] + }, + { + "content": "$610.00", + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ], + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + }, + { + "content": "THANK YOU FOR YOUR BUSINESS!", + "boundingBox": [ + 3.129, + 8.539, + 5.356, + 8.539, + 5.356, + 8.6442, + 3.129, + 8.6442 + ], + "spans": [ + { + "offset": 858, + "length": 28 + } + ] + }, + { + "content": "REMIT TO:", + "boundingBox": [ + 0.5909, + 9.1607, + 1.2603, + 9.1607, + 1.2603, + 9.2608, + 0.5909, + 9.2608 + ], + "spans": [ + { + "offset": 887, + "length": 9 + } + ] + }, + { + "content": "Contoso Billing", + "boundingBox": [ + 0.5882, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 0.5882, + 9.5059 + ], + "spans": [ + { + "offset": 897, + "length": 15 + } + ] + }, + { + "content": "123 Remit St", + "boundingBox": [ + 0.5945, + 9.5717, + 1.4337, + 9.5717, + 1.4337, + 9.681, + 0.5945, + 9.681 + ], + "spans": [ + { + "offset": 913, + "length": 12 + } + ] + }, + { + "content": "New York, NY, 10001", + "boundingBox": [ + 0.5943, + 9.773, + 1.9882, + 9.773, + 1.9882, + 9.9098, + 0.5943, + 9.9098 + ], + "spans": [ + { + "offset": 926, + "length": 19 + } + ] + } + ], + "spans": [ + { + "offset": 0, + "length": 958 + } + ] + } + ], + "tables": [ + { + "rowCount": 4, + "columnCount": 8, + "cells": [ + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "DATE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4932, + 5.329, + 1.3011, + 5.3213, + 1.3011, + 5.6056, + 0.5009, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 549, + "length": 4 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "ITEM CODE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.3213, + 2.2476, + 5.3213, + 2.2399, + 5.6056, + 1.3011, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 554, + "length": 9 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "DESCRIPTION", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2476, + 5.3213, + 4.3174, + 5.329, + 4.3097, + 5.6056, + 2.2399, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 564, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "QTY", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3174, + 5.329, + 4.7483, + 5.329, + 4.7483, + 5.6056, + 4.3097, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 576, + "length": 3 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "UM", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.329, + 5.5639, + 5.329, + 5.5639, + 5.6056, + 4.7483, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 580, + "length": 2 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "PRICE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.329, + 6.495, + 5.329, + 6.495, + 5.6056, + 5.5639, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 583, + "length": 5 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "TAX", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.329, + 7.1875, + 5.329, + 7.1952, + 5.6056, + 6.495, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 589, + "length": 3 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "AMOUNT", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1875, + 5.329, + 7.9954, + 5.329, + 7.9954, + 5.598, + 7.1952, + 5.6056 + ] + } + ], + "spans": [ + { + "offset": 593, + "length": 6 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/4/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5009, + 5.6056, + 1.3011, + 5.6056, + 1.3011, + 5.8976, + 0.5009, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "A123", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.6056, + 2.2399, + 5.6056, + 2.2322, + 5.8976, + 1.3011, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Consulting Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2399, + 5.6056, + 4.3097, + 5.6056, + 4.3097, + 5.8976, + 2.2322, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "2 :unselected:", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 5.6056, + 4.7483, + 5.6056, + 4.7483, + 5.8976, + 4.3097, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 634, + "length": 1 + }, + { + "offset": 946, + "length": 12 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "hours", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.6056, + 5.5639, + 5.6056, + 5.5639, + 5.8976, + 4.7483, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.6056, + 6.495, + 5.6056, + 6.495, + 5.8976, + 5.5639, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "10%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.6056, + 7.1952, + 5.6056, + 7.1952, + 5.8976, + 6.495, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 5.6056, + 7.9954, + 5.598, + 7.9954, + 5.9053, + 7.1952, + 5.8976 + ] + } + ], + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/5/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5009, + 5.8976, + 1.3011, + 5.8976, + 1.3011, + 6.1973, + 0.5086, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "B456", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 5.8976, + 2.2322, + 5.8976, + 2.2245, + 6.1973, + 1.3011, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Document Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2322, + 5.8976, + 4.3097, + 5.8976, + 4.3097, + 6.1973, + 2.2245, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "3", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 5.8976, + 4.7483, + 5.8976, + 4.7483, + 6.1973, + 4.3097, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 5.8976, + 5.5639, + 5.8976, + 5.5639, + 6.1973, + 4.7483, + 6.1973 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 2, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 5.8976, + 6.495, + 5.8976, + 6.495, + 6.1973, + 5.5639, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "5%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 5.8976, + 7.1952, + 5.8976, + 7.1952, + 6.1973, + 6.495, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 5.8976, + 7.9954, + 5.9053, + 7.9954, + 6.1896, + 7.1952, + 6.1973 + ] + } + ], + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "3/6/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5086, + 6.1973, + 1.3011, + 6.1973, + 1.3011, + 6.4969, + 0.5086, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "C789", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.3011, + 6.1973, + 2.2245, + 6.1973, + 2.2245, + 6.4969, + 1.3011, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "Printing Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.2245, + 6.1973, + 4.3097, + 6.1973, + 4.3097, + 6.4969, + 2.2245, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "10", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.3097, + 6.1973, + 4.7483, + 6.1973, + 4.7483, + 6.4969, + 4.3097, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "pages", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7483, + 6.1973, + 5.5639, + 6.1973, + 5.5639, + 6.4969, + 4.7483, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "$1.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.5639, + 6.1973, + 6.495, + 6.1973, + 6.495, + 6.4969, + 5.5639, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 6, + "rowSpan": 1, + "columnSpan": 1, + "content": "20%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.495, + 6.1973, + 7.1952, + 6.1973, + 7.1952, + 6.4969, + 6.495, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 7, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.1952, + 6.1973, + 7.9954, + 6.1896, + 7.9954, + 6.5046, + 7.1952, + 6.4969 + ] + } + ], + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4901, + 5.3293, + 7.9946, + 5.3289, + 7.9954, + 6.5019, + 0.4906, + 6.502 + ] + } + ], + "spans": [ + { + "offset": 549, + "length": 209 + }, + { + "offset": 946, + "length": 12 + } + ] + }, + { + "rowCount": 2, + "columnCount": 6, + "cells": [ + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SALESPERSON", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4977, + 4.565, + 1.8042, + 4.565, + 1.8119, + 4.8388, + 0.5054, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 472, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "P.O. NUMBER", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.8042, + 4.565, + 3.3105, + 4.565, + 3.3105, + 4.8388, + 1.8119, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 484, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "REQUISITIONER", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3105, + 4.565, + 4.6939, + 4.565, + 4.6862, + 4.8388, + 3.3105, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 496, + "length": 13 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "SHIPPED VIA", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.6939, + 4.565, + 5.7468, + 4.565, + 5.7468, + 4.8388, + 4.6862, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 510, + "length": 11 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "F.O.B. POINT", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.7468, + 4.565, + 6.815, + 4.565, + 6.815, + 4.8388, + 5.7468, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 522, + "length": 12 + } + ] + }, + { + "kind": "columnHeader", + "rowIndex": 0, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "TERMS", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.815, + 4.565, + 7.9985, + 4.565, + 7.9985, + 4.8388, + 6.815, + 4.8388 + ] + } + ], + "spans": [ + { + "offset": 535, + "length": 5 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5054, + 4.8388, + 1.8119, + 4.8388, + 1.8119, + 5.1058, + 0.5131, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "PO-3333", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.8119, + 4.8388, + 3.3105, + 4.8388, + 3.3105, + 5.1058, + 1.8119, + 5.1058 + ] + } + ], + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 2, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3105, + 4.8388, + 4.6862, + 4.8388, + 4.6862, + 5.1058, + 3.3105, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 3, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.6862, + 4.8388, + 5.7468, + 4.8388, + 5.7468, + 5.1058, + 4.6862, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 4, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.7468, + 4.8388, + 6.815, + 4.8388, + 6.815, + 5.1058, + 5.7468, + 5.1058 + ] + } + ], + "spans": [] + }, + { + "rowIndex": 1, + "columnIndex": 5, + "rowSpan": 1, + "columnSpan": 1, + "content": "", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.815, + 4.8388, + 7.9985, + 4.8388, + 7.9985, + 5.1125, + 6.815, + 5.1058 + ] + } + ], + "spans": [] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.4971, + 4.565, + 7.9889, + 4.5653, + 7.989, + 5.1146, + 0.4963, + 5.1141 + ] + } + ], + "spans": [ + { + "offset": 472, + "length": 76 + } + ] + }, + { + "rowCount": 5, + "columnCount": 2, + "cells": [ + { + "rowIndex": 0, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SUBTOTAL", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7474, + 6.7934, + 6.8058, + 6.7934, + 6.8105, + 7.0886, + 4.7474, + 7.0886 + ] + } + ], + "spans": [ + { + "offset": 759, + "length": 8 + } + ] + }, + { + "rowIndex": 0, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$100.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8058, + 6.7934, + 7.9981, + 6.7934, + 7.9981, + 7.0934, + 6.8105, + 7.0886 + ] + } + ], + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "SALES TAX", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7474, + 7.0886, + 6.8105, + 7.0886, + 6.8105, + 7.3743, + 4.7427, + 7.3743 + ] + } + ], + "spans": [ + { + "offset": 776, + "length": 9 + } + ] + }, + { + "rowIndex": 1, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.0886, + 7.9981, + 7.0934, + 7.9981, + 7.3934, + 6.8105, + 7.3743 + ] + } + ], + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "TOTAL", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.3743, + 6.8105, + 7.3743, + 6.8105, + 7.6839, + 4.7427, + 7.6839 + ] + } + ], + "spans": [ + { + "offset": 793, + "length": 5 + } + ] + }, + { + "rowIndex": 2, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$110.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.3743, + 7.9981, + 7.3934, + 7.9981, + 7.6886, + 6.8105, + 7.6839 + ] + } + ], + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "PREVIOUS UNPAID BALANCE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.6839, + 6.8105, + 7.6839, + 6.8105, + 7.9743, + 4.7427, + 7.9743 + ] + } + ], + "spans": [ + { + "offset": 807, + "length": 23 + } + ] + }, + { + "rowIndex": 3, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$500.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.6839, + 7.9981, + 7.6886, + 7.9981, + 7.9839, + 6.8105, + 7.9743 + ] + } + ], + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + { + "rowIndex": 4, + "columnIndex": 0, + "rowSpan": 1, + "columnSpan": 1, + "content": "AMOUNT DUE", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7427, + 7.9743, + 6.8105, + 7.9743, + 6.8105, + 8.2839, + 4.7381, + 8.2839 + ] + } + ], + "spans": [ + { + "offset": 839, + "length": 10 + } + ] + }, + { + "rowIndex": 4, + "columnIndex": 1, + "rowSpan": 1, + "columnSpan": 1, + "content": "$610.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.8105, + 7.9743, + 7.9981, + 7.9839, + 7.9981, + 8.2839, + 6.8105, + 8.2839 + ] + } + ], + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + } + ], + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.7456, + 6.7793, + 8.0143, + 6.7788, + 8.0137, + 8.2981, + 4.7446, + 8.2981 + ] + } + ], + "spans": [ + { + "offset": 759, + "length": 98 + } + ] + } + ], + "documents": [ + { + "docType": "prebuilt:invoice", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0, + 0, + 8.5, + 0, + 8.5, + 11, + 0, + 11 + ] + } + ], + "fields": { + "AmountDue": { + "type": "number", + "valueNumber": 610, + "content": "$610.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 8.0584, + 7.9181, + 8.0584, + 7.9181, + 8.2022, + 7.3842, + 8.2022 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 850, + "length": 7 + } + ] + }, + "BillingAddress": { + "type": "string", + "valueString": "123 Bill St, Redmond WA, 98052", + "content": "123 Bill St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 3.9681, + 2.0083, + 3.9681, + 2.0083, + 4.3082, + 0.5943, + 4.3082 + ] + } + ], + "confidence": 0.947, + "spans": [ + { + "offset": 376, + "length": 12 + }, + { + "offset": 418, + "length": 17 + } + ] + }, + "BillingAddressRecipient": { + "type": "string", + "valueString": "Microsoft Finance", + "content": "Microsoft Finance", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 3.7641, + 1.7878, + 3.7641, + 1.7878, + 3.8794, + 0.5943, + 3.8794 + ] + } + ], + "confidence": 0.957, + "spans": [ + { + "offset": 320, + "length": 17 + } + ] + }, + "CustomerAddress": { + "type": "string", + "valueString": "123 Other St, Redmond WA, 98052", + "content": "123 Other St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 2.8476, + 2.0083, + 2.8476, + 2.0083, + 3.1878, + 0.5943, + 3.1878 + ] + } + ], + "confidence": 0.947, + "spans": [ + { + "offset": 253, + "length": 31 + } + ] + }, + "CustomerAddressRecipient": { + "type": "string", + "valueString": "Microsoft Corp", + "content": "Microsoft Corp", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 2.6436, + 1.586, + 2.6436, + 1.586, + 2.7871, + 0.5943, + 2.7871 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 238, + "length": 14 + } + ] + }, + "CustomerId": { + "type": "string", + "valueString": "CID-12345", + "content": "CID-12345", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3369, + 2.4491, + 7.9951, + 2.4491, + 7.9951, + 2.5486, + 7.3369, + 2.5486 + ] + } + ], + "confidence": 0.964, + "spans": [ + { + "offset": 228, + "length": 9 + } + ] + }, + "CustomerName": { + "type": "string", + "valueString": "MICROSOFT CORPORATION", + "content": "MICROSOFT CORPORATION", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2419, + 2.0391, + 7.9825, + 2.0391, + 7.9825, + 2.1386, + 6.2419, + 2.1386 + ] + } + ], + "confidence": 0.949, + "spans": [ + { + "offset": 153, + "length": 21 + } + ] + }, + "DueDate": { + "type": "date", + "valueDate": "2019-12-15", + "content": "12/15/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2494, + 1.8206, + 7.993, + 1.8206, + 7.993, + 1.9515, + 7.2494, + 1.9515 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 127, + "length": 10 + } + ] + }, + "InvoiceDate": { + "type": "date", + "valueDate": "2019-11-15", + "content": "11/15/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2528, + 1.6139, + 7.993, + 1.6139, + 7.993, + 1.7449, + 7.2528, + 1.7449 + ] + } + ], + "confidence": 0.972, + "spans": [ + { + "offset": 86, + "length": 10 + } + ] + }, + "InvoiceId": { + "type": "string", + "valueString": "INV-100", + "content": "INV-100", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4959, + 1.422, + 7.9988, + 1.422, + 7.9988, + 1.5215, + 7.4959, + 1.5215 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 51, + "length": 7 + } + ] + }, + "InvoiceTotal": { + "type": "number", + "valueNumber": 110, + "content": "$110.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 7.465, + 7.9181, + 7.465, + 7.9181, + 7.6089, + 7.3842, + 7.6089 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 799, + "length": 7 + } + ] + }, + "Items": { + "type": "array", + "valueArray": [ + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 60, + "content": "$60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8215, + 7.4642, + 5.8215 + ] + } + ], + "confidence": 0.902, + "spans": [ + { + "offset": 653, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-04", + "content": "3/4/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.682, + 1.2092, + 5.682, + 1.2092, + 5.8243, + 0.592, + 5.8243 + ] + } + ], + "confidence": 0.938, + "spans": [ + { + "offset": 600, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Consulting Services", + "content": "Consulting Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.3388, + 5.6883, + 3.6278, + 5.6883, + 3.6278, + 5.8312, + 2.3388, + 5.8312 + ] + } + ], + "confidence": 0.9, + "spans": [ + { + "offset": 614, + "length": 19 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "A123", + "content": "A123", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6069, + 5.6948, + 1.9417, + 5.6948, + 1.9417, + 5.803, + 1.6069, + 5.803 + ] + } + ], + "confidence": 0.877, + "spans": [ + { + "offset": 609, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 2, + "content": "2", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5977, + 5.6948, + 4.6635, + 5.6948, + 4.6635, + 5.8017, + 4.5977, + 5.8017 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 634, + "length": 1 + } + ] + }, + "Tax": { + "type": "number", + "content": "10%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.7168, + 5.6932, + 6.9826, + 5.6932, + 6.9826, + 5.8045, + 6.7168, + 5.8045 + ] + } + ], + "confidence": 0.78, + "spans": [ + { + "offset": 649, + "length": 3 + } + ] + }, + "Unit": { + "type": "string", + "valueString": "hours", + "content": "hours", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.8444, + 5.6883, + 5.2071, + 5.6883, + 5.2071, + 5.803, + 4.8444, + 5.803 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 636, + "length": 5 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 30, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.9669, + 5.6777, + 6.4142, + 5.6777, + 6.4142, + 5.8215, + 5.9669, + 5.8215 + ] + } + ], + "confidence": 0.828, + "spans": [ + { + "offset": 642, + "length": 6 + } + ] + } + }, + "content": "3/4/2021 A123 Consulting Services 2 hours $30.00 10% $60.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.6777, + 7.9116, + 5.6777, + 7.9116, + 5.8312, + 0.592, + 5.8312 + ] + } + ], + "confidence": 0.955, + "spans": [ + { + "offset": 600, + "length": 59 + } + ] + }, + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 30, + "content": "$30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.1182, + 7.4642, + 6.1182 + ] + } + ], + "confidence": 0.916, + "spans": [ + { + "offset": 699, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-05", + "content": "3/5/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.9787, + 1.2088, + 5.9787, + 1.2088, + 6.121, + 0.592, + 6.121 + ] + } + ], + "confidence": 0.902, + "spans": [ + { + "offset": 660, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Document Fee", + "content": "Document Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.345, + 5.993, + 3.3096, + 5.993, + 3.3096, + 6.0997, + 2.345, + 6.0997 + ] + } + ], + "confidence": 0.901, + "spans": [ + { + "offset": 674, + "length": 12 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "B456", + "content": "B456", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6214, + 5.9915, + 1.9419, + 5.9915, + 1.9419, + 6.0997, + 1.6214, + 6.0997 + ] + } + ], + "confidence": 0.886, + "spans": [ + { + "offset": 669, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 3, + "content": "3", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5967, + 5.9915, + 4.6627, + 5.9915, + 4.6627, + 6.0997, + 4.5967, + 6.0997 + ] + } + ], + "confidence": 0.898, + "spans": [ + { + "offset": 687, + "length": 1 + } + ] + }, + "Tax": { + "type": "number", + "content": "5%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.7508, + 5.9898, + 6.9393, + 5.9898, + 6.9393, + 6.1012, + 6.7508, + 6.1012 + ] + } + ], + "confidence": 0.772, + "spans": [ + { + "offset": 696, + "length": 2 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 5.9669, + 5.9743, + 6.4142, + 5.9743, + 6.4142, + 6.1182, + 5.9669, + 6.1182 + ] + } + ], + "confidence": 0.831, + "spans": [ + { + "offset": 689, + "length": 6 + } + ] + } + }, + "content": "3/5/2021 B456 Document Fee 3 $10.00 5% $30.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 5.9743, + 7.9116, + 5.9743, + 7.9116, + 6.121, + 0.592, + 6.121 + ] + } + ], + "confidence": 0.941, + "spans": [ + { + "offset": 660, + "length": 45 + } + ] + }, + { + "type": "object", + "valueObject": { + "Amount": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4642, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4184, + 7.4642, + 6.4184 + ] + } + ], + "confidence": 0.959, + "spans": [ + { + "offset": 752, + "length": 6 + } + ] + }, + "Date": { + "type": "date", + "valueDate": "2021-03-06", + "content": "3/6/2021", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 6.2789, + 1.2088, + 6.2789, + 1.2088, + 6.4213, + 0.592, + 6.4213 + ] + } + ], + "confidence": 0.903, + "spans": [ + { + "offset": 706, + "length": 8 + } + ] + }, + "Description": { + "type": "string", + "valueString": "Printing Fee", + "content": "Printing Fee", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 2.345, + 6.2906, + 3.1351, + 6.2906, + 3.1351, + 6.4281, + 2.345, + 6.4281 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 720, + "length": 12 + } + ] + }, + "ProductCode": { + "type": "string", + "valueString": "C789", + "content": "C789", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.6152, + 6.2918, + 1.94, + 6.2918, + 1.94, + 6.3999, + 1.6152, + 6.3999 + ] + } + ], + "confidence": 0.898, + "spans": [ + { + "offset": 715, + "length": 4 + } + ] + }, + "Quantity": { + "type": "number", + "valueNumber": 10, + "content": "10", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.5158, + 6.2918, + 4.6637, + 6.2918, + 4.6637, + 6.3999, + 4.5158, + 6.3999 + ] + } + ], + "confidence": 0.903, + "spans": [ + { + "offset": 733, + "length": 2 + } + ] + }, + "Tax": { + "type": "number", + "content": "20%", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.712, + 6.2901, + 6.9826, + 6.2901, + 6.9826, + 6.4014, + 6.712, + 6.4014 + ] + } + ], + "confidence": 0.791, + "spans": [ + { + "offset": 748, + "length": 3 + } + ] + }, + "Unit": { + "type": "string", + "valueString": "pages", + "content": "pages", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 4.8444, + 6.3196, + 5.2199, + 6.3196, + 5.2199, + 6.4281, + 4.8444, + 6.4281 + ] + } + ], + "confidence": 0.899, + "spans": [ + { + "offset": 736, + "length": 5 + } + ] + }, + "UnitPrice": { + "type": "number", + "valueNumber": 1, + "content": "$1.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.0502, + 6.2746, + 6.4142, + 6.2746, + 6.4142, + 6.4184, + 6.0502, + 6.4184 + ] + } + ], + "confidence": 0.829, + "spans": [ + { + "offset": 742, + "length": 5 + } + ] + } + }, + "content": "3/6/2021 C789 Printing Fee 10 pages $1.00 20% $10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.592, + 6.2746, + 7.9116, + 6.2746, + 7.9116, + 6.4281, + 0.592, + 6.4281 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 706, + "length": 52 + } + ] + } + ] + }, + "Locale": { + "type": "string", + "valueString": "en-US", + "confidence": 1 + }, + "PreviousUnpaidBalance": { + "type": "number", + "valueNumber": 500, + "content": "$500.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 7.7617, + 7.9181, + 7.7617, + 7.9181, + 7.9055, + 7.3842, + 7.9055 + ] + } + ], + "confidence": 0.962, + "spans": [ + { + "offset": 831, + "length": 7 + } + ] + }, + "PurchaseOrder": { + "type": "string", + "valueString": "PO-3333", + "content": "PO-3333", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 1.9114, + 4.9282, + 2.4718, + 4.9282, + 2.4718, + 5.0363, + 1.9114, + 5.0363 + ] + } + ], + "confidence": 0.967, + "spans": [ + { + "offset": 541, + "length": 7 + } + ] + }, + "RemittanceAddress": { + "type": "string", + "valueString": "123 Remit St New York, NY, 10001", + "content": "123 Remit St New York, NY, 10001", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 9.5717, + 1.9882, + 9.5717, + 1.9882, + 9.9098, + 0.5943, + 9.9098 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 913, + "length": 32 + } + ] + }, + "RemittanceAddressRecipient": { + "type": "string", + "valueString": "Contoso Billing", + "content": "Contoso Billing", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5882, + 9.3631, + 1.5828, + 9.3631, + 1.5828, + 9.5059, + 0.5882, + 9.5059 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 897, + "length": 15 + } + ] + }, + "ServiceAddress": { + "type": "string", + "valueString": "123 Service St, Redmond WA, 98052", + "content": "123 Service St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2197, + 3.9734, + 7.6337, + 3.9734, + 7.6337, + 4.3082, + 6.2197, + 4.3082 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 402, + "length": 15 + }, + { + "offset": 454, + "length": 17 + } + ] + }, + "ServiceAddressRecipient": { + "type": "string", + "valueString": "Microsoft Services", + "content": "Microsoft Services", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.2197, + 3.7641, + 7.4427, + 3.7641, + 7.4427, + 3.8794, + 6.2197, + 3.8794 + ] + } + ], + "confidence": 0.951, + "spans": [ + { + "offset": 357, + "length": 18 + } + ] + }, + "ServiceEndDate": { + "type": "date", + "valueDate": "2019-11-14", + "content": "11/14/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.2528, + 2.2306, + 7.9952, + 2.2306, + 7.9952, + 2.3615, + 7.2528, + 2.3615 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 204, + "length": 10 + } + ] + }, + "ServiceStartDate": { + "type": "date", + "valueDate": "2019-10-14", + "content": "10/14/2019", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 6.3357, + 2.2306, + 7.0749, + 2.2306, + 7.0749, + 2.3615, + 6.3357, + 2.3615 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 191, + "length": 10 + } + ] + }, + "ShippingAddress": { + "type": "string", + "valueString": "123 Ship St, Redmond WA, 98052", + "content": "123 Ship St, Redmond WA, 98052", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3454, + 3.9681, + 4.7594, + 3.9681, + 4.7594, + 4.3082, + 3.3454, + 4.3082 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 389, + "length": 12 + }, + { + "offset": 436, + "length": 17 + } + ] + }, + "ShippingAddressRecipient": { + "type": "string", + "valueString": "Microsoft Delivery", + "content": "Microsoft Delivery", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 3.3454, + 3.7641, + 4.5762, + 3.7641, + 4.5762, + 3.9076, + 3.3454, + 3.9076 + ] + } + ], + "confidence": 0.955, + "spans": [ + { + "offset": 338, + "length": 18 + } + ] + }, + "SubTotal": { + "type": "number", + "valueNumber": 100, + "content": "$100.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.3842, + 6.8679, + 7.9181, + 6.8679, + 7.9181, + 7.0118, + 7.3842, + 7.0118 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 768, + "length": 7 + } + ] + }, + "TotalTax": { + "type": "number", + "valueNumber": 10, + "content": "$10.00", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 7.4709, + 7.165, + 7.9182, + 7.165, + 7.9182, + 7.3089, + 7.4709, + 7.3089 + ] + } + ], + "confidence": 0.973, + "spans": [ + { + "offset": 786, + "length": 6 + } + ] + }, + "VendorAddress": { + "type": "string", + "valueString": "123 456th St New York, NY, 10001", + "content": "123 456th St New York, NY, 10001", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5943, + 1.6092, + 1.9894, + 1.6092, + 1.9894, + 1.9675, + 0.5943, + 1.9675 + ] + } + ], + "confidence": 0.946, + "spans": [ + { + "offset": 59, + "length": 12 + }, + { + "offset": 97, + "length": 19 + } + ] + }, + "VendorAddressRecipient": { + "type": "string", + "valueString": "Contoso Headquarters", + "content": "Contoso Headquarters", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5882, + 1.4239, + 2.0978, + 1.4239, + 2.0978, + 1.5664, + 0.5882, + 1.5664 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 21, + "length": 20 + } + ] + }, + "VendorName": { + "type": "string", + "valueString": "CONTOSO LTD.", + "content": "CONTOSO LTD.", + "boundingRegions": [ + { + "pageNumber": 1, + "boundingBox": [ + 0.5911, + 0.6857, + 2.3181, + 0.6857, + 2.3181, + 0.8664, + 0.5911, + 0.8664 + ] + } + ], + "confidence": 0.956, + "spans": [ + { + "offset": 0, + "length": 12 + } + ] + } + }, + "confidence": 1, + "spans": [ + { + "offset": 0, + "length": 958 + } + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetInfo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetInfo.json new file mode 100644 index 000000000000..8134190378cf --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetInfo.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "customDocumentModels": { + "count": 2, + "limit": 13 + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Custom.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Custom.json new file mode 100644 index 000000000000..8350f83fabc6 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Custom.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "{customModelId}" + }, + "responses": { + "200": { + "body": { + "modelId": "{customModelId}", + "description": "{customModelDescription}", + "createdDateTime": "2021-09-24T12:54:35Z", + "apiVersion": "{apiVersion}", + "docTypes": { + "{docType}": { + "fieldSchema": { + "Name": { + "type": "string" + }, + "Date": { + "type": "date" + }, + "Amount": { + "type": "number" + } + }, + "buildMode": "template", + "fieldConfidence": { + "Name": 0.9, + "Date": 0.95, + "Amount": 0.93 + } + } + }, + "tags": { + "createdBy": "{userId}" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Prebuilt.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Prebuilt.json new file mode 100644 index 000000000000..07c306345099 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModel_Prebuilt.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "modelId": "prebuilt-invoice" + }, + "responses": { + "200": { + "body": { + "modelId": "prebuilt-invoice", + "description": "Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.", + "createdDateTime": "2021-07-30T00:00:00Z", + "apiVersion": "{apiVersion}", + "docTypes": { + "prebuilt:invoice": { + "fieldSchema": { + "CustomerName": { + "type": "string" + }, + "CustomerId": { + "type": "string" + }, + "PurchaseOrder": { + "type": "string" + }, + "InvoiceId": { + "type": "string" + }, + "InvoiceDate": { + "type": "date" + }, + "DueDate": { + "type": "date" + }, + "VendorName": { + "type": "string" + }, + "VendorAddress": { + "type": "string" + }, + "VendorAddressRecipient": { + "type": "string" + }, + "CustomerAddress": { + "type": "string" + }, + "CustomerAddressRecipient": { + "type": "string" + }, + "BillingAddress": { + "type": "string" + }, + "BillingAddressRecipient": { + "type": "string" + }, + "ShippingAddress": { + "type": "string" + }, + "ShippingAddressRecipient": { + "type": "string" + }, + "SubTotal": { + "type": "number" + }, + "TotalTax": { + "type": "number" + }, + "InvoiceTotal": { + "type": "number" + }, + "AmountDue": { + "type": "number" + }, + "PreviousUnpaidBalance": { + "type": "number" + }, + "RemittanceAddress": { + "type": "string" + }, + "RemittanceAddressRecipient": { + "type": "string" + }, + "ServiceAddress": { + "type": "string" + }, + "ServiceAddressRecipient": { + "type": "string" + }, + "ServiceStartDate": { + "type": "date" + }, + "ServiceEndDate": { + "type": "date" + }, + "Items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Amount": { + "type": "number" + }, + "Date": { + "type": "date" + }, + "Description": { + "type": "string" + }, + "Quantity": { + "type": "number" + }, + "ProductCode": { + "type": "string" + }, + "Tax": { + "type": "number" + }, + "Unit": { + "type": "string" + }, + "UnitPrice": { + "type": "number" + } + } + } + } + } + } + }, + "tags": {} + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModels.json new file mode 100644 index 000000000000..f89f5668c685 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetModels.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "modelId": "prebuilt-layout", + "createdDateTime": "2021-07-30T00:00:00Z", + "description": "Prebuilt model to extract text, selection marks, tables, and other layout information.", + "apiVersion": "{apiVersion}" + }, + { + "modelId": "myCustomModel", + "createdDateTime": "2021-09-24T12:54:35Z", + "description": "{modelDescription}", + "apiVersion": "{apiVersion}" + } + ], + "nextLink": "{nextLinkUrl}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperation.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperation.json new file mode 100644 index 000000000000..8f6cf4d66ee2 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperation.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}", + "operationId": "{operationId}" + }, + "responses": { + "200": { + "body": { + "operationId": "31533879936_426a3e4c-c6fb-4c83-937c-a92414c371a4", + "status": "succeeded", + "percentCompleted": 100, + "createdDateTime": "2021-09-23T09:12:57Z", + "lastUpdatedDateTime": "2021-09-23T09:13:01Z", + "kind": "documentModelBuild", + "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}", + "result": { + "modelId": "{customModelId}", + "description": "{customModelDescription}", + "createdDateTime": "2021-09-23T09:13:01Z", + "apiVersion": "{apiVersion}" + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperations.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperations.json new file mode 100644 index 000000000000..1b84de8f8ae0 --- /dev/null +++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2022-01-30-preview/examples/GetOperations.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "endpoint": "{endpoint}", + "api-version": "{apiVersion}" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "operationId": "{operationId}", + "status": "running", + "percentCompleted": 0, + "createdDateTime": "2021-09-23T09:12:57Z", + "lastUpdatedDateTime": "2021-09-23T09:12:58Z", + "kind": "documentModelBuild", + "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}", + "apiVersion": "{apiVersion}" + } + ], + "nextLink": "{nextLinkUrl}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md index 720a546d8a0a..7b348de8b807 100644 --- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md +++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md @@ -15,6 +15,13 @@ openapi-type: data-plane # Releases +### Release 2022-01-30-preview +These settings apply only when `--tag=2022-01-30-preview` is specified on the command line. +``` yaml $(tag) == '2022-01-30-preview' +input-file: + - preview/2022-01-30-preview/FormRecognizer.json +``` + ### Release 2021-09-30-preview These settings apply only when `--tag=2021-09-30-preview` is specified on the command line. ``` yaml $(tag) == '2021-09-30-preview' diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/analyzeconversations.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/analyzeconversations.json new file mode 100644 index 000000000000..7a20d69bad7a --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/analyzeconversations.json @@ -0,0 +1,560 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service - Analyze Conversations", + "description": "This API accepts a request and mediates among multiple language projects, such as LUIS Generally Available, Question Answering, Conversation, and then calls the best candidate service to handle the request. At last, it returns a response with the candidate service's response as a payload.\n\n In some cases, this API needs to forward requests and responses between the caller and an upstream service.", + "version": "2021-11-01-preview" + }, + "securityDefinitions": { + "apim_key": { + "type": "apiKey", + "description": "An APIM subscription key.", + "name": "Ocp-Apim-Subscription-Key", + "in": "header" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}/language", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "common.json#/parameters/Endpoint" + } + ] + }, + "paths": { + "/:analyze-conversations": { + "post": { + "operationId": "ConversationAnalysis_AnalyzeConversation", + "description": "Analyzes the input conversation utterance.", + "parameters": [ + { + "$ref": "common.json#/parameters/ProjectNameQueryParameter" + }, + { + "$ref": "common.json#/parameters/DeploymentNameQueryParameter" + }, + { + "$ref": "#/parameters/ConversationAnalysisOptions" + }, + { + "$ref": "common.json#/parameters/ApiVersionParameter" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The conversation analysis response.", + "schema": { + "$ref": "#/definitions/AnalyzeConversationResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "common.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Arbitration result": { + "$ref": "./examples/conversations/Orchestrator_arbitration.json" + }, + "Conversation project result": { + "$ref": "./examples/conversations/Conversation_project.json" + }, + "Orchestrator direct target result": { + "$ref": "./examples/conversations/Orchestrator_direct_target.json" + } + } + } + } + }, + "definitions": { + "ConversationAnalysisOptions": { + "type": "object", + "description": "The request body.", + "required": [ + "query" + ], + "properties": { + "query": { + "description": "The conversation utterance to be analyzed.", + "type": "string" + }, + "directTarget": { + "type": "string", + "description": "The name of the target project this request is sending to directly." + }, + "language": { + "type": "string", + "description": "The language to use in this request. This will be the language setting when communicating with all other target projects." + }, + "verbose": { + "type": "boolean", + "description": "If true, the service will return more detailed information in the response." + }, + "isLoggingEnabled": { + "description": "If true, the query will be kept by the service for customers to further review, to improve the model quality.", + "type": "boolean" + }, + "parameters": { + "type": "object", + "description": "A dictionary representing the input for each target project.", + "additionalProperties": { + "$ref": "#/definitions/AnalysisParameters" + } + } + } + }, + "AnalysisParameters": { + "type": "object", + "description": "This is the parameter set of either the Orchestration project itself or one of the target services.", + "required": [ + "targetKind" + ], + "discriminator": "targetKind", + "properties": { + "targetKind": { + "type": "string", + "description": "The type of a target service.", + "enum": [ + "luis", + "conversation", + "question_answering", + "non_linked" + ], + "x-ms-enum": { + "name": "targetKind", + "modelAsString": true + } + }, + "apiVersion": { + "type": "string", + "description": "The API version to use when call a specific target service." + } + } + }, + "NoneLinkedTargetIntentResult": { + "type": "object", + "description": "A wrap up of non-linked intent response.", + "x-ms-discriminator-value": "non_linked", + "allOf": [ + { + "$ref": "#/definitions/TargetIntentResult" + } + ], + "properties": { + "result": { + "type": "object", + "$ref": "#/definitions/ConversationResult", + "description": "The actual response from a Conversation project.", + "x-nullable": true + } + } + }, + "LUISParameters": { + "description": "This is a set of request parameters for LUIS Generally Available projects.", + "x-ms-discriminator-value": "luis", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AnalysisParameters" + } + ], + "properties": { + "query": { + "type": "string", + "maxLength": 500, + "description": "The utterance to predict." + }, + "callingOptions": { + "type": "object", + "description": "This customizes how the service calls LUIS Generally Available projects.", + "$ref": "#/definitions/LUISCallingOptions" + } + }, + "additionalProperties": true + }, + "LUISCallingOptions": { + "description": "This customizes how the service calls LUIS Generally Available projects.", + "type": "object", + "properties": { + "verbose": { + "description": "Enable verbose response.", + "type": "boolean" + }, + "log": { + "description": "Save log to add in training utterances later.", + "type": "boolean" + }, + "show-all-intents": { + "description": "Set true to show all intents.", + "type": "boolean" + }, + "timezoneOffset": { + "type": "number", + "description": "The timezone offset for the location of the request." + }, + "spellCheck": { + "type": "boolean", + "description": "Enable spell checking." + }, + "bing-spell-check-subscription-key": { + "description": "The subscription key to use when enabling Bing spell check", + "type": "string" + } + } + }, + "ConversationParameters": { + "type": "object", + "description": "This is a set of request parameters for Customized Conversation projects.", + "x-ms-discriminator-value": "conversation", + "allOf": [ + { + "$ref": "#/definitions/AnalysisParameters" + } + ], + "properties": { + "callingOptions": { + "type": "object", + "$ref": "#/definitions/ConversationCallingOptions" + } + } + }, + "ConversationCallingOptions": { + "type": "object", + "description": "The option to set to call a Conversation project.", + "properties": { + "language": { + "description": "The language of the query.", + "type": "string" + }, + "verbose": { + "description": "If true, the service will return more detailed information.", + "type": "boolean" + }, + "isLoggingEnabled": { + "description": "If true, the query will be saved for customers to further review in authoring, to improve the model quality.", + "type": "boolean" + } + } + }, + "QuestionAnsweringParameters": { + "type": "object", + "description": "This is a set of request parameters for Question Answering knowledge bases.", + "x-ms-discriminator-value": "question_answering", + "allOf": [ + { + "$ref": "#/definitions/AnalysisParameters" + } + ], + "properties": { + "callingOptions": { + "type": "object", + "description": "The options sent to a Question Answering KB." + } + } + }, + "AnalyzeConversationResult": { + "type": "object", + "description": "Represents a conversation analysis response.", + "required": [ + "query", + "prediction" + ], + "properties": { + "query": { + "type": "string", + "description": "The conversation utterance given by the caller." + }, + "detectedLanguage": { + "type": "string", + "description": "The system detected language for the query." + }, + "prediction": { + "description": "The prediction result of a conversation project.", + "$ref": "#/definitions/BasePrediction" + } + } + }, + "BasePrediction": { + "type": "object", + "description": "This is the base class of prediction", + "required": [ + "projectKind" + ], + "discriminator": "projectKind", + "properties": { + "projectKind": { + "type": "string", + "description": "The type of the project.", + "enum": [ + "conversation", + "workflow" + ], + "x-ms-enum": { + "name": "projectKind", + "modelAsString": true + } + }, + "topIntent": { + "type": "string", + "description": "The intent with the highest score." + } + } + }, + "OrchestratorPrediction": { + "type": "object", + "description": "This represents the prediction result of an Orchestrator project.", + "x-ms-discriminator-value": "workflow", + "required": [ + "intents" + ], + "allOf": [ + { + "$ref": "#/definitions/BasePrediction" + } + ], + "properties": { + "intents": { + "description": "A dictionary that contains all intents. A key is an intent name and a value is its confidence score and target type. The top intent's value also contains the actual response from the target project.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TargetIntentResult" + } + } + } + }, + "TargetIntentResult": { + "type": "object", + "description": "This is the base class of an intent prediction", + "discriminator": "targetKind", + "required": [ + "confidenceScore", + "targetKind" + ], + "properties": { + "targetKind": { + "type": "string", + "description": "This discriminator property specifies the type of the target project that returns the response.", + "enum": [ + "luis", + "conversation", + "question_answering", + "non_linked" + ], + "x-ms-enum": { + "name": "targetKind", + "modelAsString": true + } + }, + "apiVersion": { + "type": "string", + "description": "The API version used to call a target service." + }, + "confidenceScore": { + "type": "number", + "format": "float", + "x-ms-client-name": "confidence", + "description": "The prediction score and it ranges from 0.0 to 1.0.", + "minimum": 0, + "maximum": 1 + } + } + }, + "ConversationTargetIntentResult": { + "type": "object", + "description": "A wrap up of Conversation project response.", + "x-ms-discriminator-value": "conversation", + "allOf": [ + { + "$ref": "#/definitions/TargetIntentResult" + } + ], + "properties": { + "result": { + "type": "object", + "$ref": "#/definitions/ConversationResult", + "description": "The actual response from a Conversation project.", + "x-nullable": true + } + } + }, + "ConversationResult": { + "type": "object", + "description": "The response returned by a Conversation project.", + "required": [ + "query", + "prediction" + ], + "properties": { + "query": { + "description": "The same query given in request.", + "type": "string" + }, + "detectedLanguage": { + "description": "The detected language from the query.", + "type": "string" + }, + "prediction": { + "description": "The predicted result for the query.", + "$ref": "#/definitions/ConversationPrediction" + } + } + }, + "ConversationPrediction": { + "type": "object", + "description": "Represents the prediction section of a Conversation project.", + "x-ms-discriminator-value": "conversation", + "required": [ + "intents", + "entities" + ], + "allOf": [ + { + "$ref": "#/definitions/BasePrediction" + } + ], + "properties": { + "intents": { + "description": "The intent classification results.", + "type": "array", + "items": { + "$ref": "#/definitions/ConversationIntent" + } + }, + "entities": { + "description": "The entity extraction results.", + "type": "array", + "items": { + "$ref": "#/definitions/ConversationEntity" + } + } + } + }, + "ConversationIntent": { + "type": "object", + "description": "The intent classification result of a Conversation project.", + "required": [ + "category", + "confidenceScore" + ], + "properties": { + "category": { + "description": "A predicted class.", + "type": "string" + }, + "confidenceScore": { + "format": "float", + "x-ms-client-name": "confidence", + "description": "The confidence score of the class from 0.0 to 1.0.", + "type": "number", + "minimum": 0, + "maximum": 1 + } + } + }, + "ConversationEntity": { + "type": "object", + "description": "The entity extraction result of a Conversation project.", + "required": [ + "category", + "text", + "offset", + "length", + "confidenceScore" + ], + "properties": { + "category": { + "description": "The entity category.", + "type": "string" + }, + "text": { + "description": "The predicted entity text.", + "type": "string" + }, + "offset": { + "format": "int32", + "description": "The starting index of this entity in the query.", + "type": "integer" + }, + "length": { + "format": "int32", + "description": "The length of the text.", + "type": "integer" + }, + "confidenceScore": { + "format": "float", + "x-ms-client-name": "confidence", + "description": "The entity confidence score.", + "type": "number" + }, + "listKeys": { + "type": "array", + "description": "List of keys.", + "items": { + "type": "string" + } + } + } + }, + "LUISTargetIntentResult": { + "type": "object", + "description": "It is a wrap up of LUIS Generally Available response.", + "x-ms-discriminator-value": "luis", + "allOf": [ + { + "$ref": "#/definitions/TargetIntentResult" + } + ], + "properties": { + "result": { + "type": "object", + "description": "The actual response from a LUIS Generally Available application.", + "x-nullable": true + } + } + }, + "QuestionAnsweringTargetIntentResult": { + "type": "object", + "description": "It is a wrap up a Question Answering KB response.", + "x-ms-discriminator-value": "question_answering", + "allOf": [ + { + "$ref": "#/definitions/TargetIntentResult" + } + ], + "properties": { + "result": { + "type": "object", + "$ref": "../2021-07-15-preview/questionanswering.json#/definitions/KnowledgeBaseAnswers", + "description": "The generated answer by a Question Answering KB.", + "x-nullable": true + } + } + } + }, + "parameters": { + "ConversationAnalysisOptions": { + "name": "ConversationAnalysisOptions", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConversationAnalysisOptions" + }, + "description": "Post body of the request.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/common.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/common.json new file mode 100644 index 000000000000..31edd52e3056 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/common.json @@ -0,0 +1,248 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft Cognitive Language Service", + "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.", + "version": "2021-11-01-preview" + }, + "paths": {}, + "definitions": { + "ErrorResponse": { + "type": "object", + "description": "Error response.", + "additionalProperties": false, + "properties": { + "error": { + "description": "The error object.", + "$ref": "#/definitions/Error" + } + }, + "required": [ + "error" + ] + }, + "Error": { + "type": "object", + "description": "The error object.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/ErrorCode" + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Error" + } + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "InnerErrorModel": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "additionalProperties": false, + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "One of a server-defined set of error codes.", + "$ref": "#/definitions/InnerErrorCode" + }, + "message": { + "type": "string", + "description": "Error message." + }, + "details": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Error details." + }, + "target": { + "type": "string", + "description": "Error target." + }, + "innererror": { + "description": "An object containing more specific information than the current object about the error.", + "$ref": "#/definitions/InnerErrorModel" + } + } + }, + "ErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "ErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidArgument", + "Unauthorized", + "Forbidden", + "NotFound", + "TooManyRequests", + "InternalServerError", + "ServiceUnavailable", + "ProjectNotFound", + "OperationNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchIndexNotFound", + "AzureCognitiveSearchThrottling", + "AzureCognitiveSearchIndexLimitReached" + ] + }, + "InnerErrorCode": { + "type": "string", + "description": "Human-readable error code.", + "x-ms-enum": { + "name": "InnerErrorCode", + "modelAsString": true + }, + "enum": [ + "InvalidRequest", + "InvalidParameterValue", + "KnowledgeBaseNotFound", + "AzureCognitiveSearchNotFound", + "AzureCognitiveSearchThrottling", + "ExtractionFailure", + "InvalidRequestBodyFormat", + "EmptyRequest", + "MissingInputDocuments", + "InvalidDocument", + "ModelVersionIncorrect", + "InvalidDocumentBatch", + "UnsupportedLanguageCode", + "InvalidCountryHint" + ] + }, + "Language": { + "type": "string", + "description": "Language of the text records. This is BCP-47 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default." + }, + "StringIndexType": { + "type": "string", + "description": "Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets.", + "default": "TextElements_v8", + "enum": [ + "TextElements_v8", + "UnicodeCodePoint", + "Utf16CodeUnit" + ], + "x-ms-enum": { + "name": "StringIndexType", + "modelAsString": true, + "values": [ + { + "value": "TextElements_v8", + "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo." + }, + { + "value": "UnicodeCodePoint", + "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python." + }, + { + "value": "Utf16CodeUnit", + "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript." + } + ] + } + } + }, + "parameters": { + "Endpoint": { + "name": "Endpoint", + "description": "Supported Cognitive Services endpoint (e.g., https://.api.cognitiveservices.azure.com).", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "ProjectNameQueryParameter": { + "name": "projectName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "ProjectNamePathParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 100, + "description": "The name of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNameQueryParameter": { + "name": "deploymentName", + "in": "query", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "DeploymentNamePathParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the specific deployment of the project to use.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + }, + "TopParameter": { + "name": "top", + "in": "query", + "description": "The maximum number of resources to return from the collection.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "SkipParameter": { + "name": "skip", + "in": "query", + "description": "An offset into the collection of the first resource to be returned.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "MaxPageSizeParameter": { + "name": "maxpagesize", + "in": "query", + "description": "The maximum number of resources to include in a single response.", + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Conversation_project.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Conversation_project.json new file mode 100644 index 000000000000..e0844baf3a1f --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Conversation_project.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-11-01-preview", + "projectName": "{project-name}", + "deploymentName": "{deployment-name}", + "ConversationAnalysisOptions": { + "query": "play a song", + "language": "en-us", + "verbose": true, + "isLoggingEnabled": false + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "query": "play a song from Joe Doe", + "detectedLanguage": "en-Us", + "prediction": { + "topIntent": "PlayMusic", + "projectKind": "conversation", + "intents": [ + { + "category": "PlayMusic", + "confidenceScore": 0.99998415 + }, + { + "category": "SearchCreativeWork", + "confidenceScore": 0.000008943313 + }, + { + "category": "BookRestaurant", + "confidenceScore": 0.0000041524872 + }, + { + "category": "GetWeather", + "confidenceScore": 0.0000011409703 + }, + { + "category": "AddToPlaylist", + "confidenceScore": 0.0000010632801 + }, + { + "category": "SearchScreeningEvent", + "confidenceScore": 3.2717122e-7 + }, + { + "category": "RateBook", + "confidenceScore": 1.926987e-7 + } + ], + "entities": [ + { + "category": "music_item", + "text": "song", + "offset": 7, + "length": 4, + "confidenceScore": 0.9959329 + }, + { + "category": "artist", + "text": "Joe", + "offset": 17, + "length": 7, + "confidenceScore": 0.99691725, + "listKeys": [ + "Joe D." + ] + } + ] + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_arbitration.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_arbitration.json new file mode 100644 index 000000000000..258e906824fa --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_arbitration.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-11-01-preview", + "projectName": "{project-name}", + "deploymentName": "{deployment-name}", + "ConversationAnalysisOptions": { + "query": "How do I integrate QnA Maker and LUIS?" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "query": "How do I integrate QnA Maker and LUIS?", + "prediction": { + "projectKind": "workflow", + "topIntent": "qnaTargetApp", + "intents": { + "qnaTargetApp": { + "targetKind": "question_answering", + "apiVersion": "2021-05-01-preview", + "confidenceScore": 0.913329, + "result": { + "answers": [ + { + "questions": [ + "Power and charging" + ], + "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you are using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "confidenceScore": 0.65, + "id": 20, + "source": "surface-pro-4-user-guide-EN.pdf", + "metadata": { + "category": "api", + "editorial": "chitchat" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 23, + "displayText": "prompt1" + }, + { + "displayOrder": 2, + "qnaId": 36, + "displayText": "prompt2" + } + ] + }, + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0.3, + "offset": 33, + "length": 50 + } + }, + { + "questions": [ + "Charge your Surface Pro 4" + ], + "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.", + "confidenceScore": 0.32, + "id": 13, + "source": "surface-pro-4-user-guide-EN.pdf" + } + ] + } + }, + "mcluApp": { + "targetKind": "conversation", + "confidenceScore": 0.082329 + }, + "luisApp": { + "targetKind": "luis", + "confidenceScore": 0.001 + }, + "nonlinkedIntent1": { + "targetKind": "non_linked", + "confidenceScore": 0.00021 + } + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_direct_target.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_direct_target.json new file mode 100644 index 000000000000..770562719047 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/examples/conversations/Orchestrator_direct_target.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}", + "Content-Type": "application/json", + "api-version": "2021-11-01-preview", + "projectName": "{project-name}", + "deploymentName": "{deployment-name}", + "ConversationAnalysisOptions": { + "query": "", + "directTarget": "qnaTargetApp", + "parameters": { + "qnaTargetApp": { + "targetKind": "question_answering", + "apiVersion": "v5.1", + "callingOptions": { + "question": "Ports and connectors", + "top": 3, + "userId": "Default", + "isTest": true, + "context": { + "previousQuery": "Meet Surface Pro 4", + "previousQnAId": 4 + } + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "query": "Ports and connectors", + "prediction": { + "projectKind": "workflow", + "topIntent": "qnaTargetApp", + "intents": { + "qnaTargetApp": { + "targetKind": "question_answering", + "apiVersion": "v5.1", + "confidenceScore": 0.913329, + "result": { + "answers": [ + { + "questions": [ + "Power and charging" + ], + "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you are using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.", + "confidenceScore": 0.65, + "id": 20, + "source": "surface-pro-4-user-guide-EN.pdf", + "metadata": { + "category": "api", + "editorial": "chitchat" + }, + "dialog": { + "isContextOnly": false, + "prompts": [ + { + "displayOrder": 1, + "qnaId": 23, + "displayText": "prompt1" + }, + { + "displayOrder": 2, + "qnaId": 36, + "displayText": "prompt2" + } + ] + }, + "answerSpan": { + "text": "two to four hours", + "confidenceScore": 0.3, + "offset": 33, + "length": 50 + } + }, + { + "questions": [ + "Charge your Surface Pro 4" + ], + "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.", + "confidenceScore": 0.32, + "id": 13, + "source": "surface-pro-4-user-guide-EN.pdf" + } + ] + } + } + } + } + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/oav b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/oav new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/textanalytics.json b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/textanalytics.json index ea8017cc1605..42d66799d546 100644 --- a/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/textanalytics.json +++ b/specification/cognitiveservices/data-plane/Language/preview/2021-11-01-preview/textanalytics.json @@ -2109,7 +2109,7 @@ "properties": { "code": { "description": "One of a server-defined set of error codes.", - "$ref": "#/definitions/ErrorCode" + "$ref": "common.json#/definitions/ErrorCode" }, "message": { "type": "string", @@ -2143,7 +2143,7 @@ "properties": { "code": { "description": "One of a server-defined set of error codes.", - "$ref": "#/definitions/InnerErrorCode" + "$ref": "common.json#/definitions/InnerErrorCode" }, "message": { "type": "string", @@ -2165,48 +2165,6 @@ "$ref": "#/definitions/InnerErrorModel" } } - }, - "ErrorCode": { - "type": "string", - "description": "Human-readable error code.", - "x-ms-enum": { - "name": "ErrorCode", - "modelAsString": true - }, - "enum": [ - "InvalidRequest", - "InvalidArgument", - "Unauthorized", - "Forbidden", - "NotFound", - "TooManyRequests", - "InternalServerError", - "ServiceUnavailable" - ] - }, - "InnerErrorCode": { - "type": "string", - "description": "Human-readable error code.", - "x-ms-enum": { - "name": "InnerErrorCode", - "modelAsString": true - }, - "enum": [ - "InvalidRequest", - "InvalidParameterValue", - "KnowledgeBaseNotFound", - "AzureCognitiveSearchNotFound", - "AzureCognitiveSearchThrottling", - "ExtractionFailure", - "InvalidRequestBodyFormat", - "EmptyRequest", - "MissingInputDocuments", - "InvalidDocument", - "ModelVersionIncorrect", - "InvalidDocumentBatch", - "UnsupportedLanguageCode", - "InvalidCountryHint" - ] } }, "parameters": { diff --git a/specification/cognitiveservices/data-plane/Language/readme.md b/specification/cognitiveservices/data-plane/Language/readme.md index edabd823b23c..d3cf1dfc7e47 100644 --- a/specification/cognitiveservices/data-plane/Language/readme.md +++ b/specification/cognitiveservices/data-plane/Language/readme.md @@ -88,6 +88,7 @@ These settings apply only when `--tag=release_2021_11_01_preview` is specified o ``` yaml $(tag) == 'release_2021_11_01_preview' input-file: - preview/2021-11-01-preview/textanalytics.json +- preview/2021-11-01-preview/analyzeconversations.json title: Microsoft Cognitive Language Service modelerfour: diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/Personalizer.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/Personalizer.json new file mode 100644 index 000000000000..b3782e34b31f --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/Personalizer.json @@ -0,0 +1,1981 @@ +{ + "swagger": "2.0", + "info": { + "version": "v1.1-preview.3", + "title": "Personalizer Client v1.1-preview.3", + "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.1-preview.3", + "schemes": [ + "https" + ], + "paths": { + "/configurations/service": { + "get": { + "tags": [ + "ConfigurationsV1Dot1Preview1" + ], + "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": [ + "ConfigurationsV1Dot1Preview1" + ], + "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": "Updating defaultReward, rewardWaitTime and rewardAggregation when changing learning mode from Online to Apprentice mode and vice versa is not allowed. Make the mode change and then change the additional settings with an additional API call.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful ServiceConfiguration_Update request": { + "$ref": "./examples/ServiceConfiguration_Update.json" + } + } + } + }, + "/configurations/policy": { + "get": { + "tags": [ + "ConfigurationsV1Dot1Preview1" + ], + "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": [ + "ConfigurationsV1Dot1Preview1" + ], + "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": [ + "ConfigurationsV1Dot1Preview1" + ], + "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": [ + "EvaluationsV1Dot1Preview1" + ], + "summary": "Get Evaluation.", + "description": "Get the Offline Evaluation associated with the Id.", + "operationId": "Evaluations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "evaluationId", + "in": "path", + "description": "Id of the Offline Evaluation.", + "required": true, + "type": "string", + "maxLength": 256 + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Evaluation" + } + }, + "default": { + "description": "Offline Evaluation not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Evaluations_Get request": { + "$ref": "./examples/Evaluations_Get.json" + } + } + }, + "delete": { + "tags": [ + "EvaluationsV1Dot1Preview1" + ], + "summary": "Delete Evaluation.", + "description": "Delete the Offline Evaluation associated with the Id.", + "operationId": "Evaluations_Delete", + "consumes": [], + "produces": [], + "parameters": [ + { + "name": "evaluationId", + "in": "path", + "description": "Id of the Offline 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": [ + "EvaluationsV1Dot1Preview1" + ], + "summary": "List Offline Evaluations.", + "description": "List of all Offline 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": [ + "EvaluationsV1Dot1Preview1" + ], + "summary": "Create Offline Evaluation.", + "description": "Submit a new Offline Evaluation job.", + "operationId": "Evaluations_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "evaluation", + "in": "body", + "description": "The Offline Evaluation job definition.", + "required": true, + "schema": { + "$ref": "#/definitions/EvaluationContract" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Evaluation" + }, + "headers": { + "Location": { + "description": "Location of the Offline Evaluation status and data.", + "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 between 0 and 1 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 used (e.g. by being 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 to be activated.", + "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" + } + } + } + }, + "/configurations/applyFromEvaluation": { + "post": { + "tags": [ + "ConfigurationsV1Dot1Preview1" + ], + "summary": "Apply Learning Settings and model from a pre-existing Offline Evaluation, making them the current online Learning Settings and model and replacing the previous ones.", + "operationId": "ServiceConfiguration_ApplyFromEvaluation", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Reference to the policy within the evaluation.", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyReferenceContract" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Learning Settings not found in evaluation.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful ServiceConfiguration_ApplyFromEvaluation request": { + "$ref": "./examples/ServiceConfiguration_ApplyFromEvaluation.json" + } + } + } + }, + "/logs/interactions": { + "post": { + "tags": [ + "LogsV1Dot1Preview2" + ], + "summary": "Post interactions.", + "description": "The endpoint is intended to be used from within a SDK for logging interactions and accepts specific format defined in https://github.com/VowpalWabbit/reinforcement_learning. This endpoint should not be used by the customer.", + "operationId": "Log_Interactions", + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Interactions binary payload.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Invalid request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Log_Interactions request": { + "$ref": "./examples/Log_Interactions.json" + } + } + } + }, + "/logs/observations": { + "post": { + "tags": [ + "LogsV1Dot1Preview2" + ], + "summary": "Post observations.", + "description": "The endpoint is intended to be used from within a SDK for logging observations and accepts specific format defined in https://github.com/VowpalWabbit/reinforcement_learning. This endpoint should not be used by the customer.", + "operationId": "Log_Observations", + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Observations binary payload.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Invalid request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Log_Observations request": { + "$ref": "./examples/Log_Observations.json" + } + } + } + }, + "/logs": { + "delete": { + "tags": [ + "LogsV1Dot1Preview2" + ], + "summary": "Deletes Logs.", + "description": "Delete all logs of Rank and Reward calls stored by Personalizer.", + "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": [ + "LogsV1Dot1Preview2" + ], + "summary": "Get Log Properties.", + "description": "Get properties of the Personalizer logs.", + "operationId": "Log_GetProperties", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/LogsProperties" + } + }, + "default": { + "description": "Log properties not found.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Log_GetProperties request": { + "$ref": "./examples/Log_GetProperties.json" + } + } + } + }, + "/model": { + "get": { + "tags": [ + "ModelV1Dot1Preview3" + ], + "summary": "Get Model.", + "description": "Get the model file generated by Personalizer service.", + "operationId": "Model_Get", + "consumes": [], + "produces": [ + "application/octet-stream", + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "signed", + "description": "True if requesting signed model zip archive, false otherwise.", + "type": "boolean", + "default": false + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "type": "file" + } + }, + "default": { + "description": "Requested resource does not exist on the server.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Model_Get request": { + "$ref": "./examples/Model_Get.json" + } + } + }, + "put": { + "tags": [ + "ModelV1Dot1Preview3" + ], + "summary": "Put the digitally signed model file.", + "description": "Replace the existing model file for the Personalizer service.", + "operationId": "Model_Import", + "consumes": [ + "application/octet-stream" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "The digitally signed model file obtained from getting the model.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Given model file is not signed or does not have a valid signature.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful Model_Import request": { + "$ref": "./examples/Model_Import.json" + } + } + }, + "delete": { + "tags": [ + "ModelV1Dot1Preview3" + ], + "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": [ + "ModelV1Dot1Preview3" + ], + "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" + } + } + } + }, + "/multislot/events/{eventId}/reward": { + "post": { + "tags": [ + "MultiSlotEvents" + ], + "summary": "Post multi-slot Rewards.", + "description": "Report reward that resulted from using the action specified in rewardActionId for the slot.", + "operationId": "MultiSlotEvents_Reward", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "eventId", + "description": "The event id this reward applies to.", + "required": true, + "type": "string", + "maxLength": 256 + }, + { + "in": "body", + "name": "body", + "description": "List of slot id and reward values. The reward should be a floating point number, typically between 0 and 1.", + "required": true, + "schema": { + "$ref": "#/definitions/MultiSlotRewardRequest" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Invalid reward request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful MultiSlotEvents_Reward request": { + "$ref": "./examples/MultiSlotEvents_Reward.json" + } + } + } + }, + "/multislot/events/{eventId}/activate": { + "post": { + "tags": [ + "MultiSlotEvents" + ], + "summary": "Activate multi-slot Event.", + "description": "Report that the specified event was actually used or displayed to the user and a rewards should be expected for it.", + "operationId": "MultiSlotEvents_Activate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "eventId", + "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 MultiSlotEvents_Activate request": { + "$ref": "./examples/MultiSlotEvents_Activate.json" + } + } + } + }, + "/multislot/rank": { + "post": { + "tags": [ + "MultiSlotRank" + ], + "summary": "Post multi-slot Rank.", + "description": "Submit a Personalizer multi-slot rank request. Receives a context, a list of actions, and a list of slots. Returns which of the provided actions should be used in each slot, in each rewardActionId.", + "operationId": "MultiSlot_Rank", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "body", + "description": "A Personalizer multi-slot Rank request.", + "required": true, + "schema": { + "$ref": "#/definitions/MultiSlotRankRequest" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MultiSlotRankResponse" + } + }, + "default": { + "description": "Invalid request.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Successful MultiSlot_Rank request": { + "$ref": "./examples/MultiSlot_Rank.json" + } + } + } + }, + "/rank": { + "post": { + "tags": [ + "Rank" + ], + "summary": "Post Rank.", + "description": "Submit a Personalizer rank request. Receives a context and a list of actions. Returns which of the provided actions should be used by your application, in rewardActionId.", + "operationId": "Rank", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "rankRequest", + "in": "body", + "description": "A Personalizer Rank request.", + "required": true, + "schema": { + "$ref": "#/definitions/RankRequest" + } + } + ], + "responses": { + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/RankResponse" + } + }, + "default": { + "description": "Invalid 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\nand should be between 5 seconds and 2 days.\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" + }, + "lastConfigurationEditDate": { + "format": "date-time", + "description": "Last time model training configuration was updated", + "type": "string" + }, + "learningMode": { + "description": "Learning Modes for Personalizer", + "enum": [ + "Online", + "Apprentice", + "LoggingOnly" + ], + "type": "string", + "x-ms-enum": { + "name": "LearningMode", + "modelAsString": true + } + }, + "isAutoOptimizationEnabled": { + "description": "Flag indicating whether Personalizer will automatically optimize Learning Settings by running Offline Evaluations periodically.", + "type": "boolean" + }, + "autoOptimizationFrequency": { + "format": "duration", + "description": "Frequency of automatic optimization. Only relevant if IsAutoOptimizationEnabled is true.\r\nFor example, PT5M (5 mins). For information about the time format,\r\n\\r\\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations", + "type": "string" + }, + "autoOptimizationStartDate": { + "format": "date-time", + "description": "Date when the first automatic optimization evaluation must be performed. Only relevant if IsAutoOptimizationEnabled is true.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "Used to return an error to the client", + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/PersonalizerError" + } + } + }, + "PersonalizerError": { + "description": "The error object.", + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "description": "Error Codes returned by Personalizer", + "enum": [ + "BadRequest", + "InvalidServiceConfiguration", + "InvalidLearningModeServiceConfiguration", + "InvalidPolicyConfiguration", + "InvalidPolicyContract", + "InvalidEvaluationContract", + "DuplicateCustomPolicyNames", + "NoLogsExistInDateRange", + "LogsSizeExceedAllowedLimit", + "InvalidRewardRequest", + "InvalidEventIdToActivate", + "InvalidRankRequest", + "InvalidExportLogsRequest", + "InvalidRequest", + "InvalidContainer", + "InvalidModelMetadata", + "ApprenticeModeNeverTurnedOn", + "MissingAppId", + "InvalidRewardWaitTime", + "InvalidLogRetentionDays", + "InvalidMultiSlotApiAccess", + "PayloadSizeExceeded", + "InvalidModelImportSignature", + "InvalidModelImportFormat", + "InvalidApiAccess", + "ModelFileAccessDenied", + "ProblemTypeIncompatibleWithAutoOptimization", + "ResourceNotFound", + "FrontEndNotFound", + "EvaluationNotFound", + "LearningSettingsNotFound", + "EvaluationModelNotFound", + "LogsPropertiesNotFound", + "ModelRankingError", + "InternalServerError", + "RankNullResponse", + "UpdateConfigurationFailed", + "ModelResetFailed", + "ModelPublishFailed", + "ModelMetadataUpdateFailed", + "OperationNotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "PersonalizerErrorCode", + "modelAsString": true, + "values": [ + { + "value": "BadRequest", + "description": "Request could not be understood by the server." + }, + { + "value": "InvalidServiceConfiguration", + "description": "Invalid service configuration." + }, + { + "value": "InvalidLearningModeServiceConfiguration", + "description": "Updating defaultReward, rewardWaitTime and rewardAggregation when changing learning mode from Online to Apprentice mode and vice versa is not allowed. Make the mode change and then change the additional settings with an additional API call." + }, + { + "value": "InvalidPolicyConfiguration", + "description": "Invalid policy configuration." + }, + { + "value": "InvalidPolicyContract", + "description": "Invalid policy contract." + }, + { + "value": "InvalidEvaluationContract", + "description": "Invalid evaluation contract." + }, + { + "value": "DuplicateCustomPolicyNames", + "description": "Custom policy names should be unique." + }, + { + "value": "NoLogsExistInDateRange", + "description": "No logs exist in date range." + }, + { + "value": "LogsSizeExceedAllowedLimit", + "description": "Total size of logs exceed allowed limit." + }, + { + "value": "InvalidRewardRequest", + "description": "Invalid reward request." + }, + { + "value": "InvalidEventIdToActivate", + "description": "Invalid activate event request." + }, + { + "value": "InvalidRankRequest", + "description": "Invalid request." + }, + { + "value": "InvalidExportLogsRequest", + "description": "Invalid request." + }, + { + "value": "InvalidRequest", + "description": "Invalid request." + }, + { + "value": "InvalidContainer", + "description": "SAS Uri must be the Uri to a container that has write permissions." + }, + { + "value": "InvalidModelMetadata", + "description": "Invalid model metadata." + }, + { + "value": "ApprenticeModeNeverTurnedOn", + "description": "Apprentice mode never turned on." + }, + { + "value": "MissingAppId", + "description": "AppId is missing in the header." + }, + { + "value": "InvalidRewardWaitTime", + "description": "Reward wait time should be either 10 minutes or 4 hours or 12 hours or 24 hours" + }, + { + "value": "InvalidLogRetentionDays", + "description": "Log Retention Days must be -1 to store indefinitely or must be at least reward wait time plus 1 day (rounded up)" + }, + { + "value": "InvalidMultiSlotApiAccess", + "description": "Multi-slot feature is currently disabled. Please follow multi-slot Personalizer documentation to update your loop settings to enable multi-slot functionality." + }, + { + "value": "PayloadSizeExceeded", + "description": "Exceeds maximum allowed payload size." + }, + { + "value": "InvalidModelImportSignature", + "description": "Given model file is not signed or does not have a valid signature." + }, + { + "value": "InvalidModelImportFormat", + "description": "Given model file format is invalid." + }, + { + "value": "InvalidApiAccess", + "description": "Api is currently disabled for the instance." + }, + { + "value": "ModelFileAccessDenied", + "description": "Key vault Key used for customer managed key cannot be accessed." + }, + { + "value": "ProblemTypeIncompatibleWithAutoOptimization", + "description": "Auto-optimization is not compatible with multi-slot personalization." + }, + { + "value": "ResourceNotFound", + "description": "Requested resource does not exist on the server." + }, + { + "value": "FrontEndNotFound", + "description": "Front end not found." + }, + { + "value": "EvaluationNotFound", + "description": "Offline Evaluation not found." + }, + { + "value": "LearningSettingsNotFound", + "description": "Learning Settings not found in evaluation." + }, + { + "value": "EvaluationModelNotFound", + "description": "Model not found in evaluation." + }, + { + "value": "LogsPropertiesNotFound", + "description": "Log properties not found." + }, + { + "value": "ModelRankingError", + "description": "Error while ranking actions using model. Please verify the learning settings are valid." + }, + { + "value": "InternalServerError", + "description": "A generic error has occurred on the server." + }, + { + "value": "RankNullResponse", + "description": "Rank call returned null response." + }, + { + "value": "UpdateConfigurationFailed", + "description": "Failed to update configuration." + }, + { + "value": "ModelResetFailed", + "description": "Model reset failed." + }, + { + "value": "ModelPublishFailed", + "description": "Model publish failed." + }, + { + "value": "ModelMetadataUpdateFailed", + "description": "Model metadata update failed." + }, + { + "value": "OperationNotAllowed", + "description": "This operation is not allowed at this time." + } + ] + } + }, + "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" + } + } + }, + "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" + } + } + }, + "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": { + "description": "A counterfactual evaluation.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the evaluation.", + "maxLength": 256, + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the evaluation.", + "maxLength": 256, + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The start time of the evaluation.", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "The end time of the evaluation.", + "type": "string", + "readOnly": true + }, + "jobId": { + "description": "The ID of the job processing the evaluation.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the job processing the evaluation.", + "enum": [ + "completed", + "pending", + "failed", + "notSubmitted", + "timeout", + "optimalPolicyApplied", + "onlinePolicyRetained" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EvaluationJobStatus", + "modelAsString": true + } + }, + "policyResults": { + "description": "The results of the evaluation.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicyResult" + } + }, + "featureImportance": { + "description": "Feature Importance.", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "evaluationType": { + "description": "Evaluation type (manual or through Automatic Optimization).", + "enum": [ + "Manual", + "Auto" + ], + "type": "string", + "x-ms-enum": { + "name": "EvaluationType", + "modelAsString": true + } + }, + "optimalPolicy": { + "description": "Thr optimal policy.", + "type": "string" + }, + "creationTime": { + "description": "Creation time.", + "format": "date-time", + "type": "string" + } + } + }, + "PolicyResult": { + "description": "This class contains the Learning Settings information and the results of the Offline Evaluation using that policy.", + "type": "object", + "properties": { + "name": { + "description": "The name of the Learning Settings.", + "type": "string", + "readOnly": true + }, + "arguments": { + "description": "The arguments of the Learning Settings.", + "type": "string", + "readOnly": true + }, + "policySource": { + "description": "The source of the Learning Settings.", + "enum": [ + "Online", + "Baseline", + "Random", + "Custom", + "OfflineExperimentation" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PolicySource", + "modelAsString": true + } + }, + "summary": { + "description": "The aggregate results of the Offline Evaluation.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicyResultSummary" + }, + "readOnly": true + }, + "totalSummary": { + "description": "The aggregate total of the Offline Evaluation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyResultSummary" + } + ], + "readOnly": true + } + } + }, + "PolicyResultSummary": { + "description": "This class contains the summary of evaluating a policy on a counterfactual evaluation.", + "type": "object", + "properties": { + "timeStamp": { + "format": "date-time", + "description": "Timestamp of the aggregation.", + "type": "string", + "readOnly": true + }, + "ipsEstimatorNumerator": { + "format": "float", + "description": "Numerator for IPS estimator.", + "type": "number", + "readOnly": true + }, + "ipsEstimatorDenominator": { + "format": "float", + "description": "Denominator for IPS estimator.", + "type": "number", + "readOnly": true + }, + "snipsEstimatorDenominator": { + "format": "float", + "description": "Denominator for SNIPS estimator.", + "type": "number", + "readOnly": true + }, + "aggregateTimeWindow": { + "format": "duration", + "description": "Time window for aggregation.\r\nFor example, PT5M (5 mins). For information about the time format,\r\nsee http://en.wikipedia.org/wiki/ISO_8601#Durations", + "type": "string", + "readOnly": true + }, + "nonZeroProbability": { + "format": "float", + "description": "Probability of non-zero values for the Policy evaluation.", + "type": "number" + }, + "sumOfSquares": { + "format": "float", + "description": "Sum of Squares for the Policy evaluation results.", + "type": "number", + "readOnly": true + }, + "confidenceInterval": { + "format": "float", + "description": "Gaussian confidence interval for the Policy evaluation.", + "type": "number", + "readOnly": true + }, + "averageReward": { + "format": "float", + "description": "Average reward.", + "type": "number", + "readOnly": true + } + } + }, + "PolicyReferenceContract": { + "description": "Reference to the policy within the evaluation.", + "required": [ + "evaluationId", + "policyName" + ], + "type": "object", + "properties": { + "evaluationId": { + "description": "Evaluation Id of the evaluation.", + "maxLength": 256, + "type": "string" + }, + "policyName": { + "description": "Name of the learning settings.", + "maxLength": 256, + "type": "string" + } + } + }, + "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 is a float calculated by your application, typically between 0 and 1, and must be between -1 and 1.", + "type": "number" + } + } + }, + "LogsProperties": { + "description": "Properties related to data used to train the model.", + "type": "object", + "properties": { + "dateRange": { + "description": "Date range.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DateRange" + } + ], + "readOnly": true + } + } + }, + "DateRange": { + "description": "A date range starting at From and ending at To.", + "type": "object", + "properties": { + "from": { + "format": "date-time", + "description": "Start date for the range.", + "type": "string", + "readOnly": true + }, + "to": { + "format": "date-time", + "description": "End date for the range.", + "type": "string", + "readOnly": true + } + } + }, + "ModelProperties": { + "description": "Properties related to the trained model.", + "type": "object", + "properties": { + "creationTime": { + "format": "date-time", + "description": "Creation time of the model.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "format": "date-time", + "description": "Last time the model was modified.", + "type": "string", + "readOnly": true + } + } + }, + "SlotReward": { + "required": [ + "slotId", + "value" + ], + "type": "object", + "properties": { + "slotId": { + "description": "Slot id for which we are sending the reward.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "value": { + "format": "float", + "description": "Reward to be assigned to slotId. Value should be between -1 and 1 inclusive.", + "type": "number" + } + } + }, + "MultiSlotRewardRequest": { + "description": "Reward given to a list of slots.", + "required": [ + "reward" + ], + "type": "object", + "properties": { + "reward": { + "description": "List of SlotRewards", + "type": "array", + "items": { + "$ref": "#/definitions/SlotReward" + } + } + } + }, + "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 is determined by your 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.\r\nPersonalizer will consider the first non-excluded item in the array as the Baseline action when performing Offline Evaluations.", + "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 action specified in the rank results,\r\n(e.g. because the page is rendering later, or the Rank results may be overridden by code further downstream).\r\nYou must call the Activate Event API if the event output is shown to users, otherwise Rewards will be ignored.", + "default": false, + "type": "boolean" + } + } + }, + "RankableAction": { + "description": "An action with its 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" + } + } + } + }, + "SlotRequest": { + "description": "A slot with it's associated features and list of excluded actions", + "required": [ + "baselineAction", + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Slot ID", + "type": "string" + }, + "features": { + "description": "List of dictionaries containing slot features.", + "type": "array", + "items": { + "type": "object" + } + }, + "excludedActions": { + "description": "List of excluded action Ids.", + "type": "array", + "items": { + "type": "string" + } + }, + "baselineAction": { + "description": "The 'baseline action' ID for the slot.\r\nThe BaselineAction is the Id of the Action your application would use in that slot if Personalizer didn't exist.\r\nBaselineAction must be defined for every slot.\r\nBaselineAction should never be part of ExcludedActions.\r\nEach slot must have a unique BaselineAction which corresponds to an an action from the event's Actions list.", + "type": "string" + } + } + }, + "MultiSlotRankRequest": { + "required": [ + "actions", + "slots" + ], + "type": "object", + "properties": { + "contextFeatures": { + "description": "Features of the context used for Personalizer as a\r\ndictionary of dictionaries. This is determined by your 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" + } + }, + "slots": { + "description": "The set of slots the Personalizer service should select actions for.\r\nThe set should not contain more than 50 slots.", + "type": "array", + "items": { + "$ref": "#/definitions/SlotRequest" + } + }, + "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 action specified in the rank results,\r\n(e.g. because the page is rendering later, or the Rank results may be overridden by code further downstream).\r\nYou must call the Activate Event API if the event output is shown to users, otherwise Rewards will be ignored.", + "default": false, + "type": "boolean" + } + } + }, + "SlotResponse": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Id is the slot ID.", + "maxLength": 256, + "type": "string" + }, + "rewardActionId": { + "description": "RewardActionID is the action ID recommended by Personalizer.", + "maxLength": 256, + "type": "string", + "readOnly": true + } + } + }, + "MultiSlotRankResponse": { + "type": "object", + "properties": { + "slots": { + "description": "Each slot has a corresponding rewardActionID which is the action ID recommended by Personalizer.", + "type": "array", + "items": { + "$ref": "#/definitions/SlotResponse" + }, + "readOnly": true + }, + "eventId": { + "description": "The eventId for the round trip from request to response.", + "maxLength": 256, + "type": "string", + "readOnly": true + } + } + }, + "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.\r\nThis is the action your application should display, and for which to report the reward.\r\nThis might not be the first found in 'ranking'.", + "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 + } + } + }, + "ServiceStatus": { + "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", + "description": "The secret key for your Azure Cognitive Services subscription.", + "in": "header", + "type": "apiKey" + } + }, + "security": [ + { + "apim_key": [] + } + ], + "tags": [ + { + "name": "ConfigurationsV1Dot1Preview1", + "description": "Manages configuration operations." + }, + { + "name": "EvaluationsV1Dot1Preview1", + "description": "Manages counterfactual evaluation operations." + }, + { + "name": "MultiSlotEvents", + "description": "Manages multi-slot event operations." + }, + { + "name": "MultiSlotRank", + "description": "Manages multi-slot ranking operations." + }, + { + "name": "Events", + "description": "Manages event operations." + }, + { + "name": "Rank", + "description": "Manages ranking operations." + }, + { + "name": "LogsV1Dot1Preview2", + "description": "Manages reinforcement learning logs." + }, + { + "name": "ModelV1Dot1Preview3", + "description": "Manages reinforcement learning configuration operations." + } + ], + "x-ms-parameterized-host": { + "hostTemplate": "{Endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Create.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Create.json new file mode 100644 index 000000000000..a6f95eb0a03f --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Create.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "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}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "201": { + "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", + "policySource": "Online" + } + ], + "featureImportance": [], + "evaluationType": "Manual", + "optimalPolicy": "", + "creationTime": "2019-01-20T00:00:00Z" + }, + "headers": { + "Location": "{endpoint}/personalizer/v1.1-preview.3/evaluations/{evaluationId}" + } + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Delete.json new file mode 100644 index 000000000000..854c1724f3d1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Delete.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "evaluationId": "id" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Get.json new file mode 100644 index 000000000000..43a4c739528e --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_Get.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "evaluationId": "id" + }, + "responses": { + "200": { + "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", + "policySource": "Custom", + "summary": [ + { + "timeStamp": "2018-12-19T00:00:00Z", + "ipsEstimatorNumerator": 0, + "ipsEstimatorDenominator": 170, + "snipsEstimatorDenominator": 308.25, + "aggregateTimeWindow": "PT0S", + "nonZeroProbability": 64, + "sumOfSquares": 0, + "confidenceInterval": 0, + "averageReward": 0 + }, + { + "timeStamp": "2018-12-19T00:05:00Z", + "ipsEstimatorNumerator": 2.2, + "ipsEstimatorDenominator": 196, + "snipsEstimatorDenominator": 193.761, + "aggregateTimeWindow": "PT0S", + "nonZeroProbability": 68, + "sumOfSquares": 2.424, + "confidenceInterval": 0.015529361, + "averageReward": 0.01122449 + } + ], + "totalSummary": { + "timeStamp": "2019-01-19T00:00:00Z", + "ipsEstimatorNumerator": 22.2, + "ipsEstimatorDenominator": 1906, + "snipsEstimatorDenominator": 1993.761, + "aggregateTimeWindow": "PT0S", + "nonZeroProbability": 68, + "sumOfSquares": 2.484, + "confidenceInterval": 0.0015344538, + "averageReward": 0.011647429 + } + } + ], + "featureImportance": [ + [ + "f1", + "f2" + ], + [ + "f3", + "f4" + ] + ], + "evaluationType": "Manual", + "optimalPolicy": "Custom learning settings 1", + "creationTime": "2019-01-20T00:00:00Z" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_List.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_List.json new file mode 100644 index 000000000000..8cb556c966ce --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Evaluations_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": [ + { + "id": "b58c6d92-b727-48c1-9487-4be2782c9e0a", + "name": "myFirstEvaluation", + "startTime": "2018-11-19T00:00:00Z", + "endTime": "2018-12-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", + "policySource": "Online", + "totalSummary": { + "timeStamp": "2018-12-19T00:00:00Z", + "ipsEstimatorNumerator": 18, + "ipsEstimatorDenominator": 36, + "snipsEstimatorDenominator": 1, + "aggregateTimeWindow": "PT0S", + "nonZeroProbability": 1.1, + "sumOfSquares": 12.28, + "confidenceInterval": 0.100001775, + "averageReward": 0.5 + } + } + ], + "featureImportance": [], + "evaluationType": "Manual", + "optimalPolicy": "Custom learning settings 1", + "creationTime": "2019-01-19T00:00:00Z" + }, + { + "id": "21d03972-9130-4be9-8c8b-8ac3ec9b9dd1", + "name": "mySecondEvaluation", + "startTime": "2018-12-19T00:00:00Z", + "endTime": "2019-01-19T00:00:00Z", + "status": "pending", + "policyResults": [], + "featureImportance": [], + "evaluationType": "Manual", + "optimalPolicy": "", + "creationTime": "2019-01-19T00:00:00Z" + } + ], + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Activate.json new file mode 100644 index 000000000000..47ac1946d68e --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Activate.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "eventId": "id" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Reward.json new file mode 100644 index 000000000000..896eec725203 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Events_Reward.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "reward": { + "value": 1 + }, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "eventId": "id" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Delete.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Delete.json new file mode 100644 index 000000000000..b8952c3d0f60 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Delete.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_GetProperties.json new file mode 100644 index 000000000000..44b8656a01dd --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_GetProperties.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": { + "dateRange": { + "from": "2019-01-18T16:00:00-08:00", + "to": "2019-02-18T16:00:00-08:00" + } + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Interactions.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Interactions.json new file mode 100644 index 000000000000..0c4f117e5428 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Interactions.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "body": "id", + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Observations.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Observations.json new file mode 100644 index 000000000000..0c4f117e5428 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Log_Observations.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "body": "id", + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Get.json new file mode 100644 index 000000000000..60b30ff52f95 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Get.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "signed": false, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "200": { + "body": "", + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_GetProperties.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_GetProperties.json new file mode 100644 index 000000000000..2ed31c250914 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_GetProperties.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": { + "creationTime": "2019-01-18T16:00:00-08:00", + "lastModifiedTime": "2019-01-18T16:00:00-08:00" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Import.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Import.json new file mode 100644 index 000000000000..0c4f117e5428 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Import.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "body": "id", + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Reset.json new file mode 100644 index 000000000000..b8952c3d0f60 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Model_Reset.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Activate.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Activate.json new file mode 100644 index 000000000000..47ac1946d68e --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Activate.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "eventId": "id" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Reward.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Reward.json new file mode 100644 index 000000000000..c0aa2cb77c2d --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlotEvents_Reward.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "body": { + "reward": [ + { + "slotId": "Heroposition", + "value": 0.5 + }, + { + "slotId": "SideBar", + "value": 0.6 + } + ] + }, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}", + "eventId": "id" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlot_Rank.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlot_Rank.json new file mode 100644 index 000000000000..20e78c77ad8f --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/MultiSlot_Rank.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "body": { + "contextFeatures": [ + { + "user": { + "profileType": "AnonymousUser", + "latLong": "47.6,-122.1" + } + }, + { + "environment": { + "dayOfMonth": "28", + "monthOfYear": "8", + "weather": "Sunny" + } + }, + { + "device": { + "mobile": true, + "windows": true + } + }, + { + "recentActivity": { + "itemsInCart": 3 + } + } + ], + "actions": [ + { + "id": "NewsArticle", + "features": [ + { + "type": "News" + } + ] + }, + { + "id": "SportsArticle", + "features": [ + { + "type": "Sports" + } + ] + }, + { + "id": "EntertainmentArticle", + "features": [ + { + "type": "Entertainment" + } + ] + } + ], + "slots": [ + { + "id": "Main Article", + "features": [ + { + "size": "Large", + "position": "Top Middle" + } + ], + "excludedActions": [ + "SportsArticle" + ], + "baselineAction": "EntertainmentArticle" + }, + { + "id": "Side Bar", + "features": [ + { + "size": "Small" + } + ], + "baselineAction": "NewsArticle" + } + ], + "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10", + "deferActivation": false + }, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "201": { + "body": { + "slots": [ + { + "id": "Main Article", + "rewardActionId": "EntertainmentArticle" + }, + { + "id": "Side Bar", + "rewardActionId": "SportsArticle" + } + ], + "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Get.json new file mode 100644 index 000000000000..b0e96b20f6cc --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Get.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": { + "name": "myPersonalizer", + "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Reset.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Reset.json new file mode 100644 index 000000000000..b0e96b20f6cc --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Reset.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": { + "name": "myPersonalizer", + "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Update.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Update.json new file mode 100644 index 000000000000..5c1eb593c078 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Policy_Update.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "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}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "200": { + "body": { + "name": "myPersonalizer", + "arguments": "--cb_explore_adf --epsilon 0.2 --dsjson --cb_type ips -l 0.5 --l1 1E-07 --power_t 0.5" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Rank.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Rank.json new file mode 100644 index 000000000000..a8dea3e1524a --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/Rank.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "rankRequest": { + "contextFeatures": [ + { + "user": { + "profileType": "AnonymousUser", + "latLong": "47.6,-122.1" + } + }, + { + "environment": { + "dayOfMonth": "28", + "monthOfYear": "8", + "weather": "Sunny" + } + }, + { + "device": { + "mobile": true, + "windows": true + } + }, + { + "recentActivity": { + "itemsInCart": 3 + } + } + ], + "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 + }, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "201": { + "body": { + "ranking": [ + { + "id": "EntertainmentArticle", + "probability": 0.8 + }, + { + "id": "SportsArticle", + "probability": 0 + }, + { + "id": "NewsArticle", + "probability": 0.2 + } + ], + "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10", + "rewardActionId": "EntertainmentArticle" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_ApplyFromEvaluation.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_ApplyFromEvaluation.json new file mode 100644 index 000000000000..eac3177fd445 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_ApplyFromEvaluation.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "body": { + "evaluationId": "b58c6d92-b727-48c1-9487-4be2782c9e0a", + "policyName": "online" + }, + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "204": {} + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Get.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Get.json new file mode 100644 index 000000000000..5d74872c99c1 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "Endpoint": "{Endpoint}", + "Ocp-Apim-Subscription-Key": "{API key}" + }, + "responses": { + "200": { + "body": { + "rewardWaitTime": "PT10M", + "defaultReward": 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, + "lastConfigurationEditDate": "2019-01-19T00:00:00Z", + "learningMode": "Online", + "isAutoOptimizationEnabled": true, + "autoOptimizationFrequency": "P7D", + "autoOptimizationStartDate": "2019-01-19T00:00:00Z" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Update.json b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Update.json new file mode 100644 index 000000000000..748822296997 --- /dev/null +++ b/specification/cognitiveservices/data-plane/Personalizer/preview/v1.1-preview.3/examples/ServiceConfiguration_Update.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "config": { + "rewardWaitTime": "PT10M", + "defaultReward": 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, + "learningMode": "Online", + "isAutoOptimizationEnabled": true, + "autoOptimizationFrequency": "P7D", + "autoOptimizationStartDate": "2019-01-19T00:00:00Z" + }, + "Ocp-Apim-Subscription-Key": "{API key}", + "Endpoint": "{Endpoint}" + }, + "responses": { + "200": { + "body": { + "rewardWaitTime": "PT10M", + "defaultReward": 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, + "lastConfigurationEditDate": "2019-01-19T00:00:00Z", + "learningMode": "Online", + "isAutoOptimizationEnabled": true, + "autoOptimizationFrequency": "P7D", + "autoOptimizationStartDate": "2019-01-19T00:00:00Z" + }, + "headers": {} + } + } +} diff --git a/specification/cognitiveservices/data-plane/Personalizer/readme.md b/specification/cognitiveservices/data-plane/Personalizer/readme.md index cf33e5ecdf36..56ad2e97fe68 100644 --- a/specification/cognitiveservices/data-plane/Personalizer/readme.md +++ b/specification/cognitiveservices/data-plane/Personalizer/readme.md @@ -44,6 +44,14 @@ input-file: - preview/v1.1-preview.2/Personalizer.json ``` +### Release 1.1-Preview.3 +These settings apply only when `--tag=release_1_1_preview.3` is specified on the command line. + +``` yaml $(tag) == 'release_1_1_preview.3' +input-file: + - preview/v1.1-preview.3/Personalizer.json +``` + ## Swagger to SDK This section describes what SDK should be generated by the automatic system. diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json index dcba455ca6cf..5cc5ee21f5fa 100644 --- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json @@ -1621,6 +1621,9 @@ "items": { "$ref": "#/definitions/SkuCapability" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only." }, "isMigrated": { @@ -1654,6 +1657,9 @@ "items": { "$ref": "#/definitions/UserOwnedStorage" }, + "x-ms-identifiers": [ + "resourceId" + ], "description": "The storage accounts for this resource." }, "privateEndpointConnections": { @@ -1790,7 +1796,10 @@ "type": "array", "items": { "$ref": "#/definitions/ThrottlingRule" - } + }, + "x-ms-identifiers": [ + "key" + ] } }, "description": "The call rate limit Cognitive Services account." @@ -1808,7 +1817,10 @@ "type": "array", "items": { "$ref": "#/definitions/ThrottlingRule" - } + }, + "x-ms-identifiers": [ + "key" + ] } } }, @@ -1834,7 +1846,11 @@ "type": "array", "items": { "$ref": "#/definitions/RequestMatchPattern" - } + }, + "x-ms-identifiers": [ + "path", + "method" + ] } } }, @@ -1910,6 +1926,10 @@ "items": { "$ref": "#/definitions/AccountSku" }, + "x-ms-identifiers": [ + "sku/name", + "resourceType" + ], "description": "Gets the list of Cognitive Services accounts and their properties." } }, @@ -1937,6 +1957,9 @@ "items": { "$ref": "#/definitions/Usage" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of usages for Cognitive Service account." } }, @@ -2054,6 +2077,11 @@ "items": { "$ref": "#/definitions/SkuAvailability" }, + "x-ms-identifiers": [ + "skuName", + "type", + "kind" + ], "description": "Check SKU availability result list." } } @@ -2222,6 +2250,7 @@ "items": { "$ref": "#/definitions/ResourceSkuRestrictions" }, + "x-ms-identifiers": [], "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." } }, @@ -2254,6 +2283,11 @@ "items": { "$ref": "#/definitions/ResourceSku" }, + "x-ms-identifiers": [ + "resourceType", + "name", + "kind" + ], "description": "The list of skus available for the subscription." }, "nextLink": { @@ -2286,6 +2320,7 @@ "items": { "$ref": "#/definitions/IpRule" }, + "x-ms-identifiers": [], "description": "The list of IP address rules." }, "virtualNetworkRules": { @@ -2692,6 +2727,13 @@ "items": { "$ref": "#/definitions/CommitmentTier" }, + "x-ms-identifiers": [ + "kind", + "tier", + "skuName", + "hostingModel", + "planType" + ], "description": "Gets the list of Cognitive Services accounts CommitmentTier and their properties." } }, diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/cognitiveservices.json new file mode 100644 index 000000000000..690b90a8caa0 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/cognitiveservices.json @@ -0,0 +1,3117 @@ +{ + "swagger": "2.0", + "info": { + "title": "CognitiveServicesManagementClient", + "description": "Cognitive Services Management Client", + "version": "2022-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}": { + "put": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Create Cognitive Services Account. Accounts is a resource group wide resource type. It holds the keys for developer to access intelligent APIs. It's also the resource type for billing.", + "operationId": "Accounts_Create", + "x-ms-examples": { + "Create Account": { + "$ref": "./examples/CreateAccount.json" + }, + "Create Account Min": { + "$ref": "./examples/CreateAccountMin.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "If resource is created successfully or already existed, the service should return 200 (OK).", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "If resource is created successfully, the service should return 201 (OK).", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Updates a Cognitive Services account", + "operationId": "Accounts_Update", + "x-ms-examples": { + "Update Account": { + "$ref": "./examples/UpdateAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "account", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Deletes a Cognitive Services account from the resource group. ", + "operationId": "Accounts_Delete", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/DeleteAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "Accounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetAccount.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/resourceGroups/{resourceGroupName}/deletedAccounts/{accountName}": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "DeletedAccounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Deletes a Cognitive Services account from the resource group. ", + "operationId": "DeletedAccounts_Purge", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/PurgeDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a resource group", + "operationId": "Accounts_ListByResourceGroup", + "x-ms-examples": { + "List Accounts by Resource Group": { + "$ref": "./examples/ListAccountsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with \"value\" property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/accounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "Accounts_List", + "x-ms-examples": { + "List Accounts by Subscription": { + "$ref": "./examples/ListAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/deletedAccounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "DeletedAccounts_List", + "x-ms-examples": { + "List Deleted Accounts by Subscription": { + "$ref": "./examples/ListAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/listKeys": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_ListKeys", + "description": "Lists the account keys for the specified Cognitive Services account.", + "x-ms-examples": { + "List Keys": { + "$ref": "./examples/ListKeys.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns with a response body containing the subscription keys for the resource: key1\nThe first API key for authentication when client calls the API endpoint.\n\nkey2\nThe second API key for authentication when client calls the API endpoint.", + "schema": { + "$ref": "#/definitions/ApiKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "Accounts_RegenerateKey", + "description": "Regenerates the specified account key for the specified Cognitive Services account.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/RegenerateKey.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + }, + "description": "regenerate key parameters." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ApiKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus": { + "get": { + "tags": [ + "Skus", + "CognitiveServicesAccounts" + ], + "operationId": "ResourceSkus_List", + "description": "Gets the list of Microsoft.CognitiveServices SKUs available for your Subscription.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/GetSkus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/skus": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "List available SKUs for the requested Cognitive Services account", + "x-ms-examples": { + "List SKUs": { + "$ref": "./examples/ListSkus.json" + } + }, + "operationId": "Accounts_ListSkus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "schema": { + "$ref": "#/definitions/AccountSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Get usages for the requested Cognitive Services account", + "x-ms-examples": { + "Get Usages": { + "$ref": "./examples/GetUsages.json" + } + }, + "operationId": "Accounts_ListUsages", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" + } + ], + "responses": { + "200": { + "description": "The usages for Cognitive Services account were retrieved successfully.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/models": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "List available Models for the requested Cognitive Services account", + "x-ms-examples": { + "List AccountModels": { + "$ref": "./examples/ListAccountModels.json" + } + }, + "operationId": "Accounts_ListModels", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "schema": { + "$ref": "#/definitions/AccountModelListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.CognitiveServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Cognitive Services account operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Get Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckSkuAvailability", + "description": "Check available SKUs.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckSkuAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckSkuAvailabilityParameter" + }, + "description": "Check SKU Availability POST body." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SkuAvailabilityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/commitmentTiers": { + "get": { + "tags": [ + "CommitmentTiers" + ], + "operationId": "CommitmentTiers_List", + "description": "List Commitment Tiers.", + "x-ms-examples": { + "ListCommitmentTiers": { + "$ref": "./examples/ListCommitmentTiers.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CommitmentTierListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/checkDomainAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckDomainAvailability", + "description": "Check whether a domain is available.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckDomainAvailability.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckDomainAvailabilityParameter" + }, + "description": "Check Domain Availability parameter." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DomainAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "Gets the private endpoint connections associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "PutPrivateEndpointConnection": { + "$ref": "./examples/PutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "DeletePrivateEndpointConnection": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "description": "Gets the private link resources that need to be created for a Cognitive Services account.", + "x-ms-examples": { + "ListPrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_List", + "description": "Gets the deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "ListDeployments": { + "$ref": "./examples/ListDeployments.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Gets the specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "GetDeployment": { + "$ref": "./examples/GetDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the deployments properties successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "description": "Update the state of specified deployments associated with the Cognitive Services account.", + "x-ms-examples": { + "PutDeployment": { + "$ref": "./examples/PutDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + }, + { + "name": "deployment", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "The deployment properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "201": { + "description": "Create the deployment successfully.", + "schema": { + "$ref": "#/definitions/Deployment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "description": "Deletes the specified deployment associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteDeployment": { + "$ref": "./examples/DeleteDeployment.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/deploymentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the deployment successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The deployment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/commitmentPlans": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_List", + "description": "Gets the commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "ListCommitmentPlans": { + "$ref": "./examples/ListCommitmentPlans.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved commitmentPlans.", + "schema": { + "$ref": "#/definitions/CommitmentPlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/commitmentPlans/{commitmentPlanName}": { + "get": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Get", + "description": "Gets the specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "GetCommitmentPlan": { + "$ref": "./examples/GetCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the commitmentPlans properties successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_CreateOrUpdate", + "description": "Update the state of specified commitmentPlans associated with the Cognitive Services account.", + "x-ms-examples": { + "PutCommitmentPlan": { + "$ref": "./examples/PutCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + }, + { + "name": "commitmentPlan", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "The commitmentPlan properties." + } + ], + "responses": { + "200": { + "description": "Create/Update the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "201": { + "description": "Create the CommitmentPlan successfully.", + "schema": { + "$ref": "#/definitions/CommitmentPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "CommitmentPlans" + ], + "operationId": "CommitmentPlans_Delete", + "description": "Deletes the specified commitmentPlan associated with the Cognitive Services account.", + "x-ms-examples": { + "DeleteCommitmentPlan": { + "$ref": "./examples/DeleteCommitmentPlan.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/commitmentPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the commitmentPlan successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The commitmentPlan does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Kind": { + "type": "string", + "description": "The kind (type) of cognitive service account." + }, + "Sku": { + "description": "The resource model definition representing SKU", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "tier": { + "type": "string", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium", + "Enterprise" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": true + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." + } + }, + "required": [ + "name" + ] + }, + "SkuName": { + "type": "string", + "description": "The name of SKU." + }, + "Account": { + "description": "Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/AccountProperties", + "description": "Properties of Cognitive Services account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ] + }, + "AccountListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of accounts.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the cognitive services account at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "ResolvingDNS" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "type": "string", + "description": "Endpoint of the created account.", + "readOnly": true + }, + "internalId": { + "type": "string", + "description": "The internal identifier (deprecated, do not use this property).", + "readOnly": true + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only." + }, + "isMigrated": { + "type": "boolean", + "description": "If the resource is migrated from an existing key.", + "readOnly": true + }, + "migrationToken": { + "type": "string", + "description": "Resource migration token." + }, + "skuChangeInfo": { + "$ref": "#/definitions/SkuChangeInfo", + "description": "Sku change info of account.", + "readOnly": true + }, + "customSubDomainName": { + "type": "string", + "description": "Optional subdomain name used for token-based authentication." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility from specific network locations." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "The encryption properties for this resource." + }, + "userOwnedStorage": { + "type": "array", + "items": { + "$ref": "#/definitions/UserOwnedStorage" + }, + "x-ms-identifiers": [ + "resourceId" + ], + "description": "The storage accounts for this resource." + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection associated with the Cognitive Services account." + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this account.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "apiProperties": { + "$ref": "#/definitions/ApiProperties", + "description": "The api properties for special APIs." + }, + "dateCreated": { + "readOnly": true, + "type": "string", + "description": "Gets the date of cognitive services account creation." + }, + "callRateLimit": { + "readOnly": true, + "$ref": "#/definitions/CallRateLimit" + }, + "dynamicThrottlingEnabled": { + "type": "boolean", + "description": "The flag to enable dynamic throttling." + }, + "quotaLimit": { + "readOnly": true, + "$ref": "#/definitions/QuotaLimit" + }, + "restrictOutboundNetworkAccess": { + "type": "boolean" + }, + "allowedFqdnList": { + "type": "array", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "type": "boolean" + }, + "endpoints": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "restore": { + "type": "boolean" + }, + "deletionDate": { + "type": "string", + "description": "The deletion date, only available for deleted account.", + "readOnly": true + }, + "scheduledPurgeDate": { + "type": "string", + "description": "The scheduled purge date, only available for deleted account.", + "readOnly": true + } + }, + "description": "Properties of Cognitive Services account." + }, + "ApiProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "properties": { + "qnaRuntimeEndpoint": { + "type": "string", + "description": "(QnAMaker Only) The runtime endpoint of QnAMaker." + }, + "qnaAzureSearchEndpointKey": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint key of QnAMaker." + }, + "qnaAzureSearchEndpointId": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint id 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 + }, + "aadClientId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Client Id (Application Id).", + "maxLength": 500 + }, + "aadTenantId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Tenant Id.", + "maxLength": 500 + }, + "superUser": { + "type": "string", + "description": "(Metrics Advisor Only) The super user of Metrics Advisor.", + "maxLength": 500 + }, + "websiteName": { + "type": "string", + "description": "(Metrics Advisor Only) The website name of Metrics Advisor.", + "maxLength": 500 + } + }, + "description": "The api properties for special APIs." + }, + "CallRateLimit": { + "type": "object", + "properties": { + "count": { + "type": "number", + "description": "The count value of Call Rate Limit." + }, + "renewalPeriod": { + "type": "number", + "description": "The renewal period in seconds of Call Rate Limit." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + }, + "x-ms-identifiers": [ + "key" + ] + } + }, + "description": "The call rate limit Cognitive Services account." + }, + "QuotaLimit": { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "renewalPeriod": { + "type": "number" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + }, + "x-ms-identifiers": [ + "key" + ] + } + } + }, + "ThrottlingRule": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "renewalPeriod": { + "type": "number" + }, + "count": { + "type": "number" + }, + "minCount": { + "type": "number" + }, + "dynamicThrottlingEnabled": { + "type": "boolean" + }, + "matchPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/RequestMatchPattern" + }, + "x-ms-identifiers": [ + "path", + "method" + ] + } + } + }, + "RequestMatchPattern": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "method": { + "type": "string" + } + } + }, + "ApiKeys": { + "type": "object", + "properties": { + "key1": { + "type": "string", + "description": "Gets the value of key 1." + }, + "key2": { + "type": "string", + "description": "Gets the value of key 2." + } + }, + "description": "The access keys for the cognitive services account." + }, + "SkuChangeInfo": { + "type": "object", + "properties": { + "countOfDowngrades": { + "type": "number", + "description": "Gets the count of downgrades." + }, + "countOfUpgradesAfterDowngrades": { + "type": "number", + "description": "Gets the count of upgrades after downgrades." + }, + "lastChangeDate": { + "type": "string", + "description": "Gets the last change date." + } + }, + "description": "Sku change info of account." + }, + "RegenerateKeyParameters": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "key name to generate (Key1|Key2)", + "enum": [ + "Key1", + "Key2" + ], + "x-ms-enum": { + "name": "KeyName", + "modelAsString": false + } + } + }, + "required": [ + "keyName" + ], + "description": "Regenerate key parameters." + }, + "AccountSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountSku" + }, + "x-ms-identifiers": [ + "sku/name", + "resourceType" + ], + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of Cognitive Services account." + } + }, + "description": "Cognitive Services resource type and SKU." + }, + "UsageListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of usages for Cognitive Service account." + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "type": "object", + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "number", + "format": "double", + "description": "Maximum value for this metric." + }, + "currentValue": { + "type": "number", + "format": "double", + "description": "Current value for this metric." + }, + "nextResetTime": { + "type": "string", + "description": "Next reset time for current quota." + }, + "status": { + "type": "string", + "description": "Cognitive Services account quota usage status.", + "enum": [ + "Included", + "Blocked", + "InOverage", + "Unknown" + ], + "x-ms-enum": { + "name": "QuotaUsageStatus", + "modelAsString": true + } + } + }, + "description": "The usage data for a usage request." + }, + "MetricName": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "UnitType": { + "type": "string", + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "CheckSkuAvailabilityParameter": { + "type": "object", + "description": "Check SKU availability parameter.", + "properties": { + "skus": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuName" + }, + "description": "The SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + } + }, + "required": [ + "skus", + "kind", + "type" + ] + }, + "SkuAvailabilityListResult": { + "type": "object", + "description": "Check SKU availability result list.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuAvailability" + }, + "x-ms-identifiers": [ + "skuName", + "type", + "kind" + ], + "description": "Check SKU availability result list." + } + } + }, + "SkuAvailability": { + "type": "object", + "description": "SKU availability.", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "skuName": { + "$ref": "#/definitions/SkuName", + "description": "The SKU of Cognitive Services account." + }, + "skuAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "message": { + "type": "string", + "description": "Additional error message." + } + } + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SkuCapability." + }, + "value": { + "type": "string", + "description": "The value of the SkuCapability." + } + }, + "description": "SkuCapability indicates the capability of a certain feature." + }, + "CheckDomainAvailabilityParameter": { + "type": "object", + "description": "Check Domain availability parameter.", + "properties": { + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + } + }, + "required": [ + "subdomainName", + "type" + ] + }, + "DomainAvailability": { + "type": "object", + "description": "Domain availability.", + "properties": { + "isSubdomainAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + } + } + }, + "ResourceSkuRestrictions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions.", + "enum": [ + "Location", + "Zone" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": false + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "The information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes restrictions of a SKU." + }, + "ResourceSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of Cognitive Services account." + }, + "kind": { + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "x-ms-identifiers": [], + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available Cognitive Services SKU." + }, + "ResourceSkuRestrictionInfo": { + "type": "object", + "properties": { + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Locations where the SKU is restricted" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is restricted." + } + } + }, + "ResourceSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "x-ms-identifiers": [ + "resourceType", + "name", + "kind" + ], + "description": "The list of skus available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Skus." + } + }, + "required": [ + "value" + ], + "description": "The Get Skus operation response." + }, + "NetworkRuleSet": { + "type": "object", + "properties": { + "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.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IpRule" + }, + "x-ms-identifiers": [], + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility." + }, + "IpRule": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility from a specific ip address or ip range." + }, + "VirtualNetworkRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + }, + "state": { + "type": "string", + "description": "Gets the state of virtual network rule." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Ignore missing vnet service endpoint or not." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility from a specific virtual network." + }, + "Identity": { + "type": "object", + "description": "Identity for the resource.", + "properties": { + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "userAssignedIdentities": { + "description": "The list of user assigned 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}", + "type": "object", + "additionalProperties": { + "description": "User-assigned managed identity.", + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "description": "User-assigned managed identity.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "Azure Active Directory principal ID associated with this Identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "Client App Id associated with this identity." + } + } + }, + "Encryption": { + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" + }, + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.CognitiveServices", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": true + } + } + }, + "description": "Properties to configure Encryption" + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVersion": { + "type": "string", + "description": "Version of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + }, + "identityClientId": { + "type": "string" + } + }, + "description": "Properties to configure keyVault Properties" + }, + "UserOwnedStorage": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Full resource id of a Microsoft.Storage resource." + }, + "identityClientId": { + "type": "string" + } + }, + "description": "The user owned storage for Cognitive Services account." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "A list of private endpoint connections" + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "location": { + "type": "string", + "description": "The location of the private endpoint connection" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + }, + "groupIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource group ids." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + }, + "displayName": { + "description": "The private link resource display name.", + "type": "string", + "readOnly": true + } + }, + "description": "Properties of a private link resource." + }, + "DeploymentListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Deployment.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Deployment" + }, + "description": "Gets the list of Cognitive Services accounts Deployment and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "Deployment": { + "description": "Cognitive Services account deployment.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "Properties of Cognitive Services account deployment." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "DeploymentProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the resource at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded" + ], + "x-ms-enum": { + "name": "DeploymentProvisioningState", + "modelAsString": true + } + }, + "model": { + "type": "object", + "$ref": "#/definitions/DeploymentModel" + }, + "scaleSettings": { + "type": "object", + "$ref": "#/definitions/DeploymentScaleSettings" + } + }, + "description": "Properties of Cognitive Services account deployment." + }, + "DeploymentModel": { + "type": "object", + "properties": { + "format": { + "type": "string", + "description": "Deployment model format." + }, + "name": { + "type": "string", + "description": "Deployment model name." + }, + "version": { + "type": "string", + "description": "Deployment model version." + } + }, + "description": "Properties of Cognitive Services account deployment model." + }, + "DeploymentScaleSettings": { + "type": "object", + "properties": { + "scaleType": { + "type": "string", + "description": "Deployment scale type.", + "enum": [ + "Manual" + ], + "x-ms-enum": { + "name": "DeploymentScaleType", + "modelAsString": true + } + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Deployment capacity." + }, + "activeCapacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Deployment active capacity. This value might be different from `capacity` if customer recently updated `capacity`." + } + }, + "description": "Properties of Cognitive Services account deployment model." + }, + "CommitmentTierListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentTier.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentTier" + }, + "x-ms-identifiers": [ + "kind", + "tier", + "skuName", + "hostingModel", + "planType" + ], + "description": "Gets the list of Cognitive Services accounts CommitmentTier and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentTier": { + "description": "Cognitive Services account commitment tier.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "skuName": { + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" + }, + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment max count." + }, + "quota": { + "type": "object", + "$ref": "#/definitions/CommitmentQuota" + }, + "cost": { + "type": "object", + "$ref": "#/definitions/CommitmentCost" + } + } + }, + "CommitmentQuota": { + "type": "object", + "properties": { + "quantity": { + "type": "integer", + "format": "int64", + "description": "Commitment quota quantity." + }, + "unit": { + "type": "string", + "description": "Commitment quota unit." + } + }, + "description": "Cognitive Services account commitment quota." + }, + "CommitmentCost": { + "type": "object", + "properties": { + "commitmentMeterId": { + "type": "string", + "description": "Commitment meter Id." + }, + "overageMeterId": { + "type": "string", + "description": "Overage meter Id." + } + }, + "description": "Cognitive Services account commitment cost." + }, + "CommitmentPlanListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of CommitmentPlan.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CommitmentPlan" + }, + "description": "Gets the list of Cognitive Services accounts CommitmentPlan and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "CommitmentPlan": { + "description": "Cognitive Services account commitment plan.", + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "Resource Etag." + }, + "properties": { + "$ref": "#/definitions/CommitmentPlanProperties", + "description": "Properties of Cognitive Services account commitment plan." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "CommitmentPlanProperties": { + "type": "object", + "properties": { + "hostingModel": { + "$ref": "#/definitions/HostingModel", + "description": "Account hosting model." + }, + "planType": { + "type": "string", + "description": "Commitment plan type." + }, + "current": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod" + }, + "autoRenew": { + "type": "boolean", + "description": "AutoRenew commitment plan." + }, + "next": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod" + }, + "last": { + "type": "object", + "$ref": "#/definitions/CommitmentPeriod", + "readOnly": true + } + }, + "description": "Properties of Cognitive Services account commitment plan." + }, + "HostingModel": { + "type": "string", + "description": "Account hosting model.", + "enum": [ + "Web", + "ConnectedContainer", + "DisconnectedContainer" + ], + "x-ms-enum": { + "name": "HostingModel", + "modelAsString": true + } + }, + "CommitmentPeriod": { + "type": "object", + "properties": { + "tier": { + "type": "string", + "description": "Commitment period commitment tier." + }, + "count": { + "type": "integer", + "format": "int32", + "description": "Commitment period commitment count." + }, + "quota": { + "type": "object", + "$ref": "#/definitions/CommitmentQuota", + "readOnly": true + }, + "startDate": { + "type": "string", + "description": "Commitment period start date.", + "readOnly": true + }, + "endDate": { + "type": "string", + "description": "Commitment period end date.", + "readOnly": true + } + }, + "description": "Cognitive Services account commitment period." + }, + "AccountModelListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Model.", + "type": "string" + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountModel" + }, + "x-ms-identifiers": [ + "name", + "format", + "version" + ], + "description": "Gets the list of Cognitive Services accounts Model and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountModel": { + "description": "Cognitive Services account Model.", + "type": "object", + "properties": { + "baseModel": { + "type": "object", + "description": "Base Model Identifier.", + "$ref": "#/definitions/DeploymentModel" + }, + "maxCapacity": { + "type": "integer", + "format": "int32", + "description": "The max capacity." + }, + "capabilities": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The capabilities." + }, + "deprecation": { + "type": "object", + "$ref": "#/definitions/ModelDeprecationInfo" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentModel" + } + ] + }, + "ModelDeprecationInfo": { + "description": "Cognitive Services account ModelDeprecationInfo.", + "type": "object", + "properties": { + "fineTune": { + "type": "string", + "description": "The datetime of deprecation of the fineTune Model." + }, + "inference": { + "type": "string", + "description": "The datetime of deprecation of the inference Model." + } + } + } + }, + "parameters": { + "accountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of Cognitive Services account.", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "Resource location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "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).", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "deploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deployment associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + }, + "commitmentPlanNameParameter": { + "name": "commitmentPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the commitmentPlan associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckDomainAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckDomainAvailability.json new file mode 100644 index 000000000000..262e5dab940e --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckDomainAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "isSubdomainAvailable": false, + "reason": "Sub domain name 'contosodemoapp1' is not valid", + "subdomainName": "contosodemoapp1", + "type": "Microsoft.CognitiveServices/accounts" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckSkuAvailability.json new file mode 100644 index 000000000000..15cb8adb4ba7 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CheckSkuAvailability.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "westus", + "parameters": { + "skus": [ + "S0" + ], + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Face", + "type": "Microsoft.CognitiveServices/accounts", + "skuName": "S0", + "skuAvailable": true, + "reason": null, + "message": null + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccount.json new file mode 100644 index 000000000000..e259a7ad23d4 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccount.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "Emotion", + "sku": { + "name": "S0" + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyName": "KeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + }, + "keySource": "Microsoft.KeyVault" + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/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", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/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", + "encryption": { + "keySource": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyName": "FakeKeyName", + "keyVersion": "891CF236-D241-4738-9462-D506AF493DFA", + "keyVaultUri": "https://pltfrmscrts-use-pc-dev.vault.azure.net/" + } + }, + "userOwnedStorage": [ + { + "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount" + } + ] + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccountMin.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccountMin.json new file mode 100644 index 000000000000..fe60caedd813 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/CreateAccountMin.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "testCreate1", + "account": { + "location": "West US", + "kind": "CognitiveServices", + "sku": { + "name": "S0" + }, + "properties": {}, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/testCreate1", + "name": "testCreate1", + "type": "Microsoft.CognitiveServices/accounts", + "location": "West US", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-10T08%3A00%3A05.445595Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/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" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "202": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/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" + }, + "identity": { + "principalId": "b5cf119e-a5c2-42c7-802f-592e0efb169f", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteAccount.json new file mode 100644 index 000000000000..2d9e9c78a6d0 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteAccount.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteCommitmentPlan.json new file mode 100644 index 000000000000..399e8198c515 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteCommitmentPlan.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteDeployment.json new file mode 100644 index 000000000000..d2f397dc875a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeleteDeployment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeletePrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..561f20988677 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/DeletePrivateEndpointConnection.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2022-03-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetAccount.json new file mode 100644 index 000000000000..66c8b5328eb1 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetAccount.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetCommitmentPlan.json new file mode 100644 index 000000000000..2fd9ef1a6355 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetCommitmentPlan.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeletedAccount.json new file mode 100644 index 000000000000..d49b0e99b2a3 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeletedAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.CognitiveServices/locations/westus/resourceGroups/myResourceGroup/deletedAccounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeployment.json new file mode 100644 index 000000000000..62004a7d9da1 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetDeployment.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetOperations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetOperations.json new file mode 100644 index 000000000000..a4685a4092d8 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetOperations.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.CognitiveServices/accounts/read", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Read API Account", + "description": "Reads API accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/write", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Write API Account", + "description": "Writes API Accounts." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.CognitiveServices/accounts/delete", + "display": { + "provider": "Microsoft Cognitive Services", + "resource": "Cognitive Services API Account", + "operation": "Delete API Account", + "description": "Deletes API accounts" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..0eff84b98789 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2022-03-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetSkus.json new file mode 100644 index 000000000000..82f8c4c69d1f --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetSkus.json @@ -0,0 +1,2164 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "f1c637e4-72ec-4f89-8d2b-0f933c036002" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Bing.Speech", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "SpeechTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextTranslation", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S5", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S6", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S7", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S8", + "tier": "Standard", + "kind": "Bing.Search.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.Autosuggest.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.CustomSearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.SpellCheck.v7", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "Bing.EntitySearch", + "locations": [ + "GLOBAL" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "AUSTRALIAEAST" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "BRAZILSOUTH" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "CENTRALUSEUAP" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "SpeakerRecognition", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "CustomSpeech", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "NORTHEUROPE" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHEASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTASIA" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "WESTCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Training", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "CustomVision.Prediction", + "locations": [ + "SOUTHCENTRALUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "ContentModerator", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "Face", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "LUIS", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "ComputerVision", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "F0", + "tier": "Free", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S0", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S1", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S2", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S3", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + }, + { + "resourceType": "accounts", + "name": "S4", + "tier": "Standard", + "kind": "TextAnalytics", + "locations": [ + "EASTUS2" + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetUsages.json new file mode 100644 index 000000000000..f77163b9246e --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/GetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "5a4f5c2e-6983-4ccb-bd34-2196d5b5bbd3", + "resourceGroupName": "myResourceGroup", + "accountName": "TestUsage02" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": { + "value": "Face.Transactions", + "localizedValue": "Face.Transactions" + }, + "status": "Included", + "currentValue": 3, + "limit": 30000, + "nextResetTime": "2018-03-28T09:33:51Z", + "quotaPeriod": "30.00:00:00", + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountModels.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountModels.json new file mode 100644 index 000000000000..c22e46cd72c6 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountModels.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "location": "location", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "baseModel": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "format": "OpenAI", + "name": "ada.1", + "version": "1", + "maxCapacity": 10, + "capabilities": { + "fineTune": "true" + }, + "deprecation": { + "fineTune": "2024-01-01T00:00:00Z", + "inference": "2024-01-01T00:00:00Z" + } + }, + { + "format": "OpenAI", + "name": "davinci", + "version": "1", + "maxCapacity": 10, + "capabilities": { + "fineTune": "true" + }, + "deprecation": { + "fineTune": "2024-01-01T00:00:00Z", + "inference": "2024-01-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsByResourceGroup.json new file mode 100644 index 000000000000..242fa1d29bab --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myAccount", + "name": "myAccount", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "F0" + }, + "kind": "Emotion", + "tags": { + "Owner": "felixwa", + "ExpiredDate": "2017/09/01" + }, + "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/TestPropertyWU2", + "name": "TestPropertyWU2", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "tags": {}, + "etag": "W/\"datetime'2017-04-07T04%3A32%3A38.9187216Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsBySubscription.json new file mode 100644 index 000000000000..ff14349be335 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListAccountsBySubscription.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/bingSearch", + "name": "bingSearch", + "type": "Microsoft.CognitiveServices/accounts", + "location": "global", + "sku": { + "name": "S1" + }, + "kind": "Bing.Search", + "etag": "W/\"datetime'2017-03-27T11%3A19%3A08.762494Z'\"", + "properties": { + "endpoint": "https://api.cognitive.microsoft.com/bing/v5.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/CrisProd", + "name": "CrisProd", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "CRIS", + "tags": { + "can't delete it successfully": "v-yunjin" + }, + "etag": "W/\"datetime'2017-03-31T08%3A57%3A07.4499566Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/sts/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/rayrptest0308", + "name": "rayrptest0308", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Face", + "etag": "W/\"datetime'2017-03-27T11%3A15%3A23.5232645Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/face/v1.0", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/bvttest/providers/Microsoft.CognitiveServices/accounts/raytest02", + "name": "raytest02", + "type": "Microsoft.CognitiveServices/accounts", + "location": "westus", + "sku": { + "name": "S0" + }, + "kind": "Emotion", + "etag": "W/\"datetime'2017-04-04T02%3A07%3A07.3957572Z'\"", + "properties": { + "endpoint": "https://westus.api.cognitive.microsoft.com/emotion/v1.0", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentPlans.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentPlans.json new file mode 100644 index 000000000000..da296340ff5a --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentPlans.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentTiers.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentTiers.json new file mode 100644 index 000000000000..2dfd34052600 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListCommitmentTiers.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "location": "location" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "TextAnalytics", + "skuName": "S", + "hostingModel": "Web", + "planType": "TA", + "tier": "T1", + "quota": { + "quantity": 1000000, + "unit": "Transaction" + }, + "cost": {} + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListDeployments.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListDeployments.json new file mode 100644 index 000000000000..5b32241fc13d --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListDeployments.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListKeys.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListKeys.json new file mode 100644 index 000000000000..b87dd3294835 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateEndpointConnections.json new file mode 100644 index 000000000000..0c588535d003 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateLinkResources.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..9a2be050905b --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.CognitiveServices/accounts/sto2527/privateLinkResources/account", + "name": "blob", + "type": "Microsoft.CognitiveServices/accounts/privateLinkResources", + "properties": { + "groupId": "account", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.cognitiveservices.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListSkus.json new file mode 100644 index 000000000000..a93a3770f3e5 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/ListSkus.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "F0", + "tier": "Free" + } + }, + { + "resourceType": "Microsoft.CognitiveServices/accounts", + "sku": { + "name": "S0", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PurgeDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PurgeDeletedAccount.json new file mode 100644 index 000000000000..1bf09b508a92 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PurgeDeletedAccount.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "PropTest01", + "location": "westus" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutCommitmentPlan.json new file mode 100644 index 000000000000..93f0d1633357 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutCommitmentPlan.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "commitmentPlanName": "commitmentPlanName", + "commitmentPlan": { + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName", + "name": "commitmentPlanName", + "type": "Microsoft.CognitiveServices/accounts/commitmentPlans", + "properties": { + "hostingModel": "Web", + "planType": "Speech2Text", + "autoRenew": true, + "current": { + "tier": "T1" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutDeployment.json new file mode 100644 index 000000000000..f6bdd1aa2981 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutDeployment.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "subscriptionId", + "resourceGroupName": "resourceGroupName", + "accountName": "accountName", + "deploymentName": "deploymentName", + "deployment": { + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName", + "name": "deploymentName", + "type": "Microsoft.CognitiveServices/accounts/deployments", + "properties": { + "model": { + "format": "OpenAI", + "name": "ada", + "version": "1" + }, + "scaleSettings": { + "scaleType": "Manual", + "capacity": 1 + }, + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..65289f2c7bd0 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/PutPrivateEndpointConnection.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2022-03-01", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + }, + "202": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/RegenerateKey.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/RegenerateKey.json new file mode 100644 index 000000000000..7daf873b8d88 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "myResourceGroup", + "accountName": "myAccount", + "parameters": { + "keyName": "Key2" + } + }, + "responses": { + "200": { + "body": { + "key1": "KEY1", + "key2": "KEY2" + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/UpdateAccount.json new file mode 100644 index 000000000000..046bfb501c63 --- /dev/null +++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2022-03-01/examples/UpdateAccount.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "bvttest", + "accountName": "bingSearch", + "account": { + "location": "global", + "sku": { + "name": "S2" + } + } + }, + "responses": { + "200": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/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" + } + } + }, + "202": { + "headers": { + "azure-AsyncOperation": "http://azure.async.operation/status" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/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" + } + } + } + } +} diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md index 2ba2d446bbea..424341e5c2dc 100644 --- a/specification/cognitiveservices/resource-manager/readme.md +++ b/specification/cognitiveservices/resource-manager/readme.md @@ -30,18 +30,27 @@ These are the global settings for the CognitiveServices API. ``` yaml openapi-type: arm -tag: package-2021-10 +tag: package-2022-03 ``` +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: + - Microsoft.CognitiveServices/stable/2022-03-01/cognitiveservices.json +``` ### Tag: package-2021-10 These settings apply only when `--tag=package-2021-10` is specified on the command line. -```yaml $(tag) == 'package-2021-10' +``` yaml $(tag) == 'package-2021-10' input-file: - Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json ``` + ### Tag: package-2021-04 These settings apply only when `--tag=package-2021-04` is specified on the command line. diff --git a/specification/cognitiveservices/resource-manager/readme.python.md b/specification/cognitiveservices/resource-manager/readme.python.md index df7348bac398..4279eb97f76b 100644 --- a/specification/cognitiveservices/resource-manager/readme.python.md +++ b/specification/cognitiveservices/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.cognitiveservices @@ -14,11 +13,7 @@ package-version: 11.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices/azure/mgmt/cognitiveservices ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/cognitiveservices/azure-mgmt-cognitiveservices -``` diff --git a/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json b/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json index 990fcbfdfaed..9d532d1f748e 100644 --- a/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json +++ b/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json @@ -301,6 +301,9 @@ "items": { "$ref": "#/definitions/OfferTermInfo" }, + "x-ms-identifiers": [ + "Name" + ], "description": "A list of offer terms." }, "Meters": { @@ -308,6 +311,9 @@ "items": { "$ref": "#/definitions/MeterInfo" }, + "x-ms-identifiers": [ + "MeterId" + ], "description": "A list of meters." } } diff --git a/specification/commerce/resource-manager/readme.python.md b/specification/commerce/resource-manager/readme.python.md index a89b9c1df3a8..b5535bf39614 100644 --- a/specification/commerce/resource-manager/readme.python.md +++ b/specification/commerce/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-commerce @@ -23,7 +23,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/ -clear-output-folder: false perform-load: false ``` @@ -37,7 +36,7 @@ namespace: azure.mgmt.commerce.v2015_06_01_preview output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview ``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true directive: diff --git a/specification/common-types/resource-management/v1/types.json b/specification/common-types/resource-management/v1/types.json index 8a817487e2b9..71216592bf7c 100644 --- a/specification/common-types/resource-management/v1/types.json +++ b/specification/common-types/resource-management/v1/types.json @@ -308,6 +308,10 @@ "items": { "$ref": "#/definitions/ErrorResponse" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The error details." }, "additionalInfo": { @@ -316,6 +320,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } @@ -414,6 +419,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the resource provider", "readOnly": true }, diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json index a6224050586b..a1d7f19f1588 100644 --- a/specification/common-types/resource-management/v2/types.json +++ b/specification/common-types/resource-management/v2/types.json @@ -307,6 +307,10 @@ "items": { "$ref": "#/definitions/ErrorDetail" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The error details." }, "additionalInfo": { @@ -315,6 +319,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } @@ -424,6 +429,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the resource provider", "readOnly": true }, diff --git a/specification/common-types/resource-management/v3/types.json b/specification/common-types/resource-management/v3/types.json index 3785f8b346c7..f7a519b41239 100644 --- a/specification/common-types/resource-management/v3/types.json +++ b/specification/common-types/resource-management/v3/types.json @@ -316,6 +316,10 @@ "items": { "$ref": "#/definitions/ErrorDetail" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The error details." }, "additionalInfo": { @@ -324,6 +328,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } @@ -433,6 +438,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the resource provider", "readOnly": true }, diff --git a/specification/common-types/rfcs/rfc7517.json b/specification/common-types/rfcs/rfc7517.json index 1456a46331cc..c1032a754504 100644 --- a/specification/common-types/rfcs/rfc7517.json +++ b/specification/common-types/rfcs/rfc7517.json @@ -93,7 +93,8 @@ "type": "array", "items": { "$ref": "#/definitions/JSONWebKey" - } + }, + "x-ms-identifiers": [] } } } diff --git a/specification/communication/data-plane/Chat/readme.md b/specification/communication/data-plane/Chat/readme.md index 56f3e4264c78..5282b7e98290 100644 --- a/specification/communication/data-plane/Chat/readme.md +++ b/specification/communication/data-plane/Chat/readme.md @@ -156,6 +156,8 @@ license-header: MICROSOFT_MIT_NO_VERSION add-credential: true generate-as-internal: > AzureCommunicationChatClient=ChatClientInternal + AzureCommunicationChatClientOptions=AzureCommunicationChatClientOptionsInternal + AddChatParticipantsRequest=AddChatParticipantsRequestInternal CreateChatThreadResult=CreateChatThreadResultInternal CreateChatThreadRequest=CreateChatThreadRequestInternal ChatMessage=ChatMessageInternal @@ -163,6 +165,8 @@ generate-as-internal: > ChatParticipant=ChatParticipantInternal ChatMessageReadReceipt=ChatMessageReadReceiptInternal ChatThreadProperties=ChatThreadPropertiesInternal + CommunicationIdentifierModel=CommunicationIdentifierModelInternal + UpdateChatThreadRequest=UpdateChatThreadRequestInternal directive: # Rename CommunicationError to ChatError - from: swagger-document diff --git a/specification/communication/data-plane/Identity/readme.md b/specification/communication/data-plane/Identity/readme.md index 80cb05161647..d0ce9e76594b 100644 --- a/specification/communication/data-plane/Identity/readme.md +++ b/specification/communication/data-plane/Identity/readme.md @@ -26,18 +26,27 @@ These are the global settings for the communicationservices. ``` yaml openapi-type: data-plane -tag: package-preview-2021-10 +tag: package-2022-06 ``` +### Tag: package-2022-06 + +These settings apply only when `--tag=package-2022-06` is specified on the command line. + +```yaml $(tag) == 'package-2022-06' +input-file: + - stable/2022-06-01/CommunicationIdentity.json +``` ### Tag: package-preview-2021-10 These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-10' +``` yaml $(tag) == 'package-preview-2021-10' input-file: - preview/2021-10-31-preview/CommunicationIdentity.json ``` + ### Tag: package-2020-07-20-preview2 These settings apply only when `--tag=package-2020-07-20-preview2` is specified on the command line. diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/CommunicationIdentity.json b/specification/communication/data-plane/Identity/stable/2022-06-01/CommunicationIdentity.json new file mode 100644 index 000000000000..53412ec99c58 --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/CommunicationIdentity.json @@ -0,0 +1,384 @@ +{ + "swagger": "2.0", + "info": { + "title": "CommunicationIdentityClient", + "description": "Azure Communication Identity Service", + "version": "2022-06-01" + }, + "paths": { + "/identities": { + "post": { + "tags": [ + "Identity" + ], + "summary": "Create a new identity, and optionally, an access token.", + "operationId": "CommunicationIdentity_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "If specified, creates also a Communication Identity access token associated with the identity and containing the requested scopes.", + "schema": { + "$ref": "#/definitions/CommunicationIdentityCreateRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "201": { + "description": "Created - Returns the created identity.", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessTokenResult" + } + } + }, + "x-ms-examples": { + "Create an Identity": { + "$ref": "./examples/CreateIdentity.json" + } + } + } + }, + "/identities/{id}": { + "delete": { + "tags": [ + "Identity" + ], + "summary": "Delete the identity, revoke all tokens for the identity and delete all associated data.", + "operationId": "CommunicationIdentity_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to be deleted.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Delete an identity": { + "$ref": "./examples/DeleteIdentity.json" + } + } + } + }, + "/identities/{id}/:revokeAccessTokens": { + "post": { + "tags": [ + "Identity" + ], + "summary": "Revoke all access tokens for the specific identity.", + "operationId": "CommunicationIdentity_RevokeAccessTokens", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "204": { + "description": "No Content" + } + }, + "x-ms-examples": { + "Revoke access tokens": { + "$ref": "./examples/RevokeAccessTokens.json" + } + } + } + }, + "/teamsUser/:exchangeAccessToken": { + "post": { + "tags": [ + "TeamsUser" + ], + "summary": "Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication Identity access token with a matching expiration time.", + "operationId": "CommunicationIdentity_ExchangeTeamsUserAccessToken", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Request payload for the token exchange.", + "required": true, + "schema": { + "$ref": "#/definitions/TeamsUserExchangeTokenRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "x-ms-examples": { + "Exchange a Teams user access token": { + "$ref": "./examples/ExchangeTeamsUserAccessToken.json" + } + } + } + }, + "/identities/{id}/:issueAccessToken": { + "post": { + "tags": [ + "Token" + ], + "summary": "Issue a new token for an identity.", + "operationId": "CommunicationIdentity_IssueAccessToken", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "id", + "description": "Identifier of the identity to issue token for.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "Requested scopes for the new token.", + "required": true, + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessTokenRequest" + } + } + ], + "responses": { + "default": { + "description": "Error", + "schema": { + "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse" + } + }, + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "x-ms-examples": { + "Issue an access token": { + "$ref": "./examples/IssueAccessToken.json" + } + } + } + } + }, + "definitions": { + "CommunicationIdentity": { + "description": "A communication identity.", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "Identifier of the identity.", + "type": "string" + } + } + }, + "CommunicationIdentityAccessToken": { + "description": "An access token.", + "required": [ + "expiresOn", + "token" + ], + "type": "object", + "properties": { + "token": { + "description": "The access token issued for the identity.", + "type": "string" + }, + "expiresOn": { + "format": "date-time", + "description": "The expiry time of the token.", + "type": "string" + } + } + }, + "CommunicationIdentityAccessTokenRequest": { + "required": [ + "scopes" + ], + "type": "object", + "properties": { + "scopes": { + "description": "List of scopes attached to the token.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentityTokenScope" + } + } + } + }, + "CommunicationIdentityAccessTokenResult": { + "description": "A communication identity with access token.", + "required": [ + "identity" + ], + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/CommunicationIdentity" + }, + "accessToken": { + "$ref": "#/definitions/CommunicationIdentityAccessToken" + } + } + }, + "CommunicationIdentityCreateRequest": { + "type": "object", + "properties": { + "createTokenWithScopes": { + "description": "Also create access token for the created identity.", + "type": "array", + "items": { + "$ref": "#/definitions/CommunicationIdentityTokenScope" + } + } + } + }, + "CommunicationIdentityTokenScope": { + "description": "List of scopes for an access token.", + "enum": [ + "chat", + "voip" + ], + "type": "string", + "x-ms-enum": { + "name": "CommunicationIdentityTokenScope", + "modelAsString": true + } + }, + "TeamsUserExchangeTokenRequest": { + "required": [ + "appId", + "token", + "userId" + ], + "type": "object", + "properties": { + "token": { + "description": "Azure AD access token of a Teams User to acquire a new Communication Identity access token.", + "type": "string" + }, + "appId": { + "description": "Client ID of an Azure AD application to be verified against the appid claim in the Azure AD access token.", + "type": "string" + }, + "userId": { + "description": "Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the Azure AD access token.", + "type": "string" + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Version of API to invoke.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "description": "The communication resource, for example https://my-resource.communication.azure.com", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + ] + } +} diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/CreateIdentity.json new file mode 100644 index 000000000000..4402102df0c8 --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/CreateIdentity.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-06-01", + "content-type": "application/json", + "endpoint": "https://my-resource.communication.azure.com", + "body": { + "createTokenWithScopes": [ + "chat" + ] + } + }, + "responses": { + "201": { + "body": { + "identity": { + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081" + }, + "accessToken": { + "token": "token", + "expiresOn": "2020-09-10T21:39:39.3244584+00:00" + } + } + } + } +} diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/DeleteIdentity.json new file mode 100644 index 000000000000..898dfba55aed --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/DeleteIdentity.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2022-06-01", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/examples/ExchangeTeamsUserAccessToken.json b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/ExchangeTeamsUserAccessToken.json new file mode 100644 index 000000000000..275ba233f04f --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/ExchangeTeamsUserAccessToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-06-01", + "content-type": "application/json", + "body": { + "token": "AzureActiveDirectoryAccessTokenOfATeamsUser", + "appId": "2c3e1e83-8fd7-4615-ad2b-b8c1229845ac", + "userId": "32c0a5db-05ec-78ea-51ab-3f06b329397e" + }, + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "200": { + "body": { + "token": "CommunicationIdentityAccessToken", + "expiresOn": "2021-09-10T21:39:39.3244584+00:00" + } + } + } +} diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/IssueAccessToken.json new file mode 100644 index 000000000000..07b834a3c81e --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/IssueAccessToken.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-06-01", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "body": { + "scopes": [ + "chat" + ] + }, + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "200": { + "body": { + "token": "token", + "expiresOn": "2020-09-10T21:39:39.3244584+00:00" + } + } + } +} diff --git a/specification/communication/data-plane/Identity/stable/2022-06-01/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/RevokeAccessTokens.json new file mode 100644 index 000000000000..898dfba55aed --- /dev/null +++ b/specification/communication/data-plane/Identity/stable/2022-06-01/examples/RevokeAccessTokens.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2022-06-01", + "content-type": "application/json", + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "endpoint": "https://my-resource.communication.azure.com" + }, + "responses": { + "204": {} + } +} diff --git a/specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/CommunicationNetworkTraversal.json b/specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/CommunicationNetworkTraversal.json similarity index 94% rename from specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/CommunicationNetworkTraversal.json rename to specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/CommunicationNetworkTraversal.json index 062d64ae1eed..93ac16ee59d9 100644 --- a/specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/CommunicationNetworkTraversal.json +++ b/specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/CommunicationNetworkTraversal.json @@ -3,7 +3,7 @@ "info": { "title": "CommunicationNetworkTraversalClient", "description": "Azure Communication Network Traversal Service", - "version": "2022-02-01" + "version": "2022-03-01-preview" }, "paths": { "/networkTraversal/:issueRelayConfiguration": { @@ -66,6 +66,14 @@ "routeType": { "description": "Filter the routing methodology returned. If not provided, will return all route types in separate ICE servers.", "$ref": "#/definitions/RouteType" + }, + "ttl": { + "type": "integer", + "format": "int32", + "description": "The credential Time-To-Live (TTL), in seconds. The default value will be used if given value exceeds it.", + "minimum": 0, + "maximum": 172800, + "default": 172800 } } }, @@ -140,9 +148,6 @@ "name": "api-version", "description": "Version of API to invoke.", "required": true, - "enum": [ - "2022-02-01" - ], "type": "string" } }, diff --git a/specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/examples/IssueRelayConfiguration.json b/specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/examples/IssueRelayConfiguration.json similarity index 81% rename from specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/examples/IssueRelayConfiguration.json rename to specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/examples/IssueRelayConfiguration.json index 3264ddc9e800..5c289c7779b2 100644 --- a/specification/communication/data-plane/NetworkTraversal/stable/2022-02-01/examples/IssueRelayConfiguration.json +++ b/specification/communication/data-plane/NetworkTraversal/preview/2022-03-01-preview/examples/IssueRelayConfiguration.json @@ -1,16 +1,17 @@ { "parameters": { - "api-version": "2022-02-01", + "api-version": "2022-03-01-preview", "content-type": "application/json", "body": { - "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081" + "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081", + "ttl": 3600 }, "endpoint": "https://my-resource.communication.azure.com" }, "responses": { "200": { "body": { - "expiresOn": "2022-01-10T21:39:39.3244584+00:00", + "expiresOn": "2022-03-01T21:39:39.3244584+00:00", "iceServers": [ { "urls": [ diff --git a/specification/communication/data-plane/NetworkTraversal/readme.md b/specification/communication/data-plane/NetworkTraversal/readme.md index 1e19106b9ffd..0d96222c87ab 100644 --- a/specification/communication/data-plane/NetworkTraversal/readme.md +++ b/specification/communication/data-plane/NetworkTraversal/readme.md @@ -58,17 +58,15 @@ input-file: - preview/2021-10-08-preview/CommunicationNetworkTraversal.json ``` -### Tag: package-2022-02-01 +### Tag: package-2022-03-01-preview -These settings apply only when `--tag=package-2022-02-01` is specified on the command line. +These settings apply only when `--tag=package-2022-03-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2022-02-01' +```yaml $(tag) == 'package-2022-03-01-preview' input-file: - - stable/2022-02-01/CommunicationNetworkTraversal.json + - preview/2022-03-01-preview/CommunicationNetworkTraversal.json ``` ---- - # Code Generation ## Swagger to SDK diff --git a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json index 33b5c40e5fef..d70c54fc6460 100644 --- a/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json +++ b/specification/communication/resource-manager/Microsoft.Communication/preview/2020-08-20-preview/CommunicationService.json @@ -667,7 +667,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -739,7 +742,11 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name", + "category" + ] } } }, @@ -791,7 +798,10 @@ "type": "array", "items": { "$ref": "#/definitions/Dimension" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/communication/resource-manager/readme.md b/specification/communication/resource-manager/readme.md index e82459c1b000..80d8d90a8f11 100644 --- a/specification/communication/resource-manager/readme.md +++ b/specification/communication/resource-manager/readme.md @@ -84,3 +84,8 @@ See configuration in [readme.go.md](./readme.go.md) ## Typescript See configuration in [readme.typescript.md](./readme.typescript.md) + + +## Comments and notes +x-ms-identifiers will become a requirement on every RP resource. To add it, [check here](https://github.com/Azure/autorest/tree/main/docs/extensions#x-ms-identifiers). +For more info, reach out to the @changeanalysisteam. \ No newline at end of file diff --git a/specification/communication/resource-manager/readme.python.md b/specification/communication/resource-manager/readme.python.md index 8ca7562f6b9e..44010bec742a 100644 --- a/specification/communication/resource-manager/readme.python.md +++ b/specification/communication/resource-manager/readme.python.md @@ -5,20 +5,16 @@ Please also specify `--python-sdks-folder=.." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "galleryImageVersion", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "Parameters supplied to the create or update gallery image version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "202": { + "description": "Accepted", + "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": { + "Create or update a simple Gallery Image Version using managed image as source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersion.json" + }, + "Create or update a simple Gallery Image Version using snapshots as a source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Create or update a simple Gallery Image Version using VM as source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithVMAsSource.json" + }, + "Create or update a simple Gallery Image Version using shared image as source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithImageVersionAsSource.json" + }, + "Create or update a simple Gallery Image Version using mix of disks and snapshots as a source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Create or update a simple Gallery Image Version using vhd as a source.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json" + }, + "Create or update a simple Gallery Image Version using shallow replication mode.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithShallowReplicationMode.json" + }, + "Create or update a simple gallery image version with target extended locations specified.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryImageVersionWithTargetExtendedLocations.json" + } + } + }, + "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/gallery/UpdateASimpleGalleryImageVersion.json" + }, + "Update a simple Gallery Image Version without source id.": { + "$ref": "./examples/gallery/UpdateASimpleGalleryImageVersionWithoutSourceId.json" + } + } + }, + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Get", + "description": "Retrieves information about 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 resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery image version.": { + "$ref": "./examples/gallery/GetAGalleryImageVersion.json" + }, + "Get a gallery image version with replication status.": { + "$ref": "./examples/gallery/GetAGalleryImageVersionWithReplicationStatus.json" + }, + "Get a gallery image version with snapshots as a source.": { + "$ref": "./examples/gallery/GetAGalleryImageVersionWithSnapshotsAsSource.json" + }, + "Get a gallery image version with vhd as a source.": { + "$ref": "./examples/gallery/GetAGalleryImageVersionWithVhdAsSource.json" + } + } + }, + "delete": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_Delete", + "description": "Delete 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 resides." + }, + { + "name": "galleryImageVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery image version to be deleted." + }, + { + "$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, + "x-ms-examples": { + "Delete a gallery image version.": { + "$ref": "./examples/gallery/DeleteAGalleryImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}": { + "put": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_CreateOrUpdate", + "description": "Create or 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 created." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be created or 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/GalleryApplication" + }, + "description": "Parameters supplied to the create or update gallery Application operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "202": { + "description": "Accepted", + "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": { + "Create or update a simple gallery Application.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryApplication.json" + } + } + }, + "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/gallery/UpdateASimpleGalleryApplication.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Get", + "description": "Retrieves information about 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 from which the Application Definitions are to be retrieved." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplication" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application.": { + "$ref": "./examples/gallery/GetAGalleryApplication.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_Delete", + "description": "Delete a gallery Application.", + "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 deleted." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Definition to be deleted." + }, + { + "$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, + "x-ms-examples": { + "Delete a gallery Application.": { + "$ref": "./examples/gallery/DeleteAGalleryApplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions/{galleryApplicationVersionName}": { + "put": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_CreateOrUpdate", + "description": "Create or 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 created." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be created. 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/GalleryApplicationVersion" + }, + "description": "Parameters supplied to the create or update gallery Application Version operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "202": { + "description": "Accepted", + "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": { + "Create or update a simple gallery Application Version.": { + "$ref": "./examples/gallery/CreateOrUpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "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/gallery/UpdateASimpleGalleryApplicationVersion.json" + } + } + }, + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Get", + "description": "Retrieves information about 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 resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be retrieved." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation.", + "enum": [ + "ReplicationStatus" + ], + "x-ms-enum": { + "name": "ReplicationStatusTypes", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a gallery Application Version.": { + "$ref": "./examples/gallery/GetAGalleryApplicationVersion.json" + }, + "Get a gallery Application Version with replication status.": { + "$ref": "./examples/gallery/GetAGalleryApplicationVersionWithReplicationStatus.json" + } + } + }, + "delete": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_Delete", + "description": "Delete 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 resides." + }, + { + "name": "galleryApplicationVersionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery Application Version to be deleted." + }, + { + "$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, + "x-ms-examples": { + "Delete a gallery Application Version.": { + "$ref": "./examples/gallery/DeleteAGalleryApplicationVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_ListByResourceGroup", + "description": "List galleries under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a resource group.": { + "$ref": "./examples/gallery/ListGalleriesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "operationId": "Galleries_List", + "description": "List galleries under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List galleries in a subscription.": { + "$ref": "./examples/gallery/ListGalleriesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images": { + "get": { + "tags": [ + "GalleryImages" + ], + "operationId": "GalleryImages_ListByGallery", + "description": "List gallery image definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery from which Image Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery images in a gallery.": { + "$ref": "./examples/gallery/ListGalleryImagesInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions": { + "get": { + "tags": [ + "GalleryImageVersions" + ], + "operationId": "GalleryImageVersions_ListByGalleryImage", + "description": "List gallery image versions in 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 resides." + }, + { + "name": "galleryImageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery Image Definition from which the Image Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery image versions in a gallery image definition.": { + "$ref": "./examples/gallery/ListGalleryImageVersionsInAGalleryImage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications": { + "get": { + "tags": [ + "GalleryApplications" + ], + "operationId": "GalleryApplications_ListByGallery", + "description": "List gallery Application Definitions in a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery from which Application Definitions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Applications in a gallery.": { + "$ref": "./examples/gallery/ListGalleryApplicationsInAGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{galleryApplicationName}/versions": { + "get": { + "tags": [ + "GalleryApplicationVersions" + ], + "operationId": "GalleryApplicationVersions_ListByGalleryApplication", + "description": "List gallery Application Versions in 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 resides." + }, + { + "name": "galleryApplicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Application Gallery Application Definition from which the Application Versions are to be listed." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryApplicationVersionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List gallery Application Versions in a gallery Application Definition.": { + "$ref": "./examples/gallery/ListGalleryApplicationVersionsInAGalleryApplication.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/share": { + "post": { + "tags": [ + "GallerySharingUpdate" + ], + "operationId": "GallerySharingProfile_Update", + "description": "Update sharing profile of a gallery.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Shared Image Gallery." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "sharingUpdate", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharingUpdate" + }, + "description": "Parameters supplied to the update gallery sharing profile." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/SharingUpdate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add sharing id to the sharing profile of a gallery.": { + "$ref": "./examples/gallery/AddToSharingProfileInAGallery.json" + }, + "share a gallery to community.": { + "$ref": "./examples/gallery/EnableACommunityGallery.json" + }, + "reset sharing profile of a gallery.": { + "$ref": "./examples/gallery/ResetSharingProfileInAGallery.json" + } + } + } + } + }, + "definitions": { + "Gallery": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the Shared Image Gallery that you want to update." + }, + "GalleryProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this Shared Image Gallery resource. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryIdentifier" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "sharingProfile": { + "$ref": "#/definitions/SharingProfile" + }, + "softDeletePolicy": { + "$ref": "#/definitions/SoftDeletePolicy" + }, + "sharingStatus": { + "readOnly": true, + "$ref": "#/definitions/SharingStatus" + } + }, + "description": "Describes the properties of a Shared Image Gallery." + }, + "GalleryIdentifier": { + "properties": { + "uniqueName": { + "readOnly": true, + "type": "string", + "description": "The unique name of the Shared Image Gallery. This name is generated automatically by Azure." + } + }, + "description": "Describes the gallery unique name." + }, + "SharingProfile": { + "description": "Profile for gallery sharing to subscription or tenant", + "properties": { + "permissions": { + "type": "string", + "description": "This property allows you to specify the permission of sharing gallery.

    Possible values are:

    **Private**

    **Groups**", + "enum": [ + "Private", + "Groups" + ], + "x-ms-enum": { + "name": "GallerySharingPermissionTypes", + "modelAsString": true + } + }, + "groups": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "x-ms-identifiers": [], + "description": "A list of sharing profile groups." + }, + "communityGalleryInfo": { + "items": { + "$ref": "#/definitions/CommunityGalleryInfo" + }, + "description": "Information of community gallery if current gallery is shared to community." + } + } + }, + "SharingProfileGroup": { + "description": "Group of the gallery sharing profile", + "properties": { + "type": { + "type": "string", + "description": "This property allows you to specify the type of sharing group.

    Possible values are:

    **Subscriptions**

    **AADTenants**

    **Community**", + "enum": [ + "Subscriptions", + "AADTenants", + "Community" + ], + "x-ms-enum": { + "name": "SharingProfileGroupTypes", + "modelAsString": true + } + }, + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of subscription/tenant ids the gallery is aimed to be shared to." + } + } + }, + "CommunityGalleryInfo": { + "type": "object", + "description": "Information of community gallery if current gallery is shared to community", + "properties": { + "publisherUri": { + "type": "string", + "description": "Community gallery publisher uri" + }, + "publisherContact": { + "type": "string", + "description": "Community gallery publisher contact email" + }, + "eula": { + "type": "string", + "description": "Community gallery publisher eula" + }, + "publicNamePrefix": { + "type": "string", + "description": "Community gallery public name prefix" + }, + "communityGalleryEnabled": { + "readOnly": true, + "type": "boolean", + "description": "Contains info about whether community gallery sharing is enabled." + }, + "publicNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Community gallery public name list." + } + } + }, + "SoftDeletePolicy": { + "type": "object", + "properties": { + "isSoftDeleteEnabled": { + "type": "boolean", + "description": "Enables soft-deletion for resources in this gallery, allowing them to be recovered within retention time." + } + }, + "description": "Contains information about the soft deletion policy of the gallery." + }, + "SharingStatus": { + "type": "object", + "properties": { + "aggregatedState": { + "type": "string", + "$ref": "#/definitions/SharingState", + "description": "Aggregated sharing state of current gallery." + }, + "summary": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionalSharingStatus" + }, + "x-ms-identifiers": [ + "region" + ], + "description": "Summary of all regional sharing status." + } + }, + "description": "Sharing status of current gallery." + }, + "SharingState": { + "readOnly": true, + "type": "string", + "title": "The sharing state of the gallery.", + "description": "The sharing state of the gallery, which only appears in the response.", + "enum": [ + "Succeeded", + "InProgress", + "Failed", + "Unknown" + ], + "x-ms-enum": { + "name": "SharingState", + "modelAsString": true + } + }, + "RegionalSharingStatus": { + "type": "object", + "description": "Gallery regional sharing status", + "properties": { + "region": { + "type": "string", + "description": "Region name" + }, + "state": { + "type": "string", + "$ref": "#/definitions/SharingState", + "description": "Gallery sharing state in current region" + }, + "details": { + "type": "string", + "description": "Details of gallery regional sharing failure." + } + } + }, + "GalleryApplication": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Definition that you want to update." + }, + "GalleryApplicationProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery Application Definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery Application Definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery Application Definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "supportedOSType": { + "type": "string", + "description": "This property allows you to specify the supported type of the OS that application is built for.

    Possible values are:

    **Windows**

    **Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + } + }, + "required": [ + "supportedOSType" + ], + "description": "Describes the properties of a gallery Application Definition." + }, + "GalleryApplicationVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryApplicationVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery Application Version that you want to update." + }, + "GalleryApplicationVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryApplicationVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery Application Version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "publishingProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryApplicationVersionPublishingProfile": { + "properties": { + "source": { + "$ref": "#/definitions/UserArtifactSource" + }, + "manageActions": { + "$ref": "#/definitions/UserArtifactManage" + }, + "enableHealthCheck": { + "type": "boolean", + "description": "Optional. Whether or not this application reports health." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "required": [ + "source" + ], + "description": "The publishing profile of a gallery image version." + }, + "UserArtifactSource": { + "properties": { + "mediaLink": { + "type": "string", + "description": "Required. The mediaLink of the artifact, must be a readable storage page blob." + }, + "defaultConfigurationLink": { + "type": "string", + "description": "Optional. The defaultConfigurationLink of the artifact, must be a readable storage page blob." + } + }, + "required": [ + "mediaLink" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "UserArtifactManage": { + "properties": { + "install": { + "type": "string", + "description": "Required. The path and arguments to install the gallery application. This is limited to 4096 characters." + }, + "remove": { + "type": "string", + "description": "Required. The path and arguments to remove the gallery application. This is limited to 4096 characters." + }, + "update": { + "type": "string", + "description": "Optional. The path and arguments to update the gallery application. If not present, then update operation will invoke remove command on the previous version and install command on the current version of the gallery application. This is limited to 4096 characters." + } + }, + "required": [ + "install", + "remove" + ] + }, + "GalleryImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image definition that you want to update." + }, + "GalleryImageProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of this gallery image definition resource. This property is updatable." + }, + "eula": { + "type": "string", + "description": "The Eula agreement for the gallery image definition." + }, + "privacyStatementUri": { + "type": "string", + "description": "The privacy statement uri." + }, + "releaseNoteUri": { + "type": "string", + "description": "The release note uri." + }, + "osType": { + "type": "string", + "description": "This property allows you to specify the type of the OS that is included in the disk when creating a VM from a managed image.

    Possible values are:

    **Windows**

    **Linux**", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "osState": { + "type": "string", + "description": "This property allows the user to specify whether the virtual machines created under this image are 'Generalized' or 'Specialized'.", + "enum": [ + "Generalized", + "Specialized" + ], + "x-ms-enum": { + "name": "OperatingSystemStateTypes", + "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 + } + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image definition. This property can be used for decommissioning purposes. This property is updatable." + }, + "identifier": { + "$ref": "#/definitions/GalleryImageIdentifier" + }, + "recommended": { + "$ref": "#/definitions/RecommendedMachineConfiguration" + }, + "disallowed": { + "$ref": "#/definitions/Disallowed" + }, + "purchasePlan": { + "$ref": "#/definitions/ImagePurchasePlan" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image definition.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "features": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageFeature" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "A list of gallery image features." + }, + "architecture": { + "type": "string", + "description": "The architecture of the image. Applicable to OS disks only.", + "enum": [ + "x64", + "Arm64" + ], + "x-ms-enum": { + "name": "Architecture", + "modelAsString": true + } + } + }, + "required": [ + "osType", + "osState", + "identifier" + ], + "description": "Describes the properties of a gallery image definition." + }, + "GalleryImageFeature": { + "properties": { + "name": { + "type": "string", + "description": "The name of the gallery image feature." + }, + "value": { + "type": "string", + "description": "The value of the gallery image feature." + } + }, + "description": "A feature for gallery image." + }, + "GalleryImageIdentifier": { + "properties": { + "publisher": { + "type": "string", + "description": "The name of the gallery image definition publisher." + }, + "offer": { + "type": "string", + "description": "The name of the gallery image definition offer." + }, + "sku": { + "type": "string", + "description": "The name of the gallery image definition SKU." + } + }, + "required": [ + "publisher", + "offer", + "sku" + ], + "description": "This is the gallery image definition identifier." + }, + "RecommendedMachineConfiguration": { + "properties": { + "vCPUs": { + "$ref": "#/definitions/ResourceRange" + }, + "memory": { + "$ref": "#/definitions/ResourceRange" + } + }, + "description": "The properties describe the recommended machine configuration for this Image Definition. These properties are updatable." + }, + "ResourceRange": { + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "The minimum number of the resource." + }, + "max": { + "type": "integer", + "format": "int32", + "description": "The maximum number of the resource." + } + }, + "description": "Describes the resource range." + }, + "Disallowed": { + "properties": { + "diskTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of disk types." + } + }, + "description": "Describes the disallowed disk types." + }, + "ImagePurchasePlan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "The product ID." + } + }, + "description": "Describes the gallery image definition purchase plan. This is used by marketplace images." + }, + "GalleryImageVersion": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryImageVersionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "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/UpdateResourceDefinition" + } + ], + "description": "Specifies information about the gallery image version that you want to update." + }, + "GalleryImageVersionProperties": { + "properties": { + "publishingProfile": { + "$ref": "#/definitions/GalleryImageVersionPublishingProfile" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "title": "The current state of the gallery image version.", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "Creating", + "Updating", + "Failed", + "Succeeded", + "Deleting", + "Migrating" + ] + }, + "storageProfile": { + "$ref": "#/definitions/GalleryImageVersionStorageProfile" + }, + "replicationStatus": { + "readOnly": true, + "$ref": "#/definitions/ReplicationStatus" + } + }, + "required": [ + "storageProfile" + ], + "description": "Describes the properties of a gallery image version." + }, + "GalleryArtifactPublishingProfileBase": { + "properties": { + "targetRegions": { + "type": "array", + "items": { + "$ref": "#/definitions/TargetRegion" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The target regions where the Image Version is going to be replicated to. This property is updatable." + }, + "replicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property would take effect for a region when regionalReplicaCount is not specified. This property is updatable." + }, + "excludeFromLatest": { + "type": "boolean", + "description": "If set to true, Virtual Machines deployed from the latest version of the Image Definition won't use this Image Version." + }, + "publishedDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The timestamp for when the gallery image version is published." + }, + "endOfLifeDate": { + "type": "string", + "format": "date-time", + "description": "The end of life date of the gallery image version. This property can be used for decommissioning purposes. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "replicationMode": { + "type": "string", + "description": "Optional parameter which specifies the mode to be used for replication. This property is not updatable.", + "enum": [ + "Full", + "Shallow" + ], + "x-ms-enum": { + "name": "ReplicationMode", + "modelAsString": true + } + }, + "targetExtendedLocations": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryTargetExtendedLocation" + }, + "x-ms-identifiers": [ + "name", + "extendedLocation/name" + ], + "description": "The target extended locations where the Image Version is going to be replicated to. This property is updatable." + } + }, + "description": "Describes the basic gallery artifact publishing profile." + }, + "TargetRegion": { + "properties": { + "name": { + "type": "string", + "description": "The name of the region." + }, + "regionalReplicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per region. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "encryption": { + "$ref": "#/definitions/EncryptionImages" + } + }, + "required": [ + "name" + ], + "description": "Describes the target region information." + }, + "GalleryTargetExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the region." + }, + "extendedLocation": { + "$ref": "#/definitions/GalleryExtendedLocation" + }, + "extendedLocationReplicaCount": { + "type": "integer", + "format": "int32", + "description": "The number of replicas of the Image Version to be created per extended location. This property is updatable." + }, + "storageAccountType": { + "type": "string", + "description": "Specifies the storage account type to be used to store the image. This property is not updatable.", + "enum": [ + "Standard_LRS", + "Standard_ZRS", + "Premium_LRS" + ], + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "encryption": { + "$ref": "#/definitions/EncryptionImages" + } + } + }, + "GalleryExtendedLocation": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/GalleryExtendedLocationType" + } + }, + "description": "The name of the extended location." + }, + "GalleryExtendedLocationType": { + "type": "string", + "enum": [ + "EdgeZone", + "Unknown" + ], + "x-ms-enum": { + "name": "GalleryExtendedLocationType", + "modelAsString": true + }, + "description": "It is type of the extended location." + }, + "EncryptionImages": { + "properties": { + "osDiskImage": { + "$ref": "#/definitions/OSDiskImageEncryption" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskImageEncryption" + }, + "x-ms-identifiers": [ + "lun" + ], + "description": "A list of encryption specifications for data disk images." + } + }, + "description": "Optional. Allows users to provide customer managed keys for encrypting the OS and data disks in the gallery artifact." + }, + "OSDiskImageEncryption": { + "type": "object", + "properties": { + "securityProfile": { + "type": "object", + "$ref": "#/definitions/OSDiskImageSecurityProfile", + "description": "This property specifies the security profile of an OS disk image." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "description": "Contains encryption settings for an OS disk image." + }, + "OSDiskImageSecurityProfile": { + "type": "object", + "properties": { + "confidentialVMEncryptionType": { + "type": "string", + "description": "confidential VM encryption types", + "enum": [ + "EncryptedVMGuestStateOnlyWithPmk", + "EncryptedWithPmk", + "EncryptedWithCmk" + ], + "x-ms-enum": { + "name": "ConfidentialVMEncryptionType", + "modelAsString": true + } + }, + "secureVMDiskEncryptionSetId": { + "type": "string", + "description": "secure VM disk encryption set id" + } + }, + "description": "Contains security profile for an OS disk image." + }, + "DataDiskImageEncryption": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DiskImageEncryption" + } + ], + "required": [ + "lun" + ], + "description": "Contains encryption settings for a data disk image." + }, + "DiskImageEncryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "A relative URI containing the resource ID of the disk encryption set." + } + }, + "description": "This is the disk image encryption base class." + }, + "GalleryArtifactSource": { + "properties": { + "managedImage": { + "$ref": "#/definitions/ManagedArtifact" + } + }, + "required": [ + "managedImage" + ], + "description": "The source image from which the Image Version is going to be created." + }, + "ManagedArtifact": { + "properties": { + "id": { + "type": "string", + "description": "The managed artifact id." + } + }, + "required": [ + "id" + ], + "description": "The managed artifact." + }, + "GalleryImageVersionPublishingProfile": { + "allOf": [ + { + "$ref": "#/definitions/GalleryArtifactPublishingProfileBase" + } + ], + "description": "The publishing profile of a gallery image Version." + }, + "GalleryImageVersionStorageProfile": { + "properties": { + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + }, + "osDiskImage": { + "$ref": "#/definitions/GalleryOSDiskImage" + }, + "dataDiskImages": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryDataDiskImage" + }, + "x-ms-identifiers": [ + "lun" + ], + "description": "A list of data disk images." + } + }, + "description": "This is the storage profile of a Gallery Image Version." + }, + "GalleryArtifactVersionSource": { + "properties": { + "id": { + "type": "string", + "description": "The id of the gallery artifact version source. Can specify a disk uri, snapshot uri, user image or storage account resource." + }, + "uri": { + "type": "string", + "description": "The uri of the gallery artifact version source. Currently used to specify vhd/blob source." + } + }, + "description": "The gallery artifact version source." + }, + "GalleryOSDiskImage": { + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "description": "This is the OS disk image." + }, + "GalleryDataDiskImage": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GalleryDiskImage" + } + ], + "required": [ + "lun" + ], + "description": "This is the data disk image." + }, + "GalleryDiskImage": { + "properties": { + "sizeInGB": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "This property indicates the size of the VHD to be created." + }, + "hostCaching": { + "type": "string", + "description": "The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "HostCaching", + "modelAsString": false + } + }, + "source": { + "$ref": "#/definitions/GalleryArtifactVersionSource" + } + }, + "description": "This is the disk image base class." + }, + "ReplicationStatus": { + "properties": { + "aggregatedState": { + "readOnly": true, + "type": "string", + "description": "This is the aggregated replication status based on all the regional replication status flags.", + "enum": [ + "Unknown", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "AggregatedReplicationState", + "modelAsString": true + } + }, + "summary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RegionalReplicationStatus" + }, + "x-ms-identifiers": [ + "region" + ], + "description": "This is a summary of replication status for each region." + } + }, + "description": "This is the replication status of the gallery image version." + }, + "RegionalReplicationStatus": { + "properties": { + "region": { + "readOnly": true, + "type": "string", + "description": "The region to which the gallery image version is being replicated to." + }, + "state": { + "readOnly": true, + "type": "string", + "description": "This is the regional replication state.", + "enum": [ + "Unknown", + "Replicating", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "ReplicationState", + "modelAsString": true + } + }, + "details": { + "readOnly": true, + "type": "string", + "description": "The details of the replication status." + }, + "progress": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "It indicates progress of the replication job." + } + }, + "description": "This is the regional replication status." + }, + "GalleryList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Gallery" + }, + "description": "A list of galleries." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of galleries. Call ListNext() with this to fetch the next page of galleries." + } + }, + "required": [ + "value" + ], + "description": "The List Galleries operation response." + }, + "GalleryImageList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImage" + }, + "description": "A list of Shared Image Gallery images." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Image Definitions in the Shared Image Gallery. Call ListNext() with this to fetch the next page of gallery image definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Images operation response." + }, + "GalleryImageVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImageVersion" + }, + "description": "A list of gallery image versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery image versions. Call ListNext() with this to fetch the next page of gallery image versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Image version operation response." + }, + "GalleryApplicationList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplication" + }, + "description": "A list of Gallery Applications." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Application Definitions in the Application Gallery. Call ListNext() with this to fetch the next page of gallery Application Definitions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Applications operation response." + }, + "GalleryApplicationVersionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GalleryApplicationVersion" + }, + "description": "A list of gallery Application Versions." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of gallery Application Versions. Call ListNext() with this to fetch the next page of gallery Application Versions." + } + }, + "required": [ + "value" + ], + "description": "The List Gallery Application version 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" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "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." + }, + "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 + }, + "UpdateResourceDefinition": { + "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 + }, + "SharingUpdate": { + "description": "Specifies information about the gallery sharing profile update.", + "properties": { + "operationType": { + "type": "string", + "description": "This property allows you to specify the operation type of gallery sharing update.

    Possible values are:

    **Add**

    **Remove**

    **Reset**", + "enum": [ + "Add", + "Remove", + "Reset", + "EnableCommunity" + ], + "x-ms-enum": { + "name": "SharingUpdateOperationTypes", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/SharingProfileGroup" + }, + "x-ms-identifiers": [], + "description": "A list of sharing profile groups." + } + }, + "required": [ + "operationType" + ], + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the resource group." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "GalleryODataExpandQueryParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand query option to apply on the operation.", + "enum": [ + "SharingProfile/Groups" + ], + "x-ms-enum": { + "name": "GalleryExpandParams", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json index ac59c5dab286..0dd3913c9225 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/compute.json @@ -9829,6 +9829,9 @@ "items": { "$ref": "#/definitions/RestorePointSourceVMDataDisk" }, + "x-ms-identifiers": [ + "lun" + ], "description": "Gets the data disks of the VM captured at the time of the restore point creation." } }, @@ -9936,6 +9939,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -10030,6 +10034,9 @@ "items": { "$ref": "#/definitions/ComputeOperationValue" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of compute operations" } }, @@ -10123,6 +10130,18 @@ "modelAsString": true } }, + "ArchitectureType": { + "type": "string", + "description": "Specifies the Architecture Type", + "enum": [ + "x64", + "Arm64" + ], + "x-ms-enum": { + "name": "ArchitectureTypes", + "modelAsString": true + } + }, "InstanceViewStatus": { "properties": { "code": { @@ -10187,6 +10206,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -10366,6 +10386,9 @@ "items": { "$ref": "#/definitions/DedicatedHostInstanceViewWithName" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of instance view of the dedicated hosts under the dedicated host group." } } @@ -10496,6 +10519,7 @@ "items": { "$ref": "#/definitions/DedicatedHostAllocatableVM" }, + "x-ms-identifiers": [], "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." } }, @@ -10517,6 +10541,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -10653,6 +10678,9 @@ "items": { "$ref": "#/definitions/CapacityReservationInstanceViewWithName" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true, "description": "List of instance view of the capacity reservations under the capacity reservation group." } @@ -10754,6 +10782,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -11019,6 +11048,9 @@ "items": { "$ref": "#/definitions/VirtualMachineSize" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of virtual machine sizes." } }, @@ -11124,6 +11156,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." }, "statuses": { @@ -11131,6 +11164,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -11466,6 +11500,9 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/VirtualMachineSoftwarePatchProperties" }, + "x-ms-identifiers": [ + "patchId" + ], "description": "The list of patches that have been detected as available for installation." }, "error": { @@ -11679,6 +11716,9 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/PatchInstallationDetail" }, + "x-ms-identifiers": [ + "patchId" + ], "description": "The patches that were installed during the operation." }, "startDateTime": { @@ -11835,7 +11875,10 @@ "type": "array", "items": { "$ref": "#/definitions/DataDiskImage" - } + }, + "x-ms-identifiers": [ + "lun" + ] }, "automaticOSUpgradeProperties": { "$ref": "#/definitions/AutomaticOSUpgradeProperties" @@ -11851,7 +11894,13 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualMachineImageFeature" - } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "architecture": { + "$ref": "#/definitions/ArchitectureType" } }, "description": "Describes the properties of a Virtual Machine Image." @@ -11930,6 +11979,7 @@ "items": { "$ref": "#/definitions/Usage" }, + "x-ms-identifiers": [], "description": "The list of compute resource usages." }, "nextLink": { @@ -11997,6 +12047,7 @@ "type": "object", "description": "resource item" }, + "x-ms-identifiers": [], "description": "a list of resource items of the captured virtual machine" } }, @@ -12245,7 +12296,7 @@ }, "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." + "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. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input." }, "exactVersion": { "type": "string", @@ -12642,6 +12693,9 @@ "items": { "$ref": "#/definitions/DataDisk" }, + "x-ms-identifiers": [ + "lun" + ], "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/managed-disks-overview)." } }, @@ -12719,6 +12773,9 @@ "items": { "$ref": "#/definitions/VMGalleryApplication" }, + "x-ms-identifiers": [ + "packageReferenceId" + ], "description": "Specifies the gallery applications that should be made available to the VM/VMSS" } }, @@ -12818,6 +12875,7 @@ "items": { "$ref": "#/definitions/WinRMListener" }, + "x-ms-identifiers": [], "description": "The list of Windows Remote Management listeners" } }, @@ -12842,6 +12900,7 @@ "items": { "$ref": "#/definitions/AdditionalUnattendContent" }, + "x-ms-identifiers": [], "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, "patchSettings": { @@ -12875,6 +12934,9 @@ "items": { "$ref": "#/definitions/SshPublicKey" }, + "x-ms-identifiers": [ + "path" + ], "description": "The list of SSH public keys used to authenticate with linux based VMs." } }, @@ -12925,6 +12987,9 @@ "items": { "$ref": "#/definitions/VaultCertificate" }, + "x-ms-identifiers": [ + "certificateUrl" + ], "description": "The list of key vault references in SourceVault which contain certificates." } }, @@ -12961,6 +13026,9 @@ "items": { "$ref": "#/definitions/VaultSecretGroup" }, + "x-ms-identifiers": [ + "sourceVault/id" + ], "description": "Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." }, "allowExtensionOperations": { @@ -13088,6 +13156,7 @@ "items": { "$ref": "#/definitions/VirtualMachineIpTag" }, + "x-ms-identifiers": [], "description": "The list of IP tags associated with the public IP address." }, "publicIPPrefix": { @@ -13290,6 +13359,9 @@ "items": { "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfiguration" }, + "x-ms-identifiers": [ + "name" + ], "description": "Specifies the IP configurations of the network interface." }, "dscpConfiguration": { @@ -13342,6 +13414,9 @@ "items": { "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfiguration" }, + "x-ms-identifiers": [ + "name" + ], "description": "Specifies the networking configurations that will be used to create the virtual machine networking resources." } }, @@ -13432,6 +13507,7 @@ "items": { "$ref": "#/definitions/VirtualMachineExtensionHandlerInstanceView" }, + "x-ms-identifiers": [], "description": "The virtual machine extension handler instance view." }, "statuses": { @@ -13439,6 +13515,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -13455,6 +13532,9 @@ "items": { "$ref": "#/definitions/DiskEncryptionSettings" }, + "x-ms-identifiers": [ + "diskEncryptionKey/sourceVault/id" + ], "description": "Specifies the encryption settings for the OS Disk.

    Minimum api-version: 2015-06-15" }, "statuses": { @@ -13462,6 +13542,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -13636,6 +13717,9 @@ "items": { "$ref": "#/definitions/DiskInstanceView" }, + "x-ms-identifiers": [ + "name" + ], "description": "The virtual machine disk information." }, "extensions": { @@ -13643,6 +13727,10 @@ "items": { "$ref": "#/definitions/VirtualMachineExtensionInstanceView" }, + "x-ms-identifiers": [ + "name", + "type" + ], "description": "The extensions information." }, "vmHealth": { @@ -13664,6 +13752,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." }, "patchStatus": { @@ -14143,6 +14232,9 @@ "items": { "$ref": "#/definitions/ImageDataDisk" }, + "x-ms-identifiers": [ + "lun" + ], "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/managed-disks-overview)." }, "zoneResilient": { @@ -14305,6 +14397,9 @@ "items": { "$ref": "#/definitions/VaultSecretGroup" }, + "x-ms-identifiers": [ + "sourceVault/id" + ], "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." }, "allowExtensionOperations": { @@ -14333,6 +14428,9 @@ "items": { "$ref": "#/definitions/VaultSecretGroup" }, + "x-ms-identifiers": [ + "sourceVault/id" + ], "description": "The List of certificates for addition to the VM." } }, @@ -14512,6 +14610,10 @@ "items": { "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" }, + "x-ms-identifiers": [ + "name", + "lun" + ], "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/managed-disks-overview)." } }, @@ -14532,6 +14634,10 @@ "items": { "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" }, + "x-ms-identifiers": [ + "name", + "lun" + ], "description": "The data disks." } }, @@ -14922,6 +15028,7 @@ "items": { "$ref": "#/definitions/VirtualMachineScaleSetIpTag" }, + "x-ms-identifiers": [], "description": "The list of IP tags associated with the public IP address." }, "publicIPPrefix": { @@ -15546,6 +15653,7 @@ "items": { "$ref": "#/definitions/VirtualMachineStatusCodeCount" }, + "x-ms-identifiers": [], "description": "The extensions information." } }, @@ -15564,6 +15672,7 @@ "items": { "$ref": "#/definitions/VirtualMachineStatusCodeCount" }, + "x-ms-identifiers": [], "description": "The extensions information." } }, @@ -15613,6 +15722,9 @@ "items": { "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsSummary" }, + "x-ms-identifiers": [ + "name" + ], "description": "The extensions information." }, "statuses": { @@ -15620,6 +15732,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." }, "orchestrationServices": { @@ -15628,6 +15741,9 @@ "items": { "$ref": "#/definitions/OrchestrationServiceSummary" }, + "x-ms-identifiers": [ + "serviceName" + ], "description": "The orchestration services information." } }, @@ -15734,6 +15850,10 @@ "items": { "$ref": "#/definitions/VirtualMachineScaleSetSku" }, + "x-ms-identifiers": [ + "resourceType", + "sku/name" + ], "description": "The list of skus available for the virtual machine scale set." }, "nextLink": { @@ -15871,6 +15991,10 @@ "items": { "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfo" }, + "x-ms-identifiers": [ + "type", + "location" + ], "description": "The list of OS upgrades performed on the virtual machine scale set." }, "nextLink": { @@ -16034,6 +16158,9 @@ "items": { "$ref": "#/definitions/DiskInstanceView" }, + "x-ms-identifiers": [ + "name" + ], "description": "The disks information." }, "extensions": { @@ -16041,6 +16168,10 @@ "items": { "$ref": "#/definitions/VirtualMachineExtensionInstanceView" }, + "x-ms-identifiers": [ + "name", + "type" + ], "description": "The extensions information." }, "vmHealth": { @@ -16057,6 +16188,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." }, "assignedHost": { @@ -16306,6 +16438,10 @@ "items": { "$ref": "#/definitions/ApiErrorBase" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The Api error details" }, "innererror": { @@ -16671,7 +16807,8 @@ "type": "array", "items": { "$ref": "#/definitions/InstanceViewStatus" - } + }, + "x-ms-identifiers": [] } }, "description": "The status of virtual machine patch operations." diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/runCommands.json index 940900927102..5e9a4f366a99 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/runCommands.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-11-01/runCommands.json @@ -959,6 +959,9 @@ "items": { "$ref": "#/definitions/RunCommandInputParameter" }, + "x-ms-identifiers": [ + "name" + ], "description": "The run command parameters." } }, @@ -1052,6 +1055,10 @@ "items": { "$ref": "#/definitions/RunCommandParameterDefinition" }, + "x-ms-identifiers": [ + "name", + "type" + ], "description": "The parameters used by the script." } }, @@ -1121,6 +1128,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "Run command operation response." } } @@ -1176,6 +1184,7 @@ "items": { "$ref": "#/definitions/InstanceViewStatus" }, + "x-ms-identifiers": [], "description": "The resource status information." } }, @@ -1209,6 +1218,9 @@ "items": { "$ref": "#/definitions/RunCommandInputParameter" }, + "x-ms-identifiers": [ + "name" + ], "description": "The parameters used by the script." }, "protectedParameters": { @@ -1216,6 +1228,9 @@ "items": { "$ref": "#/definitions/RunCommandInputParameter" }, + "x-ms-identifiers": [ + "name" + ], "description": "The parameters used by the script." }, "asyncExecution": { @@ -1350,6 +1365,10 @@ "items": { "$ref": "#/definitions/ApiErrorBase" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "The Api error details" }, "innererror": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/disk.json new file mode 100644 index 000000000000..d3b8d19cdb2a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/disk.json @@ -0,0 +1,3846 @@ +{ + "swagger": "2.0", + "info": { + "title": "DiskResourceProviderClient", + "description": "The Disk Resource Provider Client.", + "version": "2021-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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" + }, + "Create a managed disk and associate with disk access resource.": { + "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json" + }, + "Create a managed disk with dataAccessAuthMode": { + "$ref": "./examples/CreateAManagedDiskWithDataAccessAuthMode.json" + }, + "Create a managed disk and associate with disk encryption set.": { + "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json" + }, + "Create an ultra managed disk with logicalSectorSize 512E": { + "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json" + }, + "Create an empty managed disk in extended location.": { + "$ref": "./examples/CreateAnEmptyManagedDiskInExtendedLocation.json" + }, + "Create a managed disk with ssd zrs account type.": { + "$ref": "./examples/CreateAManagedDiskWithSSDZRSAccountType.json" + }, + "Create a managed disk with security profile": { + "$ref": "./examples/CreateAManagedDiskWithSecurityProfile.json" + }, + "Create a managed disk from ImportSecure create option": { + "$ref": "./examples/CreateAManagedDiskFromImportSecure.json" + }, + "Create a managed disk from UploadPreparedSecure create option": { + "$ref": "./examples/CreateAManagedDiskFromUploadPreparedSecure.json" + }, + "Create a confidential VM supported disk encrypted with customer managed key": { + "$ref": "./examples/CreateAConfidentialVMDiskEncryptedWithCMK.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, + "x-ms-examples": { + "Update managed disk to remove disk access resource association.": { + "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json" + }, + "Update a managed disk to add purchase plan.": { + "$ref": "./examples/UpdateAManagedDiskToAddPurchasePlan.json" + }, + "Update a managed disk to disable bursting.": { + "$ref": "./examples/UpdateAManagedDiskToDisableBursting.json" + }, + "Create or update a bursting enabled managed disk.": { + "$ref": "./examples/CreateOrUpdateABurstingEnabledManagedDisk.json" + }, + "Update a managed disk to add supportsHibernation.": { + "$ref": "./examples/UpdateAManagedDiskToAddSupportsHibernation.json" + }, + "Update a managed disk to add accelerated networking.": { + "$ref": "./examples/UpdateAManagedDiskToAddAcceleratedNetworking.json" + }, + "Update a managed disk to change tier.": { + "$ref": "./examples/UpdateAManagedDiskToChangeTier.json" + }, + "Update a managed disk to add architecture.": { + "$ref": "./examples/UpdateAManagedDiskToAddArchitecture.json" + } + } + }, + "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-examples": { + "Delete a managed disk.": { + "$ref": "./examples/DeleteAManagedDisk.json" + } + }, + "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-examples": { + "Get a sas on a managed disk.": { + "$ref": "./examples/BeginGetAccessManagedDisk.json" + }, + "Get sas on managed disk and VM guest state": { + "$ref": "./examples/BeginGetAccessManagedDiskWithVMGuestState.json" + } + }, + "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-examples": { + "Revoke access to a managed disk.": { + "$ref": "./examples/EndGetAccessManagedDisk.json" + } + }, + "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" + }, + "Create a snapshot from an existing snapshot in the same or a different subscription in a different region.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshotInDifferentRegion.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-examples": { + "Update a snapshot.": { + "$ref": "./examples/UpdateASnapshot.json" + }, + "Update a snapshot with accelerated networking.": { + "$ref": "./examples/UpdateASnapshotWithAcceleratedNetwork.json" + } + }, + "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-examples": { + "Delete a snapshot.": { + "$ref": "./examples/DeleteASnapshot.json" + } + }, + "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-examples": { + "Get a sas on a snapshot.": { + "$ref": "./examples/BeginGetAccessSnapshot.json" + } + }, + "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-examples": { + "Revoke access to a snapshot.": { + "$ref": "./examples/EndGetAccessSnapshot.json" + } + }, + "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" + } + }, + "202": { + "description": "Accepted", + "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" + }, + "Create a disk encryption set with key vault from a different subscription.": { + "$ref": "./examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.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" + }, + "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Succeeded": { + "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json" + }, + "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Updating": { + "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.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" + }, + "Get information about a disk encryption set when auto-key rotation failed.": { + "$ref": "./examples/GetInformationAboutADiskEncryptionSetWithAutoKeyRotationError.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" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListAssociatedResources", + "description": "Lists all resources that are encrypted with this disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceUriList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all resources that are encrypted with this disk encryption set.": { + "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_CreateOrUpdate", + "description": "Creates or updates a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "disk access object supplied in the body of the Put disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk access resource.": { + "$ref": "./examples/CreateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Update", + "description": "Updates (patches) a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccessUpdate" + }, + "description": "disk access object supplied in the body of the Patch disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk access resource.": { + "$ref": "./examples/UpdateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Get", + "description": "Gets information about a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk access resource.": { + "$ref": "./examples/GetInformationAboutADiskAccess.json" + }, + "Get information about a disk access resource with private endpoints.": { + "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Delete", + "description": "Deletes a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk access resource 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 access resource.": { + "$ref": "./examples/DeleteADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListByResourceGroup", + "description": "Lists all the disk access resources under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a resource group.": { + "$ref": "./examples/ListDiskAccessesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_List", + "description": "Lists all the disk access resources under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a subscription.": { + "$ref": "./examples/ListDiskAccessesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "List all possible private link resources under disk access resource.": { + "$ref": "./examples/GetDiskAccessPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_UpdateAPrivateEndpointConnection", + "description": "Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "private endpoint connection object supplied in the body of the Put private endpoint connection operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Approve a Private Endpoint Connection under a disk access resource.": { + "$ref": "./examples/ApprovePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetAPrivateEndpointConnection", + "description": "Gets information about a private endpoint connection under a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a disk access resource.": { + "$ref": "./examples/GetInformationAboutAPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_DeleteAPrivateEndpointConnection", + "description": "Deletes a private endpoint connection under a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the private endpoint connection 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 private endpoint connection under a disk access resource.": { + "$ref": "./examples/DeleteAPrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListPrivateEndpointConnections", + "description": "List information about private endpoint connections under a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a disk access resource.": { + "$ref": "./examples/ListPrivateEndpointConnectionsInADiskAccess.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}": { + "get": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_Get", + "description": "Get disk restorePoint resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskRestorePoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get an incremental disk restorePoint resource.": { + "$ref": "./examples/GetDiskRestorePointResources.json" + }, + "Get an incremental disk restorePoint when source resource is from a different region": { + "$ref": "./examples/GetDiskRestorePointWhenSourceResourceIsFromDifferentRegion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints": { + "get": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_ListByRestorePoint", + "description": "Lists diskRestorePoints under a vmRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskRestorePointList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get an incremental disk restorePoint resource.": { + "$ref": "./examples/ListDiskRestorePointsInVmRestorePoint.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess": { + "post": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_GrantAccess", + "description": "Grants access to a diskRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Grants access to a diskRestorePoint.": { + "$ref": "./examples/BeginGetAccessDiskRestorePoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess": { + "post": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_RevokeAccess", + "description": "Revokes access to a diskRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Revokes access to a diskRestorePoint.": { + "$ref": "./examples/EndGetAccessDiskRestorePoint.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "ProxyOnlyResource": { + "description": "The ProxyOnly 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" + } + } + }, + "Disk": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + }, + "managedByExtended": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "sku": { + "$ref": "#/definitions/DiskSku" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Logical zone list for Disk." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the disk will be created. Extended location cannot be changed." + }, + "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", + "Premium_ZRS", + "StandardSSD_ZRS" + ], + "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." + }, + { + "value": "Premium_ZRS", + "description": "Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures." + }, + { + "value": "StandardSSD_ZRS", + "description": "Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures." + } + ] + }, + "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, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS." + }, + "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. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot" + }, + "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 + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}" + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities for the image from which the OS disk was created." + }, + "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": "int64", + "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." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the disk." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "shareInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareInfoElement" + }, + "x-ms-identifiers": [ + "vmUri" + ], + "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + }, + "burstingEnabled": { + "type": "boolean", + "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks." + }, + "propertyUpdatesInProgress": { + "readOnly": true, + "$ref": "#/definitions/PropertyUpdatesInProgress", + "description": "Properties of the disk for which update is pending." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "securityProfile": { + "$ref": "#/definitions/DiskSecurityProfile", + "description": "Contains the security related information for the resource." + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy when a resource is created via the CopyStart operation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "dataAccessAuthMode": { + "$ref": "#/definitions/DataAccessAuthMode" + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "SnapshotProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the snapshot 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 + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the image from which the source disk for the snapshot was originally created." + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities for the image from which the source disk from the snapshot was originally created." + }, + "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." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the snapshot." + }, + "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." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "securityProfile": { + "$ref": "#/definitions/DiskSecurityProfile", + "description": "Contains the security related information for the resource." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a snapshot supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy when a resource is created via the CopyStart operation." + }, + "dataAccessAuthMode": { + "$ref": "#/definitions/DataAccessAuthMode" + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "ShareInfoElement": { + "properties": { + "vmUri": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + } + } + }, + "EncryptionSetProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyForDiskEncryptionSet", + "description": "The key vault key which is currently used by this disk encryption set." + }, + "previousKeys": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/KeyForDiskEncryptionSet" + }, + "x-ms-identifiers": [ + "sourceVault/id" + ], + "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." + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version." + }, + "lastKeyRotationTimestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the active key of this disk encryption set was updated." + }, + "autoKeyRotationError": { + "readOnly": true, + "$ref": "#/definitions/ApiError", + "description": "The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed." + } + } + }, + "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" + }, + "x-ms-identifiers": [ + "diskEncryptionKey/sourceVault/id" + ], + "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" + }, + "KeyForDiskEncryptionSet": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription." + }, + "keyUrl": { + "type": "string", + "description": "Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value." + } + }, + "required": [ + "keyUrl" + ], + "description": "Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots" + }, + "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}" + }, + "EncryptionType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "EncryptionType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithPlatformKey", + "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets." + }, + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "DiskEncryptionSetType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys", + "ConfidentialVmEncryptedWithCustomerKey" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + }, + { + "value": "ConfidentialVmEncryptedWithCustomerKey", + "description": "Confidential VM supported disk and VM guest state would be encrypted with customer managed key." + } + ] + } + }, + "Encryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "$ref": "#/definitions/EncryptionType" + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "NetworkAccessPolicy": { + "type": "string", + "description": "Policy for accessing the disk via network.", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ], + "x-ms-enum": { + "name": "NetworkAccessPolicy", + "modelAsString": true, + "values": [ + { + "value": "AllowAll", + "description": "The disk can be exported or uploaded to from any network." + }, + { + "value": "AllowPrivate", + "description": "The disk can be exported or uploaded to using a DiskAccess resource's private endpoints." + }, + { + "value": "DenyAll", + "description": "The disk cannot be exported." + } + ] + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Policy for controlling export on the disk.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "You can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate." + }, + { + "value": "Disabled", + "description": "You cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate." + } + ] + } + }, + "DataAccessAuthMode": { + "type": "string", + "description": "Additional authentication requirements when exporting or uploading to a disk or snapshot.", + "enum": [ + "AzureActiveDirectory", + "None" + ], + "x-ms-enum": { + "name": "DataAccessAuthMode", + "modelAsString": true, + "values": [ + { + "value": "AzureActiveDirectory", + "description": "When export/upload URL is used, the system checks if the user has an identity in Azure Active Directory and has necessary permissions to export/upload the data. Please refer to aka.ms/DisksAzureADAuth." + }, + { + "value": "None", + "description": "No additional authentication would be performed when accessing export/upload URL." + } + ] + } + }, + "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": "int64", + "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." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + }, + "burstingEnabled": { + "type": "boolean", + "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks." + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information to be added on the OS disk" + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities to be added on the OS disk." + }, + "propertyUpdatesInProgress": { + "readOnly": true, + "$ref": "#/definitions/PropertyUpdatesInProgress", + "description": "Properties of the disk for which update is pending." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "dataAccessAuthMode": { + "$ref": "#/definitions/DataAccessAuthMode" + } + }, + "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." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a snapshot supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "dataAccessAuthMode": { + "$ref": "#/definitions/DataAccessAuthMode" + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities for the image from which the OS disk was created." + } + }, + "description": "Snapshot resource update properties." + }, + "DiskEncryptionSetUpdateProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyForDiskEncryptionSet" + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version." + } + }, + "description": "disk encryption set resource update properties." + }, + "DiskState": { + "type": "string", + "description": "This enumerates the possible state of the disk.", + "readOnly": true, + "enum": [ + "Unattached", + "Attached", + "Reserved", + "Frozen", + "ActiveSAS", + "ActiveSASFrozen", + "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 attached to a running VM." + }, + { + "value": "Reserved", + "description": "The disk is attached to a stopped-deallocated VM." + }, + { + "value": "Frozen", + "description": "The disk is attached to a VM which is in hibernated state." + }, + { + "value": "ActiveSAS", + "description": "The disk currently has an Active SAS Uri associated with it." + }, + { + "value": "ActiveSASFrozen", + "description": "The disk is attached to a VM in hibernated state and 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." + } + ] + } + }, + "CreationData": { + "properties": { + "createOption": { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload", + "CopyStart", + "ImportSecure", + "UploadPreparedSecure" + ], + "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 or galleryImageReference." + }, + { + "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." + }, + { + "value": "CopyStart", + "description": "Create a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source." + }, + { + "value": "ImportSecure", + "description": "Similar to Import create option. Create a new Trusted Launch VM or Confidential VM supported disk by importing additional blob for VM guest state specified by securityDataUri in storage account specified by storageAccountId" + }, + { + "value": "UploadPreparedSecure", + "description": "Similar to Upload create option. Create a new Trusted Launch VM or Confidential VM supported disk and upload using write token in both disk and VM guest state" + } + ] + }, + "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." + }, + "galleryImageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk." + }, + "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)." + }, + "logicalSectorSize": { + "type": "integer", + "format": "int32", + "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default." + }, + "securityDataUri": { + "type": "string", + "description": "If createOption is ImportSecure, this is the URI of a blob to be imported into VM guest state." + } + }, + "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." + }, + "PurchasePlan": { + "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 Offer Promotion Code." + } + }, + "required": [ + "publisher", + "name", + "product" + ], + "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace." + }, + "SupportedCapabilities": { + "type": "object", + "properties": { + "acceleratedNetwork": { + "type": "boolean", + "description": "True if the image from which the OS disk is created supports accelerated networking." + }, + "architecture": { + "type": "string", + "description": "CPU architecture supported by an OS disk.", + "enum": [ + "x64", + "Arm64" + ], + "x-ms-enum": { + "name": "Architecture", + "modelAsString": true + } + } + }, + "description": "List of supported capabilities persisted on the disk resource for VM use." + }, + "PropertyUpdatesInProgress": { + "properties": { + "targetTier": { + "type": "string", + "description": "The target performance tier of the disk if a tier change operation is in progress." + } + }, + "description": "Properties of the disk for which update is pending." + }, + "DiskSecurityType": { + "type": "string", + "description": "Specifies the SecurityType of the VM. Applicable for OS disks only.", + "enum": [ + "TrustedLaunch", + "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey", + "ConfidentialVM_DiskEncryptedWithPlatformKey", + "ConfidentialVM_DiskEncryptedWithCustomerKey" + ], + "x-ms-enum": { + "name": "DiskSecurityTypes", + "modelAsString": true, + "values": [ + { + "value": "TrustedLaunch", + "description": "Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)" + }, + { + "value": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey", + "description": "Indicates Confidential VM disk with only VM guest state encrypted" + }, + { + "value": "ConfidentialVM_DiskEncryptedWithPlatformKey", + "description": "Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a platform managed key" + }, + { + "value": "ConfidentialVM_DiskEncryptedWithCustomerKey", + "description": "Indicates Confidential VM disk with both OS disk and VM guest state encrypted with a customer managed key" + } + ] + } + }, + "DiskSecurityProfile": { + "properties": { + "securityType": { + "$ref": "#/definitions/DiskSecurityType" + }, + "secureVMDiskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set associated to Confidential VM supported disk encrypted with customer managed key" + } + }, + "description": "Contains the security related information for the resource." + }, + "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." + }, + "getSecureVMGuestStateSAS": { + "type": "boolean", + "description": "Set this flag to true to get additional SAS for VM guest state" + } + }, + "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." + }, + "securityDataAccessSAS": { + "readOnly": true, + "type": "string", + "description": "A SAS uri for accessing a VM guest state." + } + }, + "description": "A disk access SAS uri." + }, + "Snapshot": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "Unused. Always Null." + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the snapshot will be created. Extended location cannot be changed." + }, + "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", + "None" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetIdentityType", + "modelAsString": true + }, + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys." + }, + "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" + }, + "identity": { + "$ref": "#/definitions/EncryptionSetIdentity" + } + }, + "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." + }, + "ResourceUriList": { + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources." + } + }, + "required": [ + "value" + ], + "description": "The List resources which are encrypted with the disk encryption set." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "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." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point.", + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between DiskAccess and Virtual Network." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection type" + } + }, + "description": "The Private Endpoint Connection resource.", + "x-ms-azure-resource": true + }, + "DiskAccessProperties": { + "properties": { + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk access resource provisioning state." + }, + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk access was created." + } + } + }, + "DiskAccess": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskAccessProperties" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the disk access will be created. Extended location cannot be changed." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "disk access resource." + }, + "DiskAccessList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "A list of disk access resources." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources." + } + }, + "required": [ + "value" + ], + "description": "The List disk access operation response." + }, + "DiskAccessUpdate": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Used for updating a disk access resource." + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "id": { + "readOnly": true, + "type": "string", + "description": "private link resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private link resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private link resource type" + } + }, + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "DiskRestorePoint": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskRestorePointProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "description": "Properties of disk restore point" + }, + "DiskRestorePointList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskRestorePoint" + }, + "description": "A list of disk restore points." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk restore points. Call ListNext() with this to fetch the next page of disk restore points." + } + }, + "required": [ + "value" + ], + "description": "The List Disk Restore Points operation response." + }, + "DiskRestorePointProperties": { + "properties": { + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "The timestamp of restorePoint creation", + "readOnly": true + }, + "sourceResourceId": { + "type": "string", + "description": "arm id of source disk or source disk restore point.", + "readOnly": true + }, + "osType": { + "type": "string", + "readOnly": true, + "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 + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the the image from which the OS disk was created." + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities for the image from which the OS disk was created." + }, + "familyId": { + "type": "string", + "description": "id of the backing snapshot's MIS family", + "readOnly": true + }, + "sourceUniqueId": { + "type": "string", + "description": "unique incarnation id of the source disk", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.", + "readOnly": true + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy of disk restore point when source resource is from a different region." + }, + "replicationState": { + "type": "string", + "description": "Replication state of disk restore point when source resource is from a different region.", + "readOnly": true + }, + "sourceResourceLocation": { + "type": "string", + "description": "Location of source disk or source disk restore point when source resource is from a different region.", + "readOnly": true + } + }, + "description": "Properties of an incremental disk restore point" + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." + } + }, + "description": "A list of private link resources" + }, + "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" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "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." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "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" + }, + "DiskAccessNameParameter": { + "name": "diskAccessName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk access resource 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" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "x-ms-parameter-location": "method" + }, + "RestorePointCollectionNameParameter": { + "name": "restorePointCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the restore point collection that the disk restore point belongs.", + "x-ms-parameter-location": "method" + }, + "VmRestorePointNameParameter": { + "name": "vmRestorePointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vm restore point that the disk disk restore point belongs.", + "x-ms-parameter-location": "method" + }, + "DiskRestorePointNameParameter": { + "name": "diskRestorePointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk restore point created.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ApprovePrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ApprovePrivateEndpointConnection.json new file mode 100644 index 000000000000..0c689aa4517e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ApprovePrivateEndpointConnection.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approving myPrivateEndpointConnection" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myPrivateEndpointConenction", + "type": "Microsoft.Compute/diskAccesses/privateEndpointConnections", + "properties": { + "provisioningState": "Updating", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Approving myPrivateEndpointConnection", + "status": "Approved" + } + } + } + }, + "200": { + "body": { + "name": "myPrivateEndpointConnectionName", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnectionName", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Approving myPrivateEndpointConnection", + "status": "Approved" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessDiskRestorePoint.json new file mode 100644 index 000000000000..a62d734ed8ec --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessDiskRestorePoint.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "restorePointCollectionName": "rpc", + "vmRestorePointName": "vmrp", + "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "api-version": "2021-12-01", + "grantAccessData": { + "access": "Read", + "durationInSeconds": 300 + } + }, + "responses": { + "200": { + "body": { + "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r" + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDisk.json new file mode 100644 index 000000000000..6b99903fe1ab --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDisk.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskName": "myDisk", + "api-version": "2021-12-01", + "grantAccessData": { + "access": "Read", + "durationInSeconds": 300 + } + }, + "responses": { + "200": { + "body": { + "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r" + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDiskWithVMGuestState.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDiskWithVMGuestState.json new file mode 100644 index 000000000000..fe092d545fa4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessManagedDiskWithVMGuestState.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskName": "myDisk", + "api-version": "2021-12-01", + "grantAccessData": { + "access": "Read", + "durationInSeconds": 300, + "getSecureVMGuestStateSAS": true + } + }, + "responses": { + "200": { + "body": { + "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r", + "securityDataAccessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/b9bf5824-6122-49e0-ba22-042f76ccd8a1_vmgs?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r" + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessSnapshot.json new file mode 100644 index 000000000000..f788c3bc0642 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/BeginGetAccessSnapshot.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "snapshotName": "mySnapshot", + "api-version": "2021-12-01", + "grantAccessData": { + "access": "Read", + "durationInSeconds": 300 + } + }, + "responses": { + "200": { + "body": { + "accessSAS": "https://md-gpvmcxzlzxgd.partition.blob.storage.azure.net/xx3cqcx53f0v/abcd?sv=2014-02-14&sr=b&sk=key1&sig=XXX&st=2021-05-24T18:02:34Z&se=2021-05-24T18:19:14Z&sp=r" + } + }, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json new file mode 100644 index 000000000000..d7cb3d3d0bcf --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAConfidentialVMDiskEncryptedWithCMK.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey", + "secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey", + "secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_DiskEncryptedWithCustomerKey", + "secureVMDiskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskAccess.json new file mode 100644 index 000000000000..ac60c2f9d9ad --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "location": "West US" + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskAccess", + "location": "West US", + "type": "Microsoft.Compute/diskAccesses" + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSet.json new file mode 100644 index 000000000000..389978d8bb6e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSet.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + } + } + }, + "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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json new file mode 100644 index 000000000000..1ae18e354624 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json new file mode 100644 index 000000000000..d533048bb486 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..8004808a003b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..9bd76d48093c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAPlatformImage.json new file mode 100644 index 000000000000..028cd09a35b2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAPlatformImage.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "{subscriptionId}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "{sku}", + "publisher": "{publisher}", + "product": "{offer}" + }, + "supportedCapabilities": { + "acceleratedNetwork": true, + "architecture": "Arm64" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + }, + "provisioningState": "Updating" + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "osType": "Windows", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "{sku}", + "publisher": "{publisher}", + "product": "{offer}" + }, + "supportedCapabilities": { + "acceleratedNetwork": true + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/westus/Publishers/{publisher}/ArtifactTypes/VMImage/Offers/{offer}/Skus/{sku}/Versions/1.0.0" + } + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json new file mode 100644 index 000000000000..e9175e63fabb --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateAManagedDiskFromImportSecure.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromImportSecure.json new file mode 100644 index 000000000000..6a6d64e7256d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromImportSecure.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey" + }, + "creationData": { + "createOption": "ImportSecure", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey" + }, + "creationData": { + "createOption": "ImportSecure", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Succeeded", + "osType": "Windows", + "securityProfile": { + "securityType": "ConfidentialVM_VMGuestStateOnlyEncryptedWithPlatformKey" + }, + "creationData": { + "createOption": "ImportSecure", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd", + "securityDataUri": "https://mystorageaccount.blob.core.windows.net/osimages/vmgs.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromUploadPreparedSecure.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromUploadPreparedSecure.json new file mode 100644 index 000000000000..5e009e6d8964 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskFromUploadPreparedSecure.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "UploadPreparedSecure", + "uploadSizeBytes": 10737418752 + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "UploadPreparedSecure", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "UploadPreparedSecure", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDataAccessAuthMode.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDataAccessAuthMode.json new file mode 100644 index 000000000000..454d1e3a61d1 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDataAccessAuthMode.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "dataAccessAuthMode": "AzureActiveDirectory" + } + } + }, + "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": "Succeeded", + "dataAccessAuthMode": "AzureActiveDirectory" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskAccess.json new file mode 100644 index 000000000000..e3544d959007 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskAccess.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}" + } + } + }, + "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": "Succeeded", + "networkAccessPolicy": "AllowPrivate", + "diskAccessId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/{existing-diskAccess-name}", + "publicNetworkAccess": "Enabled" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json new file mode 100644 index 000000000000..f848a6ac6575 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithDiskEncryptionSet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + } + } + }, + "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": "Succeeded", + "encryption": { + "diskEncryptionSetId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}" + } + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json new file mode 100644 index 000000000000..3a1b530fc6c6 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithLogicalSectorSize.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "sku": { + "name": "UltraSSD_LRS" + }, + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty", + "logicalSectorSize": 512 + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "UltraSSD_LRS", + "tier": "Ultra" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json new file mode 100644 index 000000000000..09e04eb303f8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSSDZRSAccountType.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "sku": { + "name": "Premium_ZRS" + }, + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "Premium_ZRS", + "tier": "Premium" + } + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "sku": { + "name": "Premium_ZRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSecurityProfile.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSecurityProfile.json new file mode 100644 index 000000000000..1a2886b0e34e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedDiskWithSecurityProfile.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "North Central US", + "properties": { + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "North Central US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "North Central US", + "properties": { + "provisioningState": "Succeeded", + "osType": "Windows", + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "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/2021-12-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedUploadDisk.json new file mode 100644 index 000000000000..36d677cbd7dc --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAManagedUploadDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..1836e3028128 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..aeb378013f7b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json new file mode 100644 index 000000000000..822c7208e5f2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshot.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshotInDifferentRegion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshotInDifferentRegion.json new file mode 100644 index 000000000000..4c1e4b0b9740 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateASnapshotFromAnExistingSnapshotInDifferentRegion.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "snapshotName": "mySnapshot2", + "snapshot": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "CopyStart", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "CopyStart", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + }, + "200": { + "body": { + "name": "mySnapshot2", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "CopyStart", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDisk.json new file mode 100644 index 000000000000..583e6e406f63 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json new file mode 100644 index 000000000000..b13750cd1b99 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateAnEmptyManagedDiskInExtendedLocation.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "extendedLocation": { + "type": "EdgeZone", + "name": "{edge-zone-id}" + }, + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "extendedLocation": { + "type": "EdgeZone", + "name": "{edge-zone-id}" + } + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk", + "extendedLocation": { + "type": "EdgeZone", + "name": "{edge-zone-id}" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json new file mode 100644 index 000000000000..68682be45b80 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "diskSizeGB": 1024, + "burstingEnabled": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 1024, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 1024, + "burstingEnabled": true, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskAccess.json new file mode 100644 index 000000000000..aeb5a2d0aefa --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskAccess.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskAccessName": "myDiskAccess", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskEncryptionSet.json new file mode 100644 index 000000000000..d9c4c1747602 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteADiskEncryptionSet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskEncryptionSetName": "myDiskEncryptionSet", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAManagedDisk.json new file mode 100644 index 000000000000..d4b68c1cb379 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAManagedDisk.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskName": "myDisk", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAPrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAPrivateEndpointConnection.json new file mode 100644 index 000000000000..f0e5099d06b4 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteAPrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskAccessName": "myDiskAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteASnapshot.json new file mode 100644 index 000000000000..11f0082699c3 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/DeleteASnapshot.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "snapshotName": "mySnapshot", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessDiskRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessDiskRestorePoint.json new file mode 100644 index 000000000000..8ccd79c36193 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessDiskRestorePoint.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "restorePointCollectionName": "rpc", + "vmRestorePointName": "vmrp", + "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessManagedDisk.json new file mode 100644 index 000000000000..e8d8729ebe01 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessManagedDisk.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "diskName": "myDisk", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessSnapshot.json new file mode 100644 index 000000000000..914bc8ca1c4f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/EndGetAccessSnapshot.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "snapshotName": "mySnapshot", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskAccessPrivateLinkResources.json new file mode 100644 index 000000000000..8d9a96155afe --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskAccessPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateLinkResources/disks", + "name": "disks", + "type": "Microsoft.Compute/diskAccesses/privateLinkResources", + "properties": { + "groupId": "disks", + "requiredMembers": [ + "diskAccess_1" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointResources.json new file mode 100644 index 000000000000..ea47cfe8ae45 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointResources.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "restorePointCollectionName": "rpc", + "vmRestorePointName": "vmrp", + "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpc/restorePoints/vmrp/diskRestorePoints/TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "name": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "properties": { + "timeCreated": "2020-09-16T04:41:35.079872+00:00", + "sourceResourceId": "/subscriptions/d2260d06-e00d-422f-8b63-93df551a59ae/resourceGroups/rg0680fb0c-89f1-41b4-96c0-35733a181558/providers/Microsoft.Compute/disks/TestDisk45ceb03433006d1baee0", + "osType": "Windows", + "hyperVGeneration": "V1", + "familyId": "996bf3ce-b6ff-4e86-9db6-dc27ea06cea5", + "sourceUniqueId": "48e058b1-7eea-4968-b532-10a8a1130c13", + "networkAccessPolicy": "AllowAll", + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointWhenSourceResourceIsFromDifferentRegion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointWhenSourceResourceIsFromDifferentRegion.json new file mode 100644 index 000000000000..c9b5e1da941d --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetDiskRestorePointWhenSourceResourceIsFromDifferentRegion.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "restorePointCollectionName": "rpc", + "vmRestorePointName": "vmrp", + "diskRestorePointName": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpc/restorePoints/vmrp/diskRestorePoints/TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "name": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "properties": { + "timeCreated": "2020-09-16T04:41:35.079872+00:00", + "sourceResourceId": "/subscriptions/d2260d06-e00d-422f-8b63-93df551a59ae/resourceGroups/rg0680fb0c-89f1-41b4-96c0-35733a181558/providers/Microsoft.Compute/disks/TestDisk45ceb03433006d1baee0", + "osType": "Windows", + "hyperVGeneration": "V1", + "familyId": "996bf3ce-b6ff-4e86-9db6-dc27ea06cea5", + "sourceUniqueId": "48e058b1-7eea-4968-b532-10a8a1130c13", + "networkAccessPolicy": "AllowAll", + "publicNetworkAccess": "Disabled", + "replicationState": "Succeeded", + "completionPercent": 100, + "sourceResourceLocation": "eastus2" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccess.json new file mode 100644 index 000000000000..1fdcfc7f41a0 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccess.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json new file mode 100644 index 000000000000..3e648c7ce9b8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSet.json new file mode 100644 index 000000000000..d20b51613ced --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSetWithAutoKeyRotationError.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSetWithAutoKeyRotationError.json new file mode 100644 index 000000000000..775166c0e925 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutADiskEncryptionSetWithAutoKeyRotationError.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "rotationToLatestKeyVersionEnabled": true, + "provisioningState": "Succeeded", + "autoKeyRotationError": { + "code": "ManagedServiceIdentityNotFound", + "message": "Auto-key rotation was disabled as managed service identity associated with DiskEncryptionSet 'myDiskEncryptionSet' was not found. Please update the resource with correct identity to re-enable auto-key rotation." + } + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutAManagedDisk.json new file mode 100644 index 000000000000..a0e037d5a856 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutAManagedDisk.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "test_sku", + "publisher": "test_test_pmc2pc1", + "product": "marketplace_vm_test" + }, + "supportedCapabilities": { + "acceleratedNetwork": true, + "architecture": "Arm64" + }, + "supportsHibernation": true, + "securityProfile": { + "securityType": "TrustedLaunch" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 10, + "dataAccessAuthMode": "AzureActiveDirectory", + "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/2021-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json new file mode 100644 index 000000000000..02f84ae2d2ce --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutAPrivateEndpointConnection.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess", + "privateEndpointConnectionName": "myPrivateEndpointConnection" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutASnapshot.json new file mode 100644 index 000000000000..0b3348467360 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/GetInformationAboutASnapshot.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "snapshotName": "mySnapshot" + }, + "responses": { + "200": { + "body": { + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "test_sku", + "publisher": "test_test_pmc2pc1", + "product": "marketplace_vm_test" + }, + "supportedCapabilities": { + "acceleratedNetwork": true, + "architecture": "Arm64" + }, + "supportsHibernation": true, + "creationData": { + "createOption": "Copy", + "sourceResourceId": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk", + "sourceUniqueId": "d633885d-d102-4481-901e-5b2413d1a7be" + }, + "diskSizeGB": 100, + "dataAccessAuthMode": "AzureActiveDirectory", + "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/2021-12-01/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskAccessesInAResourceGroup.json new file mode 100644 index 000000000000..20a206794a56 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskAccessesInAResourceGroup.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskAccessesInASubscription.json new file mode 100644 index 000000000000..594da8691b0f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskAccessesInASubscription.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00" + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "name": "myDiskAccess" + }, + { + "properties": { + "provisioningState": "Succeeded", + "timeCreated": "2020-05-01T04:41:35.079872+00:00", + "privateEndpointConnections": [ + { + "name": "myDiskAccess.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2/privateEndpoinConnections/myDiskAccess2.d4914cfa-6bc2-4049-a57c-3d1f622d8eef", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint2" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + }, + "type": "Microsoft.Compute/diskAccesses", + "location": "westus", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + }, + "id": "/subscriptions/{subscription-id}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess2", + "name": "myDiskAccess2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetAssociatedResources.json new file mode 100644 index 000000000000..d958166a30ec --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetAssociatedResources.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskEncryptionSetName": "myDiskEncryptionSet" + }, + "responses": { + "200": { + "body": { + "value": [ + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json new file mode 100644 index 000000000000..b59f1e3df0a5 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInAResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInASubscription.json new file mode 100644 index 000000000000..1e123447198b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskEncryptionSetsInASubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-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}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "name": "myDiskEncryptionSet" + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault2" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "westus", + "tags": { + "department": "Development", + "project": "Encryption" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/mySecondResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet2", + "name": "myDiskEncryptionSet2" + } + ], + "nextLink": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets?$skiptoken={token}" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json new file mode 100644 index 000000000000..df8d2200ab35 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListDiskRestorePointsInVmRestorePoint.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "restorePointCollectionName": "rpc", + "vmRestorePointName": "vmrp", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/restorePointCollections/rpc/restorePoints/vmrp/diskRestorePoints/TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "name": "TestDisk45ceb03433006d1baee0_b70cd924-3362-4a80-93c2-9415eaa12745", + "properties": { + "timeCreated": "2020-09-16T04:41:35.079872+00:00", + "sourceResourceId": "/subscriptions/d2260d06-e00d-422f-8b63-93df551a59ae/resourceGroups/rg0680fb0c-89f1-41b4-96c0-35733a181558/providers/Microsoft.Compute/disks/TestDisk45ceb03433006d1baee0", + "osType": "Windows", + "hyperVGeneration": "V1", + "familyId": "996bf3ce-b6ff-4e86-9db6-dc27ea06cea5", + "sourceUniqueId": "48e058b1-7eea-4968-b532-10a8a1130c13", + "networkAccessPolicy": "AllowAll", + "publicNetworkAccess": "Disabled" + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListManagedDisksInAResourceGroup.json new file mode 100644 index 000000000000..d649be0a6003 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListManagedDisksInAResourceGroup.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListManagedDisksInASubscription.json new file mode 100644 index 000000000000..529771d9843b --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListManagedDisksInASubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-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/2021-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json new file mode 100644 index 000000000000..1edccc00af5c --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListPrivateEndpointConnectionsInADiskAccess.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Compute/diskAccesses/PrivateEndpointConnections", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess/privateEndpoinConnections/myPrivateEndpointConnection", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "description": "Auto-Approved", + "status": "Approved" + } + } + } + ] + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListSnapshotsInAResourceGroup.json new file mode 100644 index 000000000000..9dd4fd0a31ad --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListSnapshotsInAResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/2021-12-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListSnapshotsInASubscription.json new file mode 100644 index 000000000000..77f0f5225a8f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/ListSnapshotsInASubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2021-12-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/2021-12-01/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskAccess.json new file mode 100644 index 000000000000..8209c9adc6ca --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskAccess.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskAccessName": "myDiskAccess", + "diskAccess": { + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess?api-version=2021-04-01" + }, + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + }, + "200": { + "body": { + "name": "myDiskAccess", + "id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess", + "type": "Microsoft.Compute/diskAccesses", + "location": "West US", + "tags": { + "department": "Development", + "project": "PrivateEndpoints" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSet.json new file mode 100644 index 000000000000..1dfacea7b7ec --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSet.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-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/keyName/keyVersion" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey" + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, + "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/keyName/keyVersion" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "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/keyName/keyVersion" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [], + "lastKeyRotationTimestamp": "2021-04-01T04:41:35.079872+00:00" + }, + "tags": { + "department": "Development", + "project": "Encryption" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json new file mode 100644 index 000000000000..7c52282f7c08 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, + "body": { + "name": "myDiskEncryptionSet", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/KeyVersion2" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "rotationToLatestKeyVersionEnabled": true, + "provisioningState": "Succeeded", + "lastKeyRotationTimestamp": "2021-04-01T04:41:35.079872+00:00" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json new file mode 100644 index 000000000000..75d4ccbb2a3a --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskEncryptionSetName": "myDiskEncryptionSet", + "diskEncryptionSet": { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "rotationToLatestKeyVersionEnabled": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01" + }, + "body": { + "name": "myDiskEncryptionSet", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "previousKeys": [] + } + } + }, + "200": { + "body": { + "name": "myDiskEncryptionSet", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet", + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "West US", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion2" + }, + "encryptionType": "EncryptionAtRestWithCustomerKey", + "rotationToLatestKeyVersionEnabled": true, + "previousKeys": [ + { + "keyUrl": "https://myvaultdifferentsub.vault-int.azure-int.net/keys/keyName/keyVersion1" + } + ], + "provisioningState": "Updating", + "lastKeyRotationTimestamp": "2021-04-01T04:41:35.079872+00:00" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json new file mode 100644 index 000000000000..1f670db49f55 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "supportedCapabilities": { + "acceleratedNetwork": false + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportedCapabilities": { + "acceleratedNetwork": false + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Updating" + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportedCapabilities": { + "acceleratedNetwork": false + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddArchitecture.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddArchitecture.json new file mode 100644 index 000000000000..cbf0cd8d0738 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddArchitecture.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "supportedCapabilities": { + "architecture": "Arm64" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-12-01" + }, + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportedCapabilities": { + "architecture": "Arm64" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Updating" + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportedCapabilities": { + "architecture": "Arm64" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json new file mode 100644 index 000000000000..c21b3ce98137 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddPurchasePlan.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "purchasePlan": { + "name": "myPurchasePlanName", + "publisher": "myPurchasePlanPublisher", + "product": "myPurchasePlanProduct", + "promotionCode": "myPurchasePlanPromotionCode" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "myPurchasePlanName", + "publisher": "myPurchasePlanPublisher", + "product": "myPurchasePlanProduct", + "promotionCode": "myPurchasePlanPromotionCode" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Updating" + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "purchasePlan": { + "name": "myPurchasePlanName", + "publisher": "myPurchasePlanPublisher", + "product": "myPurchasePlanProduct", + "promotionCode": "myPurchasePlanPromotionCode" + }, + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscription-id}/Providers/Microsoft.Compute/Locations/westus/Publishers/test_test_pmc2pc1/ArtifactTypes/VMImage/Offers/marketplace_vm_test/Skus/test_sku/Versions/1.0.0" + } + }, + "diskSizeGB": 127, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json new file mode 100644 index 000000000000..71bbe35a73aa --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "supportsHibernation": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportsHibernation": true, + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "diskSizeGB": 127, + "provisioningState": "Updating" + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "westus", + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "properties": { + "osType": "Windows", + "hyperVGeneration": "V1", + "supportsHibernation": true, + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + }, + "diskSizeGB": 127, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToChangeTier.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToChangeTier.json new file mode 100644 index 000000000000..f4bfd37288c2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToChangeTier.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "tier": "P30" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "provisioningState": "Updating", + "tier": "P10", + "propertyUpdatesInProgress": { + "targetTier": "P30" + } + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "provisioningState": "Succeeded", + "tier": "P30" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToDisableBursting.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToDisableBursting.json new file mode 100644 index 000000000000..d862d7d099b8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToDisableBursting.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "burstingEnabled": false + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "provisioningState": "Succeeded" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json new file mode 100644 index 000000000000..2870cbe81b34 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-12-01", + "diskName": "myDisk", + "disk": { + "properties": { + "networkAccessPolicy": "AllowAll" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Succeeded", + "networkAccessPolicy": "AllowAll" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshot.json new file mode 100644 index 000000000000..bc1798579538 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshot.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "snapshotName": "mySnapshot", + "api-version": "2021-12-01", + "snapshot": { + "properties": { + "diskSizeGB": 20 + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "diskSizeGB": 20, + "provisioningState": "Updating" + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + }, + "location": "West US", + "name": "mySnapshot" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "diskSizeGB": 20, + "provisioningState": "Succeeded" + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + }, + "location": "West US", + "name": "mySnapshot" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshotWithAcceleratedNetwork.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshotWithAcceleratedNetwork.json new file mode 100644 index 000000000000..e2d5a1fc0682 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-12-01/examples/UpdateASnapshotWithAcceleratedNetwork.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "snapshotName": "mySnapshot", + "api-version": "2021-12-01", + "snapshot": { + "properties": { + "diskSizeGB": 20, + "supportedCapabilities": { + "acceleratedNetwork": false + } + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot?api-version=2021-04-01" + }, + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "supportedCapabilities": { + "acceleratedNetwork": false + }, + "diskSizeGB": 20, + "provisioningState": "Updating" + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + }, + "location": "West US", + "name": "mySnapshot" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1" + }, + "supportedCapabilities": { + "acceleratedNetwork": false + }, + "diskSizeGB": 20, + "provisioningState": "Succeeded" + }, + "tags": { + "department": "Development", + "project": "UpdateSnapshots" + }, + "location": "West US", + "name": "mySnapshot" + } + } + } +} diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md index 7998a4c4d26a..ae5da7bccd0f 100644 --- a/specification/compute/resource-manager/readme.go.md +++ b/specification/compute/resource-manager/readme.go.md @@ -48,6 +48,7 @@ directive: ```yaml $(go) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-2021-11-01 - tag: package-2021-08-01 - tag: package-2021-07-01 @@ -76,6 +77,16 @@ batch: - tag: package-container-service-2015-11-preview ``` +### Tag: package-2021-12-01 and go + +These settings apply only when `--tag=package-2021-12-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag)=='package-2021-12-01' && $(go) +namespace: compute +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) +``` + ### Tag: package-2021-11-01 and go These settings apply only when `--tag=package-2021-11-01 --go` is specified on the command line. diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index b8a85a53acce..999ead008a17 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-2021-11-01 +tag: package-2021-12-01 directive: - where: @@ -235,6 +235,31 @@ directive: - RequiredPropertiesMissingInResourceModel ``` +### Tag: package-2021-12-01 + +These settings apply only when `--tag=package-2021-12-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12-01' +input-file: +- Microsoft.Compute/stable/2021-11-01/compute.json +- Microsoft.Compute/stable/2021-11-01/runCommands.json +- Microsoft.Compute/stable/2021-07-01/skus.json +- Microsoft.Compute/stable/2021-12-01/disk.json +- Microsoft.Compute/stable/2021-10-01/gallery.json +- Microsoft.Compute/stable/2021-07-01/sharedGallery.json +- Microsoft.Compute/stable/2021-07-01/communityGallery.json +- Microsoft.Compute/stable/2021-03-01/cloudService.json +``` + +### Tag: package-2021-12-01-only + +These settings apply only when `--tag=package-2021-12-01-oly` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12-01-only' +input-file: +- Microsoft.Compute/stable/2021-12-01/disk.json +``` + ### Tag: package-2021-11-01 These settings apply only when `--tag=package-2021-11-01` is specified on the command line. @@ -245,7 +270,7 @@ input-file: - Microsoft.Compute/stable/2021-11-01/runCommands.json - Microsoft.Compute/stable/2021-07-01/skus.json - Microsoft.Compute/stable/2021-08-01/disk.json -- Microsoft.Compute/stable/2021-07-01/gallery.json +- Microsoft.Compute/stable/2021-10-01/gallery.json - Microsoft.Compute/stable/2021-07-01/sharedGallery.json - Microsoft.Compute/stable/2021-07-01/communityGallery.json - Microsoft.Compute/stable/2021-03-01/cloudService.json @@ -286,6 +311,30 @@ input-file: - Microsoft.Compute/stable/2021-03-01/cloudService.json ``` +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10-01' +input-file: +- Microsoft.Compute/stable/2021-07-01/compute.json +- Microsoft.Compute/stable/2021-07-01/runCommands.json +- Microsoft.Compute/stable/2021-07-01/skus.json +- Microsoft.Compute/stable/2021-04-01/disk.json +- Microsoft.Compute/stable/2021-10-01/gallery.json +- Microsoft.Compute/stable/2021-07-01/sharedGallery.json +- Microsoft.Compute/stable/2021-07-01/communityGallery.json +- Microsoft.Compute/stable/2021-03-01/cloudService.json +``` + +### Tag: package-2021-10-01-only + +These settings apply only when `--tag=package-2021-10-01-only` is specified on the command line. +``` yaml $(tag) == 'package-2021-10-01-only' +input-file: +- Microsoft.Compute/stable/2021-10-01/gallery.json +``` + ### Tag: package-2021-07-01 These settings apply only when `--tag=package-2021-07-01` is specified on the command line. @@ -322,12 +371,13 @@ These settings apply only when `--tag=2021-06-01-preview` is specified on the co ``` yaml $(tag) == 'package-2021-06-01-preview' input-file: -- Microsoft.Compute/stable/2021-03-01/compute.json -- Microsoft.Compute/stable/2021-03-01/runCommands.json -- Microsoft.Compute/stable/2019-04-01/skus.json -- Microsoft.Compute/stable/2020-12-01/disk.json -- Microsoft.Compute/stable/2020-09-30/gallery.json -- Microsoft.Compute/stable/2020-09-30/sharedGallery.json +- Microsoft.Compute/stable/2021-11-01/compute.json +- Microsoft.Compute/stable/2021-11-01/runCommands.json +- Microsoft.Compute/stable/2021-07-01/skus.json +- Microsoft.Compute/stable/2021-12-01/disk.json +- Microsoft.Compute/stable/2021-10-01/gallery.json +- Microsoft.Compute/stable/2021-07-01/sharedGallery.json +- Microsoft.Compute/stable/2021-07-01/communityGallery.json - Microsoft.Compute/stable/2021-03-01/cloudService.json - Microsoft.Compute/preview/2021-06-01-preview/diagnostic.json ``` diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md index 57668cc46b2e..2c8c54814a3e 100644 --- a/specification/compute/resource-manager/readme.python.md +++ b/specification/compute/resource-manager/readme.python.md @@ -36,7 +36,9 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) clear-output-folder: true batch: + - tag: package-2021-12-01-only - tag: package-2021-11-01-only + - tag: package-2021-10-01-only - tag: package-2021-08-01-only - tag: package-2021-07-01-only - tag: package-2021-04-01-only @@ -67,10 +69,20 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/ -clear-output-folder: false perform-load: false ``` + +### Tag: package-2021-12-01-only + +These settings apply only when `--tag=package-2021-12-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-12-01-only' +namespace: azure.mgmt.compute.v2021_12_01 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_12_01 +``` + ### Tag: package-2021-11-01-only These settings apply only when `--tag=package-2021-11-01-only --python` is specified on the command line. @@ -81,6 +93,16 @@ namespace: azure.mgmt.compute.v2021_11_01 output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_11_01 ``` +### Tag: package-2021-10-01-only + +These settings apply only when `--tag=package-2021-10-01-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-10-01-only' +namespace: azure.mgmt.compute.v2021_10_01 +output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2021_10_01 +``` + ### Tag: package-2021-08-01-only These settings apply only when `--tag=package-2021-08-01-only --python` is specified on the command line. diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json index da5066749b97..bf60b61c0f24 100644 --- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2020-12-01-preview/confidentialledger.json @@ -530,7 +530,7 @@ "description": "Cert based security principal with Ledger RoleName", "properties": { "cert": { - "description": "Base64 encoded public key of the user cert (.pem or .cer)", + "description": "Public key of the user cert (.pem or .cer)", "type": "string" }, "ledgerRoleName": { diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json index 96e423cee57f..58a2ed04ad60 100644 --- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/confidentialledger.json @@ -412,7 +412,7 @@ } }, "definitions": { - "Location": { + "ResourceLocation": { "description": "Location of the ARM Resource", "type": "object", "properties": { @@ -481,6 +481,9 @@ "items": { "$ref": "#/definitions/ResourceProviderOperationDefinition" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -578,7 +581,7 @@ "description": "Cert based security principal with Ledger RoleName", "properties": { "cert": { - "description": "Base64 encoded public key of the user cert (.pem or .cer)", + "description": "Public key of the user cert (.pem or .cer)", "type": "string" }, "ledgerRoleName": { @@ -642,14 +645,18 @@ "type": "array", "items": { "$ref": "#/definitions/AADBasedSecurityPrincipal" - } + }, + "x-ms-identifiers": [ + "principalId" + ] }, "certBasedSecurityPrincipals": { "description": "Array of all cert based Security Principals.", "type": "array", "items": { "$ref": "#/definitions/CertBasedSecurityPrincipal" - } + }, + "x-ms-identifiers": [] } } }, @@ -661,7 +668,7 @@ "$ref": "#/definitions/Resource" }, { - "$ref": "#/definitions/Location" + "$ref": "#/definitions/ResourceLocation" }, { "$ref": "#/definitions/Tags" diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json index 75df24f7242e..0989499b1a4d 100644 --- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Create.json @@ -16,7 +16,7 @@ ], "certBasedSecurityPrincipals": [ { - "cert": "MIIDBTCCAe2gAwIBAgIQXVogj9BAf49IpuOSIvztNDANBgkqhkiG9w0BAQsFADAtMSswKQYDVQQDEyJhY2NvdW50cy5hY2Nlc3Njb250cm9sLndpbmRvd3MubmV0MB4XDTIwMDMxNzAwMDAwMFoXDTI1MDMxNzAwMDAwMFowLTErMCkGA1UEAxMiYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW5kb3dzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANfLmdz9yIDskpZzrMXiDeVlCs75ZunrzwzBW5lz7UxdBjHu7Q9iT32otlBp++LOwBcKsVjuQ0GUbulX0FLsfLjEeCe58ZtSn//+6VRFSScg7i+WvDwEUWELR+vMPtCGcXBTpILEnYbSMz0No4+Jpkc1lyMIfDP/KSeqojo74xfW4RKtAgv39uwZ5Yz2hZ/IcWOvaQqMXp1lqhXLFIRWbwjLYYUbmwGwYpQ6++Cml0ucQoMkgYT88HpA/fzXQlLgrHamr3eE/lVp26ZWwfGLAvkdNBabQRSrk8k/c6BmY1mYpUFZo+795PI16mAdp1ioEwH8I5osis+/BR5GhPpwiA8CAwEAAaMhMB8wHQYDVR0OBBYEFF8MDGklOGhGNVJvsHHRCaqtzexcMA0GCSqGSIb3DQEBCwUAA4IBAQCKkegw/mdpCVl1lOpgU4G9RT+1gtcPqZK9kpimuDggSJju6KUQlOCi5/lIH5DCzpjFdmG17TjWVBNve5kowmrhLzovY0Ykk7+6hYTBK8dNNSmd4SK7zY++0aDIuOzHP2Cur+kgFC0gez50tPzotLDtMmp40gknXuzltwJfezNSw3gLgljDsGGcDIXK3qLSYh44qSuRGwulcN2EJUZBI9tIxoODpaWHIN8+z2uZvf8JBYFjA3+n9FRQn51X16CTcjq4QRTbNVpgVuQuyaYnEtx0ZnDvguB3RjGSPIXTRBkLl2x7e8/6uAZ6tchw8rhcOtPsFgJuoJokGjvcUSR/6Eqd", + "cert": "-----BEGIN CERTIFICATE-----MIIBsjCCATigAwIBAgIUZWIbyG79TniQLd2UxJuU74tqrKcwCgYIKoZIzj0EAwMwEDEOMAwGA1UEAwwFdXNlcjAwHhcNMjEwMzE2MTgwNjExWhcNMjIwMzE2MTgwNjExWjAQMQ4wDAYDVQQDDAV1c2VyMDB2MBAGByqGSM49AgEGBSuBBAAiA2IABBiWSo/j8EFit7aUMm5lF+lUmCu+IgfnpFD+7QMgLKtxRJ3aGSqgS/GpqcYVGddnODtSarNE/HyGKUFUolLPQ5ybHcouUk0kyfA7XMeSoUA4lBz63Wha8wmXo+NdBRo39qNTMFEwHQYDVR0OBBYEFPtuhrwgGjDFHeUUT4nGsXaZn69KMB8GA1UdIwQYMBaAFPtuhrwgGjDFHeUUT4nGsXaZn69KMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDaAAwZQIxAOnozm2CyqRwSSQLls5r+mUHRGRyXHXwYtM4Dcst/VEZdmS9fqvHRCHbjUlO/+HNfgIwMWZ4FmsjD3wnPxONOm9YdVn/PRD7SsPRPbOjwBiE4EBGaHDsLjYAGDSGi7NJnSkA-----END CERTIFICATE-----", "ledgerRoleName": "Reader" } ] diff --git a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json index d822f7d26004..f2bcfa57d958 100644 --- a/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json +++ b/specification/confidentialledger/resource-manager/Microsoft.ConfidentialLedger/preview/2021-05-13-preview/examples/ConfidentialLedger_Update.json @@ -5,7 +5,22 @@ "resourceGroupName": "DummyResourceGroupName", "ledgerName": "DummyLedgerName", "confidentialLedger": { - "properties": {}, + "properties": { + "ledgerType": "Public", + "aadBasedSecurityPrincipals": [ + { + "principalId": "34621747-6fc8-4771-a2eb-72f31c461f2e", + "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", + "ledgerRoleName": "Administrator" + } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } + ] + }, "location": "EastUS", "tags": { "additionalProps1": "additional properties", @@ -18,8 +33,8 @@ "body": { "properties": { "ledgerName": "DummyLedgerName", - "ledgerUri": "https://dummy.accledger.domain.com/DummyLedgerName", - "identityServiceUri": "https://dummy.accledger.identity.com/DummyLedgerName", + "ledgerUri": "https://dummyledgername.confidential-ledger.azure.com", + "identityServiceUri": "https://identity.confidential-ledger.core.azure.com/ledgerIdentity/dummyledgername", "ledgerType": "Public", "ledgerInternalNamespace": "dummyNamespace", "provisioningState": "Succeeded", @@ -29,6 +44,12 @@ "tenantId": "bce123b9-2b7b-4975-8360-5ca0b9b1cd08", "ledgerRoleName": "Administrator" } + ], + "certBasedSecurityPrincipals": [ + { + "cert": "-----BEGIN CERTIFICATE-----\nMIIDUjCCAjqgAwIBAgIQJ2IrDBawSkiAbkBYmiAopDANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwHhcNMjAwOTIzMjIxODQ2WhcNMjEwOTIzMjIyODQ2WjAmMSQwIgYDVQQDExtTeW50aGV0aWNzIExlZGdlciBVc2VyIENlcnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCX2s/Eu4q/eQ63N+Ugeg5oAciZua/YCJr41c/696szvSY7Zg1SNJlW88/nbz70+QpO55OmqlEE3QCU+T0Vl/h0Gf//n1PYcoBbTGUnYEmV+fTTHict6rFiEwrGJ62tvcpYgwapInSLyEeUzjki0zhOLJ1OfRnYd1eGnFVMpE5aVjiS8Q5dmTEUyd51EIprGE8RYAW9aeWSwTH7gjHUsRlJnHKcdhaK/v5QKJnNu5bzPFUcpC0ZBcizoMPAtroLAD4B68Jl0z3op18MgZe6lRrVoWuxfqnk5GojuB/Vu8ohAZKoFhQ6NB6r+LL2AUs+Zr7Bt26IkEdR178n9JMEA4gHAgMBAAGjfDB6MA4GA1UdDwEB/wQEAwIFoDAJBgNVHRMEAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAfBgNVHSMEGDAWgBS/a7PU9iOfOKEyZCp11Oen5VSuuDAdBgNVHQ4EFgQUv2uz1PYjnzihMmQqddTnp+VUrrgwDQYJKoZIhvcNAQELBQADggEBAF5q2fDwnse8egXhfaJCqqM969E9gSacqFmASpoDJPRPEX7gqoO7v1ww7nqRtRDoRiBvo/yNk7jlSAkRN3nRRnZLZZ3MYQdmCr4FGyIqRg4Y94+nja+Du9pDD761rxRktMVPSOaAVM/E5DQvscDlPvlPYe9mkcrLCE4DXYpiMmLT8Tm55LJJq5m07dVDgzAIR1L/hmEcbK0pnLgzciMtMLxGO2udnyyW/UW9WxnjvrrD2JluTHH9mVbb+XQP1oFtlRBfH7aui1ZgWfKvxrdP4zdK9QoWSUvRux3TLsGmHRBjBMtqYDY3y5mB+aNjLelvWpeVb0m2aOSVXynrLwNCAVA=\n-----END CERTIFICATE-----", + "ledgerRoleName": "Reader" + } ] }, "name": "DummyLedgerName", diff --git a/specification/confidentialledger/resource-manager/readme.az.md b/specification/confidentialledger/resource-manager/readme.az.md new file mode 100644 index 000000000000..f709177a215f --- /dev/null +++ b/specification/confidentialledger/resource-manager/readme.az.md @@ -0,0 +1,12 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: confidentialledger + namespace: azure.mgmt.confidentialledger + package-name: azure-mgmt-confidentialledger +az-output-folder: $(azure-cli-extension-folder)/src/confidentialledger +python-sdk-output-folder: "$(az-output-folder)/azext_confidentialledger/vendored_sdks/confidentialledger" +``` \ No newline at end of file diff --git a/specification/confidentialledger/resource-manager/readme.cli.md b/specification/confidentialledger/resource-manager/readme.cli.md new file mode 100644 index 000000000000..179636a56760 --- /dev/null +++ b/specification/confidentialledger/resource-manager/readme.cli.md @@ -0,0 +1,4 @@ +``` yaml +# add any configuration here for all CLI languages +# refer to the faq.md for more details +``` \ No newline at end of file diff --git a/specification/confidentialledger/resource-manager/readme.md b/specification/confidentialledger/resource-manager/readme.md index 640a3b03ad91..a978b33a9719 100644 --- a/specification/confidentialledger/resource-manager/readme.md +++ b/specification/confidentialledger/resource-manager/readme.md @@ -60,7 +60,7 @@ 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-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 @@ -68,6 +68,7 @@ swagger-to-sdk: - repo: azure-sdk-for-ruby after_scripts: - bundle install && rake arm:regen_all_profiles['azure_mgmt_confidentialledger'] + - repo: azure-cli-extensions ``` ## Go diff --git a/specification/confidentialledger/resource-manager/readme.python.md b/specification/confidentialledger/resource-manager/readme.python.md index d51e32acadda..e13420686bf3 100644 --- a/specification/confidentialledger/resource-manager/readme.python.md +++ b/specification/confidentialledger/resource-manager/readme.python.md @@ -3,19 +3,16 @@ 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.confidentialledger - package-name: azure-mgmt-confidentialledger - package-version: 0.0.1 - clear-output-folder: true +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-confidentialledger +namespace: azure.mgmt.confidentialledger +package-version: 1.0.0b1 +clear-output-folder: true ``` -```yaml $(python) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/confidentialledger/azure-mgmt-confidentialledger/azure/mgmt/confidentialledger ``` diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json index b5d2085203ef..94c68febd05d 100644 --- a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json +++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json @@ -660,7 +660,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationResult" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -694,7 +697,11 @@ "readOnly": true, "items": { "$ref": "#/definitions/ErrorResponseBody" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } } }, diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json index a5d955874d8a..e64e668d2c59 100644 --- a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2020-03-01/confluent.json @@ -598,7 +598,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationResult" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -633,7 +636,11 @@ "readOnly": true, "items": { "$ref": "#/definitions/ErrorResponseBody" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } } }, diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/confluent.json new file mode 100644 index 000000000000..b8f2dd9972c0 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/confluent.json @@ -0,0 +1,976 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Confluent", + "version": "2021-12-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements": { + "get": { + "tags": [ + "Agreements" + ], + "summary": "List Confluent marketplace agreements in the subscription.", + "operationId": "MarketplaceAgreements_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResourceListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "MarketplaceAgreements_List": { + "$ref": "./examples/MarketplaceAgreements_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/agreements/default": { + "put": { + "tags": [ + "Agreements" + ], + "summary": "Create Confluent Marketplace agreement in the subscription.", + "operationId": "MarketplaceAgreements_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "in": "body", + "name": "body", + "description": "Confluent Marketplace Agreement resource", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "MarketplaceAgreements_Create": { + "$ref": "./examples/MarketplaceAgreements_Create.json" + } + } + } + }, + "/providers/Microsoft.Confluent/operations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all operations provided by Microsoft.Confluent.", + "operationId": "OrganizationOperations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OrganizationOperations_List": { + "$ref": "./examples/OrganizationOperations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all organizations under the specified subscription.", + "operationId": "Organization_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListBySubscription": { + "$ref": "./examples/Organization_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations": { + "get": { + "tags": [ + "Organization" + ], + "summary": "List all Organizations under the specified resource group.", + "operationId": "Organization_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResourceListResult" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Organization_ListByResourceGroup": { + "$ref": "./examples/Organization_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/organizations/{organizationName}": { + "get": { + "tags": [ + "Organization" + ], + "summary": "Get the properties of a specific Organization resource.", + "operationId": "Organization_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Organization_Get": { + "$ref": "./examples/Organization_Get.json" + } + } + }, + "put": { + "tags": [ + "Organization" + ], + "summary": "Create Organization resource", + "operationId": "Organization_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Organization resource model", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Organization_Create": { + "$ref": "./examples/Organization_Create.json" + } + } + }, + "patch": { + "tags": [ + "Organization" + ], + "summary": "Update Organization resource", + "operationId": "Organization_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "description": "Updated Organization resource", + "schema": { + "$ref": "#/definitions/OrganizationResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Confluent_Update": { + "$ref": "./examples/Organization_Update.json" + } + } + }, + "delete": { + "tags": [ + "Organization" + ], + "summary": "Delete Organization resource", + "operationId": "Organization_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "The specified confluent resource does not exist in the subscription." + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Confluent_Delete": { + "$ref": "./examples/Organization_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Confluent/validations/{organizationName}/orgvalidate": { + "post": { + "tags": [ + "Validations" + ], + "summary": "Organization Validate proxy resource", + "operationId": "Validations_ValidateOrganization", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/OrganizationResourceNameParameter" + }, + { + "in": "body", + "name": "body", + "required": true, + "description": "Organization resource model", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Validations_ValidateOrganizations": { + "$ref": "./examples/Validations_ValidateOrganizations.json" + } + } + } + } + }, + "definitions": { + "ConfluentAgreementProperties": { + "description": "Terms properties for Marketplace and Confluent.", + "type": "object", + "properties": { + "publisher": { + "description": "Publisher identifier string.", + "type": "string" + }, + "product": { + "description": "Product identifier string.", + "type": "string" + }, + "plan": { + "description": "Plan identifier string.", + "type": "string" + }, + "licenseTextLink": { + "description": "Link to HTML with Microsoft and Publisher terms.", + "type": "string" + }, + "privacyPolicyLink": { + "description": "Link to the privacy policy of the publisher.", + "type": "string" + }, + "retrieveDatetime": { + "format": "date-time", + "description": "Date and time in UTC of when the terms were accepted. This is empty if Accepted is false.", + "type": "string" + }, + "signature": { + "description": "Terms signature.", + "type": "string" + }, + "accepted": { + "description": "If any version of the terms have been accepted, otherwise false.", + "type": "boolean" + } + } + }, + "ConfluentAgreementResource": { + "description": "Agreement Terms definition", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the agreement.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the agreement.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConfluentAgreementProperties", + "description": "Represents the properties of the resource." + } + } + }, + "ConfluentAgreementResourceListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/ConfluentAgreementResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Confluent", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'clusters'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write confluent'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "An Confluent REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list Confluent operations.", + "type": "object", + "properties": { + "value": { + "description": "List of Confluent operations supported by the Microsoft.Confluent provider.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "ErrorResponseBody": { + "description": "Response body of Error", + "title": "ErrorResponseBody", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Error target", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Error detail", + "type": "array", + "x-ms-identifiers": [], + "readOnly": true, + "items": { + "$ref": "#/definitions/ErrorResponseBody" + } + } + } + }, + "ResourceProviderDefaultErrorResponse": { + "type": "object", + "description": "Default error response for resource provider", + "title": "ResourceProviderDefaultErrorResponse", + "properties": { + "error": { + "description": "Response body of Error", + "readOnly": true, + "$ref": "#/definitions/ErrorResponseBody" + } + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "description": "Provision states for confluent RP", + "title": "ProvisioningState", + "x-ms-enum": { + "name": "ProvisionState", + "modelAsString": true + } + }, + "SaaSOfferStatus": { + "enum": [ + "Started", + "PendingFulfillmentStart", + "InProgress", + "Subscribed", + "Suspended", + "Reinstated", + "Succeeded", + "Failed", + "Unsubscribed", + "Updating" + ], + "type": "string", + "description": "SaaS Offer Status for confluent RP", + "title": "SaaSOfferStatus", + "x-ms-enum": { + "modelAsString": true, + "name": "SaaSOfferStatus" + } + }, + "OfferDetail": { + "description": "Confluent Offer detail", + "type": "object", + "required": [ + "publisherId", + "id", + "planId", + "planName", + "termUnit" + ], + "properties": { + "publisherId": { + "description": "Publisher Id", + "maxLength": 50, + "type": "string" + }, + "id": { + "description": "Offer Id", + "maxLength": 50, + "type": "string" + }, + "planId": { + "description": "Offer Plan Id", + "maxLength": 50, + "type": "string" + }, + "planName": { + "description": "Offer Plan Name", + "maxLength": 50, + "type": "string" + }, + "termUnit": { + "description": "Offer Plan Term unit", + "maxLength": 25, + "type": "string" + }, + "status": { + "description": "SaaS Offer Status", + "$ref": "#/definitions/SaaSOfferStatus", + "readOnly": true + } + } + }, + "UserDetail": { + "description": "Subscriber detail", + "type": "object", + "required": [ + "emailAddress" + ], + "properties": { + "firstName": { + "description": "First name", + "maxLength": 50, + "type": "string" + }, + "lastName": { + "description": "Last name", + "maxLength": 50, + "type": "string" + }, + "emailAddress": { + "description": "Email address", + "pattern": "^\\S+@\\S+\\.\\S+$", + "type": "string" + } + } + }, + "OrganizationResourceProperties": { + "description": "Organization resource property", + "type": "object", + "required": [ + "offerDetail", + "userDetail" + ], + "properties": { + "createdTime": { + "format": "date-time", + "description": "The creation time of the resource.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provision states for confluent RP", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "organizationId": { + "description": "Id of the Confluent organization.", + "type": "string", + "readOnly": true + }, + "ssoUrl": { + "description": "SSO url for the Confluent organization.", + "type": "string", + "readOnly": true + }, + "offerDetail": { + "description": "Confluent offer detail", + "$ref": "#/definitions/OfferDetail" + }, + "userDetail": { + "description": "Subscriber detail", + "$ref": "#/definitions/UserDetail" + } + } + }, + "OrganizationResource": { + "description": "Organization resource.", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "properties" + ], + "properties": { + "id": { + "description": "The ARM id of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Organization resource properties", + "$ref": "#/definitions/OrganizationResourceProperties" + }, + "tags": { + "type": "object", + "description": "Organization resource tags", + "additionalProperties": { + "type": "string" + } + }, + "location": { + "description": "Location of Organization resource", + "type": "string" + } + } + }, + "OrganizationResourceListResult": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Result of a list operation.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/OrganizationResource" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OrganizationResourceUpdate": { + "description": "Organization Resource update", + "type": "object", + "properties": { + "tags": { + "description": "ARM resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string", + "enum": [ + "2021-12-01" + ] + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "Microsoft Azure subscription id", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "Resource group name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OrganizationResourceNameParameter": { + "in": "path", + "name": "organizationName", + "description": "Organization resource name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_Create.json new file mode 100644 index 000000000000..77efd963d114 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_Create.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "requestBody": { + "properties": { + "accepted": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default", + "name": "default", + "type": "Microsoft.Confluent/agreements", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "publisher": "pubid1", + "product": "offid1", + "plan": "planid1", + "licenseTextLink": "test.licenseLink1", + "privacyPolicyLink": "test.privacyPolicyLink1", + "retrieveDatetime": "2020-11-05T17:33:07.12132Z", + "signature": "YKWOQOKH2BCKZ46O7SCKHANWEENRFRU5WB4LXDFUYWCBWTS4AG4SGQXCOZYIR5ZJCZTXRMZKYZMO2BJSL5YKPLAR4LBFRUNS6CRYE7A", + "accepted": true + } + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_List.json new file mode 100644 index 000000000000..869c06a929b2 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/MarketplaceAgreements_List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Confluent/agreements/default", + "name": "planid1", + "type": "Microsoft.Confluent/agreements", + "properties": { + "publisher": "pubid1", + "product": "offid1", + "plan": "planid1", + "licenseTextLink": "test.licenseLink1", + "privacyPolicyLink": "test.privacyPolicyLink1", + "retrieveDatetime": "2017-08-15T11:33:07.12132Z", + "signature": "ASDFSDAFWEFASDGWERLWER", + "accepted": true + } + }, + { + "id": "id2", + "name": "planid2", + "type": "Microsoft.MarketplaceOrdering/offertypes", + "properties": { + "publisher": "pubid2", + "product": "offid2", + "plan": "planid2", + "licenseTextLink": "test.licenseLin2k", + "privacyPolicyLink": "test.privacyPolicyLink2", + "retrieveDatetime": "2017-08-14T11:33:07.12132Z", + "signature": "ASDFSDAFWEFASDGWERLWER", + "accepted": true + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/OrganizationOperations_List.json new file mode 100644 index 000000000000..da2f81d14670 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/OrganizationOperations_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Confluent/organizations/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Get/List organization resources", + "description": "Read organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Create/Update organization resources", + "description": "Write organization" + } + }, + { + "name": "Microsoft.Confluent/organizations/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.Confluent", + "resource": "organizations", + "operation": "Delete organization resources", + "description": "Delete organization" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Create.json new file mode 100644 index 000000000000..45164d5180d9 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Create.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "properties": { + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Delete.json new file mode 100644 index 000000000000..4f318bd1b693 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Get.json new file mode 100644 index 000000000000..545719afd042 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListByResourceGroup.json new file mode 100644 index 000000000000..e4d78dcdde2b --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListByResourceGroup.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListBySubscription.json new file mode 100644 index 000000000000..550d31e53e1b --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_ListBySubscription.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganizations", + "name": "myOrganizations", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Accepted", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Update.json new file mode 100644 index 000000000000..2469cf92a6b9 --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Organization_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "tags": { + "env": "dev", + "client": "dev-client" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-05-09T14:28:47.284Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-05-09T14:28:47.284Z" + }, + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "contoso@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Validations_ValidateOrganizations.json b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Validations_ValidateOrganizations.json new file mode 100644 index 000000000000..48e9d722617d --- /dev/null +++ b/specification/confluent/resource-manager/Microsoft.Confluent/stable/2021-12-01/examples/Validations_ValidateOrganizations.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "organizationName": "myOrganization", + "body": { + "properties": { + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "abc@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Confluent/organizations/myOrganization", + "name": "myOrganization", + "type": "Microsoft.Confluent/organizations", + "properties": { + "createdTime": "2020-05-09T14:28:47.284Z", + "provisioningState": "Succeeded", + "organizationId": "string", + "ssoUrl": "string", + "offerDetail": { + "publisherId": "string", + "id": "string", + "planId": "string", + "planName": "string", + "termUnit": "string", + "status": "Started" + }, + "userDetail": { + "firstName": "string", + "lastName": "string", + "emailAddress": "abc@microsoft.com" + } + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + } + } +} diff --git a/specification/confluent/resource-manager/readme.go.md b/specification/confluent/resource-manager/readme.go.md index 5cdbc0e75ec3..009bbc0813a3 100644 --- a/specification/confluent/resource-manager/readme.go.md +++ b/specification/confluent/resource-manager/readme.go.md @@ -21,12 +21,22 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-preview-2021-09 - tag: package-2020-03-01 - tag: package-2020-03-01-preview - tag: package-2021-03-01-preview ``` +### Tag: package-2021-12-01 and go + +These settings apply only when `--tag=package-2021-12-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-12-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) +``` + ### Tag: package-preview-2021-09 and go These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. diff --git a/specification/confluent/resource-manager/readme.java.md b/specification/confluent/resource-manager/readme.java.md index 462a9e89969d..640344a02430 100644 --- a/specification/confluent/resource-manager/readme.java.md +++ b/specification/confluent/resource-manager/readme.java.md @@ -16,11 +16,25 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-confluent ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-2020-03-01 - tag: package-2020-03-01-preview - tag: package-2021-03-01-preview ``` +### Tag: package-2021-12-01 and java + +These settings apply only when `--tag=package-2021-12-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-12-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.confluent.v2021_12_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/confluent/mgmt-v2021_12_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2020-03-01 and java These settings apply only when `--tag=package-2020-03-01 --java` is specified on the command line. diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md index 56be337ec589..82177207d3e0 100644 --- a/specification/confluent/resource-manager/readme.md +++ b/specification/confluent/resource-manager/readme.md @@ -28,18 +28,27 @@ These are the global settings for the Confluent API. title: ConfluentManagementClient openapi-type: arm openapi-subtype: rpaas -tag: package-preview-2021-09 +tag: package-2021-12-01 ``` +### Tag: package-2021-12-01 + +These settings apply only when `--tag=package-2021-12-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-12-01' +input-file: + - Microsoft.Confluent/stable/2021-12-01/confluent.json +``` ### Tag: package-preview-2021-09 These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-09' +``` yaml $(tag) == 'package-preview-2021-09' input-file: - Microsoft.Confluent/preview/2021-09-01-preview/confluent.json ``` + ### Tag: package-2020-03-01 These settings apply only when `--tag=package-2020-03-01` is specified on the command line. diff --git a/specification/confluent/resource-manager/readme.python.md b/specification/confluent/resource-manager/readme.python.md index f1ba121d7ba2..f6a91374d939 100644 --- a/specification/confluent/resource-manager/readme.python.md +++ b/specification/confluent/resource-manager/readme.python.md @@ -15,12 +15,7 @@ modelerfour: lenient-model-deduplication: true ``` -``` yaml $(python) && $(python-mode) == 'update' +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/confluent/azure-mgmt-confluent/azure/mgmt/confluent ``` - -``` yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/confluent/azure-mgmt-confluent -``` diff --git a/specification/confluent/resource-manager/readme.ruby.md b/specification/confluent/resource-manager/readme.ruby.md index 959d52a6fe4c..7cd818e0fe9e 100644 --- a/specification/confluent/resource-manager/readme.ruby.md +++ b/specification/confluent/resource-manager/readme.ruby.md @@ -12,10 +12,21 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-12-01 - tag: package-2020-03-01 - tag: package-2020-03-01-preview ``` +### Tag: package-2021-12-01 and ruby + +These settings apply only when `--tag=package-2021-12-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2021-12-01' && $(ruby) +namespace: "Azure::Confluent::Mgmt::V2021_12_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_confluent/lib +``` + ### Tag: package-2020-03-01 and ruby These settings apply only when `--tag=package-2020-03-01 --ruby` is specified on the command line. diff --git a/specification/connectedvmware/resource-manager/readme.python.md b/specification/connectedvmware/resource-manager/readme.python.md index 9fa557558dac..e852c22d63f5 100644 --- a/specification/connectedvmware/resource-manager/readme.python.md +++ b/specification/connectedvmware/resource-manager/readme.python.md @@ -4,19 +4,7 @@ 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) && !$(track2) -python: - python-mode: create - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.connectedvmware - package-name: azure-mgmt-connectedvmware - package-version: 0.1.1 - clear-output-folder: true -``` -```yaml $(python) && $(track2) -python-mode: create +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.connectedvmware @@ -24,21 +12,8 @@ package-name: azure-mgmt-connectedvmware package-version: 0.1.1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware -``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) + +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware -``` diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json index a1accc77f3ed..a8a69c4bc819 100644 --- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json @@ -1425,6 +1425,11 @@ ], "operationId": "Operations_List", "description": "Lists all of the available consumption REST API operations.", + "x-ms-examples": { + "PriceSheetForBillingPeriod": { + "$ref": "./examples/OperationList.json" + } + }, "parameters": [ { "$ref": "#/parameters/apiVersionParameter" @@ -1740,6 +1745,61 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}/providers/Microsoft.Consumption/lots": { + "get": { + "tags": [ + "Lots" + ], + "operationId": "Lots_ListByCustomer", + "description": "Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a billing profile and a customer. Microsoft Azure consumption commitments are only supported for the billing account scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "LotsListByCustomer": { + "$ref": "./examples/LotsListByCustomer.json" + }, + "LotsListByCustomerWithFilter": { + "$ref": "./examples/LotsListByCustomerWithFilters.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/customerIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. Tag filter is a key value pair string where key and value is separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Lots" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary": { "get": { "tags": [ @@ -2870,6 +2930,9 @@ } } }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "adjustmentDetails": { @@ -2891,6 +2954,9 @@ } } }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -3266,7 +3332,8 @@ "type": "array", "items": { "$ref": "#/definitions/ReservationRecommendationDetailsCalculatedSavingsProperties" - } + }, + "x-ms-identifiers": [] }, "lookBackPeriod": { "description": "Number of days of usage to look back used for computing the recommendation.", @@ -3488,6 +3555,9 @@ "items": { "$ref": "#/definitions/SkuProperty" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } }, @@ -3641,6 +3711,9 @@ "items": { "$ref": "#/definitions/SkuProperty" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "skuName": { @@ -3762,7 +3835,6 @@ "ModernReservationTransaction": { "description": "Modern Reservation transaction resource.", "type": "object", - "x-ms-discriminator-value": "Modern", "allOf": [ { "$ref": "#/definitions/ReservationTransactionResource" @@ -4001,7 +4073,10 @@ "type": "array", "items": { "$ref": "#/definitions/Tag" - } + }, + "x-ms-identifiers": [ + "key" + ] }, "nextLink": { "description": "The link (url) to the next page of results.", @@ -4163,12 +4238,9 @@ "items": { "$ref": "#/definitions/BudgetFilterProperties" }, + "x-ms-identifiers": [], "minItems": 0 }, - "not": { - "description": "The logical \"NOT\" expression.", - "$ref": "#/definitions/BudgetFilterProperties" - }, "dimensions": { "description": "Has comparison expression for a dimension", "$ref": "#/definitions/BudgetComparisonExpression" @@ -4384,7 +4456,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/PriceSheetProperties" - } + }, + "x-ms-identifiers": [ + "meterId" + ] }, "nextLink": { "description": "The link (url) to the next page of results.", @@ -5519,6 +5594,14 @@ "type": "string", "x-ms-parameter-location": "method" }, + "customerIdParameter": { + "name": "customerId", + "in": "path", + "description": "Customer ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "departmentIdParameter": { "name": "departmentId", "in": "path", diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomer.json new file mode 100644 index 000000000000..e554795be364 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomer.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "billingAccountId": "1234:5678", + "customerId": "1234:5678" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234/customers/456/providers/Microsoft.Consumption/lots/lot1", + "name": "lot1", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "source": "PurchasedCredit", + "startDate": "2021-05-01T00:00:00Z", + "expirationDate": "2021-05-01T00:00:00Z", + "poNumber": "3524" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234/customers/456/providers/Microsoft.Consumption/lots/lot2", + "name": "lot2", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 6000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 80.90 + }, + "source": "PurchasedCredit", + "startDate": "2021-05-01T00:00:00Z", + "expirationDate": "2019-12-31T00:00:00Z", + "poNumber": "31224" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomerWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomerWithFilters.json new file mode 100644 index 000000000000..e131f1c0eca3 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByCustomerWithFilters.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-05-01", + "billingAccountId": "1234:5678", + "customerId": "1234:5678", + "$filter": "status eq 'active' AND source eq 'consumptioncommitment'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/1234/customers/456/providers/Microsoft.Consumption/lots/lot1", + "name": "lot1", + "type": "Microsoft.Consumption/lots", + "properties": { + "originalAmount": { + "currency": "USD", + "value": 5000.00 + }, + "closedBalance": { + "currency": "USD", + "value": 60.90 + }, + "source": "PurchasedCredit", + "startDate": "2021-05-01T00:00:00Z", + "expirationDate": "2021-05-01T00:00:00Z", + "poNumber": "3524" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/OperationList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/OperationList.json new file mode 100644 index 000000000000..23caff184c65 --- /dev/null +++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/OperationList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Consumption/Operation", + "display": { + "provider": "Microsoft Azure Distributed Managed Service", + "resource": "Managed Applications", + "operation": "Create or Update Managed Applications", + "description": "Create or Update Managed Applications" + } + } + ] + } + } + } +} diff --git a/specification/consumption/resource-manager/readme.python.md b/specification/consumption/resource-manager/readme.python.md index da32a2eb292b..e334ef5f0d25 100644 --- a/specification/consumption/resource-manager/readme.python.md +++ b/specification/consumption/resource-manager/readme.python.md @@ -5,7 +5,7 @@ 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) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.containerinstance @@ -13,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance/azure/mgmt/containerinstance ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/containerinstance/azure-mgmt-containerinstance -``` 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 2df5846f573f..62425d51ade0 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 @@ -1561,7 +1561,10 @@ "type": "array", "items": { "$ref": "#/definitions/ImageDescriptor" - } + }, + "x-ms-identifiers": [ + "registry" + ] }, "task": { "description": "The task against which run was scheduled.", @@ -1675,7 +1678,10 @@ "type": "array", "items": { "$ref": "#/definitions/ImageDescriptor" - } + }, + "x-ms-identifiers": [ + "registry" + ] } } }, @@ -2219,6 +2225,7 @@ "items": { "$ref": "#/definitions/BaseImageDependency" }, + "x-ms-identifiers": [], "readOnly": true }, "contextPath": { @@ -2241,14 +2248,21 @@ "type": "array", "items": { "$ref": "#/definitions/TimerTrigger" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "sourceTriggers": { "description": "The collection of triggers based on source code repository.", "type": "array", "items": { "$ref": "#/definitions/SourceTrigger" - } + }, + "x-ms-identifiers": [ + "name", + "sourceRepository/repositoryUrl" + ] }, "baseImageTrigger": { "$ref": "#/definitions/BaseImageTrigger", @@ -2730,14 +2744,20 @@ "type": "array", "items": { "$ref": "#/definitions/TimerTriggerUpdateParameters" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "sourceTriggers": { "description": "The collection of triggers based on source code repository.", "type": "array", "items": { "$ref": "#/definitions/SourceTriggerUpdateParameters" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "baseImageTrigger": { "$ref": "#/definitions/BaseImageTriggerUpdateParameters", @@ -3088,7 +3108,11 @@ "type": "array", "items": { "$ref": "#/definitions/InnerErrorDescription" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } } }, @@ -3166,7 +3190,10 @@ "type": "array", "items": { "$ref": "#/definitions/Argument" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "timeout": { "format": "int32", @@ -3245,7 +3272,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] }, "timeout": { "format": "int32", @@ -3337,7 +3365,10 @@ "type": "array", "items": { "$ref": "#/definitions/Argument" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "target": { "description": "The name of the target build stage for the docker build.", @@ -3348,7 +3379,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] }, "updateTriggerToken": { "description": "Base64 encoded update trigger token that will be attached with the base image trigger webhook.", @@ -3383,7 +3415,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] }, "timeout": { "format": "int32", @@ -3455,7 +3488,10 @@ "type": "array", "items": { "$ref": "#/definitions/Argument" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "x-ms-discriminator-value": "Docker" @@ -3486,7 +3522,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "FileTask" @@ -3517,7 +3554,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "EncodedTask" @@ -3558,7 +3596,10 @@ "type": "array", "items": { "$ref": "#/definitions/Argument" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "target": { "description": "The name of the target build stage for the docker build.", @@ -3592,7 +3633,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "FileTask" @@ -3622,7 +3664,8 @@ "type": "array", "items": { "$ref": "#/definitions/SetValue" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "EncodedTask" diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-12-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-12-01-preview/containerregistry.json index ee1f30c4654a..cbd6ab4cff58 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-12-01-preview/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-12-01-preview/containerregistry.json @@ -2974,6 +2974,9 @@ "items": { "$ref": "#/definitions/StatusDetailProperties" }, + "x-ms-identifiers": [ + "correlationId" + ], "readOnly": true }, "notificationsList": { @@ -3717,7 +3720,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next list of container registry operations.", @@ -3793,14 +3799,20 @@ "type": "array", "items": { "$ref": "#/definitions/OperationMetricSpecificationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "description": "A list of Azure Monitoring log definitions.", "type": "array", "items": { "$ref": "#/definitions/OperationLogSpecificationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4483,7 +4495,8 @@ "type": "array", "items": { "$ref": "#/definitions/IPRule" - } + }, + "x-ms-identifiers": [] } } }, @@ -4801,7 +4814,10 @@ "type": "array", "items": { "$ref": "#/definitions/RegistryUsage" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -4915,7 +4931,8 @@ "type": "array", "items": { "$ref": "#/definitions/RegistryPassword" - } + }, + "x-ms-identifiers": [] } } }, @@ -5267,13 +5284,17 @@ "type": "array", "items": { "$ref": "#/definitions/TokenCertificate" - } + }, + "x-ms-identifiers": [ + "thumbprint" + ] }, "passwords": { "type": "array", "items": { "$ref": "#/definitions/TokenPassword" - } + }, + "x-ms-identifiers": [] } } }, @@ -5431,7 +5452,8 @@ "type": "array", "items": { "$ref": "#/definitions/TokenPassword" - } + }, + "x-ms-identifiers": [] } } }, @@ -5967,7 +5989,11 @@ "type": "array", "items": { "$ref": "#/definitions/InnerErrorDescription" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } } }, diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json index a7f4cdb10df3..6ef94d1bb180 100644 --- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json +++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json @@ -1421,7 +1421,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URI that can be used to request the next list of container registry operations.", @@ -1497,14 +1500,20 @@ "type": "array", "items": { "$ref": "#/definitions/OperationMetricSpecificationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "description": "A list of Azure Monitoring log definitions.", "type": "array", "items": { "$ref": "#/definitions/OperationLogSpecificationDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2115,7 +2124,8 @@ "type": "array", "items": { "$ref": "#/definitions/IPRule" - } + }, + "x-ms-identifiers": [] } } }, @@ -2445,7 +2455,10 @@ "type": "array", "items": { "$ref": "#/definitions/RegistryUsage" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2559,7 +2572,8 @@ "type": "array", "items": { "$ref": "#/definitions/RegistryPassword" - } + }, + "x-ms-identifiers": [] } } }, @@ -3244,7 +3258,11 @@ "type": "array", "items": { "$ref": "#/definitions/InnerErrorDescription" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] } } }, diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md index 424fdda9ad0e..c8c6b6267de9 100644 --- a/specification/containerregistry/resource-manager/readme.python.md +++ b/specification/containerregistry/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-containerregistry @@ -16,7 +16,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) clear-output-folder: true batch: @@ -39,7 +39,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/ -clear-output-folder: false perform-load: false ``` @@ -274,7 +273,7 @@ output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregis ``` -``` yaml $(python) && $(track2) +``` yaml $(python) directive: - from: swagger-document where: $.definitions.BuildStepProperties diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsAssociate_CRG.json new file mode 100644 index 000000000000..532242180165 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsAssociate_CRG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..819e67d35fa3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..5569d16ee137 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..cd10dffdb457 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..9befab73cf27 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..bafbaa2f07c0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..420ce5ff5a93 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..f350f8b6921a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json new file mode 100644 index 000000000000..6978c93296cc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..7d0a2cf0532d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..f1cc610dbadf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..f5b85dd8431f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..23d5442702d0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..7f49c35508b6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..06563ea4e255 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..0303d32eda8f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..52024d8d7822 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..9b4341a36679 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..bdf3dbeb5ed0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsList.json new file mode 100644 index 000000000000..3a481545b2a0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..264b8405c68b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Start.json new file mode 100644 index 000000000000..39007a230cd9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..e50946339f15 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Update.json new file mode 100644 index 000000000000..069bdb60eac3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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": "Spot", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..b2b203276be4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..3bb97024b07f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..bdbfa6e0d516 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..be188c5d0e7e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..f03cf0d4d5eb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersAssociate_CRG.json new file mode 100644 index 000000000000..beb111d785fd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersAssociate_CRG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..61bdfda0c23a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..58153289429a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..1a538a8d2868 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..9e6f2d6d585e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..dfbe6d08a837 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..579cea9cb431 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": 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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": 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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..cc59e504e069 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..9f2c0acaa9f3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..eb3c2f508ee3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..5d03e603cbcd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..9e6a8b4b2c68 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..50a8a923b94a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..cef006a27996 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": 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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..dd7aeb1627af --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..1a809b9f7d14 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..9d4bf21b591c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..ae65f04a8ea0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..d47243f549e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..4376d07d3f7b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..599b54136e0f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..a429d39de629 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json new file mode 100644 index 000000000000..e2610d69e754 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "enableNamespaceResources": 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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..df4ab047b60a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..bfc0ffc69c98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..2c1718c6e71c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.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" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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/preview/2022-01-02-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..85eb8a49ad64 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..45ca79686a1f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersList.json new file mode 100644 index 000000000000..97aa0201c4d0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..0064f7ff3d92 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..5416953393bc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..6cbd55a3f71c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..95fb8486616f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..bfc0ffc69c98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..bfc0ffc69c98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..bfc0ffc69c98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..bb18d321483c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "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/preview/2022-01-02-preview/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/Operation_List.json new file mode 100644 index 000000000000..e65d77a80f0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2018-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..7eb586c21afe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..055663248905 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..84abce82b5b4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..3d34939ee687 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..d099818dfaa4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..6edd5a699279 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..e00e836f3a87 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandRequest.json new file mode 100644 index 000000000000..a3eaa2889e67 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-02-preview" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..691a21d9afda --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..e042399aa7ed --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..933c3f549634 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..d7860d15834f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsGet.json new file mode 100644 index 000000000000..1505796f2818 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsList.json new file mode 100644 index 000000000000..b41a565296c8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..1cfa96f75fd2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..945871ac76f2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-01-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/managedClusters.json new file mode 100644 index 000000000000..0ce8aaf41f58 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-01-02-preview/managedClusters.json @@ -0,0 +1,5732 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2022-01-02-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of 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 + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "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.", + "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 the upgrade profile of a managed cluster.", + "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": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "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": "Lists the user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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": "Lists the cluster monitoring user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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.", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "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" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create/Update Managed Cluster with EnableNamespaceResources": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + }, + "Associate Managed Cluster with Capacity Reservation Group": { + "$ref": "./examples/ManagedClustersAssociate_CRG.json" + }, + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on 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/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.", + "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}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.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.", + "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 specified managed cluster agent pool.", + "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 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": "The agent pool to create or update." + } + ], + "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" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Create Agent Pool with Message of the Day": { + "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Associate Agent Pool with Capacity Reservation Group": { + "$ref": "./examples/AgentPoolsAssociate_CRG.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes 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." + } + ], + "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 the upgrade profile for an agent pool.", + "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 Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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 the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the 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 the AAD Profile of 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": "The AAD profile to set on the 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": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a 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": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a 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": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress" + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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 snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the 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 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": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the 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": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name" + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs. Note: This is no longer maintained.", + "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 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "messageOfTheDay": { + "type": "string", + "title": "Message of the day for Linux nodes, base64-encoded.", + "description": "A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + }, + "vnetSubnetID": { + "type": "string", + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + }, + "capacityReservationGroupID": { + "$ref": "#/definitions/CapacityReservationGroupID", + "description": "AKS will associate the specified agent pool with the Capacity Reservation Group." + }, + "hostGroupID": { + "type": "string", + "title": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "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, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "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." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "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": "Specifies the name of the administrator account.

    **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:** 1 character

    **Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length:** 8 characters

    **Max-length:** 123 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!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed 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": "The 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", + "none" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "value": "none", + "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "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", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp of resource creation." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "MaintenanceConfiguration": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "description": "Time slots on which upgrade is not allowed." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "TimeInWeek": { + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs 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 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "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": "The desired number of allocated SNAT ports per VM. Allowed values are 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 are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "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. A maximum of 1 key may be 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": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is requested to run.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "currentKubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes the Managed Cluster is running." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed 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": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The 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": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "enableNamespaceResources": { + "type": "boolean", + "title": "Enable namespace as Azure resource.", + "description": "The default value is false. It can be enabled/disabled on creation and updation of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the 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", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "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." + } + }, + "description": "Details about a 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": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the 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." + }, + "ManagedClusterAutoUpgradeProfile": { + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available." + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "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." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "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." + }, + "ManagedClusterPodIdentity": { + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterOIDCIssuerProfile": { + "type": "object", + "properties": { + "issuerURL": { + "readOnly": true, + "type": "string", + "description": "The OIDC issuer url of the Managed Cluster." + }, + "enabled": { + "type": "boolean", + "description": "Whether the OIDC issuer is enabled." + } + }, + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the 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": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the 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": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "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": "The 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, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true + }, + "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list 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." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Paid", + "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "azureDefender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender", + "description": "Azure Defender settings for the security profile." + } + }, + "description": "Security profile for the container service cluster." + }, + "ManagedClusterSecurityProfileAzureDefender": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Defender" + }, + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + } + }, + "description": "Azure Defender settings for the security profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this snapshot." + }, + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + }, + "CapacityReservationGroupID": { + "description": "Capacity Reservation Group ID for AgentPool to associate", + "type": "string" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "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" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region.", + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" + }, + "CredentialFormatParameter": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "exec", + "azure" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in 1.22 and will be fully removed in 1.25." + }, + { + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + }, + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsAssociate_CRG.json new file mode 100644 index 000000000000..056baffe2c84 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsAssociate_CRG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/CapacityReservationGroups/crg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..4a4235bf27e9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..a6d288d9d7e3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_DedicatedHostGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..ace92d0b4412 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..7298cef15ea5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..eb898cff23ab --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..b6f31a296165 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..a674eaf51691 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json new file mode 100644 index 000000000000..731f391a2065 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_MessageOfTheDay.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "messageOfTheDay": "Zm9vCg==" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..a0d4bb908337 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..1ee9f242288d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..b92f98e8ff36 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..654915da7730 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..972495a15b0c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..e12c0864fff5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..cbf4ed317863 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..bcd0de645490 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..25c9d389843a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..4db77574e387 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsList.json new file mode 100644 index 000000000000..af678874a4d8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..bb0a5c2d657e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Start.json new file mode 100644 index 000000000000..928c9a3e4163 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..5abd15049aab --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Update.json new file mode 100644 index 000000000000..08e9c8b1ade3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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": "Spot", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..611bb6151033 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..d9309d15be67 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..572bebc6649d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..b934de0caf1f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..7f29bd5c3650 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsCreate.json new file mode 100644 index 000000000000..09fc41c570fd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsCreate.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsDelete.json new file mode 100644 index 000000000000..3c561393ac47 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsGet.json new file mode 100644 index 000000000000..1c22b08c1371 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsList.json new file mode 100644 index 000000000000..f30c4e4e9d4d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..cebc70c5f479 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsListByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json new file mode 100644 index 000000000000..9c7524684af9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClusterSnapshotsUpdateTags.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedclustersnapshots/snapshot1", + "type": "Microsoft.ContainerService/ManagedClusterSnapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1" + }, + "snapshotType": "ManagedCluster", + "managedClusterPropertiesReadOnly": { + "kubernetesVersion": "1.20.5", + "sku": { + "name": "Basic", + "tier": "Free" + }, + "enableRbac": true, + "networkProfile": { + "networkPlugin": "kubenet", + "networkPolicy": "calico", + "networkMode": "bridge", + "loadBalancerSku": "standard" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersAssociate_CRG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersAssociate_CRG.json new file mode 100644 index 000000000000..b54dd09a0ca6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersAssociate_CRG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "capacityReservationGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/capacityReservationGroups/crg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json new file mode 100644 index 000000000000..71560fe4abea --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DedicatedHostGroup.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "hostGroupID": "/subscriptions/subid1/resourcegroups/rg/providers/Microsoft.Compute/hostGroups/hostgroup1" + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..81dd83c77ec4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..448bea6d6dba --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..532076c44466 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..e0aedd3bb191 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..5c2060def5ff --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": 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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": 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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..8b2829ac9af1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..8d6fbb59b2db --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..aeded365cdf2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..5b702b50331f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..3bbc506d033b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..e63b617fe28f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..ad3b6117a169 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": 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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..86a069ca331c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..e4eb751aebb2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..58f7346bcc42 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..3c918ecd981f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..5a27336f7e76 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..7f05e9d9e8ec --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..b37ffef4ef80 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..0880e8a11f9b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json new file mode 100644 index 000000000000..d31848fe77bf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "enableNamespaceResources": 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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "enableNamespaceResources": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..ca8d3aae0482 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..7ec9932ddb5c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..b03302a59ef1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.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" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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/preview/2022-02-02-preview/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..37311d992746 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..33646d5fec15 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersList.json new file mode 100644 index 000000000000..774a27a096a6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..7199da7c9c0c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..1c98fde2cc4d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..67b26729c8d3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..d51ebbf2bf06 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..7ec9932ddb5c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..7ec9932ddb5c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..7ec9932ddb5c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..ed420ba53ee1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "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/preview/2022-02-02-preview/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/Operation_List.json new file mode 100644 index 000000000000..e65d77a80f0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2018-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..e4bc27a25294 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..d531c8821fcb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..6ea0c910b532 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..f6d2420bb016 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..36e06b39363c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..a570b18d4ec1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..e12b986f29fb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandRequest.json new file mode 100644 index 000000000000..3c2b5468a297 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-02-preview" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..de086bdd1230 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..b4c59a6f7589 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-02-preview" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..1f3f65a5baf3 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..3c561393ac47 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsGet.json new file mode 100644 index 000000000000..2a8dc0221640 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsList.json new file mode 100644 index 000000000000..dfb34ff23001 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..752a7f0ab3e7 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..9052bef4110c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-02-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/managedClusters.json new file mode 100644 index 000000000000..d027a82e5627 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-02-02-preview/managedClusters.json @@ -0,0 +1,6203 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2022-02-02-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of 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 + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "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.", + "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 the upgrade profile of a managed cluster.", + "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": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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": "Lists the user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "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": "Lists the cluster monitoring user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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.", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "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" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create/Update Managed Cluster with EnableNamespaceResources": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableNamespaceResources.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + }, + "Associate Managed Cluster with Capacity Reservation Group": { + "$ref": "./examples/ManagedClustersAssociate_CRG.json" + }, + "Create Managed Cluster with Dedicated Host Group": { + "$ref": "./examples/ManagedClustersCreate_DedicatedHostGroup.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on 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/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.", + "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}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.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.", + "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 specified managed cluster agent pool.", + "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 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": "The agent pool to create or update." + } + ], + "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" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Create Agent Pool with Message of the Day": { + "$ref": "./examples/AgentPoolsCreate_MessageOfTheDay.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + }, + "Associate Agent Pool with Capacity Reservation Group": { + "$ref": "./examples/AgentPoolsAssociate_CRG.json" + }, + "Create Agent Pool with Dedicated Host Group": { + "$ref": "./examples/AgentPoolsCreate_DedicatedHostGroup.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes 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." + } + ], + "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 the upgrade profile for an agent pool.", + "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 Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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 the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the 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 the AAD Profile of 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": "The AAD profile to set on the 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": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a 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": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a 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": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress" + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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 snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_List", + "summary": "Gets a list of managed cluster snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Cluster Snapshots": { + "$ref": "./examples/ManagedClusterSnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_ListByResourceGroup", + "summary": "Lists managed cluster snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Cluster Snapshots by Resource Group": { + "$ref": "./examples/ManagedClusterSnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedclustersnapshots/{resourceName}": { + "get": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_Get", + "summary": "Gets a managed cluster snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_CreateOrUpdate", + "summary": "Creates or updates a managed cluster snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + }, + "description": "The managed cluster snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_UpdateTags", + "summary": "Updates tags on a managed cluster snapshot.", + "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 snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterSnapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Managed Cluster Snapshot Tags": { + "$ref": "./examples/ManagedClusterSnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusterSnapshots" + ], + "operationId": "ManagedClusterSnapshots_Delete", + "summary": "Deletes a managed cluster snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Managed Cluster Snapshot": { + "$ref": "./examples/ManagedClusterSnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "type": "object", + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the 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 Operation Value Display." + }, + "Resource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "#/definitions/SystemData" + }, + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the 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": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name" + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs. Note: This is no longer maintained.", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "messageOfTheDay": { + "type": "string", + "title": "Message of the day for Linux nodes, base64-encoded.", + "description": "A base64-encoded string which will be written to /etc/motd after decoding. This allows customization of the message of the day for Linux nodes. It must not be specified for Windows nodes. It must be a static string (i.e., will be printed raw and not be executed as a script)." + }, + "vnetSubnetID": { + "type": "string", + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + }, + "capacityReservationGroupID": { + "$ref": "#/definitions/CapacityReservationGroupID", + "description": "AKS will associate the specified agent pool with the Capacity Reservation Group." + }, + "hostGroupID": { + "type": "string", + "title": "The fully qualified resource ID of the Dedicated Host Group to provision virtual machines from, used only in creation scenario and not allowed to changed once set.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see [Azure dedicated hosts](https://docs.microsoft.com/azure/virtual-machines/dedicated-hosts)." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ], + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "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, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "AgentPoolListResult": { + "type": "object", + "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." + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + }, + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **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:** 1 character

    **Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length:** 8 characters

    **Max-length:** 123 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!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "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": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "type": "object", + "properties": { + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "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", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "MaintenanceConfiguration": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "type": "object", + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "description": "Time slots on which upgrade is not allowed." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "TimeInWeek": { + "type": "object", + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "type": "object", + "properties": { + "managedOutboundIPs": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs 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 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "type": "object", + "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": { + "type": "object", + "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": "The desired number of allocated SNAT ports per VM. Allowed values are 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 are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is requested to run.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "currentKubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes the Managed Cluster is running." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "oidcIssuerProfile": { + "$ref": "#/definitions/ManagedClusterOIDCIssuerProfile", + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The 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": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "enableNamespaceResources": { + "type": "boolean", + "title": "Enable namespace as Azure resource.", + "description": "The default value is false. It can be enabled/disabled on creation and updation of the managed cluster. See [https://aka.ms/NamespaceARMResource](https://aka.ms/NamespaceARMResource) for more details on Namespace as a ARM Resource." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "type": "object", + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "type": "object", + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "type": "object", + "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", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "type": "object", + "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." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "type": "object", + "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": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the 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": { + "type": "object", + "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." + }, + "ManagedClusterAutoUpgradeProfile": { + "type": "object", + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available." + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "type": "object", + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "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." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "ManagedClusterAddonProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "type": "object", + "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." + }, + "ManagedClusterPodIdentity": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "type": "object", + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterOIDCIssuerProfile": { + "type": "object", + "properties": { + "issuerURL": { + "readOnly": true, + "type": "string", + "description": "The OIDC issuer url of the Managed Cluster." + }, + "enabled": { + "type": "boolean", + "description": "Whether the OIDC issuer is enabled." + } + }, + "description": "The OIDC issuer profile of the Managed Cluster." + }, + "ManagedClusterUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "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": { + "type": "object", + "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": "The 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, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true + }, + "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "type": "object", + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list 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": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "type": "object", + "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." + }, + "ManagedClusterSKU": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Paid", + "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "type": "object", + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "type": "object", + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "azureDefender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender", + "description": "Azure Defender settings for the security profile." + }, + "azureKeyVaultKms": { + "$ref": "#/definitions/AzureKeyVaultKms", + "description": "Azure Key Vault [key management service](https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/) settings for the security profile." + } + }, + "description": "Security profile for the container service cluster." + }, + "ManagedClusterSecurityProfileAzureDefender": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Defender" + }, + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + } + }, + "description": "Azure Defender settings for the security profile." + }, + "AzureKeyVaultKms": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Key Vault key management service. The default is false." + }, + "keyId": { + "type": "string", + "description": "Identifier of Azure Key Vault key. See [key identifier format](https://docs.microsoft.com/en-us/azure/key-vault/general/about-keys-secrets-certificates#vault-name-and-object-name) for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty." + } + }, + "description": "Azure Key Vault key management service settings for the security profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "ManagedClusterSnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterSnapshot" + }, + "description": "The list of managed cluster snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Cluster Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "ManagedClusterSnapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a managed cluster snapshot.", + "$ref": "#/definitions/ManagedClusterSnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A managed cluster snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "ManagedClusterSnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "managedClusterPropertiesReadOnly": { + "$ref": "#/definitions/ManagedClusterPropertiesForSnapshot", + "description": "What the properties will be showed when getting managed cluster snapshot. Those properties are read-only." + } + }, + "description": "Properties for a managed cluster snapshot." + }, + "ManagedClusterPropertiesForSnapshot": { + "type": "object", + "readOnly": true, + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The current kubernetes version." + }, + "sku": { + "type": "object", + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The current managed cluster sku." + }, + "enableRbac": { + "type": "boolean", + "description": "Whether the cluster has enabled Kubernetes Role-Based Access Control or not." + }, + "networkProfile": { + "type": "object", + "$ref": "#/definitions/NetworkProfileForSnapshot", + "description": "The current network profile." + } + }, + "description": "managed cluster properties for snapshot, these properties are read only." + }, + "NetworkProfileForSnapshot": { + "type": "object", + "readOnly": true, + "properties": { + "networkPlugin": { + "$ref": "#/definitions/NetworkPlugin", + "description": "networkPlugin for managed cluster snapshot." + }, + "networkPolicy": { + "$ref": "#/definitions/NetworkPolicy", + "description": "networkPolicy for managed cluster snapshot." + }, + "networkMode": { + "$ref": "#/definitions/NetworkMode", + "description": "networkMode for managed cluster snapshot." + }, + "loadBalancerSku": { + "$ref": "#/definitions/LoadBalancerSku", + "description": "loadBalancerSku for managed cluster snapshot." + } + }, + "description": "network profile for managed cluster snapshot, these properties are read only." + }, + "NetworkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet", + "none" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + }, + { + "value": "none", + "description": "Do not use a network plugin. A custom CNI will need to be installed after cluster creation for networking functionality." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "NetworkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "NetworkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "LoadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool", + "ManagedCluster" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + }, + { + "value": "ManagedCluster", + "description": "The snapshot is a snapshot of a managed cluster." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + }, + "CapacityReservationGroupID": { + "description": "Capacity Reservation Group ID for AgentPool to associate", + "type": "string" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "minLength": 1, + "maxLength": 90, + "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" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Azure region.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" + }, + "CredentialFormatParameter": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "exec", + "azure" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in 1.22 and will be fully removed in 1.25." + }, + { + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + }, + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json index 8ff720f12f79..aeebbad48cdb 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-07-01/managedClusters.json @@ -5038,7 +5038,7 @@ }, "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, this field should not be exists." } }, "description": "Azure Defender settings for the security profile." diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json index 56a5331d80c8..73f20e93720c 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-08-01/managedClusters.json @@ -5367,7 +5367,7 @@ }, "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, this field should not be exists." } }, "description": "Azure Defender settings for the security profile." diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-09-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-09-01/managedClusters.json index b3de3559c27c..d54d96e75b9b 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-09-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-09-01/managedClusters.json @@ -5399,7 +5399,7 @@ }, "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, this field should not be exists." } }, "description": "Azure Defender settings for the security profile." diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json index ec3eea9fd20c..72c58cef1c09 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json @@ -92,17 +92,17 @@ } ], "responses": { - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/CloudError" - } - }, "200": { "description": "OK", "schema": { "$ref": "#/definitions/OSOptionProfile" } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-examples": { @@ -1823,15 +1823,15 @@ } ], "responses": { - "202": { - "description": "Accepted" - }, "200": { "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", "schema": { "$ref": "#/definitions/RunCommandResult" } }, + "202": { + "description": "Accepted" + }, "default": { "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", "schema": { @@ -1875,15 +1875,15 @@ } ], "responses": { - "202": { - "description": "command running in progress" - }, "200": { "description": "command finished", "schema": { "$ref": "#/definitions/RunCommandResult" } }, + "202": { + "description": "command running in progress" + }, "default": { "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", "schema": { @@ -2224,6 +2224,9 @@ "items": { "$ref": "#/definitions/OperationValue" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of operations" } }, @@ -3293,6 +3296,7 @@ "items": { "$ref": "#/definitions/TimeInWeek" }, + "x-ms-identifiers": [], "title": "Time slots during the week when planned maintenance is allowed to proceed.", "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." }, @@ -3301,6 +3305,7 @@ "items": { "$ref": "#/definitions/TimeSpan" }, + "x-ms-identifiers": [], "description": "Time slots on which upgrade is not allowed." } }, @@ -3568,6 +3573,7 @@ "items": { "$ref": "#/definitions/ContainerServiceSshPublicKey" }, + "x-ms-identifiers": [], "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." } }, @@ -3715,6 +3721,9 @@ "items": { "$ref": "#/definitions/ManagedClusterAgentPoolProfile" }, + "x-ms-identifiers": [ + "name" + ], "description": "The agent pool properties." }, "linuxProfile": { @@ -4130,6 +4139,7 @@ } } }, + "x-ms-identifiers": [], "description": "List of orchestrator types and versions available for upgrade." } }, @@ -4150,6 +4160,9 @@ "items": { "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of available upgrade versions for agent pools." } }, @@ -4346,6 +4359,10 @@ "items": { "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, @@ -4393,14 +4410,18 @@ "type": "array", "items": { "$ref": "#/definitions/ManagedClusterPodIdentity" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "userAssignedIdentityExceptions": { "description": "The pod identity exceptions to allow.", "type": "array", "items": { "$ref": "#/definitions/ManagedClusterPodIdentityException" - } + }, + "x-ms-identifiers": [] } }, "title": "The pod identity profile of the Managed Cluster.", @@ -4486,6 +4507,9 @@ } } }, + "x-ms-identifiers": [ + "kubernetesVersion" + ], "description": "List of orchestrator types and versions available for upgrade." }, "latestNodeImageVersion": { @@ -4548,6 +4572,9 @@ } } }, + "x-ms-identifiers": [ + "kubernetesVersion" + ], "description": "List of versions available for agent pool." } }, @@ -4675,6 +4702,9 @@ "items": { "$ref": "#/definitions/CredentialResult" }, + "x-ms-identifiers": [ + "name" + ], "description": "Base64-encoded Kubernetes configuration file." } }, @@ -4727,6 +4757,10 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [ + "message", + "target" + ], "description": "A list of additional details about the error." } }, @@ -5321,6 +5355,7 @@ "items": { "$ref": "#/definitions/OSOptionProperty" }, + "x-ms-identifiers": [], "description": "The list of OS options." } }, @@ -5370,7 +5405,11 @@ "type": "array", "items": { "$ref": "#/definitions/EndpointDetail" - } + }, + "x-ms-identifiers": [ + "ipAddress", + "port" + ] } } }, @@ -5410,7 +5449,10 @@ "type": "array", "items": { "$ref": "#/definitions/EndpointDependency" - } + }, + "x-ms-identifiers": [ + "domainName" + ] } } }, @@ -5426,7 +5468,8 @@ "type": "array", "items": { "$ref": "#/definitions/OutboundEnvironmentEndpoint" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "Link to next page of resources.", @@ -5454,7 +5497,7 @@ }, "logAnalyticsWorkspaceResourceId": { "type": "string", - "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, this field should not be exists." } }, "description": "Azure Defender settings for the security profile." diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..9e445f7019cb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..af941c5045cc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..de9f33aeede6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..f2595826f6eb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..728ecb083885 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..46f3bba1d835 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..a07a299129a9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..d25e1e627664 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..f4bee1ac064a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..b5d0e570e658 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2022-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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..cc5cdf04c2fe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2022-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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..9face76122ea --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..007a1229cc05 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..429556a75179 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..99945ca7c74e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..3b38015a0933 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-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" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..64cbadc7a591 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..e85697781dc1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Start.json new file mode 100644 index 000000000000..13ae007de31e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..73d46008c704 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..5d06d5db878d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-01-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": "Spot", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..aca4ca9d34de --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..5378cca05877 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..328837fe1b8b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..7fd5d0aee468 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..2a751ad19a18 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..2e40c2ee67da --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..d76616403879 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..72fe5c445b46 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..859355f7465a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..38272710882d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": 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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": 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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..9ba2681895d0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..f46a98323569 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..a80a11787a8e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..92cc926297fc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..ba11def3d19a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..de4e73b07d0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..e62c60e074b1 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": 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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..8fd1662f46e5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..cd74c0718c70 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..25e97f50116c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..8668eeec2b38 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..99e31f4e45d8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..d79c809b5bd0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..4da74c806b49 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..3148cf81f76e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..067f29e60812 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..eb797ba1fd59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..78b57a8406de --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2022-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", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.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" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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/2022-01-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..e553ffff0b3c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..bdf9ad31e79a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..597ec1d26943 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..40a0a9e5671b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..d2a87aa9a1e6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..e67b43e33b63 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..7b3562eca75c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..eb797ba1fd59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..eb797ba1fd59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..eb797ba1fd59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..3dd0f601be20 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-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/2022-01-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/Operation_List.json new file mode 100644 index 000000000000..e65d77a80f0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2018-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..a45c03a066a2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..11b648ededa8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..6cc5de595ac8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..ee5fc6f3f509 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..215eddee5453 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..dc602469d385 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..465c339fa3ca --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandRequest.json new file mode 100644 index 000000000000..fab8fe23d010 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-01" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..2d5e0cca7879 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..10346c3d2ab5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-01-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..c695ff63be57 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..411dc1b9aa98 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsGet.json new file mode 100644 index 000000000000..35e4d7c47026 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsList.json new file mode 100644 index 000000000000..5b8e3dacb4fb --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..fddd13a02c52 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..fd0eaf5b1236 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/managedClusters.json new file mode 100644 index 000000000000..a2cf145bbb3c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-01-01/managedClusters.json @@ -0,0 +1,5662 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2022-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", + "summary": "Gets a list of 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 + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "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.", + "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 the upgrade profile of a managed cluster.", + "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": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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": "Lists the user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "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": "Lists the cluster monitoring user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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.", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "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" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on 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/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.", + "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}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.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.", + "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 specified managed cluster agent pool.", + "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 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": "The agent pool to create or update." + } + ], + "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" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes 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." + } + ], + "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 the upgrade profile for an agent pool.", + "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 Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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 the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the 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 the AAD Profile of 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": "The AAD profile to set on the 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": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a 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": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a 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": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress" + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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 snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the 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 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": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the 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": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name" + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs. Note: This is no longer maintained.", + "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 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "vnetSubnetID": { + "type": "string", + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "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, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "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." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "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": "Specifies the name of the administrator account.

    **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:** 1 character

    **Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length:** 8 characters

    **Max-length:** 123 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!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed 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": "The 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, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "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", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp of resource creation." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "MaintenanceConfiguration": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "description": "Time slots on which upgrade is not allowed." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "TimeInWeek": { + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs 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 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "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": "The desired number of allocated SNAT ports per VM. Allowed values are 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 are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "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. A maximum of 1 key may be 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": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is running.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed 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": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The 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": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the 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", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "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." + } + }, + "description": "Details about a 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": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the 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." + }, + "ManagedClusterAutoUpgradeProfile": { + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available." + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "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." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "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." + }, + "ManagedClusterPodIdentity": { + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the 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": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the 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": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "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": "The 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, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true + }, + "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list 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." + }, + "ManagedClusterSKU": { + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Paid", + "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "azureDefender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender", + "description": "Azure Defender settings for the security profile." + } + }, + "description": "Security profile for the container service cluster." + }, + "ManagedClusterSecurityProfileAzureDefender": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Defender" + }, + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + } + }, + "description": "Azure Defender settings for the security profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this snapshot." + }, + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + } + }, + "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" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region.", + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" + }, + "CredentialFormatParameter": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "exec", + "azure" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in 1.22 and will be fully removed in 1.25." + }, + { + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + }, + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_CustomNodeConfig.json new file mode 100644 index 000000000000..40c44d52a554 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_CustomNodeConfig.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..99361b4d86a4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableEncryptionAtHost": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableFIPS.json new file mode 100644 index 000000000000..d75a420c2470 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableFIPS.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..c3a1e77a6d60 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_EnableUltraSSD.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + }, + "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.17.13", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableUltraSSD": true + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Ephemeral.json new file mode 100644 index 000000000000..41b5153323af --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Ephemeral.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "osDiskSizeGB": 64 + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskType": "Ephemeral", + "kubeletDiskType": "OS", + "osDiskSizeGB": 64 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_GPUMIG.json new file mode 100644 index 000000000000..f4ddf2a6c117 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_GPUMIG.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG2g", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_OSSKU.json new file mode 100644 index 000000000000..fbb607ca80f9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_OSSKU.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 12345, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "kubeletConfig": { + "cpuManagerPolicy": "static", + "cpuCfsQuota": true, + "cpuCfsQuotaPeriod": "200ms", + "imageGcHighThreshold": 90, + "imageGcLowThreshold": 70, + "topologyManagerPolicy": "best-effort", + "allowedUnsafeSysctls": [ + "kernel.msg*", + "net.core.somaxconn" + ], + "failSwapOn": false, + "podMaxPids": 100 + }, + "linuxOSConfig": { + "sysctls": { + "netCoreWmemDefault": 65536, + "netIpv4TcpTwReuse": true, + "netIpv4IpLocalPortRange": "20000 60000", + "kernelThreadsMax": 99999 + }, + "transparentHugePageEnabled": "always", + "transparentHugePageDefrag": "madvise", + "swapFileSizeMB": 1500 + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_PPG.json new file mode 100644 index 000000000000..9cae0a0bd6e9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_PPG.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Snapshot.json new file mode 100644 index 000000000000..9725b53f270f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Snapshot.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + }, + "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.19.6", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Spot.json new file mode 100644 index 000000000000..8ebf23bf38bf --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Spot.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2022-02-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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "spotMaxPrice": -1 + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Update.json new file mode 100644 index 000000000000..b1f76d4061b4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_Update.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2022-02-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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + }, + "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": "Spot", + "scaleSetEvictionPolicy": "Delete", + "mode": "User" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_WasmWasi.json new file mode 100644 index 000000000000..b3429b2c9136 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsCreate_WasmWasi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "orchestratorVersion": "", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + }, + "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.17.8", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osDiskSizeGB": 64, + "mode": "User", + "workloadRuntime": "WasmWasi" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsDelete.json new file mode 100644 index 000000000000..918aeaf97f1a --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGet.json new file mode 100644 index 000000000000..0bdae9c5294f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json new file mode 100644 index 000000000000..77d715f3e3df --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-02-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/2022-02-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGetUpgradeProfile.json new file mode 100644 index 000000000000..fab174f884e9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsGetUpgradeProfile.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-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" + } + ], + "latestNodeImageVersion": "AKSUbuntu:1604:2020.03.11" + }, + "type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsList.json new file mode 100644 index 000000000000..6b63eb414985 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-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", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsUpgradeNodeImageVersion.json new file mode 100644 index 000000000000..e47b31a611ca --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPoolsUpgradeNodeImageVersion.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31" + }, + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "name": "agentpool1", + "properties": { + "provisioningState": "UpgradingNodeImageVersion", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "orchestratorVersion": "1.9.6", + "nodeImageVersion": "AKSUbuntu-1604-2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Start.json new file mode 100644 index 000000000000..1d176365a535 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Start.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Running" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Starting", + "count": 50, + "enableAutoScaling": true, + "minCount": 3, + "maxCount": 55, + "powerState": { + "code": "Running" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Stop.json new file mode 100644 index 000000000000..874d1e46fde5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Stop.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "agentPoolName": "agentpool1", + "parameters": { + "properties": { + "powerState": { + "code": "Stopped" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1", + "type": "Microsoft.ContainerService/managedClusters/agentPools", + "name": "agentpool1", + "properties": { + "provisioningState": "Stopping", + "count": 0, + "enableAutoScaling": false, + "minCount": null, + "maxCount": null, + "powerState": { + "code": "Stopped" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Update.json new file mode 100644 index 000000000000..e66ffdccc500 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/AgentPools_Update.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-02-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": "Spot", + "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": "Spot", + "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": "Spot", + "scaleSetEvictionPolicy": "Delete" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ContainerServiceGetOSOptions.json new file mode 100644 index 000000000000..189811890d64 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ContainerServiceGetOSOptions.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "location": "location1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/locations/location1/osOptions/default", + "name": "default", + "type": "Microsoft.ContainerService/locations/osOptions", + "properties": { + "osOptionPropertyList": [ + { + "os-type": "Linux", + "enable-fips-image": false + }, + { + "os-type": "Windows", + "enable-fips-image": false + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsCreate_Update.json new file mode 100644 index 000000000000..c05765b2daf2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsCreate_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default", + "parameters": { + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "type": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsDelete.json new file mode 100644 index 000000000000..bdc101747921 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsGet.json new file mode 100644 index 000000000000..d901c057cbc5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "configName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsList.json new file mode 100644 index 000000000000..4fe1e6565269 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/MaintenanceConfigurationsList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/maintenanceConfigurations/default", + "name": "default", + "properties": { + "timeInWeek": [ + { + "day": "Monday", + "hourSlots": [ + 1, + 2 + ] + } + ], + "notAllowedTime": [ + { + "start": "2020-11-26T03:00:00Z", + "end": "2020-11-30T12:00:00Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DisableRunCommand.json new file mode 100644 index 000000000000..cecd7e5ca2c2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DisableRunCommand.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "disableRunCommand": true + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DualStackNetworking.json new file mode 100644 index 000000000000..cb31b75b914e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_DualStackNetworking.json @@ -0,0 +1,321 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + }, + "ipFamilies": [ + "IPv4", + "IPv6" + ] + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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.22.1", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.22.1", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16", + "fd11:1234::/64" + ], + "serviceCidrs": [ + "10.0.0.0/16", + "fd00:1234::/108" + ], + "ipFamilies": [ + "IPv4", + "IPv6" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2, + "countIPv6": 1 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json new file mode 100644 index 000000000000..809648046a83 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableUltraSSD.json new file mode 100644 index 000000000000..05062dd957b9 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnableUltraSSD.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableUltraSSD": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnabledFIPS.json new file mode 100644 index 000000000000..7869aff42bce --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_EnabledFIPS.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": 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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": 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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_GPUMIG.json new file mode 100644 index 000000000000..c06d412ba69e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_GPUMIG.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_ND96asr_v4", + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_ND96asr_v4", + "maxPods": 110, + "osType": "Linux", + "gpuInstanceProfile": "MIG3g", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_HTTPProxy.json new file mode 100644 index 000000000000..14d9b1af2ffa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_HTTPProxy.json @@ -0,0 +1,278 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_ManagedNATGateway.json new file mode 100644 index 000000000000..cc15bc3612dd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_ManagedNATGateway.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "managedNATGateway", + "natGatewayProfile": { + "managedOutboundIPProfile": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "managedNATGateway", + "natGatewayProfile": { + "idleTimeoutInMinutes": 4, + "managedOutboundIPProfile": { + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json new file mode 100644 index 000000000000..edfe58834858 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodePublicIPPrefixID": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/publicIPPrefixes/public-ip-prefix" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_OSSKU.json new file mode 100644 index 000000000000..f3ea369666a5 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_OSSKU.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "osSKU": "CBLMariner", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "osSKU": "CBLMariner", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "httpProxyConfig": { + "httpProxy": "http://myproxy.server.com:8080", + "httpsProxy": "https://myproxy.server.com:8080", + "noProxy": [ + "localhost", + "127.0.0.1" + ], + "trustedCa": "Q29uZ3JhdHMhIFlvdSBoYXZlIGZvdW5kIGEgaGlkZGVuIG1lc3NhZ2U=" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PPG.json new file mode 100644 index 000000000000..c99e9ac27479 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PPG.json @@ -0,0 +1,254 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "proximityPlacementGroupID": "/subscriptions/subid1/resourcegroups/rg1/providers//Microsoft.Compute/proximityPlacementGroups/ppg1" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PodIdentity.json new file mode 100644 index 000000000000..589f0c6e923c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PodIdentity.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": 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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "podIdentityProfile": { + "enabled": true, + "allowNetworkPluginKubenet": true + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json new file mode 100644 index 000000000000..9b54a48e7606 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "privateFQDN": "domain1.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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", + "fqdnSubdomain": "domain1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "privateDNSZone": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.Network/privateDnsZones/privatelink.location1.azmk8s.io" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "privateFQDN": "domain1.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json new file mode 100644 index 000000000000..000ce56e2e7c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json @@ -0,0 +1,268 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableEncryptionAtHost": true + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "apiServerAccessProfile": { + "enablePrivateCluster": true, + "enablePrivateClusterPublicFQDN": true, + "privateDNSZone": "system" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "fqdn": "dnsprefix1-ee788a1f.hcp.location1.azmk8s.io", + "privateFQDN": "dnsprefix1-aae7e0f0.5cef6058-b6b5-414d-8cb1-4bd14eb0b15c.privatelink.location1.azmk8s.io", + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_SecurityProfile.json new file mode 100644 index 000000000000..856befc0a55b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_SecurityProfile.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "securityProfile": { + "azureDefender": { + "enabled": true, + "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Snapshot.json new file mode 100644 index 000000000000..b5cdd011d710 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Snapshot.json @@ -0,0 +1,263 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": false + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": false, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "enableFIPS": true, + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1" + } + } + ], + "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": 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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..447a4f7053fe --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "balance-similar-node-groups": "true", + "expander": "priority", + "max-node-provision-time": "15m", + "new-pod-scale-up-delay": "1m", + "scale-down-delay-after-add": "15m", + "scan-interval": "20s", + "skip-nodes-with-system-pods": "false" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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", + "scaleDownMode": "Deallocate", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json new file mode 100644 index 000000000000..d7fc80393ac4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json @@ -0,0 +1,299 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "gmsaProfile": { + "enabled": true + } + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "gmsaProfile": { + "enabled": true + } + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithAHUB.json new file mode 100644 index 000000000000..03b7347519dd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithAHUB.json @@ -0,0 +1,293 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$", + "licenseType": "Windows_Server" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + } + } + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + }, + "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, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser", + "licenseType": "Windows_Server" + }, + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "principalId": "principalId1", + "clientId": "clientId1" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json new file mode 100644 index 000000000000..5f11b442f0fc --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "availabilityZones": [ + "1", + "2", + "3" + ], + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "windowsProfile": { + "adminUsername": "azureuser", + "adminPassword": "replacePassword1234$" + }, + "servicePrincipalProfile": { + "clientId": "clientid", + "secret": "secret" + }, + "addonProfiles": {}, + "aadProfile": { + "managed": true, + "enableAzureRBAC": true + }, + "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, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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, + "mode": "System" + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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" + } + ] + } + }, + "aadProfile": { + "managed": true, + "adminGroupObjectIDs": null, + "enableAzureRBAC": true, + "tenantID": "tenantID" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json new file mode 100644 index 000000000000..36690c65bcbd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json @@ -0,0 +1,198 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + }, + "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_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": false, + "mode": "System" + } + ], + "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": "userAssignedNATGateway" + }, + "autoScalerProfile": { + "scan-interval": "20s", + "scale-down-delay-after-add": "15m" + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..87e7f4b98ffd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..0ada392bc508 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "azurePortalFQDN": "dnsprefix1-abcd1234.portal.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" + ], + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11", + "upgradeSettings": { + "maxSurge": "33%" + } + } + ], + "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", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "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/2022-02-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGetAccessProfile.json new file mode 100644 index 000000000000..659b329f25b0 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..f26fa5b0c5b6 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + { + "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/2022-02-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersList.json new file mode 100644 index 000000000000..e15ec9f06dfa --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "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/2022-02-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..c06ab64d012f --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "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/2022-02-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersListClusterCredentialResult.json new file mode 100644 index 000000000000..6337c7d8f2a2 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersListClusterCredentialResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "kubeconfigs": [ + { + "name": "credentialName1", + "value": "credentialValue1" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetAADProfile.json new file mode 100644 index 000000000000..033ecfe49e2d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetAADProfile.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientAppID": "clientappid", + "serverAppID": "serverappid", + "serverAppSecret": "serverappsecret", + "tenantID": "tenantid" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetServicePrincipalProfile.json new file mode 100644 index 000000000000..07d354fe2f49 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersResetServicePrincipalProfile.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "clientId": "clientid", + "secret": "secret" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersRotateClusterCertificates.json new file mode 100644 index 000000000000..87e7f4b98ffd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersRotateClusterCertificates.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStart.json new file mode 100644 index 000000000000..87e7f4b98ffd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStop.json new file mode 100644 index 000000000000..87e7f4b98ffd --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersStop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersUpdateTags.json new file mode 100644 index 000000000000..9f055509d5a8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ManagedClustersUpdateTags.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv3": "", + "tier": "testing" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS1_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": false, + "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/2022-02-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/Operation_List.json new file mode 100644 index 000000000000..e65d77a80f0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/Operation_List.json @@ -0,0 +1,3583 @@ +{ + "parameters": { + "api-version": "2018-10-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets the status of an asynchronous operation", + "operation": "Get Operation", + "provider": "Microsoft Container Service", + "resource": "Operation" + }, + "name": "Microsoft.ContainerService/locations/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists the supported orchestrators", + "operation": "List Orchestrators", + "provider": "Microsoft Container Service", + "resource": "Orchestrator" + }, + "name": "Microsoft.ContainerService/locations/orchestrators/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets OS options", + "operation": "Get OS Options", + "provider": "Microsoft Container Service", + "resource": "OSOptions" + }, + "name": "Microsoft.ContainerService/locations/osOptions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Lists operations available on Microsoft.ContainerService resource provider", + "operation": "List Available Container Service Operations", + "provider": "Microsoft Container Service", + "resource": "Available Container Service Operations" + }, + "name": "Microsoft.ContainerService/operations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Registers Subscription with Microsoft.ContainerService resource provider", + "operation": "Register Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Register Subscription" + }, + "name": "Microsoft.ContainerService/register/action", + "origin": "user,system" + }, + { + "display": { + "description": "Unregisters Subscription with Microsoft.ContainerService resource provider", + "operation": "Unregister Subscription for Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Service Unregister Subscription" + }, + "name": "Microsoft.ContainerService/unregister/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the status of an asynchronous operation result", + "operation": "Get Operation Result", + "provider": "Microsoft Container Service", + "resource": "OperationResult" + }, + "name": "Microsoft.ContainerService/locations/operationresults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a container service", + "operation": "Get Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new container service or updates an existing one", + "operation": "Create or Update Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a container service", + "operation": "Delete Container Service", + "provider": "Microsoft Container Service", + "resource": "Container Services" + }, + "name": "Microsoft.ContainerService/containerServices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster", + "operation": "Get Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new managed cluster or updates an existing one", + "operation": "Create or Update Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a managed cluster", + "operation": "Delete Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Starts a managed cluster", + "operation": "Start Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/start/action", + "origin": "user,system" + }, + { + "display": { + "description": "Stops a managed cluster", + "operation": "Stop Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/stop/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets a maintenance configuration", + "operation": "Get a maintenance configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new MaintenanceConfiguration or updates an existing one", + "operation": "Create or Update maintenance configuratio", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a maintenance configuration", + "operation": "Delete Maintenance Configuration", + "provider": "Microsoft Container Service", + "resource": "Maintenance Configurations" + }, + "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an agent pool", + "operation": "Get Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new agent pool or updates an existing one", + "operation": "Create or Update Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes an agent pool", + "operation": "Delete Agent Pool", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the Agent Pool", + "operation": "Get Agent Pool UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Upgrade the node image version of agent pool", + "operation": "Upgrade agent pool node image version", + "provider": "Microsoft Container Service", + "resource": "Agent Pools" + }, + "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available agent pool versions of the cluster", + "operation": "Get Available Agent Pool Versions", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name", + "operation": "Get Managed Cluster AccessProfile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get a managed cluster access profile by role name using list credential", + "operation": "Get Managed Cluster AccessProfile by List Credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the upgrade profile of the cluster", + "operation": "Get UpgradeProfile", + "provider": "Microsoft Container Service", + "resource": "UpgradeProfile" + }, + "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterAdmin credential of a managed cluster", + "operation": "List clusterAdmin credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterUser credential of a managed cluster", + "operation": "List clusterUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "List the clusterMonitoringUser credential of a managed cluster", + "operation": "List clusterMonitoringUser credential", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the service principal profile of a managed cluster", + "operation": "Reset service principal profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Resolve the private link service id of a managed cluster", + "operation": "Resolve private link service id", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reset the AAD profile of a managed cluster", + "operation": "Reset AAD profile", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action", + "origin": "user,system" + }, + { + "display": { + "description": "Rotate certificates of a managed cluster", + "operation": "Rotate certificates of the cluster", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action", + "origin": "user,system" + }, + { + "display": { + "description": "Run user issued command against managed kubernetes server.", + "operation": "RunCommand", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/runCommand/action", + "origin": "user,system" + }, + { + "display": { + "description": "Retrieve result from previous issued command.", + "operation": "CommandResult", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/commandResults/read", + "origin": "user,system" + }, + { + "display": { + "description": "Get the diagnostic setting for a managed cluster resource", + "operation": "Read Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read", + "origin": "system" + }, + { + "display": { + "description": "Creates or updates the diagnostic setting for a managed cluster resource", + "operation": "Write Diagnostic Setting", + "provider": "Microsoft Container Service", + "resource": "Managed Clusters" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write", + "origin": "system" + }, + { + "display": { + "description": "Get Managed Cluster Detector", + "operation": "Get Managed Cluster Detector", + "provider": "Microsoft Container Service", + "resource": "Managed Cluster Detector" + }, + "name": "Microsoft.ContainerService/managedClusters/detectors/read", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the diagnostics state of the cluster", + "operation": "Get Diagnostics State", + "provider": "Microsoft Container Service", + "resource": "Diagnostics State" + }, + "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read", + "origin": "user,system" + }, + { + "display": { + "description": "Determines if user is allowed to approve a private endpoint connection", + "operation": "Approve Private Endpoint Connections", + "provider": "Microsoft Container Service", + "resource": "Approve Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action", + "origin": "user,system" + }, + { + "display": { + "description": "Get private endpoint connection", + "operation": "Get private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read", + "origin": "user,system" + }, + { + "display": { + "description": "Approve or Reject a private endpoint connection", + "operation": "Update private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete private endpoint connection", + "operation": "Delete private endpoint connection", + "provider": "Microsoft Container Service", + "resource": "Private Endpoint Connections" + }, + "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets an extension addon", + "operation": "Get an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read", + "origin": "system" + }, + { + "display": { + "description": "Creates a new extension addon or updates an existing one", + "operation": "Create or Update extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write", + "origin": "system" + }, + { + "display": { + "description": "Deletes an extension addon", + "operation": "Delete an extension addon", + "provider": "Microsoft Container Service", + "resource": "ExtensionAddons" + }, + "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete", + "origin": "system" + }, + { + "display": { + "description": "Get a snapshot", + "operation": "Get Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new snapshot", + "operation": "Create Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes a snapshot", + "operation": "Delete Snapshot", + "provider": "Microsoft Container Service", + "resource": "Snapshots" + }, + "name": "Microsoft.ContainerService/snapshots/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get eventgrid filter", + "operation": "Get eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read", + "origin": "system" + }, + { + "display": { + "description": "Create or Update eventgrid filter", + "operation": "Create or Update eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write", + "origin": "system" + }, + { + "display": { + "description": "Delete an eventgrid filter", + "operation": "Delete an eventgrid filter", + "provider": "Microsoft Container Service", + "resource": "EventGridFilters" + }, + "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete", + "origin": "system" + }, + { + "display": { + "description": "Reads initializerconfigurations", + "operation": "Gets/List initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes initializerconfigurations", + "operation": "Creates/Updates initializerconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes/DeletesCollection initializerconfigurations resource", + "operation": "Initializerconfigurations", + "provider": "Microsoft Container Service", + "resource": "Initializerconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads mutatingwebhookconfigurations", + "operation": "Gets/List mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes mutatingwebhookconfigurations", + "operation": "Creates/Updates mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes mutatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Mutatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads validatingwebhookconfigurations", + "operation": "Gets/List validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes validatingwebhookconfigurations", + "operation": "Creates/Updates validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes validatingwebhookconfigurations", + "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource", + "provider": "Microsoft Container Service", + "resource": "Validatingwebhookconfigurations" + }, + "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads customresourcedefinitions", + "operation": "Gets/List customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes customresourcedefinitions", + "operation": "Creates/Updates customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes customresourcedefinitions", + "operation": "Deletes/DeletesCollection customresourcedefinitions resource", + "provider": "Microsoft Container Service", + "resource": "Customresourcedefinitions" + }, + "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservices", + "operation": "Gets/List apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes apiservices", + "operation": "Creates/Updates apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes apiservices", + "operation": "Deletes/DeletesCollection apiservices resource", + "provider": "Microsoft Container Service", + "resource": "Apiservices" + }, + "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads controllerrevisions", + "operation": "Gets/List controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes controllerrevisions", + "operation": "Creates/Updates controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes controllerrevisions", + "operation": "Deletes/DeletesCollection controllerrevisions resource", + "provider": "Microsoft Container Service", + "resource": "Controllerrevisions" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads statefulsets", + "operation": "Gets/List statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes statefulsets", + "operation": "Creates/Updates statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes statefulsets", + "operation": "Deletes/DeletesCollection statefulsets resource", + "provider": "Microsoft Container Service", + "resource": "Statefulsets" + }, + "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes tokenreviews", + "operation": "Creates/Updates tokenreviews resource", + "provider": "Microsoft Container Service", + "resource": "Tokenreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes localsubjectaccessreviews", + "operation": "Creates/Updates localsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Localsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectaccessreviews", + "operation": "Creates/Updates selfsubjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes selfsubjectrulesreviews", + "operation": "Creates/Updates selfsubjectrulesreviews resource", + "provider": "Microsoft Container Service", + "resource": "Selfsubjectrulesreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Writes subjectaccessreviews", + "operation": "Creates/Updates subjectaccessreviews resource", + "provider": "Microsoft Container Service", + "resource": "Subjectaccessreviews" + }, + "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads horizontalpodautoscalers", + "operation": "Gets/List horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes horizontalpodautoscalers", + "operation": "Creates/Updates horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes horizontalpodautoscalers", + "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource", + "provider": "Microsoft Container Service", + "resource": "Horizontalpodautoscalers" + }, + "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads cronjobs", + "operation": "Gets/List cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes cronjobs", + "operation": "Creates/Updates cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes cronjobs", + "operation": "Deletes/DeletesCollection cronjobs resource", + "provider": "Microsoft Container Service", + "resource": "Cronjobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads jobs", + "operation": "Gets/List jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes jobs", + "operation": "Creates/Updates jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes jobs", + "operation": "Deletes/DeletesCollection jobs resource", + "provider": "Microsoft Container Service", + "resource": "Jobs" + }, + "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificatesigningrequests", + "operation": "Gets/List certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes certificatesigningrequests", + "operation": "Creates/Updates certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes certificatesigningrequests", + "operation": "Deletes/DeletesCollection certificatesigningrequests resource", + "provider": "Microsoft Container Service", + "resource": "Certificatesigningrequests" + }, + "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads leases", + "operation": "Gets/List leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes leases", + "operation": "Creates/Updates leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes leases", + "operation": "Deletes/DeletesCollection leases resource", + "provider": "Microsoft Container Service", + "resource": "Leases" + }, + "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Writes bindings", + "operation": "Creates/Updates bindings resource", + "provider": "Microsoft Container Service", + "resource": "Bindings" + }, + "name": "Microsoft.ContainerService/managedClusters/bindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Reads componentstatuses", + "operation": "Gets/List componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes componentstatuses", + "operation": "Creates/Updates componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes componentstatuses", + "operation": "Deletes/DeletesCollection componentstatuses resource", + "provider": "Microsoft Container Service", + "resource": "Componentstatuses" + }, + "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads configmaps", + "operation": "Gets/List configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes configmaps", + "operation": "Creates/Updates configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes configmaps", + "operation": "Deletes/DeletesCollection configmaps resource", + "provider": "Microsoft Container Service", + "resource": "Configmaps" + }, + "name": "Microsoft.ContainerService/managedClusters/configmaps/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads endpoints", + "operation": "Gets/List endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes endpoints", + "operation": "Creates/Updates endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes endpoints", + "operation": "Deletes/DeletesCollection endpoints resource", + "provider": "Microsoft Container Service", + "resource": "Endpoints" + }, + "name": "Microsoft.ContainerService/managedClusters/endpoints/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads limitranges", + "operation": "Gets/List limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes limitranges", + "operation": "Creates/Updates limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes limitranges", + "operation": "Deletes/DeletesCollection limitranges resource", + "provider": "Microsoft Container Service", + "resource": "Limitranges" + }, + "name": "Microsoft.ContainerService/managedClusters/limitranges/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads namespaces", + "operation": "Gets/List namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes namespaces", + "operation": "Creates/Updates namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes namespaces", + "operation": "Deletes/DeletesCollection namespaces resource", + "provider": "Microsoft Container Service", + "resource": "Namespaces" + }, + "name": "Microsoft.ContainerService/managedClusters/namespaces/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes nodes", + "operation": "Creates/Updates nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes nodes", + "operation": "Deletes/DeletesCollection nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/nodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumeclaims", + "operation": "Gets/List persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumeclaims", + "operation": "Creates/Updates persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumeclaims", + "operation": "Deletes/DeletesCollection persistentvolumeclaims resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumeclaims" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads persistentvolumes", + "operation": "Gets/List persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes persistentvolumes", + "operation": "Creates/Updates persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes persistentvolumes", + "operation": "Deletes/DeletesCollection persistentvolumes resource", + "provider": "Microsoft Container Service", + "resource": "Persistentvolumes" + }, + "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes pods", + "operation": "Creates/Updates pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes pods", + "operation": "Deletes/DeletesCollection pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Exec into pods resource", + "operation": "Exec into pods resource ", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/pods/exec/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podtemplates", + "operation": "Gets/List podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podtemplates", + "operation": "Creates/Updates podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podtemplates", + "operation": "Deletes/DeletesCollection podtemplates resource", + "provider": "Microsoft Container Service", + "resource": "Podtemplates" + }, + "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicationcontrollers", + "operation": "Gets/List replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicationcontrollers", + "operation": "Creates/Updates replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicationcontrollers", + "operation": "Deletes/DeletesCollection replicationcontrollers resource", + "provider": "Microsoft Container Service", + "resource": "Replicationcontrollers" + }, + "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resourcequotas", + "operation": "Gets/List resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes resourcequotas", + "operation": "Creates/Updates resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes resourcequotas", + "operation": "Deletes/DeletesCollection resourcequotas resource", + "provider": "Microsoft Container Service", + "resource": "Resourcequotas" + }, + "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads secrets", + "operation": "Gets/List secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes secrets", + "operation": "Creates/Updates secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes secrets", + "operation": "Deletes/DeletesCollection secrets resource", + "provider": "Microsoft Container Service", + "resource": "Secrets" + }, + "name": "Microsoft.ContainerService/managedClusters/secrets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads serviceaccounts", + "operation": "Gets/List serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes serviceaccounts", + "operation": "Creates/Updates serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes serviceaccounts", + "operation": "Deletes/DeletesCollection serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads services", + "operation": "Gets/List services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes services", + "operation": "Creates/Updates services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes services", + "operation": "Deletes/DeletesCollection services resource", + "provider": "Microsoft Container Service", + "resource": "Services" + }, + "name": "Microsoft.ContainerService/managedClusters/services/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events", + "operation": "Gets/List events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes events", + "operation": "Creates/Updates events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes events", + "operation": "Deletes/DeletesCollection events resource", + "provider": "Microsoft Container Service", + "resource": "Events" + }, + "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads daemonsets", + "operation": "Gets/List daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes daemonsets", + "operation": "Creates/Updates daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes daemonsets", + "operation": "Deletes/DeletesCollection daemonsets resource", + "provider": "Microsoft Container Service", + "resource": "Daemonsets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads deployments", + "operation": "Gets/List deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes deployments", + "operation": "Creates/Updates deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes deployments", + "operation": "Deletes/DeletesCollection deployments resource", + "provider": "Microsoft Container Service", + "resource": "Deployments" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads replicasets", + "operation": "Gets/List replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes replicasets", + "operation": "Creates/Updates replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes replicasets", + "operation": "Deletes/DeletesCollection replicasets resource", + "provider": "Microsoft Container Service", + "resource": "Replicasets" + }, + "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads pods", + "operation": "Gets/List pods resource", + "provider": "Microsoft Container Service", + "resource": "Pods" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads nodes", + "operation": "Gets/List nodes resource", + "provider": "Microsoft Container Service", + "resource": "Nodes" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networkpolicies", + "operation": "Gets/List networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes networkpolicies", + "operation": "Creates/Updates networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes networkpolicies", + "operation": "Deletes/DeletesCollection networkpolicies resource", + "provider": "Microsoft Container Service", + "resource": "Networkpolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ingresses", + "operation": "Gets/List ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes ingresses", + "operation": "Creates/Updates ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes ingresses", + "operation": "Deletes/DeletesCollection ingresses resource", + "provider": "Microsoft Container Service", + "resource": "Ingresses" + }, + "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads runtimeclasses", + "operation": "Gets/List runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes runtimeclasses", + "operation": "Creates/Updates runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes runtimeclasses", + "operation": "Deletes/DeletesCollection runtimeclasses resource", + "provider": "Microsoft Container Service", + "resource": "Runtimeclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api", + "operation": "Gets/List api resource", + "provider": "Microsoft Container Service", + "resource": "Api" + }, + "name": "Microsoft.ContainerService/managedClusters/api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads api/v1", + "operation": "Gets/List api/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Api/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/api/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apis", + "operation": "Gets/List apis resource", + "provider": "Microsoft Container Service", + "resource": "Apis" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io", + "operation": "Gets/List admissionregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1", + "operation": "Gets/List admissionregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads admissionregistration.k8s.io/v1beta1", + "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Admissionregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io", + "operation": "Gets/List apiextensions.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1", + "operation": "Gets/List apiextensions.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiextensions.k8s.io/v1beta1", + "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiextensions.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io", + "operation": "Gets/List apiregistration.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1", + "operation": "Gets/List apiregistration.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiregistration.k8s.io/v1beta1", + "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apiregistration.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps", + "operation": "Gets/List apps resource", + "provider": "Microsoft Container Service", + "resource": "Apps" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1", + "operation": "Gets/List apps/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta1", + "operation": "Gets/List apps/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apps/v1beta2", + "operation": "Gets/List apps/v1beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Apps/V1beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io", + "operation": "Gets/List authentication.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1", + "operation": "Gets/List authentication.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authentication.k8s.io/v1beta1", + "operation": "Gets/List authentication.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authentication.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io", + "operation": "Gets/List authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1", + "operation": "Gets/List authorization.k8s.io/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads authorization.k8s.io/v1beta1", + "operation": "Gets/List authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling", + "operation": "Gets/List autoscaling resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v1", + "operation": "Gets/List autoscaling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta1", + "operation": "Gets/List autoscaling/v2beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoscaling/v2beta2", + "operation": "Gets/List autoscaling/v2beta2 resource", + "provider": "Microsoft Container Service", + "resource": "Autoscaling/V2beta2" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch", + "operation": "Gets/List batch resource", + "provider": "Microsoft Container Service", + "resource": "Batch" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1", + "operation": "Gets/List batch/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads batch/v1beta1", + "operation": "Gets/List batch/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Batch/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io", + "operation": "Gets/List certificates.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads certificates.k8s.io/v1beta1", + "operation": "Gets/List certificates.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Certificates.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io", + "operation": "Gets/List coordination.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination/v1", + "operation": "Gets/List coordination/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads coordination.k8s.io/v1beta1", + "operation": "Gets/List coordination.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Coordination.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io", + "operation": "Gets/List events.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads events.k8s.io/v1beta1", + "operation": "Gets/List events.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Events.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions", + "operation": "Gets/List extensions resource", + "provider": "Microsoft Container Service", + "resource": "Extensions" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads extensions/v1beta1", + "operation": "Gets/List extensions/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Extensions/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io", + "operation": "Gets/List metrics.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics.k8s.io/v1beta1", + "operation": "Gets/List metrics.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Metrics.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io", + "operation": "Gets/List networking.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking/v1", + "operation": "Gets/List networking/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads networking.k8s.io/v1beta1", + "operation": "Gets/List networking.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Networking.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io", + "operation": "Gets/List node.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads node.k8s.io/v1beta1", + "operation": "Gets/List node.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Node.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy", + "operation": "Gets/List policy resource", + "provider": "Microsoft Container Service", + "resource": "Policy" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads policy/v1beta1", + "operation": "Gets/List policy/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Policy/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io", + "operation": "Gets/List rbac.authorization.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization/v1", + "operation": "Gets/List rbac.authorization/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rbac.authorization.k8s.io/v1beta1", + "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Rbac.Authorization.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io", + "operation": "Gets/List scheduling.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling/v1", + "operation": "Gets/List scheduling/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads scheduling.k8s.io/v1beta1", + "operation": "Gets/List scheduling.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Scheduling.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io", + "operation": "Gets/List storage.k8s.io resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage/v1", + "operation": "Gets/List storage/v1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storage.k8s.io/v1beta1", + "operation": "Gets/List storage.k8s.io/v1beta1 resource", + "provider": "Microsoft Container Service", + "resource": "Storage.K8s.Io/V1beta1" + }, + "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads healthz", + "operation": "Gets/List healthz resource", + "provider": "Microsoft Container Service", + "resource": "Healthz" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads livez", + "operation": "Gets/List livez resource", + "provider": "Microsoft Container Service", + "resource": "Livez" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads logs", + "operation": "Gets/List logs resource", + "provider": "Microsoft Container Service", + "resource": "Logs" + }, + "name": "Microsoft.ContainerService/managedClusters/logs/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads metrics", + "operation": "Gets/List metrics resource", + "provider": "Microsoft Container Service", + "resource": "Metrics" + }, + "name": "Microsoft.ContainerService/managedClusters/metrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads v2", + "operation": "Gets/List v2 resource", + "provider": "Microsoft Container Service", + "resource": "Openapi/V2" + }, + "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads readyz", + "operation": "Gets/List readyz resource", + "provider": "Microsoft Container Service", + "resource": "Readyz" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads autoregister-completion", + "operation": "Gets/List autoregister-completion resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Autoregister-Completion" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads etcd", + "operation": "Gets/List etcd resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Etcd" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads log", + "operation": "Gets/List log resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Log" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/log/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ping", + "operation": "Gets/List ping resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Ping" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-openapi-controller", + "operation": "Gets/List apiservice-openapi-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-registration-controller", + "operation": "Gets/List apiservice-registration-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads apiservice-status-available-controller", + "operation": "Gets/List apiservice-status-available-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-controller", + "operation": "Gets/List bootstrap-controller resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Controller" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ca-registration", + "operation": "Gets/List ca-registration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Ca-Registration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads crd-informer-synced", + "operation": "Gets/List crd-informer-synced resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Crd-Informer-Synced" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads generic-apiserver-start-informers", + "operation": "Gets/List generic-apiserver-start-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads kube-apiserver-autoregistration", + "operation": "Gets/List kube-apiserver-autoregistration resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-roles", + "operation": "Gets/List bootstrap-roles resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads bootstrap-system-priority-classes", + "operation": "Gets/List bootstrap-system-priority-classes resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-controllers", + "operation": "Gets/List start-apiextensions-controllers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-apiextensions-informers", + "operation": "Gets/List start-apiextensions-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-aggregator-informers", + "operation": "Gets/List start-kube-aggregator-informers resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads start-kube-apiserver-admission-initializer", + "operation": "Gets/List start-kube-apiserver-admission-initializer resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads shutdown", + "operation": "Gets/List shutdown resource", + "provider": "Microsoft Container Service", + "resource": "Readyz/Shutdown" + }, + "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads resetMetrics", + "operation": "Gets/List resetMetrics resource", + "provider": "Microsoft Container Service", + "resource": "Resetmetrics" + }, + "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-ui", + "operation": "Gets/List swagger-ui resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads swagger-api", + "operation": "Gets/List swagger-api resource", + "provider": "Microsoft Container Service", + "resource": "Swagger-Api" + }, + "name": "Microsoft.ContainerService/managedClusters/swagger-api/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads ui", + "operation": "Gets/List ui resource", + "provider": "Microsoft Container Service", + "resource": "Ui" + }, + "name": "Microsoft.ContainerService/managedClusters/ui/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads version", + "operation": "Gets/List version resource", + "provider": "Microsoft Container Service", + "resource": "Version" + }, + "name": "Microsoft.ContainerService/managedClusters/version/read", + "origin": "user,system" + }, + { + "display": { + "description": "Reads poddisruptionbudgets", + "operation": "Gets/List poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes poddisruptionbudgets", + "operation": "Creates/Updates poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes poddisruptionbudgets", + "operation": "Deletes/DeletesCollection poddisruptionbudgets resource", + "provider": "Microsoft Container Service", + "resource": "Poddisruptionbudgets" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads podsecuritypolicies", + "operation": "Gets/List podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes podsecuritypolicies", + "operation": "Creates/Updates podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes podsecuritypolicies", + "operation": "Deletes/DeletesCollection podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterrolebindings", + "operation": "Gets/List clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterrolebindings", + "operation": "Creates/Updates clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterrolebindings", + "operation": "Deletes/DeletesCollection clusterrolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Clusterrolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads clusterroles", + "operation": "Gets/List clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes clusterroles", + "operation": "Creates/Updates clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes clusterroles", + "operation": "Deletes/DeletesCollection clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads rolebindings", + "operation": "Gets/List rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes rolebindings", + "operation": "Creates/Updates rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes rolebindings", + "operation": "Deletes/DeletesCollection rolebindings resource", + "provider": "Microsoft Container Service", + "resource": "Rolebindings" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads roles", + "operation": "Gets/List roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes roles", + "operation": "Creates/Updates roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes roles", + "operation": "Deletes/DeletesCollection roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads priorityclasses", + "operation": "Gets/List priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes priorityclasses", + "operation": "Creates/Updates priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes priorityclasses", + "operation": "Deletes/DeletesCollection priorityclasses resource", + "provider": "Microsoft Container Service", + "resource": "Priorityclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Use action on podsecuritypolicies", + "operation": "Use podsecuritypolicies resource", + "provider": "Microsoft Container Service", + "resource": "Podsecuritypolicies" + }, + "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds clusterroles", + "operation": "Bind clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates", + "operation": "Escalate clusterroles resource", + "provider": "Microsoft Container Service", + "resource": "Clusterroles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Binds roles", + "operation": "Bind roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action", + "origin": "user,system" + }, + { + "display": { + "description": "Escalates roles", + "operation": "Escalate roles resource", + "provider": "Microsoft Container Service", + "resource": "Roles" + }, + "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate serviceaccounts", + "operation": "Impersonate serviceaccounts resource", + "provider": "Microsoft Container Service", + "resource": "Serviceaccounts" + }, + "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate users", + "operation": "Impersonate users resource", + "provider": "Microsoft Container Service", + "resource": "Users" + }, + "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate groups", + "operation": "Impersonate groups resource", + "provider": "Microsoft Container Service", + "resource": "Groups" + }, + "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Impersonate userextras", + "operation": "Impersonate userextras resource", + "provider": "Microsoft Container Service", + "resource": "Userextras" + }, + "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action", + "origin": "user,system" + }, + { + "display": { + "description": "Reads storageclasses", + "operation": "Gets/List storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes storageclasses", + "operation": "Creates/Updates storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes storageclasses", + "operation": "Deletes/DeletesCollection storageclasses resource", + "provider": "Microsoft Container Service", + "resource": "Storageclasses" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads volumeattachments", + "operation": "Gets/List volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes volumeattachments", + "operation": "Creates/Updates volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes volumeattachments", + "operation": "Deletes/DeletesCollection volumeattachments resource", + "provider": "Microsoft Container Service", + "resource": "Volumeattachments" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csidrivers", + "operation": "Gets/List csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csidrivers", + "operation": "Creates/Updates csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csidrivers", + "operation": "Deletes/DeletesCollection csidrivers resource", + "provider": "Microsoft Container Service", + "resource": "Csidrivers" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Reads csinodes", + "operation": "Gets/List csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read", + "origin": "user,system" + }, + { + "display": { + "description": "Writes csinodes", + "operation": "Creates/Updates csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write", + "origin": "user,system" + }, + { + "display": { + "description": "Deletes csinodes", + "operation": "Deletes/DeletesCollection csinodes resource", + "provider": "Microsoft Container Service", + "resource": "Csinodes" + }, + "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Gets the available metrics for Managed Cluster", + "operation": "Read Managed Cluster metric definitions", + "provider": "Microsoft Container Service", + "resource": "The metric definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Gets the available logs for Managed Cluster", + "operation": "Read Managed Cluster log definitions", + "provider": "Microsoft Container Service", + "resource": "The log definition of Managed Cluster" + }, + "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read", + "origin": "system" + }, + { + "display": { + "description": "Get a Open Shift Managed Cluster", + "operation": "Get Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Managed Cluster or updates an existing one", + "operation": "Create or Update Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Managed Cluster", + "operation": "Delete Open Shift Managed Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Managed Cluster" + }, + "name": "Microsoft.ContainerService/openShiftManagedClusters/delete", + "origin": "user,system" + }, + { + "display": { + "description": "Get a Open Shift Cluster", + "operation": "Get Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/read", + "origin": "user,system" + }, + { + "display": { + "description": "Creates a new Open Shift Cluster or updates an existing one", + "operation": "Create or Update Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/write", + "origin": "user,system" + }, + { + "display": { + "description": "Delete a Open Shift Cluster", + "operation": "Delete Open Shift Cluster", + "provider": "Microsoft Container Service", + "resource": "Open Shift Cluster" + }, + "name": "Microsoft.ContainerService/openShiftClusters/delete", + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/OutboundNetworkDependenciesEndpointsList.json new file mode 100644 index 000000000000..1fe294d4a9e8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/OutboundNetworkDependenciesEndpointsList.json @@ -0,0 +1,242 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "azure-resource-management", + "endpoints": [ + { + "domainName": "management.azure.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "images", + "endpoints": [ + { + "domainName": "mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.data.mcr.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https", + "description": "mcr cdn" + } + ] + } + ] + }, + { + "category": "artifacts", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "acs-mirror.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "time-sync", + "endpoints": [ + { + "domainName": "ntp.ubuntu.com", + "endpointDetails": [ + { + "port": 123, + "protocol": "UDP" + } + ] + } + ] + }, + { + "category": "ubuntu-optional", + "endpoints": [ + { + "domainName": "security.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "azure.archive.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "changelogs.ubuntu.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "gpu", + "endpoints": [ + { + "domainName": "nvidia.github.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "us.download.nvidia.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "apt.dockerproject.org", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "windows", + "endpoints": [ + { + "domainName": "onegetcdn.azureedge.net", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "go.microsoft.com", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + }, + { + "domainName": "*.mp.microsoft.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "www.msftconnecttest.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + }, + { + "domainName": "ctldl.windowsupdate.com", + "endpointDetails": [ + { + "port": 80, + "protocol": "Http" + } + ] + } + ] + }, + { + "category": "apiserver", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 443, + "protocol": "Https" + } + ] + } + ] + }, + { + "category": "tunnel-classic", + "endpoints": [ + { + "domainName": "*.azmk8s.io", + "endpointDetails": [ + { + "port": 9000, + "protocol": "TCP" + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsDelete.json new file mode 100644 index 000000000000..25e69e0407f4 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsGet.json new file mode 100644 index 000000000000..7ed466ce6f59 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsList.json new file mode 100644 index 000000000000..d584891bf815 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsUpdate.json new file mode 100644 index 000000000000..9bf7bc884b25 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateEndpointConnectionsUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "privateEndpointConnectionName": "privateendpointconnection1", + "parameters": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateEndpoints/pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved" + }, + "provisioningState": "Succeeded" + }, + "name": "privateendpointconnection1", + "type": "Microsoft.Network/privateLinkServices/privateEndpointConnections" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateLinkResourcesList.json new file mode 100644 index 000000000000..4ca915f71134 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/PrivateLinkResourcesList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "management", + "type": "Microsoft.ContainerService/managedClusters/privateLinkResources", + "groupId": "management", + "requiredMembers": [ + "management" + ], + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ResolvePrivateLinkServiceId.json new file mode 100644 index 000000000000..88ee09583832 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/ResolvePrivateLinkServiceId.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "name": "management" + } + }, + "responses": { + "200": { + "body": { + "privateLinkServiceID": "/subscriptions/subid2/resourceGroups/rg2/providers/Microsoft.Network/privateLinkServices/plsName" + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandRequest.json new file mode 100644 index 000000000000..b0376092b326 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandRequest.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "requestPayload": { + "command": "kubectl apply -f ns.yaml", + "context": "", + "clusterToken": "" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-01" + } + }, + "200": { + "description": "to mitigate RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE", + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultFailed.json new file mode 100644 index 000000000000..47ba440ea25c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultFailed.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "failed", + "reason": "ImagePullBackoff" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultSucceed.json new file mode 100644 index 000000000000..7d91cdd4610c --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/RunCommandResultSucceed.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "commandId": "def7b3ea71bd4f7e9d226ddbc0f00ad9" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/commandResults/0e9872e6629349dc865e27ee6f8bab2d?api-version=2022-02-01" + } + }, + "200": { + "body": { + "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9", + "properties": { + "provisioningState": "succeeded", + "exitCode": 0, + "startedAt": "2021-02-17T00:28:20Z", + "finishedAt": "2021-02-17T00:28:33Z", + "logs": "namespace dummy created" + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsCreate.json new file mode 100644 index 000000000000..16eb502c348e --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsCreate.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + }, + "201": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsDelete.json new file mode 100644 index 000000000000..574d7422ac01 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsGet.json new file mode 100644 index 000000000000..e5721716d295 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1" + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsList.json new file mode 100644 index 000000000000..cef5794fa4b8 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsListByResourceGroup.json new file mode 100644 index 000000000000..879e195f916b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + ] + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsUpdateTags.json new file mode 100644 index 000000000000..d477c7125c94 --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/examples/SnapshotsUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "snapshot1", + "parameters": { + "tags": { + "key2": "new-val2", + "key3": "val3" + } + } + }, + "responses": { + "200": { + "body": { + "name": "snapshot1", + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1", + "type": "Microsoft.ContainerService/Snapshots", + "location": "westus", + "tags": { + "key1": "val1", + "key2": "val2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-08-09T20:13:23.298420761Z" + }, + "properties": { + "creationData": { + "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0" + }, + "snapshotType": "NodePool", + "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11", + "kubernetesVersion": "1.20.5", + "osType": "Linux", + "osSku": "Ubuntu", + "vmSize": "Standard_D2s_v3", + "enableFIPS": false + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/managedClusters.json new file mode 100644 index 000000000000..de782b3b010b --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2022-02-01/managedClusters.json @@ -0,0 +1,5726 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2022-02-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "Operations_List", + "summary": "Gets a list of 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 + }, + "x-ms-examples": { + "List available operations for the container service resource provider": { + "$ref": "./examples/Operation_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "summary": "Gets a list of managed clusters in the specified subscription.", + "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.", + "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 the upgrade profile of a managed cluster.", + "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": { + "deprecated": true, + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "summary": "Gets an access profile of a managed cluster.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", + "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": "Lists the admin credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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": "Lists the user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + }, + { + "$ref": "#/parameters/CredentialFormatParameter" + } + ], + "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": "Lists the cluster monitoring user credentials of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" + } + ], + "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.", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The managed cluster to create or update." + } + ], + "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" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" + }, + "Create/Update Managed Cluster with dual-stack networking": { + "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json" + } + } + }, + "patch": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_UpdateTags", + "summary": "Updates tags on 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/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.", + "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}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.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.", + "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 specified managed cluster agent pool.", + "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 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": "The agent pool to create or update." + } + ], + "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" + }, + "Create Spot Agent Pool": { + "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" + } + } + }, + "delete": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_Delete", + "summary": "Deletes 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." + } + ], + "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 the upgrade profile for an agent pool.", + "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 Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", + "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 the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" + }, + "description": "The service principal profile to set on the 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 the AAD Profile of 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": "The AAD profile to set on the 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": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a 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": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a 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": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "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" + }, + "202": { + "description": "Accepted", + "headers": { + "Azure-AsyncOperation": { + "description": "URL to query for status of the operation.", + "type": "string" + } + }, + "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": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress" + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "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 snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "type": "object", + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "type": "object", + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the 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 Operation Value Display." + }, + "Resource": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "#/definitions/SystemData" + }, + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the 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": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name" + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs. Note: This is no longer maintained.", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "vnetSubnetID": { + "type": "string", + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + } + ], + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "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, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "AgentPoolListResult": { + "type": "object", + "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." + }, + "AgentPoolUpgradeSettings": { + "type": "object", + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + }, + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "type": "object", + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **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:** 1 character

    **Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length:** 8 characters

    **Max-length:** 123 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!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { + "type": "string", + "description": "Specifies the DNS server for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + }, + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." + } + }, + "description": "Windows gMSA Profile in the managed cluster." + }, + "ContainerServiceLinuxProfile": { + "type": "object", + "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": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "type": "object", + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." + }, + "networkMode": { + "type": "string", + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "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", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." + }, + "podCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign pod IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking." + }, + "serviceCidrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The CIDR notation IP ranges from which to assign service cluster IPs.", + "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges." + }, + "ipFamilies": { + "type": "array", + "items": { + "type": "string", + "description": "The IP version to use for cluster networking and IP assignment.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "ipFamily", + "modelAsString": true + } + }, + "title": "The IP families used to specify IP versions available to the cluster.", + "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6." + } + }, + "description": "Profile of network configuration." + }, + "MaintenanceConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "MaintenanceConfiguration": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "type": "object", + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" + }, + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "description": "Time slots on which upgrade is not allowed." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "TimeInWeek": { + "type": "object", + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true + } + }, + "description": "run command result." + }, + "CommandResultProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "provisioning State" + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." + }, + "finishedAt": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { + "type": "string", + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." + } + }, + "description": "The results of a run command" + }, + "ManagedClusterNATGatewayProfile": { + "type": "object", + "properties": { + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 + } + }, + "description": "Profile of the managed cluster NAT gateway." + }, + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Profile of the managed outbound IP resources of the managed cluster." + }, + "ManagedClusterLoadBalancerProfile": { + "type": "object", + "properties": { + "managedOutboundIPs": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of IPv4 outbound IPs 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 + }, + "countIPv6": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0, + "description": "The desired number of IPv6 outbound IPs 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 0 for single-stack and 1 for dual-stack. ", + "default": 0 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "type": "object", + "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": { + "type": "object", + "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": "The desired number of allocated SNAT ports per VM. Allowed values are 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 are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "type": "object", + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "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": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." + }, + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." + }, + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The max number of agent pools for the managed cluster." + }, + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is running.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." + }, + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The 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": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." + }, + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." + }, + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." + }, + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" + }, + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." + }, + "diskEncryptionSetID": { + "type": "string", + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" + }, + "identityProfile": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." + }, + "privateLinkResources": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Private link resources associated with the cluster." + }, + "disableLocalAccounts": { + "type": "boolean", + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." + }, + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." + }, + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "title": "PublicNetworkAccess of the managedCluster", + "description": "Allow or deny public network access for AKS" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "type": "object", + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "type": "object", + "properties": { + "authorizedIPRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." + } + }, + "description": "Access profile for managed cluster API server." + }, + "ManagedClusterIdentity": { + "type": "object", + "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", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "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." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the managed cluster." + }, + "UserAssignedIdentity": { + "type": "object", + "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." + } + }, + "description": "Details about a user assigned identity." + }, + "ManagedClusterAccessProfile": { + "type": "object", + "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": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "name": { + "type": "string", + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the 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": { + "type": "object", + "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." + }, + "ManagedClusterAutoUpgradeProfile": { + "type": "object", + "properties": { + "upgradeChannel": { + "type": "string", + "enum": [ + "rapid", + "stable", + "patch", + "node-image", + "none" + ], + "x-ms-enum": { + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available." + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] + }, + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "type": "object", + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." + }, + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of AAD group object IDs that will have admin role of the cluster." + }, + "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." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "ManagedClusterAddonProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "type": "object", + "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." + }, + "ManagedClusterPodIdentity": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity." + }, + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", + "enum": [ + "Assigned", + "Updating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "ManagedClusterPodIdentityProvisioningState", + "modelAsString": true + } + }, + "provisioningInfo": { + "type": "object", + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } + } + }, + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." + }, + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "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/ManagedClusterPodIdentityProvisioningErrorBody" + }, + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityException": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." + }, + "ManagedClusterPodIdentityProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } + } + }, + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." + }, + "ManagedClusterUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "AgentPoolUpgradeProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for an agent pool." + }, + "AgentPoolUpgradeProfileProperties": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." + }, + "latestNodeImageVersion": { + "type": "string", + "description": "The latest AKS supported node image version." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "AgentPoolAvailableVersions": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "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": { + "type": "object", + "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": "The 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, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true + }, + "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." + } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "type": "object", + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The list 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": { + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "type": "object", + "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." + }, + "ManagedClusterSKU": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Paid", + "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, + { + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." + } + ] + } + } + }, + "description": "The SKU of a Managed Cluster." + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the private endpoint connection." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "Private endpoint which a connection belongs to.", + "properties": { + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", + "properties": { + "status": { + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "description": "The private link service connection status.", + "x-ms-enum": { + "name": "ConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The ID of the private link resource." + }, + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." + } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] + }, + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" + ], + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." + }, + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { + "type": "boolean", + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." + }, + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." + }, + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." + }, + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." + }, + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { + "type": "string", + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "transparentHugePageDefrag": { + "type": "string", + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." + } + } + }, + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", + "properties": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { + "type": "boolean", + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." + }, + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." + }, + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." + } + } + }, + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string", + "description": "The HTTP proxy server endpoint to use." + }, + "httpsProxy": { + "type": "string", + "description": "The HTTPS proxy server endpoint to use." + }, + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." + }, + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." + } + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" + ], + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "type": "object", + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "type": "object", + "properties": { + "os-type": { + "type": "string", + "description": "The OS type." + }, + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." + } + }, + "required": [ + "os-type", + "enable-fips-image" + ], + "description": "OS option property." + }, + "OSOptionPropertyList": { + "type": "object", + "properties": { + "osOptionPropertyList": { + "type": "array", + "items": { + "$ref": "#/definitions/OSOptionProperty" + }, + "description": "The list of OS options." + } + }, + "required": [ + "osOptionPropertyList" + ], + "description": "The list of OS option properties." + }, + "OSOptionProfile": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the OS option resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the OS option resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the OS option resource." + }, + "properties": { + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The OS option profile." + }, + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } + } + } + }, + "EndpointDetail": { + "description": "connect information from the AKS agent nodes to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } + }, + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "azureDefender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender", + "description": "Azure Defender settings for the security profile." + } + }, + "description": "Security profile for the container service cluster." + }, + "ManagedClusterSecurityProfileAzureDefender": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Defender" + }, + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + } + }, + "description": "Azure Defender settings for the security profile." + }, + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } + }, + "SnapshotListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true + } + }, + "description": "The response from the List Snapshots operation." + }, + "Snapshot": { + "type": "object", + "properties": { + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A node pool snapshot resource." + }, + "SnapshotProperties": { + "type": "object", + "properties": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, + "type": "string", + "description": "The version of Kubernetes." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image." + }, + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, + "type": "string", + "description": "The size of the VM." + }, + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." + } + }, + "description": "Properties used to configure a node pool snapshot." + }, + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." + } + ] + }, + "description": "The type of a snapshot. The default is NodePool." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the target subscription.", + "minLength": 1 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for this operation.", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "minLength": 1, + "maxLength": 90, + "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" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of Azure region.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" + }, + "CredentialFormatParameter": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "exec", + "azure" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Return azure auth-provider kubeconfig. This format is deprecated in 1.22 and will be fully removed in 1.25." + }, + { + "value": "exec", + "description": "Return exec format kubeconfig. This format requires kubelogin binary in the path." + } + ] + }, + "description": "Only apply to AAD clusters, specifies the format of returned kubeconfig. Format 'azure' will return azure auth-provider kubeconfig; format 'exec' will return exec format kubeconfig, which requires kubelogin binary in the path.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md index 40c1916373bd..294325faa6ed 100644 --- a/specification/containerservice/resource-manager/readme.go.md +++ b/specification/containerservice/resource-manager/readme.go.md @@ -20,6 +20,10 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-02 + - tag: package-preview-2022-02 + - tag: package-2022-01 + - tag: package-preview-2022-01 - tag: package-2021-10 - tag: package-2021-09 - tag: package-2021-08 @@ -52,6 +56,46 @@ batch: - tag: package-2017-07 ``` +### Tag: package-2022-02 and go + +These settings apply only when `--package-2022-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2022-02' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-02-01/$(namespace) +``` + +### Tag: package-preview-2022-02 and go + +These settings apply only when `--package-preview-2022-02 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-preview-2022-02' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-02-02-preview/$(namespace) +``` + +### Tag: package-2022-01 and go + +These settings apply only when `--package-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2022-01' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-01-01/$(namespace) +``` + +### Tag: package-preview-2022-01 and go + +These settings apply only when `--package-preview-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-preview-2022-01' && $(go) +namespace: containerservice +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-01-02-preview/$(namespace) +``` + ### Tag: package-2021-10 and go These settings apply only when `--package-2021-10 --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 d6130d6af0ed..d798bbf6381a 100644 --- a/specification/containerservice/resource-manager/readme.java.md +++ b/specification/containerservice/resource-manager/readme.java.md @@ -46,6 +46,62 @@ batch: - tag: package-2021-08 - tag: package-2021-09 - tag: package-2021-10 + - tag: package-preview-2022-01 + - tag: package-2022-01 + - tag: package-preview-2022-02 + - tag: package-2022-02 +``` + +### Tag: package-2022-02 and java + +These settings apply only when `--tag=package-2022-02` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-02' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2022_02_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2022_02_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-preview-2022-02 and java + +These settings apply only when `--tag=package-preview-2022-02` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2022-02' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2022_02_02_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2022_02_02_preview +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-2022-01 and java + +These settings apply only when `--tag=package-2022-01` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2022_01_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2022_01_01 +regenerate-manager: true +generate-interface: true +``` + +### Tag: package-preview-2022-01 and java + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-preview-2022-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.containerservice.v2022_01_02_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2022_01_02_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2021-10 and java diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md index 48df08e07885..f718c7bc6264 100644 --- a/specification/containerservice/resource-manager/readme.md +++ b/specification/containerservice/resource-manager/readme.md @@ -34,18 +34,75 @@ These are the global settings for the ContainerServices API. ``` yaml openapi-type: arm -tag: package-preview-2021-11 +tag: package-2022-02 ``` +### Tag: package-2022-02 + +These settings apply only when `--tag=package-2022-02` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02' +input-file: + - Microsoft.ContainerService/stable/2022-02-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-preview-2022-02 + +These settings apply only when `--tag=package-preview-2022-02` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2022-02' +input-file: + - Microsoft.ContainerService/preview/2022-02-02-preview/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.ContainerService/stable/2022-01-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2022-01' +input-file: + - Microsoft.ContainerService/preview/2022-01-02-preview/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased +``` + ### Tag: package-preview-2021-11 These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-11' +``` yaml $(tag) == 'package-preview-2021-11' input-file: - Microsoft.ContainerService/preview/2021-11-01-preview/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` + ### Tag: package-2021-10 These settings apply only when `--tag=package-2021-10` is specified on the command line. @@ -53,6 +110,10 @@ These settings apply only when `--tag=package-2021-10` is specified on the comma ``` yaml $(tag) == 'package-2021-10' input-file: - Microsoft.ContainerService/stable/2021-10-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-09 @@ -62,6 +123,10 @@ These settings apply only when `--tag=package-2021-09` is specified on the comma ``` yaml $(tag) == 'package-2021-09' input-file: - Microsoft.ContainerService/stable/2021-09-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-08 @@ -71,6 +136,10 @@ These settings apply only when `--tag=package-2021-08` is specified on the comma ``` yaml $(tag) == 'package-2021-08' input-file: - Microsoft.ContainerService/stable/2021-08-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-07 @@ -80,6 +149,10 @@ These settings apply only when `--tag=package-2021-07` is specified on the comma ``` yaml $(tag) == 'package-2021-07' input-file: - Microsoft.ContainerService/stable/2021-07-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-05 @@ -89,6 +162,10 @@ These settings apply only when `--tag=package-2021-05` is specified on the comma ``` yaml $(tag) == 'package-2021-05' input-file: - Microsoft.ContainerService/stable/2021-05-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-03 @@ -98,6 +175,10 @@ These settings apply only when `--tag=package-2021-03` is specified on the comma ``` yaml $(tag) == 'package-2021-03' input-file: - Microsoft.ContainerService/stable/2021-03-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2021-02 @@ -107,6 +188,10 @@ These settings apply only when `--tag=package-2021-02` is specified on the comma ``` yaml $(tag) == 'package-2021-02' input-file: - Microsoft.ContainerService/stable/2021-02-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2020-12 @@ -116,6 +201,10 @@ These settings apply only when `--tag=package-2020-12` is specified on the comma ``` yaml $(tag) == 'package-2020-12' input-file: - Microsoft.ContainerService/stable/2020-12-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2020-11 @@ -125,6 +214,10 @@ These settings apply only when `--tag=package-2020-11` is specified on the comma ``` yaml $(tag) == 'package-2020-11' input-file: - Microsoft.ContainerService/stable/2020-11-01/managedClusters.json +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile + reason: Cluster-autoscaler settings are not camel-cased ``` ### Tag: package-2020-09 @@ -373,134 +466,29 @@ input-file: ``` -### Tag: package-2021-11-01-preview-only - -These settings apply only when `--tag=package-2021-11-01-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-11-01-preview-only' -input-file: -- Microsoft.ContainerService/preview/2021-11-01-preview/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-10-01-only - -These settings apply only when `--tag=package-2021-10-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-10-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-10-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-09-01-only - -These settings apply only when `--tag=package-2021-09-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-09-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-09-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-08-01-only - -These settings apply only when `--tag=package-2021-08-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-08-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-08-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-07-01-only - -These settings apply only when `--tag=package-2021-07-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-07-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-07-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-05-01-only - -These settings apply only when `--tag=package-2021-05-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-05-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-05-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` - -### Tag: package-2021-03-01-only - -These settings apply only when `--tag=package-2021-03-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2021-03-01-only' -input-file: -- Microsoft.ContainerService/stable/2021-03-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` +### Tag: package-2019-09-preview-only -### Tag: package-2021-02-01-only +These settings apply only when `--tag=package-2019-09-preview-only` is specified on the command line. -These settings apply only when `--tag=package-2021-02-01-only` is specified on the command line. +This is a special tag used only by python sdk generation. To avoid introducing breaking changes in compatibility to the +v2019_09_30_preview namespace of python SDK, DO NOT MODIFY THIS TAG. -``` yaml $(tag) == 'package-2021-02-01-only' +``` yaml $(tag) == 'package-2019-09-preview-only' input-file: -- Microsoft.ContainerService/stable/2021-02-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased +- Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json ``` -### Tag: package-2020-12-01-only - -These settings apply only when `--tag=package-2020-12-01-only` is specified on the command line. - -``` yaml $(tag) == 'package-2020-12-01-only' -input-file: -- Microsoft.ContainerService/stable/2020-12-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased -``` +### Tag: package-2017-07-only-extended -### Tag: package-2020-11-01-only +These settings apply only when `--tag=package-2017-07-only-extended` is specified on the command line. -These settings apply only when `--tag=package-2020-11-01-only` is specified on the command line. +This is a special tag used only by python sdk generation. To avoid introducing breaking changes in compatibility to the +v2017_07_01 namespace of python SDK, DO NOT MODIFY THIS TAG. -``` yaml $(tag) == 'package-2020-11-01-only' +``` yaml $(tag) == 'package-2017-07-only-extended' input-file: -- Microsoft.ContainerService/stable/2020-11-01/managedClusters.json -directive: - - suppress: DefinitionsPropertiesNamesCamelCase - where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile - reason: Cluster-autoscaler settings are not camel-cased +- Microsoft.ContainerService/stable/2017-07-01/containerService.json +- Microsoft.ContainerService/stable/2019-04-01/location.json ``` ### Tag: package-2020-09-01-only @@ -662,15 +650,6 @@ input-file: - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json ``` -### Tag: package-2018-08-preview-only - -These settings apply only when `--tag=package-2018-08-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2018-08-preview-only' -input-file: -- Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json -``` - ### Tag: package-2018-09-preview-only These settings apply only when `--tag=package-2018-09-preview-only` is specified on the command line. @@ -680,13 +659,13 @@ input-file: - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json ``` -### Tag: package-2019-09-preview-only +### Tag: package-2018-08-preview-only -These settings apply only when `--tag=package-2019-09-preview-only` is specified on the command line. +These settings apply only when `--tag=package-2018-08-preview-only` is specified on the command line. -``` yaml $(tag) == 'package-2019-09-preview-only' +``` yaml $(tag) == 'package-2018-08-preview-only' input-file: -- Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json +- Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json ``` ### Tag: package-2018-03-only @@ -698,18 +677,13 @@ input-file: - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json ``` -### Tag: package-2017-07-only-extended - -These settings apply only when `--tag=package-2017-07-only-extended` is specified on the command line. +### Tag: package-2017-09-only -This tag is special, since it brings together two API version that belongs -to the same operation group, since Python does not know how to handle -multi-api operation group for now. +These settings apply only when `--tag=package-2017-09-only` is specified on the command line. -``` yaml $(tag) == 'package-2017-07-only-extended' +``` yaml $(tag) == 'package-2017-09-only' input-file: -- Microsoft.ContainerService/stable/2017-07-01/containerService.json -- Microsoft.ContainerService/stable/2019-04-01/location.json +- Microsoft.ContainerService/stable/2017-09-30/location.json ``` ### Tag: package-2017-08-only @@ -721,15 +695,6 @@ input-file: - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json ``` -### Tag: package-2017-09-only - -These settings apply only when `--tag=package-2017-09-only` is specified on the command line. - -``` yaml $(tag) == 'package-2017-09-only' -input-file: -- Microsoft.ContainerService/stable/2017-09-30/location.json -``` - ### Tag: package-2017-01-only These settings apply only when `--tag=package-2017-01-only` is specified on the command line. diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md index 13059de185a4..e5c0140cea00 100644 --- a/specification/containerservice/resource-manager/readme.python.md +++ b/specification/containerservice/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--python` is specified on the command line. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-containerservice @@ -15,18 +15,22 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) batch: - - tag: package-2021-11-01-preview-only - - tag: package-2021-10-01-only - - tag: package-2021-09-01-only - - tag: package-2021-08-01-only - - tag: package-2021-07-01-only - - tag: package-2021-05-01-only - - tag: package-2021-03-01-only - - tag: package-2021-02-01-only - - tag: package-2020-12-01-only - - tag: package-2020-11-01-only + - tag: package-2022-02 + - tag: package-preview-2022-02 + - tag: package-2022-01 + - tag: package-preview-2022-01 + - tag: package-preview-2021-11 + - tag: package-2021-10 + - tag: package-2021-09 + - tag: package-2021-08 + - tag: package-2021-07 + - tag: package-2021-05 + - tag: package-2021-03 + - tag: package-2021-02 + - tag: package-2020-12 + - tag: package-2020-11 - tag: package-2020-09-01-only - tag: package-2020-07-01-only - tag: package-2020-06-01-only @@ -43,115 +47,154 @@ batch: - tag: package-2019-04-01-only - tag: package-2019-02-only - tag: package-2018-09-preview-only - - tag: package-2019-09-preview-only - tag: package-2018-08-preview-only - tag: package-2018-03-only + - tag: package-2019-09-preview-only - tag: package-2017-07-only-extended - multiapiscript: true ``` ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/ -clear-output-folder: false perform-load: false ``` -### Tag: package-2021-11-01-preview-only and python +### Tag: package-2022-02 and python + +These settings apply only when `--tag=package-2022-02 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2022-02' && $(python) +namespace: azure.mgmt.containerservice.v2022_02_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2022_02_01 +``` + +### Tag: package-preview-2022-02 and python + +These settings apply only when `--tag=package-preview-2022-02 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2022-02' && $(python) +namespace: azure.mgmt.containerservice.v2022_02_02_preview +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2022_02_02_preview +``` + +### Tag: package-2022-01 and python -These settings apply only when `--tag=package-2021-11-01-preview-only --python` is specified on the command line. +These settings apply only when `--tag=package-2022-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-11-01-preview-only' && $(python) +``` yaml $(tag) == 'package-2022-01' && $(python) +namespace: azure.mgmt.containerservice.v2022_01_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2022_01_01 +``` + +### Tag: package-preview-2022-01 and python + +These settings apply only when `--tag=package-preview-2022-01 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2022-01' && $(python) +namespace: azure.mgmt.containerservice.v2022_01_02_preview +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2022_01_02_preview +``` + +### Tag: package-preview-2021-11 and python + +These settings apply only when `--tag=package-preview-2021-11 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2021-11' && $(python) namespace: azure.mgmt.containerservice.v2021_11_01_preview output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_11_01_preview ``` -### Tag: package-2021-10-01-only and python +### Tag: package-2021-10 and python -These settings apply only when `--tag=package-2021-10-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-10 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-10-01-only' && $(python) +``` yaml $(tag) == 'package-2021-10' && $(python) namespace: azure.mgmt.containerservice.v2021_10_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_10_01 ``` -### Tag: package-2021-09-01-only and python +### Tag: package-2021-09 and python -These settings apply only when `--tag=package-2021-09-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-09 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-09-01-only' && $(python) +``` yaml $(tag) == 'package-2021-09' && $(python) namespace: azure.mgmt.containerservice.v2021_09_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_09_01 ``` -### Tag: package-2021-08-01-only and python +### Tag: package-2021-08 and python -These settings apply only when `--tag=package-2021-08-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-08 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-08-01-only' && $(python) +``` yaml $(tag) == 'package-2021-08' && $(python) namespace: azure.mgmt.containerservice.v2021_08_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_08_01 ``` -### Tag: package-2021-07-01-only and python +### Tag: package-2021-07 and python -These settings apply only when `--tag=package-2021-07-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-07 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-07-01-only' && $(python) +``` yaml $(tag) == 'package-2021-07' && $(python) namespace: azure.mgmt.containerservice.v2021_07_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_07_01 ``` -### Tag: package-2021-05-01-only and python +### Tag: package-2021-05 and python -These settings apply only when `--tag=package-2021-05-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-05 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-05-01-only' && $(python) +``` yaml $(tag) == 'package-2021-05' && $(python) namespace: azure.mgmt.containerservice.v2021_05_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_05_01 ``` -### Tag: package-2021-03-01-only and python +### Tag: package-2021-03 and python -These settings apply only when `--tag=package-2021-03-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-03 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-03-01-only' && $(python) +``` yaml $(tag) == 'package-2021-03' && $(python) namespace: azure.mgmt.containerservice.v2021_03_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_03_01 ``` -### Tag: package-2021-02-01-only and python +### Tag: package-2021-02 and python -These settings apply only when `--tag=package-2021-02-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2021-02 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-02-01-only' && $(python) +``` yaml $(tag) == 'package-2021-02' && $(python) namespace: azure.mgmt.containerservice.v2021_02_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_02_01 ``` -### Tag: package-2020-12-01-only and python +### Tag: package-2020-12 and python -These settings apply only when `--tag=package-2020-12-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2020-12 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-12-01-only' && $(python) +``` yaml $(tag) == 'package-2020-12' && $(python) namespace: azure.mgmt.containerservice.v2020_12_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_12_01 ``` -### Tag: package-2020-11-01-only and python +### Tag: package-2020-11 and python -These settings apply only when `--tag=package-2020-11-01-only --python` is specified on the command line. +These settings apply only when `--tag=package-2020-11 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-11-01-only' && $(python) +``` yaml $(tag) == 'package-2020-11' && $(python) namespace: azure.mgmt.containerservice.v2020_11_01 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_11_01 ``` @@ -336,29 +379,35 @@ namespace: azure.mgmt.containerservice.v2018_03_31 output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2018_03_31 ``` -### Tag: package-2017-07-only-extended and python - -These settings apply only when `--tag=package-2017-07-only-extended --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -``` yaml $(tag) == 'package-2017-07-only-extended' && $(python) -namespace: azure.mgmt.containerservice.v2017_07_01 -output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2017_07_01 -``` - ### Tag: package-2019-09-preview-only and python These settings apply only when `--tag=package-2019-09-preview-only --python` is specified on the command line. Please also specify `--python-sdks-folder=`. +This is a special tag used only by python sdk generation. To avoid introducing breaking changes in compatibility to the +v2019_09_30_preview namespace of python SDK, DO NOT MODIFY THIS TAG. + ``` yaml $(tag) == 'package-2019-09-preview-only' && $(python) namespace: azure.mgmt.containerservice.v2019_09_30_preview output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2019_09_30_preview ``` +### Tag: package-2017-07-only-extended and python + +These settings apply only when `--tag=package-2017-07-only-extended --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +This is a special tag used only by python sdk generation. To avoid introducing breaking changes in compatibility to the +v2017_07_01 namespace of python SDK, DO NOT MODIFY THIS TAG. + +``` yaml $(tag) == 'package-2017-07-only-extended' && $(python) +namespace: azure.mgmt.containerservice.v2017_07_01 +output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2017_07_01 +``` + ``` yaml $(track2) directive: - from: swagger-document where: $.definitions.ManagedClusterLoadBalancerProfile.properties.managedOutboundIPs.properties["countIPv6"] transform: $["x-ms-client-name"] = "count_ipv6" -``` \ No newline at end of file +``` diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/cosmos-db.json new file mode 100644 index 000000000000..2e559f0e2b07 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/cosmos-db.json @@ -0,0 +1,10045 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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" + }, + "CosmosDBRestoreDatabaseAccountCreateUpdate.json": { + "$ref": "./examples/CosmosDBRestoreDatabaseAccountCreateUpdate.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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/sourceRegionParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/targetRegionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "#/parameters/partitionKeyRangeIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseRidParameter" + }, + { + "$ref": "#/parameters/collectionRidParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/graphs": { + "get": { + "operationId": "GraphResources_ListGraphs", + "x-ms-examples": { + "CosmosDBSqlDatabaseList": { + "$ref": "./examples/CosmosDBGraphResourceList.json" + } + }, + "description": "Lists the graphs under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph resource properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourcesListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}": { + "get": { + "operationId": "GraphResources_GetGraph", + "x-ms-examples": { + "CosmosDBSqlDatabaseGet": { + "$ref": "./examples/CosmosDBGraphResourceGet.json" + } + }, + "description": "Gets the Graph resource under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Graph resource property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "put": { + "operationId": "GraphResources_CreateUpdateGraph", + "x-ms-examples": { + "CosmosDBGraphCreateUpdate": { + "$ref": "./examples/CosmosDBGraphResourceCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Graph.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateGraphParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GraphResourceCreateUpdateParameters" + }, + "description": "The parameters to provide for the current graph." + } + ], + "responses": { + "202": { + "description": "The graph create or update operation will complete asynchronously." + }, + "200": { + "description": "The Graph create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/GraphResourceGetResults" + } + } + } + }, + "delete": { + "operationId": "GraphResources_DeleteGraphResource", + "x-ms-examples": { + "CosmosDBSqlDatabaseDelete": { + "$ref": "./examples/CosmosDBGraphResourceDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Graph Resource.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/graphResourceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The graph delete operation was completed successfully." + }, + "202": { + "description": "The graph delete operation will complete asynchronously." + }, + "204": { + "description": "The graph delete operation was completed successfully." + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL database migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys": { + "get": { + "operationId": "SqlResources_ListClientEncryptionKeys", + "x-ms-examples": { + "CosmosDBClientEncryptionKeysList": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeysList.json" + } + }, + "description": "Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKeys were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeysListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}": { + "get": { + "operationId": "SqlResources_GetClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyGet": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyGet.json" + } + }, + "description": "Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ClientEncryptionKey was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateClientEncryptionKey", + "x-ms-examples": { + "CosmosDBClientEncryptionKeyCreateUpdate": { + "$ref": "./examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json" + } + }, + "description": "Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the Azure Powershell (instead of directly).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/clientEncryptionKeyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateClientEncryptionKeyParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateParameters" + }, + "description": "The parameters to provide for the client encryption key." + } + ], + "responses": { + "202": { + "description": "The client encryption key create or update operation will complete asynchronously." + }, + "200": { + "description": "The client encryption key create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToAutoscale", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToAutoscale": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "SqlResources_MigrateSqlContainerToManualThroughput", + "x-ms-examples": { + "CosmosDBSqlContainerMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBSqlContainerMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB SQL container from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The SQL container migrate operation will complete asynchronously." + }, + "200": { + "description": "The SQL container migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The SQL stored procedure properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/SqlStoredProcedureListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/storedProcedureNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/userDefinedFunctionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/containerNameParameter" + }, + { + "$ref": "#/parameters/triggerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB database migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToAutoscale": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput", + "x-ms-examples": { + "CosmosDBMongoDBCollectionMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB MongoDB collection from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The MongoDB collection migrate operation will complete asynchronously." + }, + "200": { + "description": "The MongoDB collection migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "TableResources_MigrateTableToAutoscale", + "x-ms-examples": { + "CosmosDBTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "TableResources_MigrateTableToManualThroughput", + "x-ms-examples": { + "CosmosDBTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraKeyspaceToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraKeyspaceMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra Keyspace from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra Keyspace migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra Keyspace migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables/{tableName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraTableToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraTableMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraTableMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra table from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra table migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra table migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinDatabaseToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinDatabaseMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin database from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin database migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin database migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToAutoscale", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToAutoscale": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "GremlinResources_MigrateGremlinGraphToManualThroughput", + "x-ms-examples": { + "CosmosDBGremlinGraphMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBGremlinGraphMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Gremlin graph from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/databaseNameParameter" + }, + { + "$ref": "#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Gremlin graph migrate operation will complete asynchronously." + }, + "200": { + "description": "The Gremlin graph migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": { + "get": { + "operationId": "Locations_List", + "x-ms-examples": { + "CosmosDBLocationList": { + "$ref": "./examples/CosmosDBLocationList.json" + } + }, + "description": "List Cosmos DB locations and their properties", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/LocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}": { + "get": { + "operationId": "Locations_Get", + "x-ms-examples": { + "CosmosDBLocationGet": { + "$ref": "./examples/CosmosDBLocationGet.json" + } + }, + "description": "Get the properties of an existing Cosmos DB location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The Cosmos DB location properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/LocationGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views": { + "get": { + "operationId": "CassandraResources_ListCassandraViews", + "x-ms-examples": { + "CosmosDBCassandraViewList": { + "$ref": "./examples/CosmosDBCassandraViewList.json" + } + }, + "description": "Lists the Cassandra materialized views under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}": { + "get": { + "operationId": "CassandraResources_GetCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewGet": { + "$ref": "./examples/CosmosDBCassandraViewGet.json" + } + }, + "description": "Gets the Cassandra view under an existing Azure Cosmos DB database account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view property was retrieved successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_CreateUpdateCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewCreateUpdate": { + "$ref": "./examples/CosmosDBCassandraViewCreateUpdate.json" + } + }, + "description": "Create or update an Azure Cosmos DB Cassandra View", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateCassandraViewParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CassandraViewCreateUpdateParameters" + }, + "description": "The parameters to provide for the current Cassandra View." + } + ], + "responses": { + "202": { + "description": "The Cassandra View create or update operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra View create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/CassandraViewGetResults" + } + } + } + }, + "delete": { + "operationId": "CassandraResources_DeleteCassandraView", + "x-ms-examples": { + "CosmosDBCassandraViewDelete": { + "$ref": "./examples/CosmosDBCassandraViewDelete.json" + } + }, + "description": "Deletes an existing Azure Cosmos DB Cassandra view.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Cassandra view delete operation completed successfully." + }, + "202": { + "description": "The Cassandra view delete operation will complete asynchronously." + }, + "204": { + "description": "The Cassandra view delete operation was completed successfully." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default": { + "get": { + "operationId": "CassandraResources_GetCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputGet": { + "$ref": "./examples/CosmosDBCassandraViewThroughputGet.json" + } + }, + "description": "Gets the RUs per second of the Cassandra view under an existing Azure Cosmos DB database account with the provided name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The RUs per second of the Cassandra view was retrieved successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + }, + "put": { + "operationId": "CassandraResources_UpdateCassandraViewThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewThroughputUpdate": { + "$ref": "./examples/CosmosDBCassandraViewThroughputUpdate.json" + } + }, + "description": "Update RUs per second of an Azure Cosmos DB Cassandra view", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/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 view." + } + ], + "responses": { + "202": { + "description": "The RUs per second of the Cassandra view update operation will complete asynchronously." + }, + "200": { + "description": "The RUs per second of the Cassandra view update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToAutoscale", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToAutoscale": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToAutoscale.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from manual throughput to autoscale", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToManualThroughput": { + "post": { + "operationId": "CassandraResources_MigrateCassandraViewToManualThroughput", + "x-ms-examples": { + "CosmosDBCassandraViewMigrateToManualThroughput": { + "$ref": "./examples/CosmosDBCassandraViewMigrateToManualThroughput.json" + } + }, + "description": "Migrate an Azure Cosmos DB Cassandra view from autoscale to manual throughput", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/keyspaceNameParameter" + }, + { + "$ref": "#/parameters/viewNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The Cassandra view migrate operation will complete asynchronously." + }, + "200": { + "description": "The Cassandra view migrate operation was completed successfully.", + "schema": { + "$ref": "#/definitions/ThroughputSettingsGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ClientEncryptionKeysListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ClientEncryptionKeyGetResults" + }, + "description": "List of client encryption keys and their properties." + } + }, + "description": "The List operation response, that contains the client encryption keys and their properties." + }, + "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." + }, + "GraphResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/GraphResourceGetResults" + }, + "description": "List of Graph resource and their properties." + } + }, + "description": "The List operation response, that contains the Graph resource 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." + }, + "CassandraViewListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CassandraViewGetResults" + }, + "description": "List of Cassandra views and their properties." + } + }, + "description": "The List operation response, that contains the Cassandra views 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." + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response from the service.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "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" + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "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 + }, + "ClientEncryptionKeyCreateUpdateParameters": { + "description": "Parameters to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update ClientEncryptionKey.", + "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties" + } + }, + "required": [ + "properties" + ] + }, + "ClientEncryptionKeyCreateUpdateProperties": { + "description": "Properties to create and update ClientEncryptionKey.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyResource" + } + }, + "required": [ + "resource" + ] + }, + "ClientEncryptionKeyGetResults": { + "description": "Client Encryption Key.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of a ClientEncryptionKey", + "$ref": "#/definitions/ClientEncryptionKeyGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "ClientEncryptionKeyGetProperties": { + "description": "The properties of a ClientEncryptionKey resource", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/ClientEncryptionKeyResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + } + } + }, + "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 + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabaseAccountGetProperties" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "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": { + "type": "number", + "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" + } + ] + }, + "GraphResourceGetProperties": { + "description": "The properties of an Azure Cosmos DB SQL database", + "type": "object", + "properties": { + "resource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GraphResource" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "GraphResourceGetResults": { + "description": "An Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceGetProperties" + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "CassandraViewGetResults": { + "description": "An Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of an Azure Cosmos DB Cassandra view", + "$ref": "#/definitions/CassandraViewGetProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ] + }, + "CassandraViewGetProperties": { + "description": "The properties of an Azure Cosmos DB Cassandra view", + "type": "object", + "properties": { + "resource": { + "allOf": [ + { + "$ref": "#/definitions/CassandraViewResource" + }, + { + "$ref": "#/definitions/ExtendedResourceProperties" + } + ] + }, + "options": { + "allOf": [ + { + "$ref": "#/definitions/OptionsResource" + } + ] + } + } + }, + "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" + ] + }, + "CorsPolicy": { + "type": "object", + "description": "The CORS policy for the Cosmos DB database account.", + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "string" + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "string" + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "exposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "maxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 1, + "maximum": 2147483647, + "format": "int64" + } + }, + "required": [ + "allowedOrigins" + ] + }, + "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" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "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" + } + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "description": "List of Private Endpoint Connections configured for the Cosmos DB account.", + "items": { + "$ref": "./privateEndpointConnection.json#/definitions/PrivateEndpointConnection" + } + }, + "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" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "instanceId": { + "description": "A unique identifier assigned to the database account", + "type": "string", + "readOnly": true + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "type": "boolean" + } + } + }, + "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" + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "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" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "createMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "$ref": "#/definitions/CreateMode" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "restoreParameters": { + "description": "Parameters to indicate the information about the restore.", + "type": "object", + "$ref": "#/definitions/RestoreParameters" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "type": "boolean" + } + }, + "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 + } + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "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" + } + }, + "ipRules": { + "description": "List of IpRules.", + "$ref": "#/definitions/IPRules" + }, + "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" + }, + "defaultIdentity": { + "description": "The default identity for accessing key vault used in features like customer managed keys. The default identity needs to be explicitly set by the users. It can be \"FirstPartyIdentity\", \"SystemAssignedIdentity\" and more.", + "type": "string" + }, + "publicNetworkAccess": { + "description": "Whether requests from Public Network are allowed", + "$ref": "#/definitions/PublicNetworkAccess" + }, + "enableFreeTier": { + "description": "Flag to indicate whether Free Tier is enabled.", + "type": "boolean" + }, + "apiProperties": { + "description": "API specific properties. Currently, supported only for MongoDB API.", + "type": "object", + "$ref": "#/definitions/ApiProperties" + }, + "enableAnalyticalStorage": { + "description": "Flag to indicate whether to enable storage analytics.", + "type": "boolean" + }, + "analyticalStorageConfiguration": { + "description": "Analytical storage specific properties.", + "type": "object", + "$ref": "#/definitions/AnalyticalStorageConfiguration" + }, + "backupPolicy": { + "description": "The object representing the policy for taking backups on an account.", + "type": "object", + "$ref": "#/definitions/BackupPolicy" + }, + "cors": { + "type": "array", + "description": "The CORS policy for the Cosmos DB database account.", + "items": { + "$ref": "#/definitions/CorsPolicy" + } + }, + "networkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "$ref": "#/definitions/NetworkAclBypass" + }, + "networkAclBypassResourceIds": { + "type": "array", + "description": "An array that contains the Resource Ids for Network Acl Bypass for the Cosmos DB account.", + "items": { + "type": "string" + } + }, + "diagnosticLogSettings": { + "type": "object", + "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.", + "$ref": "#/definitions/DiagnosticLogSettings" + }, + "disableLocalAuth": { + "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.", + "type": "boolean" + }, + "capacity": { + "description": "The object that represents all properties related to capacity enforcement on an account.", + "type": "object", + "$ref": "#/definitions/Capacity" + }, + "enableMaterializedViews": { + "description": "Flag to indicate whether to enable MaterializedViews on the Cosmos DB account", + "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." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + }, + "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" + ] + }, + "GraphResourceCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Graph resource.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "$ref": "#/definitions/GraphResourceCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "GraphResourceCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Graph resource.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Graph resource", + "$ref": "#/definitions/GraphResource" + }, + "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" + ] + }, + "GraphResource": { + "type": "object", + "description": "Cosmos DB Graph resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Graph" + } + }, + "required": [ + "id" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + "CassandraViewCreateUpdateParameters": { + "description": "Parameters to create and update Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "$ref": "#/definitions/CassandraViewCreateUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMResourceProperties" + } + ], + "required": [ + "properties" + ] + }, + "CassandraViewCreateUpdateProperties": { + "description": "Properties to create and update Azure Cosmos DB Cassandra view.", + "type": "object", + "properties": { + "resource": { + "description": "The standard JSON format of a Cassandra view", + "$ref": "#/definitions/CassandraViewResource" + }, + "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" + ] + }, + "ThroughputSettingsResource": { + "type": "object", + "description": "Cosmos DB resource throughput object. Either throughput is required or autoscaleSettings is required, but not both.", + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput. Either throughput is required or autoscaleSettings is required, but not both." + }, + "autoscaleSettings": { + "description": "Cosmos DB resource for autoscale settings. Either throughput is required or autoscaleSettings is required, but not both.", + "$ref": "#/definitions/AutoscaleSettingsResource" + }, + "minimumThroughput": { + "type": "string", + "description": "The minimum throughput of the resource", + "readOnly": true + }, + "offerReplacePending": { + "type": "string", + "description": "The throughput replace is pending", + "readOnly": true + } + } + }, + "AutoscaleSettingsResource": { + "type": "object", + "description": "Cosmos DB provisioned throughput settings object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput container can scale up to." + }, + "autoUpgradePolicy": { + "description": "Cosmos DB resource auto-upgrade policy", + "$ref": "#/definitions/AutoUpgradePolicyResource" + }, + "targetMaxThroughput": { + "type": "integer", + "description": "Represents target maximum throughput container can scale up to once offer is no longer in pending state.", + "readOnly": true + } + }, + "required": [ + "maxThroughput" + ] + }, + "AutoUpgradePolicyResource": { + "type": "object", + "description": "Cosmos DB resource auto-upgrade policy", + "properties": { + "throughputPolicy": { + "description": "Represents throughput policy which service must adhere to for auto-upgrade", + "$ref": "#/definitions/ThroughputPolicyResource" + } + } + }, + "ThroughputPolicyResource": { + "type": "object", + "description": "Cosmos DB resource throughput policy", + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Determines whether the ThroughputPolicy is active or not" + }, + "incrementPercent": { + "type": "integer", + "description": "Represents the percentage by which throughput can increase every time throughput policy kicks in." + } + } + }, + "OptionsResource": { + "type": "object", + "description": "Cosmos DB options resource object", + "readOnly": true, + "properties": { + "throughput": { + "type": "integer", + "description": "Value of the Cosmos DB resource throughput or autoscaleSettings. Use the ThroughputSetting resource when retrieving offer details." + }, + "autoscaleSettings": { + "type": "object", + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + } + }, + "ClientEncryptionKeyResource": { + "type": "object", + "description": "Cosmos DB client encryption key resource object.", + "properties": { + "id": { + "type": "string", + "description": "Name of the ClientEncryptionKey" + }, + "encryptionAlgorithm": { + "type": "string", + "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data." + }, + "wrappedDataEncryptionKey": { + "type": "string", + "format": "byte", + "description": "Wrapped (encrypted) form of the key represented as a byte array." + }, + "keyWrapMetadata": { + "description": "Metadata for the wrapping provider that can be used to unwrap the wrapped client encryption key.", + "$ref": "#/definitions/KeyWrapMetadata" + } + } + }, + "KeyWrapMetadata": { + "type": "object", + "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key.", + "properties": { + "name": { + "type": "string", + "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)." + }, + "type": { + "type": "string", + "description": "ProviderName of KeyStoreProvider." + }, + "value": { + "type": "string", + "description": "Reference / link to the KeyEncryptionKey." + }, + "algorithm": { + "type": "string", + "description": "Algorithm used in wrapping and unwrapping of the data encryption key." + } + } + }, + "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." + }, + "analyticalStorageTtl": { + "type": "integer", + "format": "int64", + "description": "Analytical TTL." + } + }, + "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. For MultiHash, multiple partition keys (upto three maximum) are supported for container create", + "type": "string", + "default": "Hash", + "enum": [ + "Hash", + "Range", + "MultiHash" + ], + "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" + }, + "systemKey": { + "description": "Indicates if the container is using a system generated partition key", + "type": "boolean", + "readOnly": true + } + } + }, + "Path": { + "type": "string", + "description": "A path. These typically start with root (/path)" + }, + "UniqueKeyPolicy": { + "type": "object", + "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "uniqueKeys": { + "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "type": "array", + "items": { + "$ref": "#/definitions/UniqueKey" + } + } + } + }, + "UniqueKey": { + "type": "object", + "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.", + "properties": { + "paths": { + "description": "List of paths must be unique for each document in the Azure Cosmos DB service", + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "ConflictResolutionPolicy": { + "type": "object", + "description": "The conflict resolution policy for the container.", + "properties": { + "mode": { + "description": "Indicates the conflict resolution mode.", + "type": "string", + "default": "LastWriterWins", + "enum": [ + "LastWriterWins", + "Custom" + ], + "x-ms-enum": { + "name": "ConflictResolutionMode", + "modelAsString": true + } + }, + "conflictResolutionPath": { + "type": "string", + "description": "The conflict resolution path in the case of LastWriterWins mode." + }, + "conflictResolutionProcedure": { + "type": "string", + "description": "The procedure to resolve conflicts in the case of custom mode." + } + } + }, + "SqlStoredProcedureResource": { + "type": "object", + "description": "Cosmos DB SQL storedProcedure resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL storedProcedure" + }, + "body": { + "type": "string", + "description": "Body of the Stored Procedure" + } + }, + "required": [ + "id" + ] + }, + "SqlUserDefinedFunctionResource": { + "type": "object", + "description": "Cosmos DB SQL userDefinedFunction resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL userDefinedFunction" + }, + "body": { + "type": "string", + "description": "Body of the User Defined Function" + } + }, + "required": [ + "id" + ] + }, + "SqlTriggerResource": { + "type": "object", + "description": "Cosmos DB SQL trigger resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB SQL trigger" + }, + "body": { + "type": "string", + "description": "Body of the Trigger" + }, + "triggerType": { + "type": "string", + "enum": [ + "Pre", + "Post" + ], + "description": "Type of the Trigger", + "x-ms-enum": { + "name": "triggerType", + "modelAsString": true + } + }, + "triggerOperation": { + "type": "string", + "enum": [ + "All", + "Create", + "Update", + "Delete", + "Replace" + ], + "description": "The operation the trigger is associated with", + "x-ms-enum": { + "name": "triggerOperation", + "modelAsString": true + } + } + }, + "required": [ + "id" + ] + }, + "MongoDBDatabaseResource": { + "type": "object", + "description": "Cosmos DB MongoDB database resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB database" + } + }, + "required": [ + "id" + ] + }, + "MongoDBCollectionResource": { + "type": "object", + "description": "Cosmos DB MongoDB collection resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB MongoDB collection" + }, + "shardKey": { + "description": "A key-value pair of shard keys to be applied for the request.", + "$ref": "#/definitions/ShardKeys" + }, + "indexes": { + "description": "List of index keys", + "type": "array", + "items": { + "$ref": "#/definitions/MongoIndex" + } + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "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" + }, + "analyticalStorageTtl": { + "type": "integer", + "description": "Analytical TTL." + } + }, + "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" + ] + }, + "CassandraViewResource": { + "type": "object", + "description": "Cosmos DB Cassandra view resource object", + "properties": { + "id": { + "type": "string", + "description": "Name of the Cosmos DB Cassandra view" + }, + "viewDefinition": { + "type": "string", + "description": "View Definition of the Cosmos DB Cassandra view" + } + }, + "required": [ + "id", + "viewDefinition" + ] + }, + "CreateUpdateOptions": { + "type": "object", + "properties": { + "throughput": { + "type": "integer", + "description": "Request Units per second. For example, \"throughput\": 10000." + }, + "autoscaleSettings": { + "$ref": "#/definitions/AutoscaleSettings", + "description": "Specifies the Autoscale settings." + } + }, + "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\"" + }, + "AutoscaleSettings": { + "type": "object", + "properties": { + "maxThroughput": { + "type": "integer", + "description": "Represents maximum throughput, the resource can scale up to." + } + } + }, + "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\"." + } + } + }, + "Capacity": { + "type": "object", + "description": "The object that represents all properties related to capacity enforcement on an account.", + "properties": { + "totalThroughputLimit": { + "type": "integer", + "minimum": -1, + "format": "int32", + "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput." + } + } + }, + "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\"." + }, + "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 service.", + "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 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. 'DeletionFailed' – the Cosmos DB account deletion failed." + }, + "IPRules": { + "type": "array", + "description": "Array of IpAddressOrRange objects.", + "items": { + "$ref": "#/definitions/IpAddressOrRange" + } + }, + "IpAddressOrRange": { + "type": "object", + "description": "IpAddressOrRange object", + "properties": { + "ipAddressOrRange": { + "type": "string", + "description": "A single IPv4 address or a single IPv4 address range in CIDR format. Provided IPs must be well-formatted and cannot be contained in one of the following ranges: 10.0.0.0/8, 100.64.0.0/10, 172.16.0.0/12, 192.168.0.0/16, since these are not enforceable by the IP address filter. Example of valid inputs: “23.40.210.245” or “23.40.210.0/8”." + } + } + }, + "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." + } + } + }, + "NetworkAclBypass": { + "description": "Indicates what services are allowed to bypass firewall checks.", + "type": "string", + "enum": [ + "None", + "AzureServices" + ], + "x-ms-enum": { + "name": "NetworkAclBypass", + "modelAsString": false + } + }, + "DiagnosticLogSettings": { + "type": "object", + "description": "Indicates what diagnostic log settings are to be enabled.", + "properties": { + "enableFullTextQuery": { + "description": "Describe the level of detail with which queries are to be logged.", + "type": "string", + "enum": [ + "None", + "True", + "False" + ], + "x-ms-enum": { + "name": "EnableFullTextQuery", + "modelAsString": false + } + } + } + }, + "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 + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ApiProperties": { + "type": "object", + "properties": { + "serverVersion": { + "type": "string", + "enum": [ + "3.2", + "3.6", + "4.0" + ], + "description": "Describes the ServerVersion of an a MongoDB account.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServerVersion" + } + } + } + }, + "AnalyticalStorageConfiguration": { + "type": "object", + "description": "Analytical storage specific properties.", + "properties": { + "schemaType": { + "type": "string", + "$ref": "#/definitions/AnalyticalStorageSchemaType" + } + } + }, + "AnalyticalStorageSchemaType": { + "type": "string", + "description": "Describes the types of schema for analytical storage.", + "enum": [ + "WellDefined", + "FullFidelity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AnalyticalStorageSchemaType" + } + }, + "CreateMode": { + "description": "Enum to indicate the mode of account creation.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "Restore" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + } + }, + "RestoreParameters": { + "type": "object", + "description": "Parameters to indicate the information about the restore.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "restoreMode": { + "type": "string", + "enum": [ + "PointInTime" + ], + "description": "Describes the mode of the restore.", + "x-ms-enum": { + "modelAsString": true, + "name": "RestoreMode" + } + }, + "restoreSource": { + "type": "string", + "description": "The id of the restorable database account from which the restore has to be initiated. For example: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName}" + }, + "restoreTimestampInUtc": { + "type": "string", + "format": "date-time", + "description": "Time to which the account has to be restored (ISO-8601 format)." + }, + "databasesToRestore": { + "type": "array", + "description": "List of specific databases available for restore.", + "items": { + "$ref": "#/definitions/DatabaseRestoreResource" + } + }, + "gremlinDatabasesToRestore": { + "type": "array", + "description": "List of specific gremlin databases available for restore.", + "items": { + "$ref": "#/definitions/GremlinDatabaseRestoreResource" + } + }, + "tablesToRestore": { + "type": "array", + "description": "List of specific tables available for restore.", + "items": { + "$ref": "#/definitions/TableName" + } + } + } + }, + "DatabaseRestoreResource": { + "type": "object", + "description": "Specific Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database available for restore." + }, + "collectionNames": { + "type": "array", + "description": "The names of the collections available for restore.", + "items": { + "$ref": "#/definitions/CollectionName" + } + } + } + }, + "GremlinDatabaseRestoreResource": { + "type": "object", + "description": "Specific Gremlin Databases to restore.", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the gremlin database available for restore." + }, + "graphNames": { + "type": "array", + "description": "The names of the graphs available for restore.", + "items": { + "$ref": "#/definitions/GraphName" + } + } + } + }, + "CollectionName": { + "type": "string", + "description": "The name of the collection." + }, + "GraphName": { + "type": "string", + "description": "The name of the graph." + }, + "TableName": { + "type": "string", + "description": "The name of the table." + }, + "BackupPolicy": { + "type": "object", + "description": "The object representing the policy for taking backups on an account.", + "discriminator": "type", + "properties": { + "type": { + "description": "Describes the mode of backups.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "migrationState": { + "description": "The object representing the state of the migration between the backup policies.", + "type": "object", + "$ref": "#/definitions/BackupPolicyMigrationState" + } + }, + "required": [ + "type" + ] + }, + "BackupPolicyType": { + "description": "Describes the mode of backups.", + "type": "string", + "enum": [ + "Periodic", + "Continuous" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyType" + } + }, + "BackupPolicyMigrationState": { + "type": "object", + "description": "The object representing the state of the migration between the backup policies.", + "properties": { + "status": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "$ref": "#/definitions/BackupPolicyMigrationStatus" + }, + "targetType": { + "description": "Describes the target backup policy type of the backup policy migration.", + "type": "string", + "$ref": "#/definitions/BackupPolicyType" + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Time at which the backup policy migration started (ISO-8601 format)." + } + } + }, + "BackupPolicyMigrationStatus": { + "description": "Describes the status of migration between backup policy types.", + "type": "string", + "enum": [ + "Invalid", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "BackupPolicyMigrationStatus" + } + }, + "PeriodicModeBackupPolicy": { + "description": "The object representing periodic mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "properties": { + "periodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "$ref": "#/definitions/PeriodicModeProperties" + } + }, + "x-ms-discriminator-value": "Periodic" + }, + "ContinuousModeBackupPolicy": { + "description": "The object representing continuous mode backup policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupPolicy" + } + ], + "x-ms-discriminator-value": "Continuous" + }, + "PeriodicModeProperties": { + "type": "object", + "description": "Configuration values for periodic mode backup", + "properties": { + "backupIntervalInMinutes": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the interval in minutes between two backups" + }, + "backupRetentionIntervalInHours": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "An integer representing the time (in hours) that each backup is retained" + }, + "backupStorageRedundancy": { + "description": "Enum to indicate type of backup residency", + "type": "string", + "$ref": "#/definitions/BackupStorageRedundancy" + } + } + }, + "LocationListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/LocationGetResult" + }, + "description": "List of Cosmos DB locations and their properties." + } + }, + "description": "The List operation response, that contains Cosmos DB locations and their properties." + }, + "LocationGetResult": { + "description": "Cosmos DB location get result", + "type": "object", + "properties": { + "properties": { + "type": "object", + "description": "Cosmos DB location metadata", + "$ref": "#/definitions/LocationProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ARMProxyResource" + } + ] + }, + "LocationProperties": { + "description": "Cosmos DB location metadata", + "type": "object", + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The current status of location in Azure." + }, + "supportsAvailabilityZone": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location supports availability zones or not." + }, + "isResidencyRestricted": { + "type": "boolean", + "readOnly": true, + "description": "Flag indicating whether the location is residency sensitive." + }, + "backupStorageRedundancies": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/BackupStorageRedundancy" + }, + "description": "The properties of available backup storage redundancies." + } + } + }, + "BackupStorageRedundancy": { + "description": "Enum to indicate type of backup storage redundancy.", + "type": "string", + "enum": [ + "Geo", + "Local", + "Zone" + ], + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + } + }, + "parameters": { + "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." + }, + "graphResourceNameParameter": { + "name": "graphName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB graph resource name." + }, + "databaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB database name." + }, + "clientEncryptionKeyNameParameter": { + "name": "clientEncryptionKeyName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB ClientEncryptionKey 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." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "viewNameParameter": { + "name": "viewName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB view name." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/dataTransferService.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/dataTransferService.json new file mode 100644 index 000000000000..f0ed3be2b82c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/dataTransferService.json @@ -0,0 +1,373 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Data Transfer Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}": { + "put": { + "operationId": "DataTransferJobs_Create", + "description": "Creates a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobCreate": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobCreate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + }, + { + "name": "jobCreateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateJobRequest" + } + } + ], + "responses": { + "201": { + "description": "Successful CreateJob response", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "DataTransferJobs_Get", + "description": "Get a Data Transfer Job.", + "x-ms-examples": { + "CosmosDBDataTransferJobGet": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/JobNameParameter" + } + ], + "responses": { + "200": { + "description": "The Data Transfer Job Properties retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs": { + "get": { + "operationId": "DataTransferJobs_ListByDatabaseAccount", + "description": "Get a list of Data Transfer jobs.", + "x-ms-examples": { + "CosmosDBDataTransferJobFeed": { + "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobFeed.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "All Data Transfer Jobs retrieved successfully", + "schema": { + "$ref": "#/definitions/DataTransferJobFeedResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "DataTransferDataSourceSink": { + "type": "object", + "description": "Base class for all DataTransfer source/sink", + "properties": { + "component": { + "type": "string", + "enum": [ + "CosmosDBCassandra", + "CosmosDBSql", + "AzureBlobStorage" + ], + "x-ms-enum": { + "name": "DataTransferComponent", + "modelAsString": true + }, + "default": "CosmosDBCassandra" + } + }, + "discriminator": "component", + "required": [ + "component" + ] + }, + "CosmosCassandraDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB Cassandra API data source/sink", + "properties": { + "keyspaceName": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "required": [ + "keyspaceName", + "tableName" + ], + "x-ms-discriminator-value": "CosmosDBCassandra" + }, + "CosmosSqlDataTransferDataSourceSink": { + "type": "object", + "description": "A CosmosDB Cassandra API data source/sink", + "properties": { + "databaseName": { + "type": "string" + }, + "containerName": { + "type": "string" + } + }, + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "required": [ + "databaseName", + "containerName" + ], + "x-ms-discriminator-value": "CosmosDBSql" + }, + "AzureBlobDataTransferDataSourceSink": { + "type": "object", + "description": "An Azure Blob Storage data source/sink", + "allOf": [ + { + "$ref": "#/definitions/DataTransferDataSourceSink" + } + ], + "properties": { + "containerName": { + "type": "string" + }, + "endpointUrl": { + "type": "string" + } + }, + "required": [ + "containerName" + ], + "x-ms-discriminator-value": "AzureBlobStorage" + }, + "DataTransferJobProperties": { + "description": "The properties of a DataTransfer Job", + "type": "object", + "properties": { + "jobName": { + "readOnly": true, + "type": "string", + "description": "Job Name" + }, + "source": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Source DataStore details" + }, + "destination": { + "$ref": "#/definitions/DataTransferDataSourceSink", + "description": "Destination DataStore details" + }, + "status": { + "readOnly": true, + "type": "string", + "description": "Job Status" + }, + "percentageComplete": { + "readOnly": true, + "type": "number", + "description": "Percentage of completion." + }, + "lastUpdatedUtcTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Last Updated Time (ISO-8601 format)." + }, + "workerCount": { + "description": "Worker count", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "error": { + "readOnly": true, + "$ref": "./cosmos-db.json#/definitions/ErrorResponse", + "description": "Error response for Faulted job" + } + }, + "required": [ + "source", + "destination" + ] + }, + "CreateJobRequest": { + "description": "Parameters to create Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DataTransferJobProperties", + "description": "Data Transfer Create Job Properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobGetResults": { + "description": "A Cosmos DB Data Transfer Job", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "$ref": "#/definitions/DataTransferJobProperties" + } + }, + "allOf": [ + { + "$ref": "./cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "DataTransferJobFeedResults": { + "description": "The List operation response, that contains the Data Transfer jobs and their properties.", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DataTransferJobGetResults" + }, + "description": "List of Data Transfer jobs and their properties." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of Data Transfer job list results if there are any." + } + } + } + }, + "parameters": { + "JobNameParameter": { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Name of the Data Transfer Job" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json new file mode 100644 index 000000000000..c2104a79cae0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json new file mode 100644 index 000000000000..fcd416754613 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json new file mode 100644 index 000000000000..8b60853f36bf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json new file mode 100644 index 000000000000..a7a0e8705d61 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json new file mode 100644 index 000000000000..efaccdabfaad --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json new file mode 100644 index 000000000000..cd103ae2f87a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json new file mode 100644 index 000000000000..5d5eeeb148b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json new file mode 100644 index 000000000000..ac3cb67cf663 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json new file mode 100644 index 000000000000..05a696662b31 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName", + "createUpdateCassandraTableParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "tableName", + "defaultTtl": 100, + "analyticalStorageTtl": 500, + "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, + "analyticalStorageTtl": 500, + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableDelete.json new file mode 100644 index 000000000000..a7d5b5595654 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableGet.json new file mode 100644 index 000000000000..e2ededa917f0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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, + "analyticalStorageTtl": 500, + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableList.json new file mode 100644 index 000000000000..1b161d8dea85 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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, + "analyticalStorageTtl": 500, + "schema": { + "columns": [ + { + "name": "columnA", + "type": "Ascii" + } + ], + "partitionKeys": [ + { + "name": "columnA" + } + ], + "clusterKeys": [ + { + "name": "columnA", + "orderBy": "Asc" + } + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json new file mode 100644 index 000000000000..d5393d8638b4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..f9ff33133570 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspaceName", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json new file mode 100644 index 000000000000..085eb4991fd1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json new file mode 100644 index 000000000000..992f1219357a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json new file mode 100644 index 000000000000..0d39f8ec4823 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "createUpdateCassandraViewParameters": { + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewDelete.json new file mode 100644 index 000000000000..11f248b0cdea --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewGet.json new file mode 100644 index 000000000000..45258c3be0e0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewList.json new file mode 100644 index 000000000000..39d436cd7357 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "keyspaceName": "keyspacename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname", + "name": "viewname", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views", + "tags": {}, + "properties": { + "resource": { + "id": "viewname", + "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY KEY (columnc, columna)" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json new file mode 100644 index 000000000000..616a7fd0a09a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json new file mode 100644 index 000000000000..885fd30566ec --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "false" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json new file mode 100644 index 000000000000..ad5e76e0a7a8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "tags": {}, + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json new file mode 100644 index 000000000000..02892007ed25 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyspaceName": "keyspacename", + "viewName": "viewname", + "updateThroughputParameters": { + "tags": {}, + "properties": { + "resource": { + "throughput": 400 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings", + "properties": { + "resource": { + "throughput": 400, + "minimumThroughput": "400", + "offerReplacePending": "true" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json new file mode 100644 index 000000000000..9b9937c3297c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetrics.json new file mode 100644 index 000000000000..14bc43365c4e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetMetrics.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetUsages.json new file mode 100644 index 000000000000..5d90e43b9067 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionGetUsages.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json new file mode 100644 index 000000000000..83dfd3608e19 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json new file mode 100644 index 000000000000..f90309aecbd3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json new file mode 100644 index 000000000000..166ebb5ecdee --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json new file mode 100644 index 000000000000..e077a5e154ed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json new file mode 100644 index 000000000000..9828da3bd5b9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceGet.json new file mode 100644 index 000000000000..3739e928f4f7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDataTransferServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "DataTransfer" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/DataTransfer", + "name": "DataTransfer", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "DataTransfer", + "locations": [ + { + "name": "DataTransfer-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json new file mode 100644 index 000000000000..5a068cecfe3f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "accountName": "ddb1", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json new file mode 100644 index 000000000000..fc9b15ff3eb0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "MongoDB", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "publicNetworkAccess": "Enabled", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + }, + { + "failoverPriority": 1, + "locationName": "eastus", + "isZoneRedundant": false + } + ], + "createMode": "Default", + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "enableMaterializedViews": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1", + "name": "ddb1", + "location": "West US", + "type": "Microsoft.DocumentDB/databaseAccounts", + "kind": "MongoDB", + "tags": {}, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Initializing", + "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" + } + ], + "publicNetworkAccess": "Enabled", + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "createMode": "Default", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + } + }, + "cors": [ + { + "allowedOrigins": "https://test" + } + ], + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "enableMaterializedViews": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json new file mode 100644 index 000000000000..3f9fe4ce1823 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Default" + } + } + }, + "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", + "ipRules": [], + "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 + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false, + "analyticalStorageConfiguration": null, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "enableMaterializedViews": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json new file mode 100644 index 000000000000..15bc636ac350 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json new file mode 100644 index 000000000000..d583b87e6c14 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "accountName": "ddb1-failover", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGet.json new file mode 100644 index 000000000000..c10965c0f797 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGet.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/", + "ipRules": [], + "isVirtualNetworkFilterEnabled": false, + "virtualNetworkRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "defaultIdentity": "FirstPartyIdentity", + "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 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 8, + "backupStorageRedundancy": "Geo" + }, + "migrationState": { + "status": "InProgress", + "targetType": "Continuous", + "startTime": "2021-06-09T21:07:16Z" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "diagnosticLogSettings": { + "enableFullTextQuery": "False" + }, + "enableMaterializedViews": false + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json new file mode 100644 index 000000000000..3bac983d071a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-11-15-preview" + }, + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json new file mode 100644 index 000000000000..7dfbca2cf9f1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json new file mode 100644 index 000000000000..10750dbd18cd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountList.json new file mode 100644 index 000000000000..6aef5dcf9dda --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountList.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/", + "ipRules": [], + "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 + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "cors": [], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [], + "enableMaterializedViews": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json new file mode 100644 index 000000000000..10394158b588 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/", + "ipRules": [], + "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 + } + ], + "cors": [], + "enableFreeTier": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "defaultIdentity": "FirstPartyIdentity", + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "None", + "networkAclBypassResourceIds": [] + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json new file mode 100644 index 000000000000..5a6979f92b52 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json new file mode 100644 index 000000000000..69e120f0174e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "mongo-ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json new file mode 100644 index 000000000000..b4534151f591 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListKeys.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryMasterKey": "primaryMasterKey", + "secondaryMasterKey": "secondaryMasterKey", + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json new file mode 100644 index 000000000000..c3e220edbb4d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primaryReadonlyMasterKey": "primaryReadonlyMasterKey", + "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json new file mode 100644 index 000000000000..a4d9daaae83c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOffline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json new file mode 100644 index 000000000000..60a310856b18 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "region": "North Europe", + "regionParameterForOnline": [ + { + "region": "North Europe" + } + ] + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json new file mode 100644 index 000000000000..e02fd99bcbed --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountPatch.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "updateParameters": { + "location": "westus", + "tags": { + "dept": "finance" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "isVirtualNetworkFilterEnabled": true, + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "enableAnalyticalStorage": true, + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + } + } + } + }, + "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" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "52f4fef3-3c3f-4ff3-b52e-b5c9eeb68656", + "tenantId": "33e01921-4d64-4f8c-a055-5bdaffd5e33d", + "userAssignedIdentities": { + "/subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "documentEndpoint": "https://ddb1.documents.azure.com:443/", + "databaseAccountOfferType": "Standard", + "ipRules": [ + { + "ipAddressOrRange": "23.43.230.120" + }, + { + "ipAddressOrRange": "110.12.240.0/12" + } + ], + "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 + } + ], + "cors": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "ignoreMissingVNetServiceEndpoint": false + } + ], + "privateEndpointConnections": [ + { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.DocumentDB/databaseAccounts/account1/privateEndpointConnections/pe1", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/privateEndpoints/pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "defaultIdentity": "FirstPartyIdentity", + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": true, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Default", + "analyticalStorageConfiguration": { + "schemaType": "WellDefined" + }, + "backupPolicy": { + "type": "Periodic", + "periodicModeProperties": { + "backupIntervalInMinutes": 240, + "backupRetentionIntervalInHours": 720, + "backupStorageRedundancy": "Geo" + } + }, + "networkAclBypass": "AzureServices", + "networkAclBypassResourceIds": [ + "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName" + ], + "capacity": { + "totalThroughputLimit": 2000 + }, + "diagnosticLogSettings": { + "enableFullTextQuery": "True" + }, + "enableMaterializedViews": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json new file mode 100644 index 000000000000..9245ccd8db89 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "keyToRegenerate": { + "keyKind": "primary" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json new file mode 100644 index 000000000000..b67ca768856b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json new file mode 100644 index 000000000000..1c8e6d4d4091 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "subscriptionId": "subid", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json new file mode 100644 index 000000000000..3823651759e4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetMetrics.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetUsages.json new file mode 100644 index 000000000000..d3e9e5279be8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBDatabaseGetUsages.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json new file mode 100644 index 000000000000..e6d6926c5343 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json new file mode 100644 index 000000000000..a06c89818e22 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json new file mode 100644 index 000000000000..80e3c0b0a30e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "GraphAPICompute" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute", + "name": "GraphAPICompute", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "GraphAPICompute", + "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/", + "locations": [ + { + "name": "GraphAPICompute-westus2", + "location": "West US 2", + "status": "Running", + "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json new file mode 100644 index 000000000000..31ecc47a4ccd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName", + "createUpdateGraphParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + }, + "options": {} + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceDelete.json new file mode 100644 index 000000000000..ca17e1019369 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceGet.json new file mode 100644 index 000000000000..a4cecba69d5d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceList.json new file mode 100644 index 000000000000..b8668d648155 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGraphResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName", + "name": "graphName", + "type": "Microsoft.DocumentDB/databaseAccounts/graphs", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "graphName" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json new file mode 100644 index 000000000000..4e0d55367b4f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json new file mode 100644 index 000000000000..77496d227530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json new file mode 100644 index 000000000000..01472467bc78 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseList.json new file mode 100644 index 000000000000..8b0a6e2d8e24 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..bfc859702f2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..7b2d6fe382ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json new file mode 100644 index 000000000000..21563d6f8032 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..747ed778ae15 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json new file mode 100644 index 000000000000..b92fb383610b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "graphName": "graphName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json new file mode 100644 index 000000000000..3e3670efea56 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphDelete.json new file mode 100644 index 000000000000..6b92066e7a0c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphGet.json new file mode 100644 index 000000000000..49a74daad7da --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphGet.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphList.json new file mode 100644 index 000000000000..22a4cf683f54 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphList.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json new file mode 100644 index 000000000000..31504489a9a3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json new file mode 100644 index 000000000000..aed619d4336b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "graphName": "graphName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json new file mode 100644 index 000000000000..7ad4f857ed72 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json new file mode 100644 index 000000000000..bf82fe9b9c06 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBLocationGet.json new file mode 100644 index 000000000000..2c363e27d2e5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBLocationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": true, + "isResidencyRestricted": true, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBLocationList.json new file mode 100644 index 000000000000..374dfeb7c0e9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBLocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus", + "type": "Microsoft.DocumentDB/locations", + "name": "westus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": false, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Local", + "Geo" + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/centralus", + "type": "Microsoft.DocumentDB/locations", + "name": "centralus", + "properties": { + "status": "ProductionSLA", + "supportsAvailabilityZone": true, + "isResidencyRestricted": false, + "backupStorageRedundancies": [ + "Zone", + "Geo" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackup.json new file mode 100644 index 000000000000..5875fa55bff4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackup.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "backupId": "1611250348" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348", + "name": "1611250348", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T17:32:28Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json new file mode 100644 index 000000000000..0ceb909f6e43 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraBackupsList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611250348", + "name": "1611250348", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T17:32:28Z" + } + }, + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/backups/1611214220", + "name": "1611214220", + "type": "Microsoft.DocumentDB/cassandraClusters/backups", + "properties": { + "timestamp": "2021-01-21T07:30:20Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json new file mode 100644 index 000000000000..28e8f0dffe47 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "location": "West US", + "tags": {}, + "properties": { + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "initialCassandraAdminPassword": "mypassword", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json new file mode 100644 index 000000000000..e6a7057edfce --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-10-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json new file mode 100644 index 000000000000..efa2d476ce29 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json new file mode 100644 index 000000000000..34f1134ebf3d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterGet.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json new file mode 100644 index 000000000000..daba11fde1c0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json new file mode 100644 index 000000000000..2e4e283a1144 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/cassandraClusters", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json new file mode 100644 index 000000000000..fbcf8103bd63 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "tags": { + "owner": "mike" + }, + "properties": { + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "hoursBetweenBackups": 12, + "authenticationMethod": "None" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-11-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": { + "owner": "mike" + }, + "properties": { + "provisioningState": "Updating", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod", + "name": "cassandra-prod", + "type": "Microsoft.DocumentDB/cassandraClusters", + "location": "West US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management", + "cassandraVersion": "3.11", + "hoursBetweenBackups": 24, + "authenticationMethod": "Cassandra", + "externalSeedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + } + ], + "clusterNameOverride": "ClusterNameIllegalForAzureResource", + "seedNodes": [ + { + "ipAddress": "10.52.221.2" + }, + { + "ipAddress": "10.52.221.3" + }, + { + "ipAddress": "10.52.221.4" + }, + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "clientCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "externalGossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ], + "gossipCertificates": [ + { + "pem": "-----BEGIN CERTIFICATE-----\n...Base64 encoded certificate...\n-----END CERTIFICATE-----" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json new file mode 100644 index 000000000000..d34cf75c6504 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraClusterStart.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationResults/1d4397b9-0453-43b6-bccd-d9cea304f297?api-version=2021-10-15" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraCommand.json new file mode 100644 index 000000000000..be974dc3b82a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraCommand.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "body": { + "command": "nodetool", + "arguments": { + "status": "" + }, + "host": "10.0.1.12" + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-11-15-preview" + }, + "body": { + "commandOutput": "Datacenter: datacenter1\n=======================\n" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json new file mode 100644 index 000000000000..068bd9f5b43e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Creating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json new file mode 100644 index 000000000000..06c426432af9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json new file mode 100644 index 000000000000..43adf5a88c12 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json new file mode 100644 index 000000000000..86dbbbd8b5dc --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ], + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json new file mode 100644 index 000000000000..0bde15a9581b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod", + "dataCenterName": "dc1", + "body": { + "properties": { + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/536e130b-d7d6-4ac7-98a5-de20d69588d2/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-11-15-preview" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Updating", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cassandra-prod-rg/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-prod/dataCenters/dc1", + "name": "dc1", + "type": "Microsoft.DocumentDB/cassandraClusters/dataCenters", + "properties": { + "provisioningState": "Succeeded", + "dataCenterLocation": "West US 2", + "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1", + "nodeCount": 9, + "base64EncodedCassandraYamlFragment": "Y29tcGFjdGlvbl90aHJvdWdocHV0X21iX3Blcl9zZWM6IDMyCmNvbXBhY3Rpb25fbGFyZ2VfcGFydGl0aW9uX3dhcm5pbmdfdGhyZXNob2xkX21iOiAxMDA=", + "seedNodes": [ + { + "ipAddress": "192.168.12.2" + }, + { + "ipAddress": "192.168.12.3" + }, + { + "ipAddress": "192.168.12.4" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraStatus.json new file mode 100644 index 000000000000..9b85384706ff --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBManagedCassandraStatus.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "cassandra-prod-rg", + "api-version": "2021-11-15-preview", + "clusterName": "cassandra-prod" + }, + "responses": { + "200": { + "body": { + "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092", + "reaperStatus": { + "healthy": true, + "repairRunIds": {}, + "repairSchedules": { + "00000000-0000-0001-0000-000000000000": "ACTIVE" + } + }, + "connectionErrors": [], + "dataCenters": [ + { + "name": "cassandra-westus2-vmss", + "seedNodes": [ + "10.0.8.10", + "10.0.8.11", + "10.0.8.12" + ], + "nodes": [ + { + "address": "10.0.8.10", + "state": "", + "status": "", + "load": "84.61 MiB", + "tokens": [ + "-7785254003841681178", + "-6756518164561476165", + "-4269720020504480060", + "-2697657908817852783", + "-2622387897201218249", + "-2177258200443022948", + "-129203941752875603", + "1738406920822650025", + "2598053056312400240", + "3227346424117996872", + "3644347038875498376", + "4823546474906050895", + "5293156680707616627", + "5485806686603256557", + "6250058817756969464", + "7991328665766267709" + ], + "size": 16, + "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51", + "rack": "rack1", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 749836, + "diskFreeKB": 1001260056, + "memoryUsedKB": 11061032, + "memoryBuffersAndCachedKB": 10817580, + "memoryFreeKB": 35731832, + "memoryTotalKB": 57610444, + "cpuUsage": 0.9 + }, + { + "address": "10.0.8.11", + "state": "", + "status": "", + "load": "59.67 MiB", + "tokens": [ + "-8726238055665903210", + "-6687985003871487470", + "-5269140854976433359", + "-3989177686905645288", + "-3957362495277148220", + "-2539287458896988944", + "-2460716365393303466", + "-1848370030729221440", + "137707733677015122", + "579467328507000597", + "1698264534774619627", + "1904235159942090722", + "3312208865519999146", + "4035940456270983993", + "4412314431151736777", + "8232565668795426078" + ], + "size": 16, + "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47", + "rack": "rack2", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 726864, + "diskFreeKB": 1001283028, + "memoryUsedKB": 11055676, + "memoryBuffersAndCachedKB": 10691520, + "memoryFreeKB": 35863248, + "memoryTotalKB": 57610444, + "cpuUsage": 1.2 + }, + { + "address": "10.0.8.12", + "state": "", + "status": "", + "load": "93.2 MiB", + "tokens": [ + "-5679481051867296621", + "-4574115287969297989", + "-3444578133211470522", + "-2755931580714972271", + "-2304431590844389550", + "-1961946736975068713", + "-940120277889446704", + "554469308917912318", + "1030447162050118004", + "2745632329542596589", + "4564547712926446283", + "5185613478135944116", + "7280237939830623824", + "7504213835759531710", + "7631994478195429959", + "8139769477321226157" + ], + "size": 16, + "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd", + "rack": "rack3", + "timestamp": "10/05/2021, 14:35:20.028", + "diskUsedKB": 757540, + "diskFreeKB": 1001252352, + "memoryUsedKB": 11051608, + "memoryBuffersAndCachedKB": 10453856, + "memoryFreeKB": 36104980, + "memoryTotalKB": 57610444, + "cpuUsage": 0.4 + } + ] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json new file mode 100644 index 000000000000..24a9e3d2a96f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json new file mode 100644 index 000000000000..a71c54620cc2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json new file mode 100644 index 000000000000..c4c6fb57e564 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "MaterializedViewsBuilder" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder", + "name": "MaterializedViewsBuilder", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "MaterializedViewsBuilder", + "locations": [ + { + "name": "MaterializedViewsBuilder-westus2", + "location": "West US 2", + "status": "Running" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json new file mode 100644 index 000000000000..d55c47d72026 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "collectionName": "collectionName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json new file mode 100644 index 000000000000..b940bce636f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName", + "createUpdateMongoDBCollectionParameters": { + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "collectionName", + "indexes": [ + { + "key": { + "keys": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + }, + "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": [ + "_ts" + ] + }, + "options": { + "expireAfterSeconds": 100, + "unique": true + } + }, + { + "key": { + "keys": [ + "_id" + ] + } + } + ], + "shardKey": { + "testKey": "Hash" + }, + "analyticalStorageTtl": 500 + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json new file mode 100644 index 000000000000..a0b123139574 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json new file mode 100644 index 000000000000..227835ba1b9b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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" + }, + "analyticalStorageTtl": 500, + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionList.json new file mode 100644 index 000000000000..ecd3cd886c89 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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" + }, + "analyticalStorageTtl": 500 + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json new file mode 100644 index 000000000000..d621dda359bf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json new file mode 100644 index 000000000000..ca105e4e5866 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "collectionName": "collectionName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json new file mode 100644 index 000000000000..1e48d1ad386d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json new file mode 100644 index 000000000000..0c1d94b24754 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json new file mode 100644 index 000000000000..4e1758977580 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json new file mode 100644 index 000000000000..77496d227530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json new file mode 100644 index 000000000000..3c659eb56678 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json new file mode 100644 index 000000000000..c80b8c629b7c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..bfc859702f2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..7b2d6fe382ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json new file mode 100644 index 000000000000..5f8d2d5f02aa --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..4c791d456e6f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..f9164d43472d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview", + "createUpdateMongoRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "sales" + }, + "actions": [ + "insert", + "find" + ] + } + ], + "roles": [ + { + "role": "myInheritedRole", + "db": "sales" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoDbRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongoDbRoleDefinitionId", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json new file mode 100644 index 000000000000..fe3283fce957 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json new file mode 100644 index 000000000000..fde3f874f695 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "mongoRoleDefinitionId": "myMongoRoleDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId", + "name": "myMongoRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json new file mode 100644 index 000000000000..4c7aa5fe7da5 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "databaseName": "sales", + "privileges": [ + { + "resource": { + "db": "sales", + "collection": "coll" + }, + "actions": [ + "find", + "insert" + ] + } + ], + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json new file mode 100644 index 000000000000..297eb48e3f35 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview", + "createUpdateMongoUserDefinitionParameters": { + "properties": { + "userName": "myUserName", + "password": "myPassword", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "role": "myReadRole", + "db": "sales" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserName", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json new file mode 100644 index 000000000000..232d00ec108b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json new file mode 100644 index 000000000000..4b9a5cda0468 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "mongoUserDefinitionId": "myMongoUserDefinitionId", + "databaseName": "sales", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json new file mode 100644 index 000000000000..831be1368147 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId", + "name": "myUserId", + "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions", + "properties": { + "userName": "myUserName", + "databaseName": "sales", + "customData": "My custom data", + "roles": [ + { + "db": "sales", + "role": "myReadRole" + } + ], + "mechanisms": "SCRAM-SHA-256" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json new file mode 100644 index 000000000000..aacbfd90ba03 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default", + "notebookCreateUpdateParameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json new file mode 100644 index 000000000000..e2b2ff4876da --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "notebookWorkspaceName": "default" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json new file mode 100644 index 000000000000..f16636de7fbf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json new file mode 100644 index 000000000000..c33312c1ea22 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/notebookWorkspaces/default", + "name": "default", + "type": "Microsoft.DocumentDB/databaseAccounts/notebookWorkspaces", + "properties": { + "notebookServerEndpoint": "endpoint", + "status": "Online" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json new file mode 100644 index 000000000000..5c4f74544ffb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": { + "body": { + "authToken": "auth-token", + "notebookServerEndpoint": "notebook endpoint" + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json new file mode 100644 index 000000000000..a9b6ddd325ab --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json new file mode 100644 index 000000000000..a9b6ddd325ab --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBNotebookWorkspaceStart.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "notebookWorkspaceName": "default" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBOperationsList.json new file mode 100644 index 000000000000..2d2b8a51690f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBOperationsList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview" + }, + "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/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json new file mode 100644 index 000000000000..a3f8bc07692d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json new file mode 100644 index 000000000000..bd1174a85a71 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileGetMetrics.json new file mode 100644 index 000000000000..615f4f6ab54a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileGetMetrics.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json new file mode 100644 index 000000000000..839018795ddd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json new file mode 100644 index 000000000000..eb281e269344 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..ed9efc7040ca --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-preview", + "privateEndpointConnectionName": "privateEndpointConnectionName" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..13e7c525bdbf --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-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" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json new file mode 100644 index 000000000000..a011378f5e59 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-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" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + }, + { + "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" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..6de904e5f8f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-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" + }, + "groupId": "Sql", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json new file mode 100644 index 000000000000..d94dd3ea2cac --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-preview", + "groupName": "sql" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json new file mode 100644 index 000000000000..2b4e9f178db3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "rg1", + "accountName": "ddb1", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.DocumentDb/databaseAccounts/ddb1/privateLinkResources/sql", + "name": "sql", + "type": "Microsoft.DocumentDB/databaseAccounts/privateLinkResources", + "properties": { + "groupId": "sql", + "requiredMembers": [ + "ddb1", + "ddb1-westus" + ], + "requiredZoneNames": [ + "privatelink.documents.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json new file mode 100644 index 000000000000..311a073a92e2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json new file mode 100644 index 000000000000..606ef6fe8881 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "West US", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json new file mode 100644 index 000000000000..efa1a668a947 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "West US" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json new file mode 100644 index 000000000000..114f0d48578e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d", + "name": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "location": "West US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb1", + "creationTime": "2020-04-11T21:56:15Z", + "deletionTime": "2021-03-12T22:05:09Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/West US/restorableDatabaseAccounts/4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "name": "4f9e6ace-ac7a-446c-98bc-194c502a06b4", + "location": "East US", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts", + "properties": { + "accountName": "ddb2", + "creationTime": "2020-05-01T08:05:18Z", + "apiType": "Sql", + "restorableLocations": [ + { + "locationName": "South Central US", + "regionalDatabaseAccountInstanceId": "d7a01f78-606f-45c6-9dac-0df32f433bb5", + "creationTime": "2020-10-30T21:13:10Z", + "deletionTime": "2020-10-30T21:13:35Z" + }, + { + "locationName": "West US", + "regionalDatabaseAccountInstanceId": "fdb43d84-1572-4697-b6e7-2bcda0c51b2c", + "creationTime": "2020-10-30T21:13:10Z" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json new file mode 100644 index 000000000000..64896237718f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinDatabaseList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableGremlinDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableGremlinDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGremlinDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json new file mode 100644 index 000000000000..3213454d4bd0 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinGraphList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableGremlinDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableGraphs/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableGraphs", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Graph1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json new file mode 100644 index 000000000000..79675cc648b1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableGremlinResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "graphNames": [ + "Graph1" + ] + }, + { + "databaseName": "Database2", + "graphNames": [ + "Graph1", + "Graph2" + ] + }, + { + "databaseName": "Database3", + "graphNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json new file mode 100644 index 000000000000..67a7fd4915ee --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableMongodbDatabaseRid": "PD5DALigDgw=" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableMongodbCollections/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Collection1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json new file mode 100644 index 000000000000..6981fd6aa8ad --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableMongodbDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Create" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableMongodbDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "PD5DALigDgw=", + "operationType": "Delete" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json new file mode 100644 index 000000000000..427531232277 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableMongodbResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Collection1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Collection1", + "Collection2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json new file mode 100644 index 000000000000..e7673004b744 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlContainerList.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353", + "restorableSqlDatabaseRid": "3fu-hg==" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00003e00-0000-0700-0000-5f85338a0000\"" + } + } + } + }, + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableSqlContainers/e85298a1-c631-4726-825e-a7ca092e9098", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers", + "name": "e85298a1-c631-4726-825e-a7ca092e9098", + "properties": { + "resource": { + "_rid": "PrArcgAAAA==", + "eventTimestamp": "2020-10-13T05:03:27Z", + "ownerId": "Container1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Replace", + "container": { + "id": "Container1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*" + }, + { + "path": "/\"_ts\"/?" + } + ], + "excludedPaths": [ + { + "path": "/\"_etag\"/?" + } + ] + }, + "defaultTtl": 12345, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/_ts", + "conflictResolutionProcedure": "" + }, + "_rid": "V18LoLrv-qA=", + "_self": "dbs/V18LoA==/colls/V18LoLrv-qA=/", + "_etag": "\"00004400-0000-0700-0000-5f85351f0000\"" + } + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json new file mode 100644 index 000000000000..23f2dffd7614 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/36f09704-6be3-4f33-aa05-17b73e504c75/restorableSqlDatabases/59c21367-b98b-4a8e-abb7-b6f46600decc", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "59c21367-b98b-4a8e-abb7-b6f46600decc", + "properties": { + "resource": { + "_rid": "DLB14gAAAA==", + "eventTimestamp": "2020-09-02T19:45:03Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "operationType": "Create", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/" + } + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "8456cb17-cdb0-4c6a-8db8-d0ff3f886257", + "properties": { + "resource": { + "_rid": "ESXNLAAAAA==", + "eventTimestamp": "2020-09-02T19:53:42Z", + "ownerId": "Database1", + "ownerResourceId": "3fu-hg==", + "database": { + "id": "Database1", + "_rid": "3fu-hg==", + "_self": "dbs/3fu-hg==/", + "_etag": "\"0000c20a-0000-0700-0000-5f4ff63f0000\"", + "_colls": "colls/", + "_users": "users/", + "_ts": 1599075903 + }, + "operationType": "Delete" + } + } + }, + { + "id": "/subscriptions/2296c272-5d55-40d9-bc05-4d56dc2d7588/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/d9b26648-2f53-4541-b3d8-3044f4f9810d/restorableSqlDatabases/2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases", + "name": "2c07991b-9c7c-4e85-be68-b18c1f2ff326", + "properties": { + "resource": { + "_rid": "aXFqUQAAAA==", + "eventTimestamp": "2020-09-02T19:53:15Z", + "ownerId": "Database2", + "ownerResourceId": "0SziSg==", + "database": { + "id": "Database2", + "_rid": "0SziSg==", + "_self": "dbs/0SziSg==/", + "_etag": "\"0000ca0a-0000-0700-0000-5f4ff82b0000\"", + "_colls": "colls/", + "_users": "users/" + }, + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json new file mode 100644 index 000000000000..407bddbc4283 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableSqlResourceList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "databaseName": "Database1", + "collectionNames": [ + "Container1" + ] + }, + { + "databaseName": "Database2", + "collectionNames": [ + "Container1", + "Container2" + ] + }, + { + "databaseName": "Database3", + "collectionNames": [] + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableList.json new file mode 100644 index 000000000000..357572305ddd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "location": "WestUS", + "instanceId": "98a570f2-63db-4117-91f0-366327b7b353" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.DocumentDb/locations/westus/restorableDatabaseAccounts/98a570f2-63db-4117-91f0-366327b7b353/restorableTables/79609a98-3394-41f8-911f-cfab0c075c86", + "type": "Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableTables", + "name": "79609a98-3394-41f8-911f-cfab0c075c86", + "properties": { + "resource": { + "_rid": "zAyAPQAAAA==", + "eventTimestamp": "2020-10-13T04:56:42Z", + "ownerId": "Table1", + "ownerResourceId": "V18LoLrv-qA=", + "operationType": "Create" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableResourceList.json new file mode 100644 index 000000000000..36e0a8408111 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestorableTableResourceList.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "2296c272-5d55-40d9-bc05-4d56dc2d7588", + "location": "WestUS", + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "restoreLocation": "WestUS", + "restoreTimestampInUtc": "10/13/2020 4:56" + }, + "responses": { + "200": { + "body": { + "value": [ + "table1", + "table2" + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json new file mode 100644 index 000000000000..7d98a3848d7e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "createUpdateParameters": { + "location": "westus", + "tags": {}, + "kind": "GlobalDocumentDB", + "properties": { + "databaseAccountOfferType": "Standard", + "locations": [ + { + "failoverPriority": 0, + "locationName": "southcentralus", + "isZoneRedundant": false + } + ], + "createMode": "Restore", + "restoreParameters": { + "restoreMode": "PointInTime", + "restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1a97b4bb-f6a0-430e-ade1-638d781830cc", + "restoreTimestampInUtc": "2021-03-11T22:05:09Z", + "databasesToRestore": [ + { + "databaseName": "db1", + "collectionNames": [ + "collection1", + "collection2" + ] + }, + { + "databaseName": "db2", + "collectionNames": [ + "collection3", + "collection4" + ] + } + ] + }, + "backupPolicy": { + "type": "Continuous" + }, + "consistencyPolicy": { + "defaultConsistencyLevel": "BoundedStaleness", + "maxIntervalInSeconds": 10, + "maxStalenessPrefix": 200 + }, + "keyVaultKeyUri": "https://myKeyVault.vault.azure.net", + "enableFreeTier": false, + "apiProperties": { + "serverVersion": "3.2" + }, + "enableAnalyticalStorage": true, + "enableMaterializedViews": 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", + "ipRules": [], + "databaseAccountOfferType": "Standard", + "disableKeyBasedMetadataWriteAccess": false, + "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d", + "createMode": "Restore", + "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 + } + ], + "enableFreeTier": false, + "apiProperties": {}, + "enableAnalyticalStorage": false + }, + "systemData": { + "createdAt": "2021-03-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBServicesList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBServicesList.json new file mode 100644 index 000000000000..df6358153a37 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBServicesList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/sqlDedicatedGateway", + "name": "sqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "sqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json new file mode 100644 index 000000000000..f9b4d2a77485 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName", + "createUpdateClientEncryptionKeyParameters": { + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json new file mode 100644 index 000000000000..293f767419f7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName", + "clientEncryptionKeyName": "cekName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName", + "name": "cekName", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL", + "algorithm": "RSA-OAEP" + }, + "_rid": "tNc4AAAAAAAQkjzWAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json new file mode 100644 index 000000000000..ca7691c7d19d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "accountName": "accountName", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName1", + "name": "cekName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName1", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey1", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey1", + "algorithm": "RSA-OAEP" + }, + "_rid": "nAMyAAAAAADPw1kKAgAAAA==", + "_ts": 1626425552, + "_etag": "00000000-0000-0000-7a1f-bc0828e801d7" + } + } + }, + { + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName2", + "name": "cekName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey", + "properties": { + "resource": { + "id": "cekName2", + "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256", + "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example", + "keyWrapMetadata": { + "name": "customerManagedKey2", + "type": "AzureKeyVault", + "value": "AzureKeyVault Key URL for customerManagedKey2", + "algorithm": "RSA-OAEP" + }, + "_rid": "nAMyAAAAAAAWWfxHAgAAAA==", + "_ts": 1626425631, + "_etag": "00000000-0000-0000-7a21-7788a38c01d7" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json new file mode 100644 index 000000000000..ac37ab1ae48b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerBackupInformation.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName", + "containerName": "containerName", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json new file mode 100644 index 000000000000..b80b908cb20c --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/containers/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/preview/2021-11-15-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerDelete.json new file mode 100644 index 000000000000..2e84b12f5960 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerGet.json new file mode 100644 index 000000000000..89f438c2cf4a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/containers/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\"" + }, + "options": { + "throughput": 400 + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerList.json new file mode 100644 index 000000000000..c083c5542cbe --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerList.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/containers/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\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName1", + "name": "containerName1", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn1", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/AccountNumber", + "/AccountLocation" + ], + "kind": "MultiHash", + "version": 2 + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDiw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/sqlDatabases/databaseName/sqlContainers/containerName2", + "name": "containerName2", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers", + "location": "West US", + "tags": {}, + "properties": { + "resource": { + "id": "testctn2", + "indexingPolicy": { + "indexingMode": "consistent", + "automatic": true, + "includedPaths": [ + { + "path": "/*", + "indexes": [ + { + "kind": "Range", + "dataType": "String", + "precision": -1 + }, + { + "kind": "Range", + "dataType": "Number", + "precision": -1 + } + ] + } + ], + "excludedPaths": [] + }, + "partitionKey": { + "paths": [ + "/_partitionKey" + ], + "kind": "Hash", + "version": 2, + "systemKey": true + }, + "defaultTtl": 100, + "uniqueKeyPolicy": { + "uniqueKeys": [ + { + "paths": [ + "/testPath" + ] + } + ] + }, + "conflictResolutionPolicy": { + "mode": "LastWriterWins", + "conflictResolutionPath": "/path" + }, + "_rid": "PD5DALigDhw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json new file mode 100644 index 000000000000..c4865f1d9ba4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json new file mode 100644 index 000000000000..b48ca9f9305a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json new file mode 100644 index 000000000000..d42c44554f50 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json new file mode 100644 index 000000000000..865c13f9388a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json new file mode 100644 index 000000000000..1c6411e1365f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json new file mode 100644 index 000000000000..77496d227530 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseGet.json new file mode 100644 index 000000000000..67fd1c238449 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseList.json new file mode 100644 index 000000000000..af58121423d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json new file mode 100644 index 000000000000..bfc859702f2f --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json new file mode 100644 index 000000000000..7b2d6fe382ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json new file mode 100644 index 000000000000..68d7abc4d6e3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json new file mode 100644 index 000000000000..45d9365094b7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json new file mode 100644 index 000000000000..a0687a9dae9b --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway", + "createUpdateParameters": { + "properties": { + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json new file mode 100644 index 000000000000..79958cd83ba9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json new file mode 100644 index 000000000000..9993ad0542ef --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "serviceName": "SqlDedicatedGateway" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/SqlDedicatedGateway", + "name": "SqlDedicatedGateway", + "type": "Microsoft.DocumentDB/databaseAccounts/services", + "properties": { + "status": "Running", + "creationTime": "2021-01-25T12:56:05.4622517Z", + "instanceSize": "Cosmos.D4s", + "instanceCount": 1, + "serviceType": "SqlDedicatedGateway", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway.sqlx.cosmos.windows-int.net/", + "locations": [ + { + "name": "SqlDedicatedGateway-westus2", + "location": "West US 2", + "status": "Running", + "sqlDedicatedGatewayEndpoint": "https://sqlDedicatedGateway-westus.sqlx.cosmos.windows-int.net/" + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json new file mode 100644 index 000000000000..82d60addb04e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview", + "createUpdateSqlRoleAssignmentParameters": { + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json new file mode 100644 index 000000000000..c28f482c2992 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json new file mode 100644 index 000000000000..5232648619f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "roleAssignmentId": "myRoleAssignmentId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json new file mode 100644 index 000000000000..56d36e91d166 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleAssignmentList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleAssignments/myRoleAssignmentId", + "name": "myRoleAssignmentId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments", + "properties": { + "roleDefinitionId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "scope": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases/colls/redmond-purchases", + "principalId": "myPrincipalId" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json new file mode 100644 index 000000000000..041ba713d086 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview", + "createUpdateSqlRoleDefinitionParameters": { + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json new file mode 100644 index 000000000000..7fa65bb89f68 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json new file mode 100644 index 000000000000..2315e35a8e74 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "roleDefinitionId": "myRoleDefinitionId", + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json new file mode 100644 index 000000000000..8453d190d9cb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlRoleDefinitionList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "mySubscriptionId", + "resourceGroupName": "myResourceGroupName", + "accountName": "myAccountName", + "api-version": "2021-11-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/sqlRoleDefinitions/myRoleDefinitionId", + "name": "myRoleDefinitionId", + "type": "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions", + "properties": { + "roleName": "myRoleName", + "type": "CustomRole", + "assignableScopes": [ + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/sales", + "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/dbs/purchases" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", + "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read" + ], + "notDataActions": [] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json new file mode 100644 index 000000000000..173c0f5aaceb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json new file mode 100644 index 000000000000..fd8ca86bc4e8 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "storedProcedureName": "storedProcedureName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json new file mode 100644 index 000000000000..e56f90384df3 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json new file mode 100644 index 000000000000..5a918a4ac65e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlStoredProcedureList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json new file mode 100644 index 000000000000..40f40ffbfebb --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerDelete.json new file mode 100644 index 000000000000..faba3bf5d043 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "triggerName": "triggerName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerGet.json new file mode 100644 index 000000000000..b51ce3c51d6a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerList.json new file mode 100644 index 000000000000..ba7c642472f2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlTriggerList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json new file mode 100644 index 000000000000..1d5c77ce343d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json new file mode 100644 index 000000000000..a9e861d85dcd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "databaseName": "databaseName", + "containerName": "containerName", + "userDefinedFunctionName": "userDefinedFunctionName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json new file mode 100644 index 000000000000..52b226c689e2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json new file mode 100644 index 000000000000..d106748fe0f4 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBTableBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableBackupInformation.json new file mode 100644 index 000000000000..36a54d4ab312 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableBackupInformation.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "accountName": "ddb1", + "tableName": "tableName1", + "location": { + "location": "North Europe" + } + }, + "responses": { + "200": { + "body": { + "continuousBackupInformation": { + "latestRestorableTimestamp": "2021-02-05T02:40:50Z" + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableCreateUpdate.json new file mode 100644 index 000000000000..c5749e523aca --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableCreateUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableDelete.json new file mode 100644 index 000000000000..c006583b5f1a --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableGet.json new file mode 100644 index 000000000000..9d4334b7c9e7 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableList.json new file mode 100644 index 000000000000..c322f4080a1d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json new file mode 100644 index 000000000000..30686a0e4c1e --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToAutoscale.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "properties": { + "resource": { + "throughput": 400, + "autoscaleSettings": { + "maxThroughput": 4000 + }, + "minimumThroughput": "4000", + "offerReplacePending": "false", + "_rid": "PD5DALigDgw=", + "_ts": 1459200611, + "_etag": "\"00005900-0000-0000-0000-56f9a2630000\"" + } + } + } + }, + "202": {} + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json new file mode 100644 index 000000000000..8875a42c4127 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "subscriptionId": "subid", + "tableName": "tableName" + }, + "responses": { + "200": { + "body": { + "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/preview/2021-11-15-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableThroughputGet.json new file mode 100644 index 000000000000..d3fc7f38bf94 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableThroughputGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/preview/2021-11-15-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableThroughputUpdate.json new file mode 100644 index 000000000000..bf4518d6e958 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/CosmosDBTableThroughputUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2021-11-15-preview", + "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/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json new file mode 100644 index 000000000000..8b4c9185bbc9 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid", + "jobName": "j1", + "jobCreateParameters": { + "properties": { + "source": { + "component": "CosmosDBCassandra", + "keyspaceName": "keyspace", + "tableName": "table" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "containerName": "blob_container", + "endpointUrl": "https://blob.windows.net" + }, + "status": "Running", + "percentageComplete": 20, + "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json new file mode 100644 index 000000000000..acde9eaad111 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "percentageComplete": 100, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z" + } + } + ] + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json new file mode 100644 index 000000000000..391734048ca1 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "accountName": "ddb1", + "resourceGroupName": "rg1", + "api-version": "2020-10-15-preview", + "subscriptionId": "subid", + "jobName": "j1" + }, + "responses": { + "200": { + "body": { + "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16", + "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs", + "properties": { + "jobName": "j1", + "source": { + "tableName": "table", + "keyspaceName": "keyspace", + "component": "CosmosDBCassandra" + }, + "destination": { + "component": "AzureBlobStorage", + "endpointUrl": "https://blob.windows.net", + "containerName": "blob_container" + }, + "status": "Completed", + "percentageComplete": 100, + "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z" + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/managedCassandra.json new file mode 100644 index 000000000000..ed8c6fee90fd --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/managedCassandra.json @@ -0,0 +1,1467 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB - Managed Cassandra", + "description": "Azure Cosmos DB Database Service Managed Cassandra REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListBySubscription", + "description": "List all managed Cassandra clusters in this subscription.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListBySubscription": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters": { + "get": { + "operationId": "CassandraClusters_ListByResourceGroup", + "description": "List all managed Cassandra clusters in this resource group.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterListByResourceGroup": { + "$ref": "./examples/CosmosDBManagedCassandraClusterListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra clusters.", + "schema": { + "$ref": "#/definitions/ListClusters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}": { + "get": { + "operationId": "CassandraClusters_Get", + "description": "Get the properties of a managed Cassandra cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterGet": { + "$ref": "./examples/CosmosDBManagedCassandraClusterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra cluster were retrieved successfully.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraClusters_Delete", + "description": "Deletes a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDelete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The managed Cassandra cluster will be deleted asynchronously." + }, + "204": { + "description": "No such cluster to delete." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraClusters_CreateUpdate", + "description": "Create or update a managed Cassandra cluster. When updating, you must specify all writable properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "The properties specifying the desired state of the managed Cassandra cluster." + } + ], + "responses": { + "200": { + "description": "The managed Cassandra cluster is being updated. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "201": { + "description": "The managed Cassandra cluster is being created. Poll for provisioningState=Succeeded to find when creation completes.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraClusters_Update", + "description": "Updates some of the properties of a managed Cassandra cluster.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBManagedCassandraClusterPatch": { + "$ref": "./examples/CosmosDBManagedCassandraClusterPatch.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra cluster." + } + ], + "responses": { + "202": { + "description": "The managed Cassandra cluster is being updated. Poll the provided operation for completion.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra data center.", + "schema": { + "$ref": "#/definitions/ClusterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/invokeCommand": { + "post": { + "operationId": "CassandraClusters_InvokeCommand", + "description": "Invoke a command like nodetool for cassandra maintenance ", + "x-ms-examples": { + "CosmosDBManagedCassandraCommand": { + "$ref": "./examples/CosmosDBManagedCassandraCommand.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CommandPostBody" + }, + "description": "Specification which command to run where" + } + ], + "responses": { + "202": { + "description": "Success. The command operation will begin as soon as possible.", + "schema": { + "$ref": "#/definitions/CommandOutput" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups": { + "get": { + "operationId": "CassandraClusters_ListBackups", + "description": "List the backups of this cluster that are available to restore.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraBackupsList": { + "$ref": "./examples/CosmosDBManagedCassandraBackupsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of restorable backups for this Cassandra cluster.", + "schema": { + "$ref": "#/definitions/ListBackups" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/backups/{backupId}": { + "get": { + "operationId": "CassandraClusters_GetBackup", + "description": "Get the properties of an individual backup of this cluster that is available to restore.", + "x-ms-examples": { + "CosmosDBManagedCassandraBackup": { + "$ref": "./examples/CosmosDBManagedCassandraBackup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/backupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the properties of the backup.", + "schema": { + "$ref": "#/definitions/BackupResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters": { + "get": { + "operationId": "CassandraDataCenters_List", + "description": "List all data centers in a particular managed Cassandra cluster.", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterList": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of managed Cassandra data centers.", + "schema": { + "$ref": "#/definitions/ListDataCenters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/dataCenters/{dataCenterName}": { + "get": { + "operationId": "CassandraDataCenters_Get", + "description": "Get the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterGet": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterGet.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the managed Cassandra data center were retrieved successfully.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "CassandraDataCenters_Delete", + "description": "Delete a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterDelete": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Deletion will complete asynchronously." + }, + "204": { + "description": "Cassandra cluster with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "CassandraDataCenters_CreateUpdate", + "description": "Create or update a managed Cassandra data center. When updating, overwrite all properties. To update only some properties, use PATCH.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterCreate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterCreate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters specifying the managed Cassandra data center." + } + ], + "responses": { + "201": { + "description": "Accepted. The data center will be created asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Accepted. The data center will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "CassandraDataCenters_Update", + "description": "Update some of the properties of a managed Cassandra data center.", + "x-ms-examples": { + "CosmosDBManagedCassandraDataCenterUpdate": { + "$ref": "./examples/CosmosDBManagedCassandraDataCenterPatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/dataCenterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataCenterResource" + }, + "description": "Parameters to provide for specifying the managed Cassandra data center." + } + ], + "responses": { + "202": { + "description": "Accepted. Update will proceed asynchronously.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "200": { + "description": "Completed synchronously. This will only happen if the fields changed by patch require no changes to the actual Cassandra cluster, such as editing the tags.", + "schema": { + "$ref": "#/definitions/DataCenterResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": { + "post": { + "operationId": "CassandraClusters_Deallocate", + "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterDeallocate": { + "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Cluster deallocated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/start": { + "post": { + "operationId": "CassandraClusters_Start", + "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraClusterStart": { + "$ref": "./examples/CosmosDBManagedCassandraClusterStart.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Enqueued Operation to start the cluster." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/status": { + "get": { + "operationId": "CassandraClusters_Status", + "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.", + "x-ms-examples": { + "CosmosDBManagedCassandraStatus": { + "$ref": "./examples/CosmosDBManagedCassandraStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully fetched the usage statistics of all nodes in the cluster.", + "schema": { + "$ref": "#/definitions/CassandraClusterPublicStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Managed Cassandra cluster name.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "dataCenterNameParameter": { + "name": "dataCenterName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Data center name in a managed Cassandra cluster.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$" + }, + "backupNameParameter": { + "name": "backupId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Id of a restorable backup of a Cassandra cluster.", + "minLength": 1, + "maxLength": 15, + "pattern": "^[0-9]+$" + } + }, + "definitions": { + "ListClusters": { + "description": "List of managed Cassandra clusters.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "Container for the array of clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/ClusterResource" + } + } + } + }, + "ManagedCassandraARMResourceProperties": { + "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": "cosmos-db.json#/definitions/Tags" + }, + "identity": { + "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity" + } + }, + "x-ms-azure-resource": true + }, + "ManagedCassandraManagedServiceIdentity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The object id of the identity resource." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource.", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedCassandraResourceIdentityType", + "modelAsString": true + } + } + } + }, + "ManagedCassandraProvisioningState": { + "description": "The status of the resource at the time the operation was called.", + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ManagedCassandraProvisioningState", + "modelAsString": true + } + }, + "ClusterResource": { + "description": "Representation of a managed Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedCassandraARMResourceProperties" + } + ], + "properties": { + "properties": { + "type": "object", + "description": "Properties of a managed Cassandra cluster.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "restoreFromBackupId": { + "type": "string", + "x-ms-mutability": [ + "create" + ], + "description": "To create an empty cluster, omit this field or set it to null. To restore a backup into a new cluster, set this field to the resource id of the backup." + }, + "delegatedManagementSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet that this cluster's management service should have its network interface attached to. The subnet must be routable to all subnets that will be delegated to data centers. The resource id must be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'" + }, + "cassandraVersion": { + "type": "string", + "description": "Which version of Cassandra should this cluster converge to running (e.g., 3.11). When updated, the cluster may take some time to migrate to the new version." + }, + "clusterNameOverride": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "If you need to set the clusterName property in cassandra.yaml to something besides the resource name of the cluster, set the value to use on this property." + }, + "authenticationMethod": { + "type": "string", + "description": "Which authentication method Cassandra should use to authenticate clients. 'None' turns off authentication, so should not be used except in emergencies. 'Cassandra' is the default password based authentication. The default is 'Cassandra'. 'Ldap' is in preview.", + "enum": [ + "None", + "Cassandra", + "Ldap" + ], + "x-ms-enum": { + "name": "AuthenticationMethod", + "modelAsString": true + } + }, + "initialCassandraAdminPassword": { + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true, + "description": "Initial password for clients connecting as admin to the cluster. Should be changed after cluster creation. Returns null on GET. This field only applies when the authenticationMethod field is 'Cassandra'.", + "type": "string" + }, + "prometheusEndpoint": { + "$ref": "#/definitions/SeedNode", + "description": "Hostname or IP address where the Prometheus endpoint containing data about the managed Cassandra nodes can be reached." + }, + "repairEnabled": { + "type": "boolean", + "description": "Should automatic repairs run on this cluster? If omitted, this is true, and should stay true unless you are running a hybrid cluster where you are already doing your own repairs." + }, + "clientCertificates": { + "description": "List of TLS certificates used to authorize clients connecting to the cluster. All connections are TLS encrypted whether clientCertificates is set or not, but if clientCertificates is set, the managed Cassandra cluster will reject all connections not bearing a TLS client certificate that can be validated from one or more of the public certificates in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalGossipCertificates": { + "description": "List of TLS certificates used to authorize gossip from unmanaged data centers. The TLS certificates of all nodes in unmanaged data centers must be verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "gossipCertificates": { + "readOnly": true, + "x-ms-mutability": [ + "read" + ], + "description": "List of TLS certificates that unmanaged nodes must trust for gossip with managed nodes. All managed nodes will present TLS client certificates that are verifiable using one of the certificates provided in this property.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "externalSeedNodes": { + "type": "array", + "description": "List of IP addresses of seed nodes in unmanaged data centers. These will be added to the seed node lists of all managed nodes.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SeedNode" + }, + "description": "List of IP addresses of seed nodes in the managed data centers. These should be added to the seed node lists of all unmanaged nodes." + }, + "hoursBetweenBackups": { + "type": "integer", + "format": "int32", + "description": "Number of hours to wait between taking a backup of the cluster." + }, + "deallocated": { + "type": "boolean", + "description": "Whether the cluster and associated data centers has been deallocated." + }, + "cassandraAuditLoggingEnabled": { + "type": "boolean", + "description": "Whether Cassandra audit logging is enabled" + } + } + } + } + }, + "ManagedCassandraNodeStatus": { + "type": "string", + "description": "Indicates whether the node is functioning or not.", + "enum": [ + "Up", + "Down" + ], + "x-ms-enum": { + "name": "NodeStatus", + "modelAsString": true + } + }, + "ManagedCassandraNodeState": { + "type": "string", + "description": "The state of the node in Cassandra ring.", + "enum": [ + "Normal", + "Leaving", + "Joining", + "Moving", + "Stopped" + ], + "x-ms-enum": { + "name": "NodeState", + "modelAsString": true + } + }, + "CassandraClusterPublicStatus": { + "type": "object", + "description": "Properties of a managed Cassandra cluster public status.", + "properties": { + "eTag": { + "type": "string" + }, + "reaperStatus": { + "$ref": "#/definitions/ManagedCassandraReaperStatus" + }, + "connectionErrors": { + "type": "array", + "description": "List relevant information about any connection errors to the Datacenters.", + "items": { + "$ref": "#/definitions/ConnectionError" + } + }, + "dataCenters": { + "type": "array", + "description": "List of the status of each datacenter in this cluster.", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of this Datacenter." + }, + "seedNodes": { + "type": "array", + "description": "A list of all seed nodes in the cluster, managed and unmanaged.", + "items": { + "type": "string" + } + }, + "nodes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "The node's IP address." + }, + "state": { + "$ref": "#/definitions/ManagedCassandraNodeState" + }, + "status": { + "type": "string" + }, + "load": { + "type": "string", + "description": "The amount of file system data in the data directory (e.g., 47.66 kB), excluding all content in the snapshots subdirectories. Because all SSTable data files are included, any data that is not cleaned up (such as TTL-expired cells or tombstones) is counted." + }, + "tokens": { + "type": "array", + "description": "List of tokens this node covers.", + "items": { + "type": "string" + } + }, + "size": { + "type": "integer", + "format": "int32" + }, + "hostID": { + "description": "The network ID of the node.", + "type": "string" + }, + "rack": { + "description": "The rack this node is part of.", + "type": "string" + }, + "timestamp": { + "description": "The timestamp at which that snapshot of these usage statistics were taken.", + "type": "string" + }, + "diskUsedKB": { + "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "diskFreeKB": { + "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.", + "type": "integer", + "format": "int64" + }, + "memoryUsedKB": { + "description": "Used memory (calculated as total - free - buffers - cache), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryBuffersAndCachedKB": { + "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryFreeKB": { + "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "memoryTotalKB": { + "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.", + "type": "integer", + "format": "int64" + }, + "cpuUsage": { + "description": "A float representing the current system-wide CPU utilization as a percentage.", + "type": "number", + "format": "double" + } + } + } + } + } + } + } + } + }, + "ManagedCassandraReaperStatus": { + "type": "object", + "properties": { + "healthy": { + "type": "boolean" + }, + "repairRunIds": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "repairSchedules": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ConnectionError": { + "type": "object", + "properties": { + "connectionState": { + "description": "The kind of connection error that occurred.", + "type": "string", + "enum": [ + "Unknown", + "OK", + "OperatorToDataCenterNetworkError", + "DatacenterToDatacenterNetworkError", + "InternalOperatorToDataCenterCertificateError", + "InternalError" + ], + "x-ms-enum": { + "name": "ConnectionState", + "modelAsString": true + } + }, + "iPFrom": { + "description": "The IP of host that originated the failed connection.", + "type": "string" + }, + "iPTo": { + "description": "The IP that the connection attempted to reach.", + "type": "string" + }, + "port": { + "description": "The TCP port the connection was attempted on.", + "type": "integer", + "format": "int32" + }, + "exception": { + "description": "Detailed error message about the failed connection.", + "type": "string" + } + } + }, + "CommandPostBody": { + "description": "Specification of which command to run where", + "type": "object", + "required": [ + "command", + "host" + ], + "properties": { + "command": { + "type": "string", + "description": "The command which should be run" + }, + "arguments": { + "type": "object", + "description": "The arguments for the command to be run", + "additionalProperties": { + "type": "string" + } + }, + "host": { + "type": "string", + "description": "IP address of the cassandra host to run the command on" + }, + "cassandra-stop-start": { + "type": "boolean", + "description": "If true, stops cassandra before executing the command and then start it again" + }, + "readwrite": { + "type": "boolean", + "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only." + } + } + }, + "CommandOutput": { + "description": "Response of /command api", + "type": "object", + "properties": { + "commandOutput": { + "type": "string", + "description": "Output of the command." + } + } + }, + "BackupResource": { + "description": "A restorable backup of a Cassandra cluster.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The time this backup was taken, formatted like 2021-01-21T17:35:21" + } + } + } + } + }, + "ListBackups": { + "description": "List of restorable backups for a Cassandra cluster.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of backups.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BackupResource" + } + } + } + }, + "ListDataCenters": { + "description": "List of managed Cassandra data centers and their properties.", + "type": "object", + "properties": { + "value": { + "description": "Container for array of data centers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DataCenterResource" + } + } + } + }, + "SeedNode": { + "type": "object", + "properties": { + "ipAddress": { + "description": "IP address of this seed node.", + "type": "string" + } + } + }, + "Certificate": { + "type": "object", + "properties": { + "pem": { + "description": "PEM formatted public key.", + "type": "string" + } + } + }, + "DataCenterResource": { + "description": "A managed Cassandra data center.", + "type": "object", + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a managed Cassandra data center.", + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ManagedCassandraProvisioningState" + }, + "dataCenterLocation": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "The region this data center should be created in." + }, + "delegatedSubnetId": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "Resource id of a subnet the nodes in this data center should have their network interfaces connected to. The subnet must be in the same region specified in 'dataCenterLocation' and must be able to route to the subnet specified in the cluster's 'delegatedManagementSubnetId' property. This resource id will be of the form '/subscriptions//resourceGroups//providers/Microsoft.Network/virtualNetworks//subnets/'." + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes the data center should have. This is the desired number. After it is set, it may take some time for the data center to be scaled to match. To monitor the number of nodes and their status, use the fetchNodeStatus method on the cluster." + }, + "seedNodes": { + "readOnly": true, + "type": "array", + "description": "IP addresses for seed nodes in this data center. This is for reference. Generally you will want to use the seedNodes property on the cluster, which aggregates the seed nodes from all data centers in the cluster.", + "items": { + "$ref": "#/definitions/SeedNode" + } + }, + "base64EncodedCassandraYamlFragment": { + "type": "string", + "description": "A fragment of a cassandra.yaml configuration file to be included in the cassandra.yaml for all nodes in this data center. The fragment should be Base64 encoded, and only a subset of keys are allowed." + }, + "managedDiskCustomerKeyUri": { + "type": "string", + "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key." + }, + "backupStorageCustomerKeyUri": { + "type": "string", + "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account." + }, + "sku": { + "type": "string", + "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2" + }, + "diskSku": { + "type": "string", + "description": "Disk SKU used for data centers. Default value is P30." + }, + "diskCapacity": { + "type": "integer", + "format": "int32", + "description": "Number of disk used for data centers. Default value is 4." + }, + "availabilityZone": { + "type": "boolean", + "description": "If the data center has Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines." + }, + "authenticationMethodLdapProperties": { + "$ref": "#/definitions/AuthenticationMethodLdapProperties" + } + } + } + } + }, + "AuthenticationMethodLdapProperties": { + "type": "object", + "description": "Ldap authentication method properties. This feature is in preview.", + "properties": { + "serverHostname": { + "description": "Hostname of the LDAP server.", + "type": "string" + }, + "serverPort": { + "description": "Port of the LDAP server.", + "type": "integer", + "format": "int32" + }, + "serviceUserDistinguishedName": { + "description": "Distinguished name of the look up user account, who can look up user details on authentication.", + "type": "string" + }, + "serviceUserPassword": { + "description": "Password of the look up user.", + "type": "string" + }, + "searchBaseDistinguishedName": { + "description": "Distinguished name of the object to start the recursive search of users from.", + "type": "string" + }, + "searchFilterTemplate": { + "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login.", + "type": "string" + }, + "serverCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + } + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/mongorbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/mongorbac.json new file mode 100644 index 000000000000..b15eebd6b255 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/mongorbac.json @@ -0,0 +1,616 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB API for MongoDB Role Based Access Control Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoRoleDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Mongo Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoRoleDefinition", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoRoleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Mongo Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Mongo Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Mongo Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoRoleDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBRoleDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions/{mongoUserDefinitionId}": { + "get": { + "operationId": "MongoDBResources_GetMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionGet": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "MongoDBResources_CreateUpdateMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateMongoUserDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a User Definition.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The User Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + } + }, + "202": { + "description": "The User Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "MongoDBResources_DeleteMongoUserDefinition", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionDelete": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "#/parameters/mongoUserDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The User Definition delete operation was completed successfully." + }, + "202": { + "description": "The User Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested User Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbUserDefinitions": { + "get": { + "operationId": "MongoDBResources_ListMongoUserDefinitions", + "x-ms-examples": { + "CosmosDBMongoDBUserDefinitionList": { + "$ref": "./examples/CosmosDBMongoDBUserDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB Mongo User Definition.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/MongoUserDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MongoRoleDefinitionResource": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "MongoRoleDefinitionType", + "modelAsString": false + } + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this Role Definition." + }, + "privileges": { + "type": "array", + "items": { + "$ref": "#/definitions/Privilege" + }, + "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by this Role Definition." + } + }, + "description": "Azure Cosmos DB Mongo Role Definition resource object." + }, + "MongoRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo Role Definition.", + "$ref": "#/definitions/MongoRoleDefinitionResource" + } + } + }, + "MongoRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoRoleDefinitionResource", + "description": "Properties related to the Mongo Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Mongo Role Definition." + }, + "Privilege": { + "type": "object", + "properties": { + "resource": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "collection": { + "type": "string", + "description": "The collection name the role is applied." + } + }, + "description": "An Azure Cosmos DB Mongo DB Resource." + }, + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of actions that are allowed." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "Role": { + "type": "object", + "properties": { + "db": { + "type": "string", + "description": "The database name the role is applied." + }, + "role": { + "type": "string", + "description": "The role name." + } + }, + "description": "The set of roles permitted through this Role Definition." + }, + "MongoRoleDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoRoleDefinitionGetResults" + }, + "description": "List of Mongo Role Definitions and their properties." + } + }, + "description": "The relevant Mongo Role Definitions." + }, + "MongoUserDefinitionResource": { + "type": "object", + "properties": { + "userName": { + "type": "string", + "description": "The user name for User Definition." + }, + "password": { + "type": "string", + "description": "The password for User Definition. Response does not contain user password." + }, + "databaseName": { + "type": "string", + "description": "The database name for which access is being granted for this User Definition." + }, + "customData": { + "type": "string", + "description": "A custom definition for the USer Definition." + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The set of roles inherited by the User Definition." + }, + "mechanisms": { + "type": "string", + "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256." + } + }, + "description": "Azure Cosmos DB Mongo User Definition resource object." + }, + "MongoUserDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB Mongo User Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB Mongo User Definition.", + "$ref": "#/definitions/MongoUserDefinitionResource" + } + } + }, + "MongoUserDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MongoUserDefinitionResource", + "description": "Properties related to the User Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB User Definition" + }, + "MongoUserDefinitionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MongoUserDefinitionGetResults" + }, + "description": "List of User Definition and their properties" + } + }, + "description": "The relevant User Definition." + } + }, + "parameters": { + "mongoRoleDefinitionIdParameter": { + "name": "mongoRoleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the Role Definition {dbName.roleName}." + }, + "mongoUserDefinitionIdParameter": { + "name": "mongoUserDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The ID for the User Definition {dbName.userName}." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/notebook.json new file mode 100644 index 000000000000..90764db3da76 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/notebook.json @@ -0,0 +1,461 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace resources of an existing Cosmos DB account.", + "operationId": "NotebookWorkspaces_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 notebook workspace resources.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceList": { + "$ref": "./examples/CosmosDBNotebookWorkspaceList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}": { + "get": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Gets the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_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/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified notebook workspace resource.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceGet": { + "$ref": "./examples/CosmosDBNotebookWorkspaceGet.json" + } + } + }, + "put": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Creates the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "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/NotebookWorkspaceNameParameter" + }, + { + "name": "notebookCreateUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotebookWorkspaceCreateUpdateParameters" + }, + "description": "The notebook workspace to create for the current database account." + } + ], + "responses": { + "200": { + "description": "Creation of notebook workspace will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NotebookWorkspace" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceCreate": { + "$ref": "./examples/CosmosDBNotebookWorkspaceCreate.json" + } + } + }, + "delete": { + "tags": [ + "NotebookWorkspacesResource" + ], + "description": "Deletes the notebook workspace for a Cosmos DB account.", + "operationId": "NotebookWorkspaces_Delete", + "x-ms-long-running-operation": true, + "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/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "202": { + "description": "The notebook workspace delete operation will complete asynchronously." + }, + "204": { + "description": "The specified notebook workspace does not exist in the database account." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceDelete": { + "$ref": "./examples/CosmosDBNotebookWorkspaceDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/listConnectionInfo": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_ListConnectionInfo", + "x-ms-examples": { + "CosmosDBNotebookWorkspaceListConnectionInfo": { + "$ref": "./examples/CosmosDBNotebookWorkspaceListConnectionInfo.json" + } + }, + "description": "Retrieves the connection info for the notebook workspace", + "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/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NotebookWorkspaceConnectionInfoResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/regenerateAuthToken": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_RegenerateAuthToken", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceRegenerateAuthToken": { + "$ref": "./examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json" + } + }, + "description": "Regenerates the auth token for the notebook workspace", + "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/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The regenerate auth token operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/notebookWorkspaces/{notebookWorkspaceName}/start": { + "post": { + "tags": [ + "NotebookWorkspacesResource" + ], + "operationId": "NotebookWorkspaces_Start", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "CosmosDBNotebookWorkspaceStart": { + "$ref": "./examples/CosmosDBNotebookWorkspaceStart.json" + } + }, + "description": "Starts the notebook workspace", + "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/NotebookWorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The start operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "NotebookWorkspaceCreateUpdateParameters": { + "description": "Parameters to create a notebook workspace resource", + "type": "object", + "allOf": [ + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceListResult": { + "description": "A list of notebook workspace resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of notebook workspace resources", + "items": { + "$ref": "#/definitions/NotebookWorkspace" + } + } + } + }, + "NotebookWorkspace": { + "description": "A notebook workspace resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/NotebookWorkspaceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "NotebookWorkspaceProperties": { + "description": "Properties of a notebook workspace resource.", + "type": "object", + "properties": { + "notebookServerEndpoint": { + "description": "Specifies the endpoint of Notebook server.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the notebook workspace. Possible values are: Creating, Online, Deleting, Failed, Updating.", + "type": "string", + "readOnly": true + } + } + }, + "NotebookWorkspaceConnectionInfoResult": { + "description": "The connection info for the given notebook workspace", + "properties": { + "authToken": { + "type": "string", + "description": "Specifies auth token used for connecting to Notebook server (uses token-based auth).", + "readOnly": true + }, + "notebookServerEndpoint": { + "type": "string", + "description": "Specifies the endpoint of Notebook server.", + "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]+)*" + }, + "NotebookWorkspaceNameParameter": { + "name": "notebookWorkspaceName", + "in": "path", + "description": "The name of the notebook workspace resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "NotebookWorkspaceName", + "modelAsString": true + } + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/privateEndpointConnection.json new file mode 100644 index 000000000000..a6e4188ee18d --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/privateEndpointConnection.json @@ -0,0 +1,318 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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": "../../preview/2021-11-15-preview/cosmos-db.json#/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": "../../preview/2021-11-15-preview/cosmos-db.json#/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": { + "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." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint." + } + } + }, + "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/2021-11-15-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/privateLinkResources.json new file mode 100644 index 000000000000..57d64ff0e890 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/privateLinkResources.json @@ -0,0 +1,195 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_ListByDatabaseAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../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 link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceListGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets the private link resources that need to be created for a Cosmos DB account.", + "operationId": "PrivateLinkResources_Get", + "parameters": [ + { + "$ref": "../../../../../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/GroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/CosmosDBPrivateLinkResourceGet.json" + } + } + } + } + }, + "definitions": { + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ARMProxyResource" + } + ] + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The private link resource required zone names.", + "type": "array", + "items": { + "type": "string" + }, + "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]+)*" + }, + "GroupNameParameter": { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/rbac.json new file mode 100644 index 000000000000..03299dac6940 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/rbac.json @@ -0,0 +1,573 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Role Based Access Control Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions/{roleDefinitionId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionGet": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Definition with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleDefinitionParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Definition.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Definition create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + } + }, + "202": { + "description": "The Role Definition create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleDefinition", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionDelete": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Definition.", + "parameters": [ + { + "$ref": "#/parameters/roleDefinitionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Definition delete operation was completed successfully." + }, + "202": { + "description": "The Role Definition delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Definition does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleDefinitions": { + "get": { + "operationId": "SqlResources_ListSqlRoleDefinitions", + "x-ms-examples": { + "CosmosDBSqlRoleDefinitionList": { + "$ref": "./examples/CosmosDBSqlRoleDefinitionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Definitions.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments/{roleAssignmentId}": { + "get": { + "operationId": "SqlResources_GetSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentGet": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB SQL Role Assignment with the given Id.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment was successfully retrieved.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "SqlResources_CreateUpdateSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentCreateUpdate": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentCreateUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates or updates an Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateSqlRoleAssignmentParameters", + "in": "body", + "required": true, + "description": "The properties required to create or update a Role Assignment.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentCreateUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "The Role Assignment create or update operation was completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + } + }, + "202": { + "description": "The Role Assignment create or update request was accepted and will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "SqlResources_DeleteSqlRoleAssignment", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentDelete": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes an existing Azure Cosmos DB SQL Role Assignment.", + "parameters": [ + { + "$ref": "#/parameters/roleAssignmentIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Role Assignment delete operation was completed successfully." + }, + "202": { + "description": "The Role Assignment delete request was accepted and will complete asynchronously." + }, + "204": { + "description": "The requested Role Assignment does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlRoleAssignments": { + "get": { + "operationId": "SqlResources_ListSqlRoleAssignments", + "x-ms-examples": { + "CosmosDBSqlRoleAssignmentList": { + "$ref": "./examples/CosmosDBSqlRoleAssignmentList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "description": "Retrieves the list of all Azure Cosmos DB SQL Role Assignments.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list operation completed successfully.", + "schema": { + "$ref": "#/definitions/SqlRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SqlRoleDefinitionResource": { + "properties": { + "roleName": { + "type": "string", + "description": "A user-friendly name for the Role Definition. Must be unique for the database account." + }, + "type": { + "type": "string", + "enum": [ + "BuiltInRole", + "CustomRole" + ], + "description": "Indicates whether the Role Definition was built-in or user created.", + "x-ms-enum": { + "name": "RoleDefinitionType", + "modelAsString": false + } + }, + "assignableScopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A set of fully qualified Scopes at or below which Role Assignments may be created using this Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Must have at least one element. Scopes higher than Database account are not enforceable as assignable Scopes. Note that resources referenced in assignable Scopes need not exist." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "The set of operations allowed through this Role Definition." + } + }, + "description": "Azure Cosmos DB SQL Role Definition resource object." + }, + "SqlRoleDefinitionCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Definition.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Definition.", + "$ref": "#/definitions/SqlRoleDefinitionResource" + } + } + }, + "SqlRoleDefinitionGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleDefinitionResource", + "description": "Properties related to the Role Definition." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB SQL Role Definition." + }, + "Permission": { + "type": "object", + "properties": { + "dataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are allowed." + }, + "notDataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of data actions that are denied." + } + }, + "description": "The set of data plane operations permitted through this Role Definition." + }, + "SqlRoleDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleDefinitionGetResults" + }, + "description": "List of Role Definitions and their properties." + } + }, + "description": "The relevant Role Definitions." + }, + "SqlRoleAssignmentResource": { + "type": "object", + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The unique identifier for the associated Role Definition." + }, + "scope": { + "type": "string", + "description": "The data plane resource path for which access is being granted through this Role Assignment." + }, + "principalId": { + "type": "string", + "description": "The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription." + } + }, + "description": "Azure Cosmos DB SQL Role Assignment resource object." + }, + "SqlRoleAssignmentCreateUpdateParameters": { + "description": "Parameters to create and update an Azure Cosmos DB SQL Role Assignment.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties to create and update an Azure Cosmos DB SQL Role Assignment.", + "$ref": "#/definitions/SqlRoleAssignmentResource" + } + } + }, + "SqlRoleAssignmentGetResults": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SqlRoleAssignmentResource", + "description": "Properties related to the Role Assignment." + } + }, + "allOf": [ + { + "$ref": "cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "description": "An Azure Cosmos DB Role Assignment" + }, + "SqlRoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SqlRoleAssignmentGetResults" + }, + "description": "List of Role Assignments and their properties" + } + }, + "description": "The relevant Role Assignments." + } + }, + "parameters": { + "roleDefinitionIdParameter": { + "name": "roleDefinitionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Definition." + }, + "roleAssignmentIdParameter": { + "name": "roleAssignmentId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The GUID for the Role Assignment." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/restorable.json new file mode 100644 index 000000000000..86e0fec6b005 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/restorable.json @@ -0,0 +1,1880 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_ListByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": { + "get": { + "operationId": "RestorableDatabaseAccounts_List", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountNoLocationList": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json" + } + }, + "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": { + "get": { + "operationId": "RestorableDatabaseAccounts_GetByLocation", + "x-ms-examples": { + "CosmosDBRestorableDatabaseAccountGet": { + "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json" + } + }, + "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account. This call requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read/*' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The restorable database account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "SqlResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBSqlContainerBackupInformation": { + "$ref": "./examples/CosmosDBSqlContainerBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a container resource.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/containerNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Sql container retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The sql container retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlDatabases": { + "get": { + "operationId": "RestorableSqlDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableSqlDatabaseList": { + "$ref": "./examples/CosmosDBRestorableSqlDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlContainers": { + "get": { + "operationId": "RestorableSqlContainers_List", + "x-ms-examples": { + "CosmosDBRestorableSqlContainerList": { + "$ref": "./examples/CosmosDBRestorableSqlContainerList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB SQL containers under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableSqlDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableSqlContainersEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableSqlContainersEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlContainersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableSqlResources": { + "get": { + "operationId": "RestorableSqlResources_List", + "x-ms-examples": { + "CosmosDBRestorableSqlResourceList": { + "$ref": "./examples/CosmosDBRestorableSqlResourceList.json" + } + }, + "description": "Return a list of database and container combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableSqlResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "MongoDBResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBMongoDBCollectionBackupInformation": { + "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a Mongodb collection.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/collectionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Mongodb collection retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Mongodb collection retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbDatabases": { + "get": { + "operationId": "RestorableMongodbDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbDatabaseList": { + "$ref": "./examples/CosmosDBRestorableMongodbDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbCollections": { + "get": { + "operationId": "RestorableMongodbCollections_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbCollectionList": { + "$ref": "./examples/CosmosDBRestorableMongodbCollectionList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB MongoDB collections under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableMongodbDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableMongoDBCollectionsEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableMongoDBCollectionsEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbCollectionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableMongodbResources": { + "get": { + "operationId": "RestorableMongodbResources_List", + "x-ms-examples": { + "CosmosDBRestorableMongodbResourceList": { + "$ref": "./examples/CosmosDBRestorableMongodbResourceList.json" + } + }, + "description": "Return a list of database and collection combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableMongodbResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs/{graphName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "GremlinResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBGremlinGraphBackupInformation": { + "$ref": "./examples/CosmosDBGremlinGraphBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a gremlin graph.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/databaseNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/graphNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Gremlin graph retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Gremlin graph retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinDatabases": { + "get": { + "operationId": "RestorableGremlinDatabases_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinDatabaseList": { + "$ref": "./examples/CosmosDBRestorableGremlinDatabaseList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin databases under the restorable account. This helps in scenario where database was accidentally deleted to get the deletion time. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinDatabasesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGraphs": { + "get": { + "operationId": "RestorableGremlinGraphs_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinGraphList": { + "$ref": "./examples/CosmosDBRestorableGremlinGraphList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Gremlin graphs under a specific database. This helps in scenario where container was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableGremlinDatabaseRidParameter" + }, + { + "$ref": "#/parameters/restorableGremlinGraphsEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableGremlinGraphsEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinGraphsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableGremlinResources": { + "get": { + "operationId": "RestorableGremlinResources_List", + "x-ms-examples": { + "CosmosDBRestorableGremlinResourceList": { + "$ref": "./examples/CosmosDBRestorableGremlinResourceList.json" + } + }, + "description": "Return a list of gremlin database and graphs combo that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableGremlinResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}/retrieveContinuousBackupInformation": { + "post": { + "operationId": "TableResources_RetrieveContinuousBackupInformation", + "x-ms-examples": { + "CosmosDBTableCollectionBackupInformation": { + "$ref": "./examples/CosmosDBTableBackupInformation.json" + } + }, + "description": "Retrieves continuous backup information for a table.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/accountNameParameter" + }, + { + "$ref": "cosmos-db.json#/parameters/tableNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "location", + "required": true, + "description": "The name of the continuous backup restore location.", + "schema": { + "$ref": "#/definitions/ContinuousBackupRestoreLocation" + } + } + ], + "responses": { + "200": { + "description": "The Table retrieve backup information operation completed successfully.", + "schema": { + "$ref": "#/definitions/BackupInformation" + } + }, + "202": { + "description": "The Table retrieve backup information operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTables": { + "get": { + "operationId": "RestorableTables_List", + "x-ms-examples": { + "CosmosDBRestorableTableList": { + "$ref": "./examples/CosmosDBRestorableTableList.json" + } + }, + "description": "Show the event feed of all mutations done on all the Azure Cosmos DB Tables. This helps in scenario where table was accidentally deleted. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restorableTablesEventFeedStartTime" + }, + { + "$ref": "#/parameters/restorableTablesEventFeedEndTime" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableTablesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}/restorableTableResources": { + "get": { + "operationId": "RestorableTableResources_List", + "x-ms-examples": { + "CosmosDBRestorableTableResourceList": { + "$ref": "./examples/CosmosDBRestorableTableResourceList.json" + } + }, + "description": "Return a list of tables that exist on the account at the given timestamp and location. This helps in scenarios to validate what resources exist at given timestamp and location. This API requires 'Microsoft.DocumentDB/locations/restorableDatabaseAccounts/.../read' permission.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/instanceIdParameter" + }, + { + "$ref": "#/parameters/restoreLocationParameter" + }, + { + "$ref": "#/parameters/restoreTimestampInUtcParameter" + } + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/RestorableTableResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "RestorableDatabaseAccountsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableDatabaseAccountGetResult" + }, + "description": "List of restorable database accounts and their properties." + } + }, + "description": "The List operation response, that contains the restorable database accounts and their properties." + }, + "RestorableDatabaseAccountGetResult": { + "description": "A Azure Cosmos DB restorable database account.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a restorable database account.", + "$ref": "#/definitions/RestorableDatabaseAccountProperties" + }, + "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." + } + } + }, + "RestorableDatabaseAccountProperties": { + "type": "object", + "description": "The properties of a restorable database account.", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the global database account" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "The creation time of the restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "format": "date-time", + "description": "The time at which the restorable database account has been deleted (ISO-8601 format)." + }, + "apiType": { + "type": "string", + "readOnly": true, + "description": "The API type of the restorable database account.", + "$ref": "#/definitions/ApiType" + }, + "restorableLocations": { + "type": "array", + "readOnly": true, + "description": "List of regions where the of the database account can be restored from.", + "items": { + "$ref": "#/definitions/RestorableLocationResource" + } + } + } + }, + "ApiType": { + "description": "Enum to indicate the API type of the restorable database account.", + "type": "string", + "readOnly": true, + "enum": [ + "MongoDB", + "Gremlin", + "Cassandra", + "Table", + "Sql", + "GremlinV2" + ], + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "RestorableLocationResource": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "locationName": { + "type": "string", + "readOnly": true, + "description": "The location of the regional restorable account." + }, + "regionalDatabaseAccountInstanceId": { + "type": "string", + "readOnly": true, + "description": "The instance id of the regional restorable account." + }, + "creationTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The creation time of the regional restorable database account (ISO-8601 format)." + }, + "deletionTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The time at which the regional restorable database account has been deleted (ISO-8601 format)." + } + } + }, + "RestorableSqlDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlDatabaseGetResult" + }, + "description": "List of SQL database events and their properties." + } + }, + "description": "The List operation response, that contains the SQL database events and their properties." + }, + "RestorableSqlDatabaseGetResult": { + "description": "An Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL database event.", + "$ref": "#/definitions/RestorableSqlDatabaseProperties" + }, + "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." + } + } + }, + "RestorableSqlDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB SQL database event", + "type": "object", + "properties": { + "resource": { + "type": "object", + "description": "The resource of an Azure Cosmos DB SQL database event", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of the SQL database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of the SQL database." + }, + "database": { + "type": "object", + "description": "Cosmos DB SQL database resource object", + "properties": { + "_colls": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specified the addressable path of the collections resource." + }, + "_users": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the users resource." + }, + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the database resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/SqlDatabaseResource" + }, + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlContainersListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableSqlContainerGetResult" + }, + "description": "List of SQL container events and their properties." + } + }, + "description": "The List operation response, that contains the SQL container events and their properties." + }, + "RestorableSqlContainerGetResult": { + "description": "An Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a SQL container event.", + "$ref": "#/definitions/RestorableSqlContainerProperties" + }, + "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." + } + } + }, + "RestorableSqlContainerProperties": { + "description": "The properties of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB SQL container event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this container event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The when this container event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this SQL container." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this SQL container." + }, + "container": { + "type": "object", + "description": "Cosmos DB SQL container resource object", + "properties": { + "_self": { + "type": "string", + "readOnly": true, + "description": "A system generated property that specifies the addressable path of the container resource." + } + }, + "allOf": [ + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/SqlContainerResource" + }, + { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties" + } + ] + } + } + } + } + }, + "RestorableSqlResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable SQL resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable SQL resources." + }, + "RestorableMongodbDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbDatabaseGetResult" + }, + "description": "List of MongoDB database events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB database events and their properties." + }, + "RestorableMongodbDatabaseGetResult": { + "description": "An Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB database event.", + "$ref": "#/definitions/RestorableMongodbDatabaseProperties" + }, + "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." + } + } + }, + "RestorableMongodbDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB database." + } + } + } + } + }, + "RestorableMongodbCollectionsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableMongodbCollectionGetResult" + }, + "description": "List of MongoDB collection events and their properties." + } + }, + "description": "The List operation response, that contains the MongoDB collection events and their properties." + }, + "RestorableMongodbCollectionGetResult": { + "description": "An Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a MongoDB collection event.", + "$ref": "#/definitions/RestorableMongodbCollectionProperties" + }, + "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." + } + } + }, + "RestorableMongodbCollectionProperties": { + "description": "The properties of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB MongoDB collection event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this collection event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this collection event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this MongoDB collection." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this MongoDB collection." + } + } + } + } + }, + "RestorableMongodbResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/DatabaseRestoreResource" + }, + "description": "List of restorable MongoDB resources, including the database and collection names." + } + }, + "description": "The List operation response, that contains the restorable MongoDB resources." + }, + "RestorableGremlinDatabasesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableGremlinDatabaseGetResult" + }, + "description": "List of Gremlin database events and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin database events and their properties." + }, + "RestorableGremlinDatabaseGetResult": { + "description": "An Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Gremlin database event.", + "$ref": "#/definitions/RestorableGremlinDatabaseProperties" + }, + "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." + } + } + }, + "RestorableGremlinDatabaseProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Gremlin database event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this database event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this database event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Gremlin database." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Gremlin database." + } + } + } + } + }, + "RestorableGremlinGraphsListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableGremlinGraphGetResult" + }, + "description": "List of Gremlin graph events and their properties." + } + }, + "description": "The List operation response, that contains the Gremlin graph events and their properties." + }, + "RestorableGremlinGraphGetResult": { + "description": "An Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Gremlin graph event.", + "$ref": "#/definitions/RestorableGremlinGraphProperties" + }, + "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." + } + } + }, + "RestorableGremlinGraphProperties": { + "description": "The properties of an Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Gremlin graph event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this graph event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this graph event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Gremlin graph." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Gremlin graph." + } + } + } + } + }, + "RestorableGremlinResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/GremlinDatabaseRestoreResource" + }, + "description": "List of restorable Gremlin resources, including the gremlin database and graph names." + } + }, + "description": "The List operation response, that contains the restorable Gremlin resources." + }, + "RestorableTablesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RestorableTableGetResult" + }, + "description": "List of Table events and their properties." + } + }, + "description": "The List operation response, that contains the Table events and their properties." + }, + "RestorableTableGetResult": { + "description": "An Azure Cosmos DB Table event", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The properties of a Table event.", + "$ref": "#/definitions/RestorableTableProperties" + }, + "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." + } + } + }, + "RestorableTableProperties": { + "description": "The properties of an Azure Cosmos DB Table event", + "type": "object", + "properties": { + "resource": { + "description": "The resource of an Azure Cosmos DB Table event", + "type": "object", + "properties": { + "_rid": { + "type": "string", + "readOnly": true, + "description": "A system generated property. A unique identifier." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "The operation type of this table event.", + "$ref": "#/definitions/OperationType" + }, + "eventTimestamp": { + "type": "string", + "readOnly": true, + "description": "The time when this table event happened." + }, + "ownerId": { + "type": "string", + "readOnly": true, + "description": "The name of this Table." + }, + "ownerResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource ID of this Table." + } + } + } + } + }, + "RestorableTableResourcesListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../preview/2021-11-15-preview/cosmos-db.json#/definitions/TableName" + }, + "description": "List of restorable table names." + } + }, + "description": "List of restorable table names." + }, + "OperationType": { + "description": "Enum to indicate the operation type of the event.", + "type": "string", + "readOnly": true, + "enum": [ + "Create", + "Replace", + "Delete", + "SystemOperation" + ], + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + }, + "ContinuousBackupRestoreLocation": { + "type": "object", + "description": "Properties of the regional restorable account.", + "properties": { + "location": { + "type": "string", + "description": "The name of the continuous backup restore location." + } + } + }, + "BackupInformation": { + "description": "Backup information of a resource.", + "type": "object", + "properties": { + "continuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "$ref": "#/definitions/ContinuousBackupInformation" + } + } + }, + "ContinuousBackupInformation": { + "description": "Information about the status of continuous backups.", + "type": "object", + "readOnly": true, + "properties": { + "latestRestorableTimestamp": { + "type": "string", + "description": "The latest restorable timestamp for a resource." + } + } + } + }, + "parameters": { + "restorableSqlDatabaseRidParameter": { + "name": "restorableSqlDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the SQL database." + }, + "restorableMongodbDatabaseRidParameter": { + "name": "restorableMongodbDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the MongoDB database." + }, + "restoreLocationParameter": { + "name": "restoreLocation", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The location where the restorable resources are located." + }, + "restoreTimestampInUtcParameter": { + "name": "restoreTimestampInUtc", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The timestamp when the restorable resources existed." + }, + "restorableSqlContainersEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Sql containers event feed start time." + }, + "restorableSqlContainersEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Sql containers event feed end time." + }, + "restorableMongoDBCollectionsEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable MongoDB collections event feed start time." + }, + "restorableMongoDBCollectionsEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable MongoDB collections event feed end time." + }, + "restorableGremlinGraphsEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Gremlin graphs event feed start time." + }, + "restorableGremlinGraphsEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Gremlin graphs event feed end time." + }, + "restorableTablesEventFeedStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Tables event feed start time." + }, + "restorableTablesEventFeedEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Restorable Tables event feed end time." + }, + "restoreStartTime": { + "name": "startTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp after which snapshots need to be listed." + }, + "restoreEndTime": { + "name": "endTime", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The snapshot create timestamp before which snapshots need to be listed." + }, + "locationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB region, with spaces between words and each word capitalized." + }, + "instanceIdParameter": { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The instanceId GUID of a restorable database account." + }, + "restorableGremlinDatabaseRidParameter": { + "name": "restorableGremlinDatabaseRid", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The resource ID of the Gremlin database." + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/services.json new file mode 100644 index 000000000000..97ac565257d2 --- /dev/null +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-11-15-preview/services.json @@ -0,0 +1,624 @@ +{ + "swagger": "2.0", + "info": { + "title": "Cosmos DB", + "description": "Azure Cosmos DB Database Service Resource Provider REST API", + "version": "2021-11-15-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services": { + "get": { + "x-ms-examples": { + "CosmosDBServicesList": { + "$ref": "./examples/CosmosDBServicesList.json" + } + }, + "operationId": "Service_List", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/services/{serviceName}": { + "put": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceCreate": { + "$ref": "./examples/CosmosDBDataTransferServiceCreate.json" + }, + "SqlDedicatedGatewayServiceCreate": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceCreate.json" + }, + "GraphAPIComputeServiceCreate": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceCreate.json" + }, + "MaterializedViewsBuilderServiceCreate": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceCreate.json" + } + }, + "operationId": "Service_Create", + "description": "Creates a service.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "createUpdateParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResourceCreateUpdateParameters" + }, + "description": "The Service resource parameters." + } + ], + "responses": { + "200": { + "description": "The service status.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "The job will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceGet": { + "$ref": "./examples/CosmosDBDataTransferServiceGet.json" + }, + "GraphAPIComputeServiceGet": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceGet.json" + }, + "SqlDedicatedGatewayServiceGet": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceGet.json" + }, + "MaterializedViewsBuilderServiceGet": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceGet.json" + } + }, + "operationId": "Service_Get", + "description": "Gets the status of service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The ServiceResource.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "DataTransfer", + "SqlDedicatedGateway", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "x-ms-examples": { + "DataTransferServiceDelete": { + "$ref": "./examples/CosmosDBDataTransferServiceDelete.json" + }, + "SqlDedicatedGatewayServiceDelete": { + "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceDelete.json" + }, + "GraphAPIComputeServiceDelete": { + "$ref": "./examples/CosmosDBGraphAPIComputeServiceDelete.json" + }, + "MaterializedViewsBuilderServiceDelete": { + "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceDelete.json" + } + }, + "operationId": "Service_Delete", + "description": "Deletes service with the given serviceName.", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "#/parameters/serviceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The job will complete asynchronously." + }, + "204": { + "description": "The response for service deletion." + }, + "200": { + "description": "The response for service deletion." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": ".../../cosmos-db.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ServiceResourceProperties": { + "description": "Services response resource.", + "type": "object", + "discriminator": "serviceType", + "properties": { + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Time of the last state change (ISO-8601 format)." + }, + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + }, + "additionalProperties": { + "type": "object" + }, + "required": [ + "serviceType" + ] + }, + "ServiceResourceCreateUpdateParameters": { + "description": "Parameters for Create or Update Request for ServiceResource", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" + } + } + }, + "ServiceResourceCreateUpdateProperties": { + "description": "Properties in ServiceResourceCreateUpdateParameters.", + "type": "object", + "properties": { + "instanceSize": { + "$ref": "#/definitions/ServiceResourceInstanceSize" + }, + "instanceCount": { + "description": "Instance count for the service.", + "type": "integer", + "minimum": 0, + "format": "int32" + }, + "serviceType": { + "$ref": "#/definitions/ServiceType" + } + } + }, + "ServiceResource": { + "description": "Properties for the database account.", + "type": "object", + "allOf": [ + { + "$ref": ".../../cosmos-db.json#/definitions/ARMProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/ServiceResourceProperties" + } + } + }, + "ServiceResourceListResult": { + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + }, + "description": "List of Service Resource and their properties." + } + }, + "description": "The List operation response, that contains the Service Resource and their properties." + }, + "DataTransferServiceResource": { + "description": "Describes the service response property.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/DataTransferServiceResourceProperties" + } + } + }, + "DataTransferServiceResourceProperties": { + "description": "Properties for DataTransferServiceResource.", + "type": "object", + "x-ms-discriminator-value": "DataTransfer", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/DataTransferRegionalServiceResource" + } + } + } + }, + "SqlDedicatedGatewayServiceResource": { + "description": "Describes the service response property for SqlDedicatedGateway.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/SqlDedicatedGatewayServiceResourceProperties" + } + } + }, + "SqlDedicatedGatewayServiceResourceProperties": { + "description": "Properties for SqlDedicatedGatewayServiceResource.", + "type": "object", + "x-ms-discriminator-value": "SqlDedicatedGateway", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "type": "string", + "description": "SqlDedicatedGateway endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/SqlDedicatedGatewayRegionalServiceResource" + } + } + } + }, + "GraphAPIComputeServiceResource": { + "description": "Describes the service response property for GraphAPICompute.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/GraphAPIComputeServiceResourceProperties" + } + } + }, + "GraphAPIComputeServiceResourceProperties": { + "description": "Properties for GraphAPIComputeServiceResource.", + "type": "object", + "x-ms-discriminator-value": "GraphAPICompute", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "type": "string", + "description": "GraphAPICompute endpoint for the service." + }, + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/GraphAPIComputeRegionalServiceResource" + } + } + } + }, + "MaterializedViewsBuilderServiceResource": { + "description": "Describes the service response property for MaterializedViewsBuilder.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/MaterializedViewsBuilderServiceResourceProperties" + } + } + }, + "MaterializedViewsBuilderServiceResourceProperties": { + "description": "Properties for MaterializedViewsBuilderServiceResource.", + "type": "object", + "x-ms-discriminator-value": "MaterializedViewsBuilder", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "properties": { + "locations": { + "type": "array", + "readOnly": true, + "description": "An array that contains all of the locations for the service.", + "items": { + "$ref": "#/definitions/MaterializedViewsBuilderRegionalServiceResource" + } + } + } + }, + "RegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The regional service name." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location name." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ServiceResourceStatus" + } + } + }, + "SqlDedicatedGatewayRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "sqlDedicatedGatewayEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for SqlDedicatedGateway." + } + } + }, + "GraphAPIComputeRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ], + "properties": { + "graphApiComputeEndpoint": { + "readOnly": true, + "type": "string", + "description": "The regional endpoint for GraphAPICompute." + } + } + }, + "DataTransferRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "MaterializedViewsBuilderRegionalServiceResource": { + "description": "Resource for a regional service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RegionalServiceResource" + } + ] + }, + "ServiceResourceStatus": { + "type": "string", + "enum": [ + "Creating", + "Running", + "Updating", + "Deleting", + "Error", + "Stopped" + ], + "readOnly": true, + "description": "Describes the status of a service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceStatus" + } + }, + "ServiceResourceInstanceSize": { + "type": "string", + "enum": [ + "Cosmos.D4s", + "Cosmos.D8s", + "Cosmos.D16s" + ], + "description": "Instance type for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceSize" + } + }, + "ServiceType": { + "type": "string", + "enum": [ + "SqlDedicatedGateway", + "DataTransfer", + "GraphAPICompute", + "MaterializedViewsBuilder" + ], + "description": "ServiceType for the service.", + "x-ms-enum": { + "modelAsString": true, + "name": "ServiceType" + } + } + }, + "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]+)*" + }, + "serviceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Cosmos DB service name.", + "minLength": 3, + "maxLength": 50 + } + } +} diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json index fb44a09bb474..6e11b8b0b0ff 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json @@ -8503,7 +8503,8 @@ "enum": [ "3.2", "3.6", - "4.0" + "4.0", + "4.2" ], "description": "Describes the ServerVersion of an a MongoDB account.", "x-ms-enum": { diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md index 87814591a12d..00dee8caf76e 100644 --- a/specification/cosmos-db/resource-manager/readme.go.md +++ b/specification/cosmos-db/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-11 - tag: package-2021-10 - tag: package-2021-07-preview - tag: package-2021-06 @@ -40,6 +41,15 @@ batch: - tag: package-2015-04 ``` +### Tag: package-preview-2021-11 and go + +These settings apply only when `--tag=package-preview-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2021-11-15-preview/$(namespace) +``` + ### Tag: package-2021-10 and go These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md index 22ba6ccd0ce1..a24449c1282b 100644 --- a/specification/cosmos-db/resource-manager/readme.md +++ b/specification/cosmos-db/resource-manager/readme.md @@ -27,14 +27,32 @@ These are the global settings for the Cosmos-DB API. ``` yaml title: CosmosDBManagementClient openapi-type: arm -tag: package-2021-10 +tag: package-preview-2021-11 ``` + +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.DocumentDB/preview/2021-11-15-preview/cosmos-db.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/dataTransferService.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/managedCassandra.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/mongorbac.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/notebook.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/privateEndpointConnection.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/privateLinkResources.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/rbac.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/restorable.json + - Microsoft.DocumentDB/preview/2021-11-15-preview/services.json +``` ### Tag: package-2021-10 These settings apply only when `--tag=package-2021-10` is specified on the command line. -```yaml $(tag) == 'package-2021-10' +``` yaml $(tag) == 'package-2021-10' input-file: - Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json - Microsoft.DocumentDB/stable/2021-10-15/notebook.json @@ -47,12 +65,11 @@ modelerfour: lenient-model-deduplication: true ``` - ### Tag: package-preview-2021-10 These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-10' +``` yaml $(tag) == 'package-preview-2021-10' input-file: - Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json - Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json @@ -65,11 +82,12 @@ input-file: - Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json - Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json ``` + ### Tag: package-2021-07-preview These settings apply only when `--tag=package-2021-07-preview` is specified on the command line. -```yaml $(tag) == 'package-2021-07-preview' +``` yaml $(tag) == 'package-2021-07-preview' input-file: - Microsoft.DocumentDB/preview/2021-07-01-preview/cosmos-db.json - Microsoft.DocumentDB/preview/2021-07-01-preview/notebook.json diff --git a/specification/cosmos-db/resource-manager/readme.python.md b/specification/cosmos-db/resource-manager/readme.python.md index d2fa34664776..f89d59bf2465 100644 --- a/specification/cosmos-db/resource-manager/readme.python.md +++ b/specification/cosmos-db/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: update +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.cosmosdb @@ -16,11 +15,7 @@ modelerfour: lenient-model-deduplication: true ``` -``` yaml $(python) && $(python-mode) == 'update' +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb/azure/mgmt/cosmosdb ``` -``` yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/cosmos/azure-mgmt-cosmosdb -``` diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/costmanagement.pricesheets.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/costmanagement.pricesheets.json new file mode 100644 index 000000000000..4293eb75935d --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/costmanagement.pricesheets.json @@ -0,0 +1,400 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-02-01-preview", + "title": "CostManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices/{invoiceName}/providers/Microsoft.CostManagement/pricesheets/default/download": { + "post": { + "tags": [ + "PriceSheets" + ], + "x-ms-examples": { + "PricesheetDownload": { + "$ref": "./examples/PricesheetDownload.json" + } + }, + "operationId": "PriceSheet_Download", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download the pricesheet for an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + }, + "OData-EntityId": { + "description": "The operation entity Id GUID.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/providers/Microsoft.CostManagement/pricesheets/default/download": { + "post": { + "tags": [ + "PriceSheets" + ], + "x-ms-examples": { + "PricesheetDownloadByBillingProfile": { + "$ref": "./examples/PricesheetDownloadByBillingProfile.json" + } + }, + "operationId": "PriceSheet_DownloadByBillingProfile", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download the current month's pricesheet for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.Due to Azure product growth, the Azure price sheet download experience in this preview version will be updated from a single csv file to a Zip file containing multiple csv files, each with max 200k records.The name of the zip file is AzurePricesheet as gzip.The names of multiple csv files are AzurePricesheet _1, AzurePricesheet _2", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + }, + "OData-EntityId": { + "description": "The operation entity Id GUID.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.CostManagement/operations": { + "get": { + "tags": [ + "Operations" + ], + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationList.json" + } + }, + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/cost-management/" + }, + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Error": { + "description": "Error details for transfer execution.", + "type": "object", + "properties": { + "errorCode": { + "type": "string", + "readOnly": true, + "description": "Error code." + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "Error message." + } + } + }, + "Operation": { + "description": "A Consumption REST API operation.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Operation Id." + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Consumption.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: UsageDetail, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "type": "object", + "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. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "DownloadUrl": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "type": "object", + "properties": { + "expiryTime": { + "description": "The time in UTC when the download URL will expire.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "url": { + "description": "The URL to the ZIP file. This Zip file will consists of multiple CSV files", + "type": "string", + "readOnly": true + } + } + }, + "ProxyResource": { + "description": "The Resource model definition.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "eTag": { + "type": "string", + "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not." + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." + }, + "billingAccountNameParameter": { + "name": "billingAccountName", + "in": "path", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileNameParameter": { + "name": "billingProfileName", + "in": "path", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationIdParameter": { + "name": "operationId", + "in": "path", + "description": "Operation Id.", + "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" + }, + "invoiceNameParameter": { + "name": "invoiceName", + "in": "path", + "description": "The ID that uniquely identifies an invoice.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/OperationList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/OperationList.json new file mode 100644 index 000000000000..39cd69d083f3 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/OperationList.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Cost Management allowed operations", + "provider": "Microsoft.CostManagement", + "resource": "Pricesheets" + }, + "id": "edbb014c-80ca-55f8-ffe8-5b0e223f3c96", + "name": "/providers/Microsoft.CostManagement/OperationStatus" + } + ] + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownload.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownload.json new file mode 100644 index 000000000000..96fc1c914d5b --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownload.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}", + "invoiceName": "{invoiceName}" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/operationResults/45000000-0000-0000-0000-000000000000?api-version=2018-07-31", + "Retry-After": "60", + "OData-EntityId": "45000000-0000-0000-0000-000000000000" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&ss=bf&srt=s&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&spr=https&sig=G%2TEST%4B", + "expiryTime": "2018-07-21T17:32:28Z" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownloadByBillingProfile.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownloadByBillingProfile.json new file mode 100644 index 000000000000..71769ba075bc --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2022-02-01-preview/examples/PricesheetDownloadByBillingProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "billingAccountName": "{billingAccountName}", + "billingProfileName": "{billingProfileName}" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/operationResults/45000000-0000-0000-0000-000000000000?api-version=2018-07-31", + "Retry-After": "60", + "OData-EntityId": "45000000-0000-0000-0000-000000000000" + } + }, + "200": { + "body": { + "url": "https://myaccount.blob.core.windows.net/?restype=service&comp=properties&sv=2015-04-05&ss=bf&srt=s&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&spr=https&sig=G%2TEST%4B", + "expiryTime": "2018-07-21T17:32:28Z" + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json index 656b7609d1ff..8c8359107f03 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json @@ -380,7 +380,7 @@ "TimedOut" ], "x-ms-enum": { - "name": "OperationStatusType", + "name": "ReportOperationStatusType", "modelAsString": true } } diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json index 8c8697e3c277..96596c83fdef 100644 --- a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json @@ -1109,6 +1109,135 @@ } } }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": { + "post": { + "tags": [ + "ReservedInstances" + ], + "operationId": "GenerateReservationDetailsReport_ByBillingAccountId", + "description": "Generates the reservations details report for provided date range asynchronously based on enrollment id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ReservationDetails": { + "$ref": "./examples/GenerateReservationDetailsReportByBillingAccount.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/enrollmentIdParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request processing completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted. Request will be processed. Use the location header to check the status.", + "headers": { + "Location": { + "description": "The URL to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "format": "int32", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.CostManagement/generateReservationDetailsReport": { + "post": { + "tags": [ + "ReservedInstances" + ], + "operationId": "GenerateReservationDetailsReport_ByBillingProfileId", + "description": "Generates the reservations details report for provided date range asynchronously by billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/" + }, + "x-ms-examples": { + "ReservationDetails": { + "$ref": "./examples/GenerateReservationDetailsReportByBillingProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request processing completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted. Request will be processed. Use the Location header to check the status.", + "headers": { + "Location": { + "description": "The URL to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "format": "int32", + "type": "integer" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/providers/Microsoft.CostManagement/operations": { "get": { "tags": [ @@ -1236,6 +1365,9 @@ "type": "object", "$ref": "#/definitions/ReportConfigAggregation" }, + "x-ms-identifiers": [ + "name" + ], "maxItems": 2 }, "grouping": { @@ -1244,6 +1376,10 @@ "items": { "$ref": "#/definitions/ReportConfigGrouping" }, + "x-ms-identifiers": [ + "name", + "type" + ], "maxItems": 2 }, "sorting": { @@ -1251,7 +1387,8 @@ "type": "array", "items": { "$ref": "#/definitions/ReportConfigSorting" - } + }, + "x-ms-identifiers": [] }, "filter": { "type": "object", @@ -1308,7 +1445,11 @@ "enum": [ "Ascending", "Descending" - ] + ], + "x-ms-enum": { + "name": "ReportConfigSortingType", + "modelAsString": true + } }, "name": { "description": "The name of the column to sort.", @@ -1347,6 +1488,7 @@ "items": { "$ref": "#/definitions/ReportConfigFilter" }, + "x-ms-identifiers": [], "minItems": 2 }, "or": { @@ -1355,6 +1497,7 @@ "items": { "$ref": "#/definitions/ReportConfigFilter" }, + "x-ms-identifiers": [], "minItems": 2 }, "dimensions": { @@ -1541,7 +1684,10 @@ "type": "array", "items": { "$ref": "#/definitions/PivotProperties" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1926,17 +2072,20 @@ "resourceGroupFilter": { "description": "array of resourceGroups to filter by", "type": "array", - "items": {} + "items": {}, + "x-ms-identifiers": [] }, "resourceFilter": { "description": "array of resources to filter by", "type": "array", - "items": {} + "items": {}, + "x-ms-identifiers": [] }, "meterFilter": { "description": "array of meters to filter by", "type": "array", - "items": {} + "items": {}, + "x-ms-identifiers": [] }, "tagFilter": { "description": "tags to filter by", @@ -2111,15 +2260,20 @@ "type": "array", "items": { "$ref": "#/definitions/QueryColumn" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "rows": { "description": "Array of rows", "type": "array", "items": { "type": "array", - "items": {} - } + "items": {}, + "x-ms-identifiers": [] + }, + "x-ms-identifiers": [] } } }, @@ -2391,6 +2545,10 @@ "items": { "$ref": "#/definitions/QueryGrouping" }, + "x-ms-identifiers": [ + "name", + "type" + ], "maxItems": 2 }, "filter": { @@ -2400,6 +2558,46 @@ } } }, + "OperationStatus": { + "description": "The status of the long running operation.", + "type": "object", + "properties": { + "status": { + "description": "The status of the long running operation.", + "type": "string", + "enum": [ + "Running", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "OperationStatusType", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The properties of the resource generated.", + "$ref": "#/definitions/ReportURL" + } + } + }, + "ReportURL": { + "description": "The URL to download the generated report.", + "type": "object", + "properties": { + "reportUrl": { + "description": "The URL to download the generated report.", + "type": "string" + }, + "validUntil": { + "description": "The time at which report URL becomes invalid.", + "type": "string", + "format": "date-time" + } + } + }, "QueryDatasetConfiguration": { "description": "The configuration of dataset in the query.", "type": "object", @@ -2466,6 +2664,7 @@ "items": { "$ref": "#/definitions/QueryFilter" }, + "x-ms-identifiers": [], "minItems": 2 }, "or": { @@ -2474,6 +2673,7 @@ "items": { "$ref": "#/definitions/QueryFilter" }, + "x-ms-identifiers": [], "minItems": 2 }, "dimensions": { @@ -2608,6 +2808,30 @@ "type": "string", "x-ms-parameter-location": "method" }, + "startDateParameter": { + "name": "startDate", + "in": "query", + "description": "Start Date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "endDateParameter": { + "name": "endDate", + "in": "query", + "description": "End Date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "Enrollment ID (Legacy BillingAccount ID)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "billingAccountIdParameter": { "name": "billingAccountId", "in": "path", @@ -2616,6 +2840,14 @@ "type": "string", "x-ms-parameter-location": "method" }, + "billingProfileIdParameter": { + "name": "billingProfileId", + "in": "path", + "description": "BillingProfile ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "managementGroupIdParameter": { "name": "managementGroupId", "in": "path", diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingAccount.json new file mode 100644 index 000000000000..d8c8f0f40faf --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingAccount.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "billingAccountId": "9845612", + "startDate": "2020-01-01", + "endDate": "2020-01-30", + "api-version": "2019-11-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/9845612/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "status": "Completed", + "properties": { + "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ", + "validUntil": "2020-09-12T02:56:55.5021869Z" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingProfile.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingProfile.json new file mode 100644 index 000000000000..a4bd203ef284 --- /dev/null +++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateReservationDetailsReportByBillingProfile.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "billingAccountId": "00000000-0000-0000-0000-000000000000", + "billingProfileId": "CZSFR-SDFXC-DSDF", + "startDate": "2020-01-01", + "endDate": "2020-01-30", + "api-version": "2019-11-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000/billingProfiles/CZSFR-SDFXC-DSDF/providers/Microsoft.CostManagement/reservationDetailsOperationResults/cf9f95c9-af6b-41dd-a622-e6f4fc60c3ee?api-version=2019-11-01", + "Retry-After": "60" + } + }, + "200": { + "body": { + "status": "Completed", + "properties": { + "reportUrl": "https://storage.blob.core.windows.net/details/20200911/00000000-0000-0000-0000-000000000000?sv=2016-05-31&sr=b&sig=jep8HT2aphfUkyERRZa5LRfd9RPzjXbzB%2F9TNiQ", + "validUntil": "2020-09-12T02:56:55.5021869Z" + } + } + } + } +} diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md index ae3b3baaba51..c9551807a56f 100644 --- a/specification/cost-management/resource-manager/readme.md +++ b/specification/cost-management/resource-manager/readme.md @@ -31,7 +31,14 @@ azure-validator: false ``` --- +### Tag: package-preview-2022-02 +These settings apply only when `--tag=package-preview-2022-02` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-02' +input-file: + - Microsoft.CostManagement/preview/2022-02-01-preview/costmanagement.pricesheets.json +``` ### Tag: package-2021-10 diff --git a/specification/cost-management/resource-manager/readme.python.md b/specification/cost-management/resource-manager/readme.python.md index 450889764cbd..3b8f979e16ee 100644 --- a/specification/cost-management/resource-manager/readme.python.md +++ b/specification/cost-management/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.costmanagement @@ -14,16 +14,12 @@ clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement/azure/mgmt/costmanagement ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/costmanagement/azure-mgmt-costmanagement -``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json index ad70c3daf258..08d1c35f9173 100644 --- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/getTenant.json @@ -21,7 +21,7 @@ "tenantId": "00000000-0000-0000-0000-000000000000" }, "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", - "name": "nickgomez97.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", "location": "United States", "tags": null } diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json index 96348c395eab..732326b046f9 100644 --- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsByResourceGroup.json @@ -22,7 +22,7 @@ "tenantId": "00000000-0000-0000-0000-000000000000" }, "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", - "name": "nickgomez97.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", "location": "United States", "tags": null } diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json index f161e5cf5266..1eb8b9bfe53f 100644 --- a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/preview/2019-01-01-preview/examples/listTenantsBySubscription.json @@ -21,7 +21,7 @@ "tenantId": "00000000-0000-0000-0000-000000000000" }, "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", - "name": "nickgomez97.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", "location": "United States", "tags": null } diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesCreate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesCreate.json new file mode 100644 index 000000000000..e6b74a9cecd9 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesCreate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2021-04-01", + "resourceName": "contoso.onmicrosoft.com", + "resource": { + "location": "United States", + "name": "contoso.onmicrosoft.com", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesDelete.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesDelete.json new file mode 100644 index 000000000000..c96ce0230076 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2021-04-01", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesGet.json new file mode 100644 index 000000000000..6981bad53871 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2021-04-01", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesResourceGroupGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesResourceGroupGet.json new file mode 100644 index 000000000000..102496683cce --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesSubscriptionGet.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesSubscriptionGet.json new file mode 100644 index 000000000000..b3ab2f43d706 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": {}, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesUpdate.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesUpdate.json new file mode 100644 index 000000000000..8fd6c98d87aa --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/GuestUsagesUpdate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882", + "resourceGroupName": "contosoResourceGroup", + "api-version": "2021-04-01", + "resourceName": "contoso.onmicrosoft.com", + "resource": { + "tags": { + "additionalProperty1": "additionalValue1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/guestUsages/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": { + "additionalProperty1": "additionalValue1" + }, + "type": "Microsoft.AzureActiveDirectory/GuestUsages", + "properties": { + "tenantId": "c963dd1a-9174-4c23-8bae-733d7f955492" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/OperationsList.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/OperationsList.json new file mode 100644 index 000000000000..ebd38f47d637 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/OperationsList.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "resourceGroupName": "cpimClient", + "api-version": "2021-04-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/write", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Directory", + "operation": "Create or update B2C Dictory resource", + "description": "Create or update B2C Dictory resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/read", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Directory", + "operation": "View B2C Directory resource", + "description": "View B2C Directory resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/b2cDirectories/delete", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Directory", + "operation": "Delete B2C Directory resource", + "description": "Delete B2C Directory resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/operations/read", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Directory", + "operation": "Read all API operations", + "description": "Read all API operations available for Microsoft.AzureActiveDirectory resource provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/register/action", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Directory", + "operation": "Register Microsoft.AzureActiveDirectory resource provider", + "description": "Register subscription for Microsoft.AzureActiveDirectory resource provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/b2ctenants/read", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "B2C Tenants", + "operation": "List all B2C tenants of the user", + "description": "Lists all B2C tenants where the user is a member" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/write", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "Guest Usages", + "operation": "Create or update Guest Usages resource", + "description": "Create or update Guest Usages resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/read", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "Guest Usages", + "operation": "View Guest Usages resource", + "description": "View Guest Usages resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.AzureActiveDirectory/guestUsages/delete", + "display": { + "provider": "Microsoft Azure Active Directory", + "resource": "Guest Usages", + "operation": "Delete Guest Usages resource", + "description": "Delete Guest Usages resource" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-available.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-available.json new file mode 100644 index 000000000000..7bc63cc7eb7b --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-available.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "checkNameAvailabilityRequestBody": { + "name": "constoso.onmicrosoft.com", + "countryCode": "US" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "nameAvailable": true, + "reason": null, + "message": null + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-taken.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-taken.json new file mode 100644 index 000000000000..6b28bf95141b --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/checkNameAvailability-taken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "checkNameAvailabilityRequestBody": { + "name": "constoso.onmicrosoft.com", + "countryCode": "US" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "A tenant with this domain name already exists. Please choose another." + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/createTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/createTenant.json new file mode 100644 index 000000000000..f7ded2700d5c --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/createTenant.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "resourceGroupName": "contosoResourceGroup", + "resourceName": "contoso.onmicrosoft.com", + "createTenantRequestBody": { + "location": "United States", + "sku": { + "name": "Standard", + "tier": "A0" + }, + "properties": { + "createTenantProperties": { + "displayName": "Contoso", + "countryCode": "US" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AzureActiveDirectory/b2cDirectories", + "sku": { + "name": "Standard", + "tier": "A0" + }, + "properties": { + "billingConfig": { + "billingType": "MAU", + "effectiveStartDateUtc": "1/1/0001 12:00:00 AM" + }, + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": null + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999", + "Retry-After": "60" + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/deleteTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/deleteTenant.json new file mode 100644 index 000000000000..919631cce77b --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/deleteTenant.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab346", + "api-version": "2021-04-01", + "resourceGroupName": "rg1", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab346/providers/Microsoft.AzureActiveDirectory/operations/99999999-9999-9999-9999-999999999999", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/getTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/getTenant.json new file mode 100644 index 000000000000..63dd694f9de2 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/getTenant.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "resourceGroupName": "contosoResourceGroup", + "resourceName": "contoso.onmicrosoft.com" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AzureActiveDirectory/b2cDirectories", + "sku": { + "name": "Standard", + "tier": "A0" + }, + "properties": { + "billingConfig": { + "billingType": "MAU", + "effectiveStartDateUtc": "1/1/0001 12:00:00 AM" + }, + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": null + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsByResourceGroup.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsByResourceGroup.json new file mode 100644 index 000000000000..e8fbaac3bd96 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "resourceGroupName": "contosoResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AzureActiveDirectory/b2cDirectories", + "sku": { + "name": "Standard", + "tier": "A0" + }, + "properties": { + "billingConfig": { + "billingType": "MAU", + "effectiveStartDateUtc": "1/1/0001 12:00:00 AM" + }, + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": null + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsBySubscription.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsBySubscription.json new file mode 100644 index 000000000000..45187c7a66f6 --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/listTenantsBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.AzureActiveDirectory/b2cDirectories", + "sku": { + "name": "Standard", + "tier": "A0" + }, + "properties": { + "billingConfig": { + "billingType": "MAU", + "effectiveStartDateUtc": "1/1/0001 12:00:00 AM" + }, + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": null + } + ] + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/updateTenant.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/updateTenant.json new file mode 100644 index 000000000000..d4ec90e20cab --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/examples/updateTenant.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2021-04-01", + "resourceGroupName": "contosoResourceGroup", + "resourceName": "contoso.onmicrosoft.com", + "updateTenantRequestBody": { + "sku": { + "name": "PremiumP1" + }, + "properties": { + "billingConfig": { + "billingType": "MAU" + } + }, + "tags": { + "key": "value" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.AzureActiveDirectory/b2cDirectories", + "sku": { + "name": "PremiumP1", + "tier": "A0" + }, + "properties": { + "billingConfig": { + "billingType": "MAU" + }, + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/contosoResourceGroup/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contoso.onmicrosoft.com", + "name": "contoso.onmicrosoft.com", + "location": "United States", + "tags": { + "key": "value" + } + } + } + } +} diff --git a/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/externalIdentities.json b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/externalIdentities.json new file mode 100644 index 000000000000..44ecd0d539fc --- /dev/null +++ b/specification/cpim/resource-manager/Microsoft.AzureActiveDirectory/stable/2021-04-01/externalIdentities.json @@ -0,0 +1,1167 @@ +{ + "swagger": "2.0", + "info": { + "title": "ExternalIdentities", + "version": "2021-04-01", + "description": "Manage the Azure resource for an Azure Active Directory B2C tenant and guestUsages resource for External Identities in Azure AD" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.AzureActiveDirectory/checkNameAvailability": { + "post": { + "tags": [ + "B2CTenants" + ], + "operationId": "B2CTenants_CheckNameAvailability", + "description": "Checks the availability and validity of a domain name for the tenant.", + "x-ms-examples": { + "Check name availability - available": { + "$ref": "./examples/checkNameAvailability-available.json" + }, + "Check name availability - taken": { + "$ref": "./examples/checkNameAvailability-taken.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityRequestBody", + "in": "body", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequestBody" + } + } + ], + "responses": { + "200": { + "description": "The result of checking for the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": { + "get": { + "description": "Get all the Azure AD B2C tenant resources in a resource group.", + "operationId": "B2CTenants_ListByResourceGroup", + "tags": [ + "B2CTenants" + ], + "x-ms-examples": { + "B2CTenants_ListByResourceGroup": { + "$ref": "./examples/listTenantsByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "List of Azure AD B2C tenants in resource group successfully retrieved.", + "schema": { + "$ref": "#/definitions/B2CTenantResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/b2cDirectories": { + "get": { + "description": "Get all the Azure AD B2C tenant resources in a subscription.", + "operationId": "B2CTenants_ListBySubscription", + "tags": [ + "B2CTenants" + ], + "x-ms-examples": { + "B2CTenants_ListBySubscription": { + "$ref": "./examples/listTenantsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure AD B2C tenant resources in subscription successfully retrieved.", + "schema": { + "$ref": "#/definitions/B2CTenantResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/b2cDirectories/{resourceName}": { + "get": { + "description": "Get the Azure AD B2C tenant resource.", + "operationId": "B2CTenants_Get", + "tags": [ + "B2CTenants" + ], + "x-ms-examples": { + "Get tenant": { + "$ref": "./examples/getTenant.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure AD B2C tenant resource successfully retrieved.", + "schema": { + "$ref": "#/definitions/B2CTenantResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "B2CTenants_Create", + "description": "Initiates an async request to create both the Azure AD B2C tenant and the corresponding Azure resource linked to a subscription.", + "x-ms-examples": { + "Create tenant": { + "$ref": "./examples/createTenant.json" + } + }, + "tags": [ + "B2CTenants" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "createTenantRequestBody", + "in": "body", + "schema": { + "$ref": "#/definitions/CreateTenantRequestBody" + } + } + ], + "responses": { + "200": { + "description": "OK - Response of the URL in Location header if the async operation is successful. Resource will be created.", + "schema": { + "$ref": "#/definitions/B2CTenantResource" + } + }, + "202": { + "description": "Azure AD B2C tenant create request accepted. The Location header indicates the URL/location in which to check to get the async status of the operation.", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Contains the number of seconds to wait before polling the location.", + "type": "string" + } + } + }, + "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" + } + }, + "patch": { + "description": "Update the Azure AD B2C tenant resource.", + "operationId": "B2CTenants_Update", + "tags": [ + "B2CTenants" + ], + "x-ms-examples": { + "Update tenant": { + "$ref": "./examples/updateTenant.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "updateTenantRequestBody", + "in": "body", + "schema": { + "$ref": "#/definitions/B2CTenantUpdateRequest" + } + } + ], + "responses": { + "200": { + "description": "Updated the Azure AD B2C tenant resource.", + "schema": { + "$ref": "#/definitions/B2CTenantResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "B2CTenants_Delete", + "description": "Initiates an async operation to delete the Azure AD B2C tenant and Azure resource. The resource deletion can only happen as the last step in [the tenant deletion process](https://aka.ms/deleteB2Ctenant). ", + "x-ms-examples": { + "Delete tenant": { + "$ref": "./examples/deleteTenant.json" + } + }, + "tags": [ + "B2CTenants" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Response of the URL in Location header if the asynchronous operation is successful. Resource will no longer exist." + }, + "202": { + "description": "Resource deletion request accepted. The Location header indicates the URL/location in which to poll for a result of the asynchronous operation. ", + "headers": { + "Location": { + "description": "Contains the URL/location which can return the deletion status.", + "type": "string" + }, + "Retry-After": { + "description": "Contains the number of seconds to wait before checking the deletion status.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent - Azure AD B2C tenant resource successfully deleted or didn't exist." + }, + "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" + } + } + }, + "/providers/Microsoft.AzureActiveDirectory/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "operations_list": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists the operations available from this provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/guestUsages/{resourceName}": { + "put": { + "operationId": "GuestUsages_Create", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Create": { + "$ref": "./examples/GuestUsagesCreate.json" + } + }, + "summary": "Creates a Guest Usages resource", + "description": "Creates a Guest Usages resource, which is used to linking a subscription to an instance of Azure AD External Identities. [Learn more](https://aka.ms/extidbilling).", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "Resource", + "in": "body", + "description": "Guest Usages resource to be created", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + } + ], + "responses": { + "200": { + "description": "The request was successful and the resource was created successfully", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "GuestUsages_Update", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Update": { + "$ref": "./examples/GuestUsagesUpdate.json" + } + }, + "summary": "Updates a Guest Usages resource", + "description": "Updates a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "ResourcePatch", + "in": "body", + "description": "Guest Usages Resource to be updated", + "schema": { + "$ref": "#/definitions/GuestUsagesResourcePatch" + } + } + ], + "responses": { + "200": { + "description": "Guest Usages Resource Successfully Updated", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "GuestUsages_Delete", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Delete": { + "$ref": "./examples/GuestUsagesDelete.json" + } + }, + "summary": "Deletes a Guest Usages resource", + "description": "Deletes a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Guest Usages resource was successfully deleted." + }, + "204": { + "description": "Guest Usages resource successfully deleted or didn't exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "GuestUsages_Get", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsages_Get": { + "$ref": "./examples/GuestUsagesGet.json" + } + }, + "summary": "Gets a Guest Usages resource", + "description": "Gets a Guest Usages resource for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "Guest Usages resource successfully retrieved", + "schema": { + "$ref": "#/definitions/GuestUsagesResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AzureActiveDirectory/guestUsages": { + "get": { + "operationId": "GuestUsages_ListBySubscription", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsagesSubscription_List": { + "$ref": "./examples/GuestUsagesSubscriptionGet.json" + } + }, + "summary": "Gets Guest Usages resources under a subscription", + "description": "Gets Guest Usages resources under a subscription for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of Guest Usages resources under the subscription successfully retrieved.", + "schema": { + "$ref": "#/definitions/GuestUsagesResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureActiveDirectory/guestUsages": { + "get": { + "operationId": "GuestUsages_ListByResourceGroup", + "tags": [ + "GuestUsages" + ], + "x-ms-examples": { + "GuestUsagesResourceGroup_List": { + "$ref": "./examples/GuestUsagesResourceGroupGet.json" + } + }, + "summary": "Gets Guest Usages resources under resource group", + "description": "Gets Guest Usages resources under a resource group for the Microsoft.AzureActiveDirectory resource provider", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "List of Guest Usages resources under the resourceGroup successfully retrieved.", + "schema": { + "$ref": "#/definitions/GuestUsagesResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + } + }, + "definitions": { + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "B2CTenantResourceProperties": { + "description": "Properties of the Azure AD B2C tenant Azure resource.", + "type": "object", + "properties": { + "billingConfig": { + "type": "object", + "description": "The billing configuration for the tenant.", + "properties": { + "billingType": { + "type": "string", + "description": "The type of billing. Will be MAU for all new customers. If 'Auths', it can be updated to 'MAU'. Cannot be changed if value is 'MAU'. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cbilling).", + "enum": [ + "MAU", + "Auths" + ], + "x-ms-enum": { + "name": "BillingType", + "modelAsString": true, + "values": [ + { + "value": "MAU", + "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model." + }, + { + "value": "Auths", + "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing." + } + ] + } + }, + "effectiveStartDateUtc": { + "type": "string", + "readOnly": true, + "description": "The data from which the billing type took effect" + } + } + }, + "tenantId": { + "type": "string", + "description": "An identifier of the Azure AD B2C tenant." + } + } + }, + "B2CResourceSKU": { + "description": "SKU properties of the Azure AD B2C tenant. Learn more about Azure AD B2C billing at [aka.ms/b2cBilling](https://aka.ms/b2cBilling).", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU for the tenant.", + "enum": [ + "Standard", + "PremiumP1", + "PremiumP2" + ], + "x-ms-enum": { + "name": "B2CResourceSKUName", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses a monthly active users (MAU) billing model." + }, + { + "value": "PremiumP1", + "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing." + }, + { + "value": "PremiumP2", + "description": "Azure AD B2C usage is billed to a linked Azure subscription and uses number of authentications based billing." + } + ] + } + }, + "tier": { + "type": "string", + "description": "The tier of the tenant.", + "enum": [ + "A0" + ], + "x-ms-enum": { + "name": "B2CResourceSKUTier", + "modelAsString": true, + "values": [ + { + "value": "A0", + "description": "The SKU tier used for all Azure AD B2C tenants." + } + ] + } + } + } + }, + "NameAvailabilityResponse": { + "description": "Response of the CheckNameAvailability operation.", + "type": "object", + "properties": { + "message": { + "type": "string", + "description": "Description of the reason if name is not available." + }, + "nameAvailable": { + "type": "boolean", + "description": "True if the name is available and can be used to create a new tenant. Otherwise false." + }, + "reason": { + "$ref": "#/definitions/NameAvailabilityReason" + } + } + }, + "NameAvailabilityReason": { + "description": "Describes the reason for the 'nameAvailable' value.", + "type": "string", + "enum": [ + "AlreadyExists", + "Invalid" + ], + "x-ms-enum": { + "name": "NameAvailabilityReasonType", + "modelAsString": true, + "values": [ + { + "value": "AlreadyExists", + "description": "The name is already in use and is therefore unavailable." + }, + { + "value": "Invalid", + "description": "The name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.)." + } + ] + } + }, + "CheckNameAvailabilityRequestBody": { + "type": "object", + "description": "The information required to check the availability of the name for the tenant.", + "required": [ + "name", + "countryCode" + ], + "properties": { + "name": { + "type": "string", + "description": "The domain name to check for availability." + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + } + } + }, + "B2CTenantUpdateRequest": { + "type": "object", + "description": "The request body to update the Azure AD B2C tenant resource.", + "properties": { + "sku": { + "$ref": "#/definitions/B2CResourceSKU" + }, + "properties": { + "$ref": "#/definitions/B2CTenantResourceProperties", + "x-ms-client-flatten": true, + "description": "The Azure AD B2C tenant resource properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource Tags" + } + } + }, + "B2CTenantResource": { + "type": "object", + "required": [ + "location", + "sku" + ], + "x-ms-azure-resource": true, + "properties": { + "type": { + "type": "string", + "description": "The type of the B2C tenant resource.", + "readOnly": true, + "enum": [ + "Microsoft.AzureActiveDirectory/b2cDirectories" + ], + "x-ms-enum": { + "name": "TypeValue", + "modelAsString": true, + "values": [ + { + "value": "Microsoft.AzureActiveDirectory/b2cDirectories", + "description": "The resource type for Azure AD B2C tenant resource." + } + ] + } + }, + "sku": { + "$ref": "#/definitions/B2CResourceSKU" + }, + "properties": { + "$ref": "#/definitions/B2CTenantResourceProperties", + "x-ms-client-flatten": true, + "description": "The Azure AD B2C tenant resource properties" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the Azure AD B2C tenant resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the Azure AD B2C tenant resource." + }, + "location": { + "type": "string", + "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource Tags" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "B2CTenantResourceList": { + "description": "The collection of Azure AD B2C tenant resources", + "type": "object", + "properties": { + "value": { + "description": "List of Azure AD B2C tenant resources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/B2CTenantResource" + } + } + } + }, + "CreateTenantRequestBody": { + "type": "object", + "description": "The information needed to create the Azure AD B2C tenant and corresponding Azure resource, which is used for billing purposes.", + "required": [ + "location", + "sku", + "properties" + ], + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "The location in which the resource is hosted and data resides. Can be one of 'United States', 'Europe', 'Asia Pacific', or 'Australia'. Refer to [this documentation](https://aka.ms/B2CDataResidency) for more information." + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "createTenantProperties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreateTenantProperties" + } + } + }, + "sku": { + "$ref": "#/definitions/B2CResourceSKU" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource Tags" + } + } + }, + "CreateTenantProperties": { + "type": "object", + "description": "These properties are used to create the Azure AD B2C tenant. These properties are not part of the Azure resource.", + "properties": { + "displayName": { + "description": "The display name of the Azure AD B2C tenant.", + "type": "string" + }, + "countryCode": { + "$ref": "#/definitions/CountryCode" + } + } + }, + "CountryCode": { + "type": "string", + "description": "Country code of Azure tenant (e.g. 'US'). Refer to [aka.ms/B2CDataResidency](https://aka.ms/B2CDataResidency) to see valid country codes and corresponding data residency locations. If you do not see a country code in an valid data residency location, choose one from the list." + }, + "GuestUsagesResourceProperties": { + "description": "Guest Usages Resource Properties", + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "An identifier for the tenant for which the resource is being created" + } + } + }, + "GuestUsagesResource": { + "description": "Guest Usages Resource", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "An identifier that represents the Guest Usages resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the Guest Usages resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of the Guest Usages resource." + }, + "location": { + "type": "string", + "description": "Location of the Guest Usages resource.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional resource provisioning properties." + }, + "properties": { + "$ref": "#/definitions/GuestUsagesResourceProperties", + "x-ms-client-flatten": true, + "description": "The Guest Usages Resource Properties" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "GuestUsagesResourcePatch": { + "description": "Guest Usages Resource for Patch", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional resource provisioning properties." + } + } + }, + "GuestUsagesResourceList": { + "description": "The collection of guest usages resources", + "type": "object", + "properties": { + "value": { + "description": "List of guest usages resources", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/GuestUsagesResource" + } + } + } + }, + "CloudError": { + "x-ms-external": true, + "type": "object", + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" + } + }, + "description": "An error response for a resource management request." + } + }, + "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." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The initial domain name of the Azure AD B2C tenant.", + "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." + } + } +} diff --git a/specification/cpim/resource-manager/readme.csharp.md b/specification/cpim/resource-manager/readme.csharp.md index 3fc9b660693e..14ba5e4c2135 100644 --- a/specification/cpim/resource-manager/readme.csharp.md +++ b/specification/cpim/resource-manager/readme.csharp.md @@ -5,4 +5,4 @@ csharp: clear-output-folder: true client-side-validation: false namespace: Microsoft.AzureADB2C - output-folder: $(csharp-sdks-folder)/azureadb2c/management/Microsoft.AzureADB2C/GeneratedProtocol \ No newline at end of file + output-folder: $(csharp-sdks-folder)/azureadexternalidentities/management/Microsoft.AzureADExternalIdentities/Generated \ No newline at end of file diff --git a/specification/cpim/resource-manager/readme.go.md b/specification/cpim/resource-manager/readme.go.md index eb6935b213df..d2734e4c22f7 100644 --- a/specification/cpim/resource-manager/readme.go.md +++ b/specification/cpim/resource-manager/readme.go.md @@ -2,10 +2,19 @@ These settings apply only when `--go` is specified on the command line. -```yaml $(go) + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/azureadexternalidentities/armazureadexternalidentities +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` + +``` yaml $(go) && !$(track2) go: license-header: MICROSOFT_MIT_NO_VERSION - namespace: azureadb2c + namespace: azureadexternalidentities clear-output-folder: true ``` @@ -13,17 +22,17 @@ go: ```yaml $(go) && $(multiapi) batch: + - tag: package-2021-04-01 - tag: package-2020-05-01-preview - tag: package-2019-01-01-preview ``` +### Tag: package-2021-04-01 and go -### Tag: package-2019-01-01-preview and go - -These settings apply only when `--tag=package-2019-01-01-preview --go` is specified on the command line. +These settings apply only when `--tag=package-2021-04-01 --go` is specified on the command line. Please also specify `--go-sdk-folder=`. -```yaml $(tag) == 'package-2019-01-01-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/azureadb2c/mgmt/2019-01-01-preview/$(namespace) +```yaml $(tag) == 'package-2021-04-01' && $(go) +output-folder: $(go-sdk-folder)/services/azureadexternalidentities/mgmt/2021-04-01/$(namespace) ``` ### Tag: package-2020-05-01-preview and go @@ -32,5 +41,14 @@ These settings apply only when `--tag=package-2020-05-01-preview --go` is specif Please also specify `--go-sdk-folder=`. ```yaml $(tag) == 'package-2020-05-01-preview' && $(go) -output-folder: $(go-sdk-folder)/services/preview/azureadb2c/mgmt/2020-05-01-preview/$(namespace) +output-folder: $(go-sdk-folder)/services/preview/azureadexternalidentities/mgmt/2020-05-01-preview/$(namespace) +``` + +### Tag: package-2019-01-01-preview and go + +These settings apply only when `--tag=package-2019-01-01-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2019-01-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/azureadexternalidentities/mgmt/2019-01-01-preview/$(namespace) ``` diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md index 19c3fefa391b..ba8d9695d67a 100644 --- a/specification/cpim/resource-manager/readme.md +++ b/specification/cpim/resource-manager/readme.md @@ -2,7 +2,7 @@ > see https://aka.ms/autorest -This is the AutoRest configuration file for azureadb2c. +This is the AutoRest configuration file for azureadexternalidentities. ## Getting Started @@ -22,13 +22,13 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor ### Basic Information -These are the global settings for the azureadb2c APIs. +These are the global settings for the external identities APIs. ```yaml -title: CPIMConfigurationClient -description: CPIM Configuration Client +title: ExternalIdentitiesConfigurationClient +description: External Identities Configuration Client openapi-type: arm -tag: package-2019-01-01-preview +tag: package-2021-04-01 ``` ### Tag: package-2019-01-01-preview @@ -49,6 +49,16 @@ input-file: - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json ``` +### Tag: package-2021-04-01 + +These settings apply only when `--tag=package-2021-04-01` is specified on the command line. + +```yaml $(tag) == 'package-2021-04-01' +input-file: + - Microsoft.AzureActiveDirectory/stable/2021-04-01/externalIdentities.json +``` + + --- # Code Generation @@ -62,6 +72,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-go-track2 ``` ## Go diff --git a/specification/cpim/resource-manager/readme.python.md b/specification/cpim/resource-manager/readme.python.md index 16ca755ad519..1f65eb4ae7cf 100644 --- a/specification/cpim/resource-manager/readme.python.md +++ b/specification/cpim/resource-manager/readme.python.md @@ -5,10 +5,10 @@ These settings apply only when `--track2` is specified on the command line. ```yaml $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -package-name: azure-mgmt-azureadb2c +package-name: azure-mgmt-azureadexternalidentities package-version: 1.0.0b2 no-namespace-folders: true -python-base-folder: azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c +python-base-folder: azureadexternalidentities/azure-mgmt-azureadexternalidentities/azure/mgmt/azureadexternalidentities ``` ### Python multi-api @@ -24,11 +24,20 @@ batch: ``` ``` yaml $(multiapiscript) -output-folder: $(python-sdks-folder)/azureadb2c/azure-mgmt-azureadb2c/azure/mgmt/azureadb2c/ +output-folder: $(python-sdks-folder)/azureadexternalidentities/azure-mgmt-azureadexternalidentities/azure/mgmt/azureadexternalidentities/ clear-output-folder: false perform-load: false ``` +### Tag: package-2021-04-01 and python + +These settings apply only when `--tag=package-2021-04-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. + +```yaml $(tag) =='package-2021-04-01' +namespace: $(python-base-namespace).v2021_04_01 +output-folder: $(python-sdks-folder)/$(python-base-folder)/v2021_04_01 +``` + ### Tag: package-2020-05-01-preview and python These settings apply only when `--tag=package-2020-05-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json index 62cfd112c61a..016958a4253f 100644 --- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json +++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json @@ -293,7 +293,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -561,6 +564,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "A list of error details about the error." } } 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 ba648e85694b..d3822b1b893e 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 @@ -110,14 +110,14 @@ } ], "responses": { - "201": { - "description": "Created response definition. Resource has been created", + "200": { + "description": "OK response definition. Resource already exists and the changes have been accepted", "schema": { "$ref": "#/definitions/CustomRPManifest" } }, - "200": { - "description": "OK response definition. Resource already exists and the changes have been accepted", + "201": { + "description": "Created response definition. Resource has been created", "schema": { "$ref": "#/definitions/CustomRPManifest" } @@ -424,14 +424,14 @@ } ], "responses": { - "201": { - "description": "Created. Association has been created.", + "200": { + "description": "OK. Association already exists and the changes have been accepted.", "schema": { "$ref": "#/definitions/Association" } }, - "200": { - "description": "OK. Association already exists and the changes have been accepted.", + "201": { + "description": "Created. Association has been created.", "schema": { "$ref": "#/definitions/Association" } @@ -715,21 +715,30 @@ "description": "A list of actions that the custom resource provider implements.", "items": { "$ref": "#/definitions/CustomRPActionRouteDefinition" - } + }, + "x-ms-identifiers": [ + "name", + "endpoint" + ] }, "resourceTypes": { "type": "array", "description": "A list of resource types that the custom resource provider implements.", "items": { "$ref": "#/definitions/CustomRPResourceTypeRouteDefinition" - } + }, + "x-ms-identifiers": [ + "name", + "endpoint" + ] }, "validations": { "type": "array", "description": "A list of validations to run on the custom resource provider's requests.", "items": { "$ref": "#/definitions/CustomRPValidations" - } + }, + "x-ms-identifiers": [] }, "provisioningState": { "type": "string", @@ -766,6 +775,9 @@ "items": { "$ref": "#/definitions/ResourceProviderOperation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by this resource provider." }, "nextLink": { @@ -949,6 +961,7 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/customproviders/resource-manager/readme.python.md b/specification/customproviders/resource-manager/readme.python.md index f30be160c48e..a0f70bcb4817 100644 --- a/specification/customproviders/resource-manager/readme.python.md +++ b/specification/customproviders/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.customproviders @@ -12,12 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` - -```yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/customproviders/azure-mgmt-customproviders/azure/mgmt/customproviders ``` diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Create.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Create.json new file mode 100644 index 000000000000..7412cdfc85b4 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Create.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "requestBodyParameters": { + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Accepted", + "zoneRedundancy": "Enabled" + }, + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Accepted", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Delete.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Delete.json new file mode 100644 index 000000000000..82362f6340c1 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Get.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Get.json new file mode 100644 index 000000000000..d02546640831 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + } + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_List.json new file mode 100644 index 000000000000..de3a486126f3 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_ListByResourceGroup.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_ListByResourceGroup.json new file mode 100644 index 000000000000..a6b44de2051e --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_ListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "tags": { + "Environment": "Dev" + }, + "location": "West US" + } + ] + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Update.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Update.json new file mode 100644 index 000000000000..05aa4525e809 --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Grafana_Update.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "workspaceName": "myWorkspace", + "requestBodyParameters": { + "tags": { + "Environment": "Dev 2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/grafana/myWorkspace", + "name": "myWorkspace", + "type": "Microsoft.Dashboard/grafana", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "grafanaVersion": "7.1", + "endpoint": "my.azgrafana.io", + "zoneRedundancy": "Enabled" + }, + "tags": { + "Environment": "Dev 2" + }, + "location": "West US" + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Operations_List.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..cf2cb2e7a4ad --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Dashboard/grafana/write", + "display": { + "provider": "Microsoft.Dashboard", + "resource": "grafana", + "operation": "write", + "description": "Write grafana workspace resource" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/grafana.json b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/grafana.json new file mode 100644 index 000000000000..0769f8e42c8c --- /dev/null +++ b/specification/dashboard/resource-manager/Microsoft.Dashboard/preview/2021-09-01-preview/grafana.json @@ -0,0 +1,755 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Dashboard", + "description": "The Microsoft.Dashboard Rest API spec.", + "version": "2021-09-01-preview" + }, + "paths": { + "/providers/Microsoft.Dashboard/operations": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all available API operations provided by Microsoft.Dashboard.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all available API operations provided by Microsoft.Dashboard.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Dashboard/grafana": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all resources of workspaces for Grafana under the specified subscription.", + "operationId": "Grafana_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all resources of workspaces for Grafana under the specified subscription.", + "schema": { + "$ref": "#/definitions/ManagedGrafanaListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Grafana_List": { + "$ref": "./examples/Grafana_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "List all resources of workspaces for Grafana under the specified resource group.", + "operationId": "Grafana_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return all resources of workspaces for Grafana under the given resource group.", + "schema": { + "$ref": "#/definitions/ManagedGrafanaListResponse" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Grafana_ListByResourceGroup": { + "$ref": "./examples/Grafana_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Dashboard/grafana/{workspaceName}": { + "get": { + "tags": [ + "GrafanaResource" + ], + "summary": "Get the properties of a specific workspace for Grafana resource.", + "operationId": "Grafana_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Return the properties of the required workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Grafana_Get": { + "$ref": "./examples/Grafana_Get.json" + } + } + }, + "put": { + "tags": [ + "GrafanaResource" + ], + "summary": "Create or update a workspace for Grafana resource. This API is idempotent, so user can either create a new grafana or update an existing grafana.", + "operationId": "Grafana_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully create a workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "201": { + "description": "Created. The operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Grafana_Create": { + "$ref": "./examples/Grafana_Create.json" + } + } + }, + "patch": { + "tags": [ + "GrafanaResource" + ], + "summary": "Update a workspace for Grafana resource.", + "operationId": "Grafana_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "requestBodyParameters", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedGrafanaUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. Successfully update the workspace for Grafana resource.", + "schema": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Grafana_Update": { + "$ref": "./examples/Grafana_Update.json" + } + } + }, + "delete": { + "tags": [ + "GrafanaResource" + ], + "summary": "Delete a workspace for Grafana resource.", + "operationId": "Grafana_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The workspace for Grafana resource is deleted." + }, + "202": { + "description": "Accepted. The operation is accepted and will be completed asynchronously." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Grafana_Delete": { + "$ref": "./examples/Grafana_Delete.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "enum": [ + "Internal" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ActionType" + } + }, + "CreatedByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CreatedByType" + } + }, + "ManagedGrafana": { + "type": "object", + "description": "The grafana resource type.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "description": "ARM id of the grafana resource", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the grafana resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the grafana resource.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The Sku of the grafana resource.", + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "description": "Properties specific to the grafana resource.", + "$ref": "#/definitions/ManagedGrafanaProperties" + }, + "identity": { + "description": "The managed identity of the grafana resource.", + "$ref": "#/definitions/ManagedIdentity" + }, + "systemData": { + "description": "The system meta data relating to this grafana resource.", + "$ref": "#/definitions/SystemData" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "The tags for grafana resource." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the grafana resource lives" + } + } + }, + "ManagedGrafanaListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedGrafana" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "ManagedGrafanaProperties": { + "type": "object", + "description": "Properties specific to the grafana resource.", + "properties": { + "provisioningState": { + "description": "Provisioning state of the resource.", + "$ref": "#/definitions/ProvisioningState" + }, + "grafanaVersion": { + "description": "The Grafana software version.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The endpoint of the Grafana instance.", + "type": "string", + "readOnly": true + }, + "zoneRedundancy": { + "$ref": "#/definitions/ZoneRedundancy" + } + } + }, + "ManagedGrafanaUpdateParameters": { + "type": "object", + "description": "The parameters for a PATCH request to a grafana resource.", + "properties": { + "identity": { + "description": "The managed identity of the grafana resource.", + "$ref": "#/definitions/ManagedIdentity" + }, + "tags": { + "type": "object", + "description": "The new tags of the grafana resource.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "LastModifiedByType": { + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "LastModifiedByType" + } + }, + "ManagedIdentity": { + "description": "The managed identity of a resource.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityTypes" + }, + "principalId": { + "description": "The principal id of the system assigned identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant id of the system assigned identity.", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "description": "Dictionary of user assigned identities.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "ManagedIdentityTypes": { + "description": "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 resource.", + "enum": [ + "None", + "SystemAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "OperationDisplay": { + "description": "Localized display information for this particular operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name, i.e., Microsoft.Dashboard.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly name of the resource type related to this operation, e.g., 'grafana'.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the operation, e.g., 'Read grafana'.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "A list of REST API operations supported by Microsoft.Dashboard provider. It contains an URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the Microsoft.Dashboard provider.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/OperationResult" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "OperationResult": { + "description": "A Microsoft.Dashboard REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name, i.e., {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation applies to data-plane. Set \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "$ref": "#/definitions/Origin" + }, + "actionType": { + "$ref": "#/definitions/ActionType" + } + } + }, + "Origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system", + "user,system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "Origin" + } + }, + "ProvisioningState": { + "enum": [ + "Accepted", + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled", + "Deleted", + "NotSpecified" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningState" + } + }, + "ResourceSku": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "SystemData": { + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string" + }, + "createdByType": { + "$ref": "#/definitions/CreatedByType" + }, + "createdAt": { + "format": "date-time", + "type": "string" + }, + "lastModifiedBy": { + "type": "string" + }, + "lastModifiedByType": { + "$ref": "#/definitions/LastModifiedByType" + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string" + } + } + }, + "ZoneRedundancy": { + "enum": [ + "Disabled", + "Enabled" + ], + "default": "Disabled", + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ZoneRedundancy" + } + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string", + "readOnly": true + } + } + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "parameters": { + "WorkspaceNameParameter": { + "in": "path", + "name": "workspaceName", + "description": "The workspace name of Azure Managed Grafana.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "default": "2021-09-01-preview", + "description": "The API version to be used with the HTTP request (e.g. YYYY-MM-DD).", + "minLength": 1 + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "minLength": 1, + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive." + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "client", + "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + } + } +} diff --git a/specification/dashboard/resource-manager/readme.csharp.md b/specification/dashboard/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..79d82b928253 --- /dev/null +++ b/specification/dashboard/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.Dashboard + output-folder: $(csharp-sdks-folder)/dashboard/Microsoft.Azure.Management.Dashboard/src/Generated +``` diff --git a/specification/dashboard/resource-manager/readme.go.md b/specification/dashboard/resource-manager/readme.go.md new file mode 100644 index 000000000000..6f4c7811b182 --- /dev/null +++ b/specification/dashboard/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/dashboard/armdashboard +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/dashboard/resource-manager/readme.java.md b/specification/dashboard/resource-manager/readme.java.md new file mode 100644 index 000000000000..8f81a1c9b7cc --- /dev/null +++ b/specification/dashboard/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.dashboard +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-dashboard +``` + +### Java multi-api + +``` yaml $(java) && $(multiapi) +batch: + - tag: package-2021-09-01-preview +``` + +### Tag: package-2021-09-01-preview and java + +These settings apply only when `--tag=package-2021-09-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-09-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.dashboard.v2021_09_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/dashboard/mgmt-v2021_09_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/dashboard/resource-manager/readme.md b/specification/dashboard/resource-manager/readme.md new file mode 100644 index 000000000000..89d375ae98eb --- /dev/null +++ b/specification/dashboard/resource-manager/readme.md @@ -0,0 +1,53 @@ +# Dashboard + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Dashboard. + +--- +## Getting Started +To build the SDK for Dashboard, 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 Dashboard API. + +```yaml +title: DashboardManagementClient +openapi-type: arm +openapi-subtype: rpaas +tag: package-2021-09-01-preview +``` + +### Tag: package-2021-09-01-preview + +These settings apply only when `--tag=package-2021-09-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09-01-preview' +input-file: + - Microsoft.Dashboard/preview/2021-09-01-preview/grafana.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-track2 + - repo: azure-sdk-for-go-track2 + - repo: azure-resource-manager-schemas + - repo: azure-sdk-for-js + - repo: azure-sdk-for-java +``` diff --git a/specification/dashboard/resource-manager/readme.python.md b/specification/dashboard/resource-manager/readme.python.md new file mode 100644 index 000000000000..ef9c6dd005eb --- /dev/null +++ b/specification/dashboard/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-dashboard +namespace: azure.mgmt.dashboard +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/dashboard/azure-mgmt-dashboard/azure/mgmt/dashboard +``` diff --git a/specification/dashboard/resource-manager/readme.typescript.md b/specification/dashboard/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..f4c6f6b22555 --- /dev/null +++ b/specification/dashboard/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-dashboard" + output-folder: "$(typescript-sdks-folder)/sdk/dashboard/arm-dashboard" + payload-flattening-threshold: 1 + generate-metadata: true +``` diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json index 4d18086b9234..3d9465803f2b 100644 --- a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-05-01/databox.json @@ -1021,6 +1021,9 @@ "items": { "$ref": "#/definitions/ShareCredentialDetails" }, + "x-ms-identifiers": [ + "shareName" + ], "readOnly": true } } @@ -1097,6 +1100,7 @@ "items": { "$ref": "#/definitions/ShippingAddress" }, + "x-ms-identifiers": [], "readOnly": true } }, @@ -1231,6 +1235,9 @@ "items": { "$ref": "#/definitions/SkuInformation" }, + "x-ms-identifiers": [ + "sku" + ], "readOnly": true }, "nextLink": { @@ -1328,6 +1335,10 @@ "items": { "$ref": "#/definitions/CloudError" }, + "x-ms-identifiers": [ + "message", + "target" + ], "readOnly": true }, "additionalInfo": { @@ -1336,6 +1347,7 @@ "items": { "$ref": "#/definitions/AdditionalErrorInfo" }, + "x-ms-identifiers": [], "readOnly": true } }, @@ -1378,7 +1390,8 @@ "type": "array", "items": { "$ref": "#/definitions/NotificationPreference" - } + }, + "x-ms-identifiers": [] } } }, @@ -1866,6 +1879,9 @@ "items": { "$ref": "#/definitions/DataBoxDiskCopyProgress" }, + "x-ms-identifiers": [ + "serialNumber" + ], "readOnly": true }, "disksAndSizeDetails": { @@ -1899,6 +1915,9 @@ "items": { "$ref": "#/definitions/DiskSecret" }, + "x-ms-identifiers": [ + "diskSerialNumber" + ], "readOnly": true }, "passKey": { @@ -1969,6 +1988,10 @@ "items": { "$ref": "#/definitions/CopyProgress" }, + "x-ms-identifiers": [ + "dataAccountType", + "accountId" + ], "readOnly": true }, "devicePassword": { @@ -1993,6 +2016,9 @@ "items": { "$ref": "#/definitions/DataBoxHeavySecret" }, + "x-ms-identifiers": [ + "deviceSerialNumber" + ], "readOnly": true } }, @@ -2018,6 +2044,9 @@ "items": { "$ref": "#/definitions/ApplianceNetworkConfiguration" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "encodedValidationCertPubKey": { @@ -2031,6 +2060,9 @@ "items": { "$ref": "#/definitions/AccountCredentialDetails" }, + "x-ms-identifiers": [ + "accountName" + ], "readOnly": true } } @@ -2054,6 +2086,10 @@ "items": { "$ref": "#/definitions/CopyProgress" }, + "x-ms-identifiers": [ + "dataAccountType", + "accountId" + ], "readOnly": true }, "devicePassword": { @@ -2077,7 +2113,10 @@ "type": "array", "items": { "$ref": "#/definitions/DataBoxSecret" - } + }, + "x-ms-identifiers": [ + "deviceSerialNumber" + ] } }, "x-ms-discriminator-value": "DataBox" @@ -2117,6 +2156,9 @@ "items": { "$ref": "#/definitions/ApplianceNetworkConfiguration" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "encodedValidationCertPubKey": { @@ -2130,6 +2172,9 @@ "items": { "$ref": "#/definitions/AccountCredentialDetails" }, + "x-ms-identifiers": [ + "accountName" + ], "readOnly": true } } @@ -2223,14 +2268,16 @@ "type": "array", "items": { "$ref": "#/definitions/DataExportDetails" - } + }, + "x-ms-identifiers": [] }, "dataImportDetails": { "description": "List of DataTransfer details to be used to import data to azure.", "type": "array", "items": { "$ref": "#/definitions/DataImportDetails" - } + }, + "x-ms-identifiers": [] }, "deviceType": { "description": "Device type.", @@ -2440,7 +2487,8 @@ "type": "array", "items": { "$ref": "#/definitions/Details" - } + }, + "x-ms-identifiers": [] }, "target": { "type": "string" @@ -2537,6 +2585,9 @@ "items": { "$ref": "#/definitions/JobStages" }, + "x-ms-identifiers": [ + "stageName" + ], "readOnly": true }, "contactDetails": { @@ -2562,14 +2613,16 @@ "type": "array", "items": { "$ref": "#/definitions/DataImportDetails" - } + }, + "x-ms-identifiers": [] }, "dataExportDetails": { "description": "Details of the data to be exported from azure.", "type": "array", "items": { "$ref": "#/definitions/DataExportDetails" - } + }, + "x-ms-identifiers": [] }, "jobDetailsType": { "description": "Indicates the type of job details.", @@ -2608,6 +2661,7 @@ "items": { "$ref": "#/definitions/CopyLogDetails" }, + "x-ms-identifiers": [], "readOnly": true }, "reverseShipmentLabelSasKey": { @@ -3445,6 +3499,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "nextLink": { @@ -4182,6 +4239,9 @@ "items": { "$ref": "#/definitions/DataLocationToServiceLocationMap" }, + "x-ms-identifiers": [ + "dataLocation" + ], "readOnly": true }, "capacity": { @@ -4195,6 +4255,9 @@ "items": { "$ref": "#/definitions/SkuCost" }, + "x-ms-identifiers": [ + "meterId" + ], "readOnly": true }, "apiVersions": { @@ -4509,7 +4572,10 @@ "type": "array", "items": { "$ref": "#/definitions/FilterFileDetails" - } + }, + "x-ms-identifiers": [ + "filterFilePath" + ] } } }, @@ -4585,6 +4651,7 @@ "items": { "$ref": "#/definitions/TransportAvailabilityDetails" }, + "x-ms-identifiers": [], "readOnly": true } } @@ -4645,7 +4712,10 @@ "type": "array", "items": { "$ref": "#/definitions/UnencryptedCredentials" - } + }, + "x-ms-identifiers": [ + "jobName" + ] }, "nextLink": { "description": "Link for the next set of unencrypted credentials.", @@ -4898,7 +4968,8 @@ "type": "array", "items": { "$ref": "#/definitions/ValidationInputRequest" - } + }, + "x-ms-identifiers": [] } }, "discriminator": "validationCategory" @@ -4953,6 +5024,7 @@ "items": { "$ref": "#/definitions/ValidationInputResponse" }, + "x-ms-identifiers": [], "readOnly": true } } diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/databox.json new file mode 100644 index 000000000000..3946ea54fa62 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/databox.json @@ -0,0 +1,6424 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "DataBoxManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DataBox/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "This method gets all the operations.", + "operationId": "Operations_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The supported operations list.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsGet": { + "$ref": "./examples/OperationsGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the subscription.", + "operationId": "Jobs_List", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs available under the subscription.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsList": { + "$ref": "./examples/JobsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/mitigate": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Request to mitigate for a given job", + "operationId": "Mitigate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "mitigateJobRequest", + "in": "body", + "description": "Mitigation Request", + "required": true, + "schema": { + "$ref": "#/definitions/MitigateJobRequest" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "Mitigate": { + "$ref": "./examples/JobMitigate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/markDevicesShipped": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Request to mark devices for a given job as shipped", + "operationId": "Jobs_MarkDevicesShipped", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "markDevicesShippedRequest", + "in": "body", + "description": "Mark Devices Shipped Request", + "required": true, + "schema": { + "$ref": "#/definitions/MarkDevicesShippedRequest" + } + } + ], + "responses": { + "204": { + "description": "Success" + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "MarkDevicesShipped": { + "$ref": "./examples/MarkDevicesShipped.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus": { + "post": { + "tags": [ + "Service" + ], + "description": "This method provides the list of available skus for the given subscription, resource group and location.", + "operationId": "Service_ListAvailableSkusByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "availableSkuRequest", + "in": "body", + "description": "Filters for showing the available skus.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableSkuRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of available skus under Resource group.", + "schema": { + "$ref": "#/definitions/AvailableSkusResult" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AvailableSkusPost": { + "$ref": "./examples/AvailableSkusPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress": { + "post": { + "tags": [ + "Service" + ], + "description": "[DEPRECATED NOTICE: This operation will soon be removed]. This method validates the customer shipping address and provide alternate addresses if any.", + "operationId": "Service_ValidateAddress", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validateAddress", + "in": "body", + "description": "Shipping address of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateAddress" + } + } + ], + "responses": { + "200": { + "description": "The valid and alternate addresses.", + "schema": { + "$ref": "#/definitions/AddressValidationOutput" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "deprecated": true, + "x-ms-examples": { + "ValidateAddressPost": { + "$ref": "./examples/ValidateAddressPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under resource group.", + "operationId": "Service_ValidateInputsByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputsByResourceGroup": { + "$ref": "./examples/ValidateInputsByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs": { + "post": { + "tags": [ + "Service" + ], + "description": "This method does all necessary pre-job creation validation under subscription.", + "operationId": "Service_ValidateInputs", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "validationRequest", + "in": "body", + "description": "Inputs of the customer.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidationRequest" + } + } + ], + "responses": { + "200": { + "description": "The validation status and responses of each validating parameter.", + "schema": { + "$ref": "#/definitions/ValidationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "ValidateInputs": { + "$ref": "./examples/ValidateInputs.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Lists all the jobs available under the given resource group.", + "operationId": "Jobs_ListByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$skipToken", + "in": "query", + "description": "$skipToken is supported on Get list of jobs, which provides the next page in the list of jobs.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "List of jobs by resource group.", + "schema": { + "$ref": "#/definitions/JobResourceList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "JobsListByResourceGroup": { + "$ref": "./examples/JobsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}": { + "get": { + "tags": [ + "Jobs" + ], + "description": "Gets information about the specified job.", + "operationId": "Jobs_Get", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$expand", + "in": "query", + "description": "$expand is supported on details parameter for job, which provides details on the job stages.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsGet": { + "$ref": "./examples/JobsGet.json" + }, + "JobsGetCmk": { + "$ref": "./examples/JobsGetCmk.json" + }, + "JobsGetExport": { + "$ref": "./examples/JobsGetExport.json" + }, + "JobsGetCopyStuck": { + "$ref": "./examples/JobsGetCopyStuck.json" + }, + "JobsGetWaitingForAction": { + "$ref": "./examples/JobsGetWaitingForAction.json" + } + } + }, + "put": { + "tags": [ + "Jobs" + ], + "description": "Creates a new job with the specified parameters. Existing job cannot be updated with this API and should instead be updated with the Update job API.", + "operationId": "Jobs_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "jobResource", + "in": "body", + "description": "Job details from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResource" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for create Job." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsCreate": { + "$ref": "./examples/JobsCreate.json" + }, + "JobsCreateDevicePassword": { + "$ref": "./examples/JobsCreateDevicePassword.json" + }, + "JobsCreateExport": { + "$ref": "./examples/JobsCreateExport.json" + }, + "JobsCreateDoubleEncryption": { + "$ref": "./examples/JobsCreateDoubleEncryption.json" + }, + "JobsCreateWithUserAssignedIdentity": { + "$ref": "./examples/JobsCreateWithUserAssignedIdentity.json" + } + } + }, + "delete": { + "tags": [ + "Jobs" + ], + "description": "Deletes a job.", + "operationId": "Jobs_Delete", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Just for swagger we are adding this status code." + }, + "202": { + "description": "Accepted request for delete Job." + }, + "204": { + "description": "Job deleted." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsDelete": { + "$ref": "./examples/JobsDelete.json" + } + } + }, + "patch": { + "tags": [ + "Jobs" + ], + "description": "Updates the properties of an existing job.", + "operationId": "Jobs_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "If-Match", + "in": "header", + "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the job on the server matches this value.", + "type": "string" + }, + { + "name": "jobResourceUpdateParameter", + "in": "body", + "description": "Job update parameters from request body.", + "required": true, + "schema": { + "$ref": "#/definitions/JobResourceUpdateParameter" + } + } + ], + "responses": { + "200": { + "description": "Job object.", + "schema": { + "$ref": "#/definitions/JobResource" + } + }, + "202": { + "description": "Accepted request for job updated." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "JobsPatch": { + "$ref": "./examples/JobsPatch.json" + }, + "JobsPatchCmk": { + "$ref": "./examples/JobsPatchCmk.json" + }, + "JobsPatchSystemAssignedToUserAssigned": { + "$ref": "./examples/JobsPatchSystemAssignedToUserAssigned.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp": { + "post": { + "tags": [ + "Jobs" + ], + "description": "Book shipment pick up.", + "operationId": "Jobs_BookShipmentPickUp", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "shipmentPickUpRequest", + "in": "body", + "description": "Details of shipment pick up request.", + "required": true, + "schema": { + "$ref": "#/definitions/ShipmentPickUpRequest" + } + } + ], + "responses": { + "200": { + "description": "Booked shipment pick up successfully.", + "schema": { + "$ref": "#/definitions/ShipmentPickUpResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "BookShipmentPickupPost": { + "$ref": "./examples/BookShipmentPickupPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel": { + "post": { + "tags": [ + "Jobs" + ], + "description": "CancelJob.", + "operationId": "Jobs_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "cancellationReason", + "in": "body", + "description": "Reason for cancellation.", + "required": true, + "schema": { + "$ref": "#/definitions/CancellationReason" + } + } + ], + "responses": { + "204": { + "description": "Job cancelled." + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "JobsCancelPost": { + "$ref": "./examples/JobsCancelPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials": { + "post": { + "tags": [ + "Jobs" + ], + "description": "This method gets the unencrypted secrets related to the job.", + "operationId": "Jobs_ListCredentials", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/jobNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of unencrypted credentials of the job.", + "schema": { + "$ref": "#/definitions/UnencryptedCredentialsList" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "JobsListCredentials": { + "$ref": "./examples/JobsListCredentials.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Subscription level.", + "operationId": "Service_RegionConfiguration", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfiguration": { + "$ref": "./examples/RegionConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration": { + "post": { + "tags": [ + "Service" + ], + "description": "This API provides configuration details specific to given region/location at Resource group level.", + "operationId": "Service_RegionConfigurationByResourceGroup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "regionConfigurationRequest", + "in": "body", + "description": "Request body to get the configuration for the region at resource group level.", + "required": true, + "schema": { + "$ref": "#/definitions/RegionConfigurationRequest" + } + } + ], + "responses": { + "200": { + "description": "Region configuration response.", + "schema": { + "$ref": "#/definitions/RegionConfigurationResponse" + } + }, + "default": { + "description": "Error response describing reason for operation failure.", + "schema": { + "$ref": "#/definitions/ApiError" + } + } + }, + "x-ms-examples": { + "RegionConfigurationByResourceGroup": { + "$ref": "./examples/RegionConfigurationByResourceGroup.json" + } + } + } + } + }, + "definitions": { + "AccountCredentialDetails": { + "description": "Credential details of the account.", + "type": "object", + "properties": { + "accountName": { + "description": "Name of the account.", + "type": "string", + "readOnly": true + }, + "dataAccountType": { + "description": "Type of the account.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountConnectionString": { + "description": "Connection string of the account endpoint to use the account as a storage endpoint on the device.", + "type": "string", + "readOnly": true + }, + "shareCredentialDetails": { + "description": "Per share level unencrypted access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/ShareCredentialDetails" + }, + "readOnly": true + } + } + }, + "AdditionalErrorInfo": { + "description": "This class represents additional info which Resource Providers pass when an error occurs.", + "properties": { + "info": { + "description": "Additional information of the type of error.", + "type": "object" + }, + "type": { + "description": "Type of error (e.g. CustomerIntervention, PolicyViolation, SecurityViolation).", + "type": "string" + } + }, + "type": "object" + }, + "AddressValidationOutput": { + "description": "Output of the address validation api.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddressValidationProperties", + "description": "The address validation properties.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "AddressValidationProperties": { + "description": "The address validation output.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "validationStatus": { + "description": "The address validation status.", + "enum": [ + "Valid", + "Invalid", + "Ambiguous" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Address provided is valid." + }, + { + "value": "Invalid", + "description": "Address provided is invalid or not supported." + }, + { + "value": "Ambiguous", + "description": "Address provided is ambiguous, please choose one of the alternate addresses returned." + } + ] + } + }, + "alternateAddresses": { + "description": "List of alternate addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/ShippingAddress" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ApiError": { + "required": [ + "error" + ], + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "ApplianceNetworkConfiguration": { + "description": "The Network Adapter configuration of a DataBox.", + "type": "object", + "properties": { + "name": { + "description": "Name of the network.", + "type": "string", + "readOnly": true + }, + "macAddress": { + "description": "Mac Address.", + "type": "string", + "readOnly": true + } + } + }, + "ArmBaseObject": { + "description": "Base class for all objects under resource.", + "type": "object", + "properties": { + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + } + } + }, + "AvailableSkuRequest": { + "description": "The filters for showing the available skus.", + "required": [ + "transferType", + "country", + "location" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuNames": { + "description": "Sku Names to filter for available skus", + "type": "array", + "items": { + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk" + } + ] + } + } + } + } + }, + "AvailableSkusResult": { + "description": "The available skus operation response.", + "type": "object", + "properties": { + "value": { + "description": "List of available skus.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of skus.", + "type": "string" + } + } + }, + "AzureFileFilterDetails": { + "description": "Filter details to transfer Azure files", + "type": "object", + "properties": { + "filePrefixList": { + "description": "Prefix list of the Azure files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "filePathList": { + "description": "List of full path of the files to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "fileShareList": { + "description": "List of file shares to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BlobFilterDetails": { + "description": "Filter details to transfer Azure Blobs", + "type": "object", + "properties": { + "blobPrefixList": { + "description": "Prefix list of the Azure blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "blobPathList": { + "description": "List of full path of the blobs to be transferred.", + "type": "array", + "items": { + "type": "string" + } + }, + "containerList": { + "description": "List of blob containers to be transferred.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CancellationReason": { + "description": "Reason for cancellation.", + "required": [ + "reason" + ], + "type": "object", + "properties": { + "reason": { + "description": "Reason for cancellation.", + "type": "string" + } + } + }, + "CloudError": { + "description": "Provides additional information about an http error response.", + "properties": { + "additionalInfo": { + "description": "Gets or sets additional error info.", + "items": { + "$ref": "#/definitions/AdditionalErrorInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "Error code.", + "type": "string" + }, + "details": { + "description": "Gets or sets details for the error.", + "items": { + "$ref": "#/definitions/CloudError" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message parsed from the body of the http error response.", + "type": "string" + }, + "target": { + "description": "Gets or sets the target of the error.", + "type": "string" + } + }, + "type": "object" + }, + "ContactDetails": { + "description": "Contact Details.", + "required": [ + "contactName", + "phone", + "emailList" + ], + "type": "object", + "properties": { + "contactName": { + "description": "Contact name of the person.", + "type": "string" + }, + "phone": { + "description": "Phone number of the contact person.", + "type": "string" + }, + "phoneExtension": { + "description": "Phone extension number of the contact person.", + "type": "string" + }, + "mobile": { + "description": "Mobile number of the contact person.", + "type": "string" + }, + "emailList": { + "description": "List of Email-ids to be notified about job progress.", + "type": "array", + "items": { + "type": "string" + } + }, + "notificationPreference": { + "description": "Notification preference for a job stage.", + "type": "array", + "items": { + "$ref": "#/definitions/NotificationPreference" + } + } + } + }, + "CopyLogDetails": { + "description": "Details for log generated during copy.", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "properties": { + "copyLogDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk orders." + } + ] + } + } + }, + "discriminator": "copyLogDetailsType" + }, + "GranularCopyLogDetails": { + "description": "Granular Details for log generated during copy.", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "properties": { + "copyLogDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk orders." + } + ] + } + } + }, + "discriminator": "copyLogDetailsType" + }, + "DataBoxCustomerDiskCopyProgress": { + "description": "DataBox CustomerDisk Copy Progress", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyProgress" + } + ], + "properties": { + "serialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "copyStatus": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData", + "DriveNotReceived", + "UnsupportedDrive", + "OtherServiceError", + "OtherUserError", + "DriveNotDetected", + "DriveCorrupted", + "MetadataFilesModifiedOrRemoved" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + }, + { + "value": "DriveNotReceived", + "description": "No copy triggered as device was not received." + }, + { + "value": "UnsupportedDrive", + "description": "No copy triggered as device type is not supported." + }, + { + "value": "OtherServiceError", + "description": "Copy failed due to service error." + }, + { + "value": "OtherUserError", + "description": "Copy failed due to user error." + }, + { + "value": "DriveNotDetected", + "description": "Copy failed due to disk detection error." + }, + { + "value": "DriveCorrupted", + "description": "Copy failed due to corrupted drive." + }, + { + "value": "MetadataFilesModifiedOrRemoved", + "description": "Copy failed due to modified or removed metadata files." + } + ] + } + } + } + }, + "CopyProgress": { + "description": "Copy progress.", + "type": "object", + "properties": { + "storageAccountName": { + "description": "Name of the storage account. This will be empty for data account types other than storage account.", + "type": "string", + "readOnly": true + }, + "transferType": { + "description": "Transfer type of data", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "dataAccountType": { + "description": "Data Account Type.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountId": { + "description": "Id of the account where the data needs to be uploaded.", + "type": "string", + "readOnly": true + }, + "bytesProcessed": { + "format": "int64", + "description": "To indicate bytes transferred.", + "type": "integer", + "readOnly": true + }, + "totalBytesToProcess": { + "format": "int64", + "description": "Total amount of data to be processed by the job.", + "type": "integer", + "readOnly": true + }, + "filesProcessed": { + "format": "int64", + "description": "Number of files processed", + "type": "integer", + "readOnly": true + }, + "totalFilesToProcess": { + "format": "int64", + "description": "Total files to process", + "type": "integer", + "readOnly": true + }, + "invalidFilesProcessed": { + "format": "int64", + "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "invalidFileBytesUploaded": { + "format": "int64", + "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "renamedContainerCount": { + "format": "int64", + "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "filesErroredOut": { + "format": "int64", + "description": "Number of files which could not be copied", + "type": "integer", + "readOnly": true + }, + "directoriesErroredOut": { + "format": "int64", + "description": "To indicate directories errored out in the job.", + "type": "integer", + "readOnly": true + }, + "invalidDirectoriesProcessed": { + "format": "int64", + "description": "To indicate directories renamed", + "type": "integer", + "readOnly": true + }, + "isEnumerationInProgress": { + "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.", + "type": "boolean", + "readOnly": true + } + } + }, + "GranularCopyProgress": { + "description": "Granular Copy progress.", + "type": "object", + "properties": { + "storageAccountName": { + "description": "Name of the storage account. This will be empty for data account types other than storage account.", + "type": "string", + "readOnly": true + }, + "transferType": { + "description": "Transfer type of data", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "dataAccountType": { + "description": "Data Account Type.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + } + }, + "accountId": { + "description": "Id of the account where the data needs to be uploaded.", + "type": "string", + "readOnly": true + }, + "bytesProcessed": { + "format": "int64", + "description": "To indicate bytes transferred.", + "type": "integer", + "readOnly": true + }, + "totalBytesToProcess": { + "format": "int64", + "description": "Total amount of data to be processed by the job.", + "type": "integer", + "readOnly": true + }, + "filesProcessed": { + "format": "int64", + "description": "Number of files processed", + "type": "integer", + "readOnly": true + }, + "totalFilesToProcess": { + "format": "int64", + "description": "Total files to process", + "type": "integer", + "readOnly": true + }, + "invalidFilesProcessed": { + "format": "int64", + "description": "Number of files not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "invalidFileBytesUploaded": { + "format": "int64", + "description": "Total amount of data not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "renamedContainerCount": { + "format": "int64", + "description": "Number of folders not adhering to azure naming conventions which were processed by automatic renaming", + "type": "integer", + "readOnly": true + }, + "filesErroredOut": { + "format": "int64", + "description": "Number of files which could not be copied", + "type": "integer", + "readOnly": true + }, + "directoriesErroredOut": { + "format": "int64", + "description": "To indicate directories errored out in the job.", + "type": "integer", + "readOnly": true + }, + "invalidDirectoriesProcessed": { + "format": "int64", + "description": "To indicate directories renamed", + "type": "integer", + "readOnly": true + }, + "isEnumerationInProgress": { + "description": "To indicate if enumeration of data is in progress. \r\nUntil this is true, the TotalBytesToProcess may not be valid.", + "type": "boolean", + "readOnly": true + } + } + }, + "CreateJobValidations": { + "description": "It does all pre-job creation validations.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "JobCreationValidation" + }, + "CreateOrderLimitForSubscriptionValidationRequest": { + "description": "Request to validate create order limit for current subscription.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "CreateOrderLimitForSubscriptionValidationResponseProperties": { + "description": "Properties of create order limit for subscription validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Create order limit validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateCreateOrderLimit" + }, + "DataBoxCustomerDiskJobDetails": { + "description": "Customer disk job details.", + "required": [ + "jobDetailsType", + "returnToCustomerPackageDetails" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "importDiskDetailsCollection": { + "description": "Contains the map of disk serial number to the disk details for import jobs.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ImportDiskDetails" + } + }, + "exportDiskDetailsCollection": { + "description": "Contains the map of disk serial number to the disk details for export jobs.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/ExportDiskDetails" + } + }, + "copyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxCustomerDiskCopyProgress" + }, + "readOnly": true + }, + "deliverToDcPackageDetails": { + "description": "Delivery package shipping details.", + "$ref": "#/definitions/PackageCarrierInfo", + "readOnly": true + }, + "returnToCustomerPackageDetails": { + "description": "Return package shipping details.", + "$ref": "#/definitions/PackageCarrierDetails" + }, + "enableManifestBackup": { + "description": "Flag to indicate if disk manifest should be backed-up in the Storage Account.", + "type": "boolean", + "default": false + } + }, + "x-ms-discriminator-value": "DataBoxCustomerDisk" + }, + "CustomerDiskJobSecrets": { + "description": "The secrets related to customer disk job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "diskSecrets": { + "description": "Contains the list of secrets object for that device.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskSecret" + }, + "readOnly": true + }, + "carrierAccountNumber": { + "description": "Carrier Account Number of the customer", + "type": "string", + "readOnly": true, + "x-ms-secret": true + } + }, + "x-ms-discriminator-value": "DataBoxCustomerDisk" + }, + "DataAccountDetails": { + "description": "Account details of the data to be transferred", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Account Type of the data to be transferred.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + }, + "default": "StorageAccount" + }, + "sharePassword": { + "description": "Password for all the shares to be created on the device. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create" + ] + } + }, + "discriminator": "dataAccountType" + }, + "DatacenterAddressInstructionResponse": { + "description": "Datacenter instruction for given storage location.", + "required": [ + "datacenterAddressType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DatacenterAddressResponse" + } + ], + "properties": { + "communicationInstruction": { + "description": "Data center communication instruction", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DatacenterAddressInstruction" + }, + "DatacenterAddressLocationResponse": { + "description": "Datacenter address for given storage location.", + "required": [ + "datacenterAddressType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DatacenterAddressResponse" + } + ], + "properties": { + "contactPersonName": { + "description": "Contact person name", + "type": "string", + "readOnly": true + }, + "company": { + "description": "Company name", + "type": "string", + "readOnly": true + }, + "street1": { + "description": "Street address line 1", + "type": "string", + "readOnly": true + }, + "street2": { + "description": "Street address line 2", + "type": "string", + "readOnly": true + }, + "street3": { + "description": "Street address line 3", + "type": "string", + "readOnly": true + }, + "city": { + "description": "City name", + "type": "string", + "readOnly": true + }, + "state": { + "description": "name of the state", + "type": "string", + "readOnly": true + }, + "zip": { + "description": "Zip code", + "type": "string", + "readOnly": true + }, + "country": { + "description": "name of the country", + "type": "string", + "readOnly": true + }, + "phone": { + "description": "Phone number", + "type": "string", + "readOnly": true + }, + "phoneExtension": { + "description": "Phone extension", + "type": "string", + "readOnly": true + }, + "addressType": { + "description": "Address type", + "type": "string", + "readOnly": true + }, + "additionalShippingInformation": { + "description": "Special instruction for shipping", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DatacenterAddressLocation" + }, + "DatacenterAddressRequest": { + "description": "Request body to get the datacenter address.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "properties": { + "storageLocation": { + "description": "Storage location. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuName": { + "description": "Sku Name for which the data center address requested.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + } + } + }, + "DatacenterAddressResponse": { + "description": "Datacenter address for given storage location.", + "required": [ + "datacenterAddressType" + ], + "type": "object", + "properties": { + "datacenterAddressType": { + "description": "Data center address type", + "enum": [ + "DatacenterAddressLocation", + "DatacenterAddressInstruction" + ], + "type": "string", + "x-ms-enum": { + "name": "DatacenterAddressType", + "modelAsExtensible": false, + "values": [ + { + "value": "DatacenterAddressLocation", + "description": "Data center address location." + }, + { + "value": "DatacenterAddressInstruction", + "description": "Data center address instruction." + } + ] + } + }, + "supportedCarriersForReturnShipment": { + "description": "List of supported carriers for return shipment.", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "dataCenterAzureLocation": { + "description": "Azure Location where the Data Center serves primarily.", + "type": "string", + "readOnly": true + } + }, + "discriminator": "datacenterAddressType" + }, + "DataBoxAccountCopyLogDetails": { + "description": "Copy log details for a storage account of a DataBox job", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "string", + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when LogCollectionLevel is set to Verbose.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxCustomerDiskCopyLogDetails": { + "description": "Copy Log Details for customer disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "serialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxCustomerDisk" + }, + "DataBoxDiskCopyLogDetails": { + "description": "Copy Log Details for a disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "diskSerialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskGranularCopyLogDetails": { + "description": "Granular Copy Log Details for customer disk", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GranularCopyLogDetails" + } + ], + "properties": { + "serialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "errorLogLink": { + "description": "Link for copy error logs.", + "type": "string", + "readOnly": true + }, + "verboseLogLink": { + "description": "Link for copy verbose logs.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxCustomerDisk" + }, + "DataBoxDiskCopyProgress": { + "description": "DataBox Disk Copy Progress", + "type": "object", + "properties": { + "serialNumber": { + "description": "The serial number of the disk", + "type": "string", + "readOnly": true + }, + "bytesCopied": { + "format": "int64", + "description": "Bytes copied during the copy of disk.", + "type": "integer", + "readOnly": true + }, + "percentComplete": { + "format": "int32", + "description": "Indicates the percentage completed for the copy of the disk.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData", + "DriveNotReceived", + "UnsupportedDrive", + "OtherServiceError", + "OtherUserError", + "DriveNotDetected", + "DriveCorrupted", + "MetadataFilesModifiedOrRemoved" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + }, + { + "value": "DriveNotReceived", + "description": "No copy triggered as device was not received." + }, + { + "value": "UnsupportedDrive", + "description": "No copy triggered as device type is not supported." + }, + { + "value": "OtherServiceError", + "description": "Copy failed due to service error." + }, + { + "value": "OtherUserError", + "description": "Copy failed due to user error." + }, + { + "value": "DriveNotDetected", + "description": "Copy failed due to disk detection error." + }, + { + "value": "DriveCorrupted", + "description": "Copy failed due to corrupted drive." + }, + { + "value": "MetadataFilesModifiedOrRemoved", + "description": "Copy failed due to modified or removed metadata files." + } + ] + } + } + } + }, + "DataBoxDiskGranularCopyProgress": { + "description": "DataBox Disk Granular Copy Progress", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GranularCopyProgress" + } + ], + "properties": { + "serialNumber": { + "description": "Disk Serial Number.", + "type": "string", + "readOnly": true + }, + "copyStatus": { + "description": "The Status of the copy", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "NotReturned", + "HardwareError", + "DeviceFormatted", + "DeviceMetadataModified", + "StorageAccountNotAccessible", + "UnsupportedData", + "DriveNotReceived", + "UnsupportedDrive", + "OtherServiceError", + "OtherUserError", + "DriveNotDetected", + "DriveCorrupted", + "MetadataFilesModifiedOrRemoved" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CopyStatus", + "modelAsString": true, + "values": [ + { + "value": "NotStarted", + "description": "Data copy hasn't started yet." + }, + { + "value": "InProgress", + "description": "Data copy is in progress." + }, + { + "value": "Completed", + "description": "Data copy completed." + }, + { + "value": "CompletedWithErrors", + "description": "Data copy completed with errors." + }, + { + "value": "Failed", + "description": "Data copy failed. No data was copied." + }, + { + "value": "NotReturned", + "description": "No copy triggered as device was not returned." + }, + { + "value": "HardwareError", + "description": "The Device has hit hardware issues." + }, + { + "value": "DeviceFormatted", + "description": "Data copy failed. The Device was formatted by user." + }, + { + "value": "DeviceMetadataModified", + "description": "Data copy failed. Device metadata was modified by user." + }, + { + "value": "StorageAccountNotAccessible", + "description": "Data copy failed. Storage Account was not accessible during copy." + }, + { + "value": "UnsupportedData", + "description": "Data copy failed. The Device data content is not supported." + }, + { + "value": "DriveNotReceived", + "description": "No copy triggered as device was not received." + }, + { + "value": "UnsupportedDrive", + "description": "No copy triggered as device type is not supported." + }, + { + "value": "OtherServiceError", + "description": "Copy failed due to service error." + }, + { + "value": "OtherUserError", + "description": "Copy failed due to user error." + }, + { + "value": "DriveNotDetected", + "description": "Copy failed due to disk detection error." + }, + { + "value": "DriveCorrupted", + "description": "Copy failed due to corrupted drive." + }, + { + "value": "MetadataFilesModifiedOrRemoved", + "description": "Copy failed due to modified or removed metadata files." + } + ] + } + } + } + }, + "DataBoxDiskJobDetails": { + "description": "DataBox Disk Job Details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "preferredDisks": { + "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + }, + "copyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxDiskCopyProgress" + }, + "readOnly": true + }, + "granularCopyProgress": { + "description": "Copy progress per disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxDiskGranularCopyProgress" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "disksAndSizeDetails": { + "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "readOnly": true + }, + "passkey": { + "description": "User entered passkey for DataBox Disk job.", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxDiskJobSecrets": { + "description": "The secrets related to disk job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "diskSecrets": { + "description": "Contains the list of secrets object for that device.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskSecret" + }, + "readOnly": true + }, + "passKey": { + "description": "PassKey for the disk Job.", + "type": "string", + "readOnly": true + }, + "isPasskeyUserDefined": { + "description": "Whether passkey was provided by user.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DataBoxHeavyAccountCopyLogDetails": { + "description": "Copy log details for a storage account for Databox heavy", + "required": [ + "copyLogDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CopyLogDetails" + } + ], + "properties": { + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "copyLogLink": { + "description": "Link for copy logs.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "copyVerboseLogLink": { + "description": "Link for copy verbose logs. This will be set only when the LogCollectionLevel is set to verbose.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobDetails": { + "description": "Databox Heavy Device Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox Heavy. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavyJobSecrets": { + "description": "The secrets related to a databox heavy job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "cabinetPodSecrets": { + "description": "Contains the list of secret objects for a databox heavy job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxHeavySecret" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "DataBoxHeavySecret": { + "description": "The secrets related to a databox heavy.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataBoxJobDetails": { + "description": "Databox Job Details", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "copyProgress": { + "description": "Copy progress per storage account.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyProgress" + }, + "readOnly": true + }, + "devicePassword": { + "description": "Set Device password for unlocking Databox. Should not be passed for TransferType:ExportFromAzure jobs. If this is not passed, the service will generate password itself. This will not be returned in Get Call. Password Requirements : Password must be minimum of 12 and maximum of 64 characters. Password must have at least one uppercase alphabet, one number and one special character. Password cannot have the following characters : IilLoO0 Password can have only alphabets, numbers and these characters : @#\\-$%^!+=;:_()]+", + "type": "string" + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataboxJobSecrets": { + "description": "The secrets related to a databox job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobSecrets" + } + ], + "properties": { + "podSecrets": { + "description": "Contains the list of secret objects for a job.", + "type": "array", + "items": { + "$ref": "#/definitions/DataBoxSecret" + } + } + }, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling data box orders orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBox" + }, + "DataBoxSecret": { + "description": "The secrets related to a DataBox.", + "type": "object", + "properties": { + "deviceSerialNumber": { + "description": "Serial number of the assigned device.", + "type": "string", + "readOnly": true + }, + "devicePassword": { + "description": "Password for out of the box experience on device.", + "type": "string", + "readOnly": true + }, + "networkConfigurations": { + "description": "Network configuration of the appliance.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplianceNetworkConfiguration" + }, + "readOnly": true + }, + "encodedValidationCertPubKey": { + "description": "The base 64 encoded public key to authenticate with the device", + "type": "string", + "readOnly": true + }, + "accountCredentialDetails": { + "description": "Per account level access credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountCredentialDetails" + }, + "readOnly": true + } + } + }, + "DataExportDetails": { + "description": "Details of the data to be used for exporting data from azure.", + "required": [ + "transferConfiguration", + "accountDetails" + ], + "type": "object", + "properties": { + "transferConfiguration": { + "$ref": "#/definitions/TransferConfiguration", + "description": "Configuration for the data transfer." + }, + "logCollectionLevel": { + "description": "Level of the logs to be collected.", + "enum": [ + "Error", + "Verbose" + ], + "type": "string", + "x-ms-enum": { + "name": "LogCollectionLevel", + "modelAsExtensible": true, + "values": [ + { + "value": "Error", + "description": "Only Errors will be collected in the logs." + }, + { + "value": "Verbose", + "description": "Verbose logging (includes Errors, CRC, size information and others)." + } + ] + }, + "default": "Error" + }, + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + } + } + }, + "DataImportDetails": { + "description": "Details of the data to be used for importing data to azure.", + "required": [ + "accountDetails" + ], + "type": "object", + "properties": { + "accountDetails": { + "$ref": "#/definitions/DataAccountDetails", + "description": "Account details of the data to be transferred" + }, + "logCollectionLevel": { + "description": "Level of the logs to be collected.", + "enum": [ + "Error", + "Verbose" + ], + "type": "string", + "x-ms-enum": { + "name": "LogCollectionLevel", + "modelAsExtensible": true, + "values": [ + { + "value": "Error", + "description": "Only Errors will be collected in the logs." + }, + { + "value": "Verbose", + "description": "Verbose logging (includes Errors, CRC, size information and others)." + } + ] + }, + "default": "Error" + } + } + }, + "DataLocationToServiceLocationMap": { + "description": "Map of data location to service location", + "type": "object", + "properties": { + "dataLocation": { + "description": "Location of the data.", + "type": "string", + "readOnly": true + }, + "serviceLocation": { + "description": "Location of the service.", + "type": "string", + "readOnly": true + } + } + }, + "DataTransferDetailsValidationRequest": { + "description": "Request to validate export and import data details.", + "required": [ + "deviceType", + "transferType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "dataExportDetails": { + "description": "List of DataTransfer details to be used to export data from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "dataImportDetails": { + "description": "List of DataTransfer details to be used to import data to azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "deviceType": { + "description": "Device type.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DataTransferDetailsValidationResponseProperties": { + "description": "Properties of data transfer details validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Data transfer details validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateDataTransferDetails" + }, + "DcAccessSecurityCode": { + "description": "Dc access security code", + "type": "object", + "properties": { + "reverseDCAccessCode": { + "description": "Reverse Dc access security code.", + "type": "string" + }, + "forwardDCAccessCode": { + "description": "Forward Dc access security code.", + "type": "string" + } + } + }, + "Details": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "DiskScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling disk orders.", + "required": [ + "storageLocation", + "skuName", + "expectedDataSizeInTeraBytes" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": { + "expectedDataSizeInTeraBytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "DataBoxDisk" + }, + "DiskSecret": { + "description": "Contains all the secrets of a Disk.", + "type": "object", + "properties": { + "diskSerialNumber": { + "description": "Serial number of the assigned disk.", + "type": "string", + "readOnly": true + }, + "bitLockerKey": { + "description": "Bit Locker key of the disk which can be used to unlock the disk to copy data.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionPreferences": { + "description": "Preferences related to the Encryption.", + "type": "object", + "properties": { + "doubleEncryption": { + "description": "Defines secondary layer of software-based encryption enablement.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DoubleEncryption", + "modelAsExtensible": true, + "values": [ + { + "value": "Enabled", + "description": "Software-based encryption is enabled." + }, + { + "value": "Disabled", + "description": "Software-based encryption is disabled." + } + ] + }, + "default": "Disabled" + } + } + }, + "ErrorDetail": { + "required": [ + "code", + "message" + ], + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/Details" + } + }, + "target": { + "type": "string" + } + } + }, + "ExportDiskDetails": { + "description": "Export disk details", + "type": "object", + "properties": { + "manifestFile": { + "description": "The relative path of the manifest file on the disk.", + "type": "string", + "readOnly": true + }, + "manifestHash": { + "description": "The Base16-encoded MD5 hash of the manifest file on the disk.", + "type": "string", + "readOnly": true + }, + "backupManifestCloudPath": { + "description": "Path to backed up manifest, only returned if enableManifestBackup is true.", + "type": "string", + "readOnly": true + } + } + }, + "FilterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "required": [ + "filterFileType", + "filterFilePath" + ], + "type": "object", + "properties": { + "filterFileType": { + "description": "Type of the filter file.", + "enum": [ + "AzureBlob", + "AzureFile" + ], + "type": "string", + "x-ms-enum": { + "name": "FilterFileType", + "modelAsExtensible": true, + "values": [ + { + "value": "AzureBlob", + "description": "Filter file is of the type AzureBlob." + }, + { + "value": "AzureFile", + "description": "Filter file is of the type AzureFiles." + } + ] + } + }, + "filterFilePath": { + "description": "Path of the file that contains the details of all items to transfer.", + "type": "string" + } + } + }, + "HeavyScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling heavy orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleAvailabilityRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "DataBoxHeavy" + }, + "IdentityProperties": { + "description": "Managed identity properties.", + "type": "object", + "properties": { + "type": { + "description": "Managed service identity type.", + "type": "string" + }, + "userAssigned": { + "$ref": "#/definitions/UserAssignedProperties", + "description": "User assigned identity properties." + } + } + }, + "ImportDiskDetails": { + "description": "Import disk details", + "required": [ + "manifestFile", + "manifestHash", + "bitLockerKey" + ], + "type": "object", + "properties": { + "manifestFile": { + "description": "The relative path of the manifest file on the disk.", + "type": "string" + }, + "manifestHash": { + "description": "The Base16-encoded MD5 hash of the manifest file on the disk.", + "type": "string" + }, + "bitLockerKey": { + "description": "BitLocker key used to encrypt the disk.", + "type": "string", + "x-ms-secret": true + }, + "backupManifestCloudPath": { + "description": "Path to backed up manifest, only returned if enableManifestBackup is true.", + "type": "string", + "readOnly": true + } + } + }, + "JobDeliveryInfo": { + "description": "Additional delivery info.", + "type": "object", + "properties": { + "scheduledDateTime": { + "format": "date-time", + "description": "Scheduled date time.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details.", + "required": [ + "contactDetails", + "jobDetailsType" + ], + "type": "object", + "properties": { + "jobStages": { + "description": "List of stages that run in the job.", + "type": "array", + "items": { + "$ref": "#/definitions/JobStages" + }, + "readOnly": true + }, + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deliveryPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Delivery package shipping details.", + "readOnly": true + }, + "returnPackage": { + "$ref": "#/definitions/PackageShippingDetails", + "description": "Return package shipping details.", + "readOnly": true + }, + "dataImportDetails": { + "description": "Details of the data to be imported into azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataImportDetails" + } + }, + "dataExportDetails": { + "description": "Details of the data to be exported from azure.", + "type": "array", + "items": { + "$ref": "#/definitions/DataExportDetails" + } + }, + "jobDetailsType": { + "description": "Indicates the type of job details.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk orders." + } + ] + } + }, + "preferences": { + "$ref": "#/definitions/Preferences", + "description": "Preferences for the order." + }, + "copyLogDetails": { + "description": "List of copy log details.", + "type": "array", + "items": { + "$ref": "#/definitions/CopyLogDetails" + }, + "readOnly": true + }, + "reverseShipmentLabelSasKey": { + "description": "Shared access key to download the return shipment label", + "type": "string", + "readOnly": true + }, + "chainOfCustodySasKey": { + "description": "Shared access key to download the chain of custody logs", + "type": "string", + "readOnly": true + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Details about which key encryption type is being used." + }, + "expectedDataSizeInTeraBytes": { + "format": "int32", + "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.", + "type": "integer" + }, + "actions": { + "description": "Available actions on the job.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "None", + "MoveToCleanUpDevice", + "Resume", + "Restart", + "ReachOutToOperation" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomerResolutionCode", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "No Resolution Yet" + }, + { + "value": "MoveToCleanUpDevice", + "description": "Clean the device" + }, + { + "value": "Resume", + "description": "Resume the job to same stage" + }, + { + "description": "Restart whole action.", + "value": "Restart" + }, + { + "description": "Reach out to operation for further action.", + "value": "ReachOutToOperation" + } + ] + } + }, + "readOnly": true + }, + "lastMitigationActionOnJob": { + "$ref": "#/definitions/LastMitigationActionOnJob", + "description": "Last mitigation action performed on the job.", + "readOnly": true + }, + "datacenterAddress": { + "$ref": "#/definitions/DatacenterAddressResponse", + "description": "Datacenter address to ship to, for the given sku and storage location.", + "readOnly": true + }, + "dataCenterCode": { + "description": "DataCenter code.", + "enum": [ + "Invalid", + "BY2", + "BY1", + "ORK70", + "AM2", + "AMS20", + "BY21", + "BY24", + "MWH01", + "AMS06", + "SSE90", + "SYD03", + "SYD23", + "CBR20", + "YTO20", + "CWL20", + "LON24", + "BOM01", + "BL20", + "BL7", + "SEL20", + "TYO01", + "BN1", + "SN5", + "CYS04", + "TYO22", + "YTO21", + "YQB20", + "FRA22", + "MAA01", + "CPQ02", + "CPQ20", + "SIN20", + "HKG20", + "SG2", + "MEL23", + "SEL21", + "OSA20", + "SHA03", + "BJB", + "JNB22", + "JNB21", + "MNZ21", + "SN8", + "AUH20", + "ZRH20", + "PUS20", + "AdHoc", + "CH1", + "DSM05", + "DUB07", + "PNQ01", + "SVG20", + "OSA02", + "OSA22", + "PAR22", + "BN7", + "SN6", + "BJS20" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DataCenterCode", + "modelAsString": true, + "values": [ + { + "value": "Invalid" + }, + { + "value": "BY2" + }, + { + "value": "BY1" + }, + { + "value": "ORK70" + }, + { + "value": "AM2" + }, + { + "value": "AMS20" + }, + { + "value": "BY21" + }, + { + "value": "BY24" + }, + { + "value": "MWH01" + }, + { + "value": "AMS06" + }, + { + "value": "SSE90" + }, + { + "value": "SYD03" + }, + { + "value": "SYD23" + }, + { + "value": "CBR20" + }, + { + "value": "YTO20" + }, + { + "value": "CWL20" + }, + { + "value": "LON24" + }, + { + "value": "BOM01" + }, + { + "value": "BL20" + }, + { + "value": "BL7" + }, + { + "value": "SEL20" + }, + { + "value": "TYO01" + }, + { + "value": "BN1" + }, + { + "value": "SN5" + }, + { + "value": "CYS04" + }, + { + "value": "TYO22" + }, + { + "value": "YTO21" + }, + { + "value": "YQB20" + }, + { + "value": "FRA22" + }, + { + "value": "MAA01" + }, + { + "value": "CPQ02" + }, + { + "value": "CPQ20" + }, + { + "value": "SIN20" + }, + { + "value": "HKG20" + }, + { + "value": "SG2" + }, + { + "value": "MEL23" + }, + { + "value": "SEL21" + }, + { + "value": "OSA20" + }, + { + "value": "SHA03" + }, + { + "value": "BJB" + }, + { + "value": "JNB22" + }, + { + "value": "JNB21" + }, + { + "value": "MNZ21" + }, + { + "value": "SN8" + }, + { + "value": "AUH20" + }, + { + "value": "ZRH20" + }, + { + "value": "PUS20" + }, + { + "value": "AdHoc" + }, + { + "value": "CH1" + }, + { + "value": "DSM05" + }, + { + "value": "DUB07" + }, + { + "value": "PNQ01" + }, + { + "value": "SVG20" + }, + { + "value": "OSA02" + }, + { + "value": "OSA22" + }, + { + "value": "PAR22" + }, + { + "value": "BN7" + }, + { + "value": "SN6" + }, + { + "value": "BJS20" + } + ] + } + } + }, + "discriminator": "jobDetailsType" + }, + "JobProperties": { + "description": "Job Properties", + "required": [ + "transferType" + ], + "type": "object", + "properties": { + "transferType": { + "description": "Type of the data transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "isCancellable": { + "description": "Describes whether the job is cancellable or not.", + "type": "boolean", + "readOnly": true + }, + "isDeletable": { + "description": "Describes whether the job is deletable or not.", + "type": "boolean", + "readOnly": true + }, + "isShippingAddressEditable": { + "description": "Describes whether the shipping address is editable or not.", + "type": "boolean", + "readOnly": true + }, + "isPrepareToShipEnabled": { + "description": "Is Prepare To Ship Enabled on this job", + "type": "boolean", + "readOnly": true + }, + "status": { + "description": "Name of the stage which is in progress.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC", + "Created", + "ShippedToAzureDC", + "AwaitingShipmentDetails", + "PreparingToShipFromAzureDC", + "ShippedToCustomer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsString": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + }, + { + "value": "Created", + "description": "Job created by the customer." + }, + { + "value": "ShippedToAzureDC", + "description": "User shipped the device to AzureDC." + }, + { + "value": "AwaitingShipmentDetails", + "description": "Awaiting shipment details of device from customer." + }, + { + "value": "PreparingToShipFromAzureDC", + "description": "Preparing the device to ship to customer." + }, + { + "value": "ShippedToCustomer", + "description": "Shipped the device to customer." + } + ] + } + }, + "startTime": { + "format": "date-time", + "description": "Time at which the job was started in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Top level error for the job.", + "readOnly": true + }, + "details": { + "$ref": "#/definitions/JobDetails", + "description": "Details of a job run. This field will only be sent for expand details filter." + }, + "cancellationReason": { + "description": "Reason for cancellation.", + "type": "string", + "readOnly": true + }, + "deliveryType": { + "description": "Delivery type of Job.", + "enum": [ + "NonScheduled", + "Scheduled" + ], + "type": "string", + "x-ms-enum": { + "name": "JobDeliveryType", + "modelAsExtensible": true, + "values": [ + { + "value": "NonScheduled", + "description": "Non Scheduled job." + }, + { + "value": "Scheduled", + "description": "Scheduled job." + } + ] + }, + "default": "NonScheduled" + }, + "deliveryInfo": { + "$ref": "#/definitions/JobDeliveryInfo", + "description": "Delivery Info of Job." + }, + "isCancellableWithoutFee": { + "description": "Flag to indicate cancellation of scheduled job.", + "type": "boolean", + "readOnly": true + } + } + }, + "JobResource": { + "description": "Job Resource.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "Properties of a job.", + "x-ms-client-flatten": true + }, + "name": { + "description": "Name of the object.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "Id of the object.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the object.", + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + } + }, + "JobResourceList": { + "description": "Job Resource Collection", + "type": "object", + "properties": { + "value": { + "description": "List of job resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResource" + } + }, + "nextLink": { + "description": "Link for the next set of job resources.", + "type": "string" + } + } + }, + "JobResourceUpdateParameter": { + "description": "The JobResourceUpdateParameter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateJobProperties", + "description": "Properties of a job to be updated.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + } + }, + "JobSecrets": { + "description": "The base class for the secrets", + "required": [ + "jobSecretsType" + ], + "type": "object", + "properties": { + "jobSecretsType": { + "description": "Used to indicate what type of job secrets object.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "ClassDiscriminator", + "modelAsExtensible": false, + "values": [ + { + "value": "DataBox", + "description": "Data Box orders." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk orders." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy orders." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk orders." + } + ] + } + }, + "dcAccessSecurityCode": { + "$ref": "#/definitions/DcAccessSecurityCode", + "description": "Dc Access Security Code for Customer Managed Shipping", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error while fetching the secrets.", + "readOnly": true + } + }, + "discriminator": "jobSecretsType" + }, + "JobStages": { + "description": "Job stages.", + "type": "object", + "properties": { + "stageName": { + "description": "Name of the job stage.", + "enum": [ + "DeviceOrdered", + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Completed", + "CompletedWithErrors", + "Cancelled", + "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", + "Aborted", + "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", + "ReadyToReceiveAtAzureDC", + "Created", + "ShippedToAzureDC", + "AwaitingShipmentDetails", + "PreparingToShipFromAzureDC", + "ShippedToCustomer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageName", + "modelAsString": true, + "values": [ + { + "value": "DeviceOrdered", + "description": "An order has been created." + }, + { + "value": "DevicePrepared", + "description": "A device has been prepared for the order." + }, + { + "value": "Dispatched", + "description": "Device has been dispatched to the user of the order." + }, + { + "value": "Delivered", + "description": "Device has been delivered to the user of the order." + }, + { + "value": "PickedUp", + "description": "Device has been picked up from user and in transit to Azure datacenter." + }, + { + "value": "AtAzureDC", + "description": "Device has been received at Azure datacenter from the user." + }, + { + "value": "DataCopy", + "description": "Data copy from the device at Azure datacenter." + }, + { + "value": "Completed", + "description": "Order has completed." + }, + { + "value": "CompletedWithErrors", + "description": "Order has completed with errors." + }, + { + "value": "Cancelled", + "description": "Order has been cancelled." + }, + { + "value": "Failed_IssueReportedAtCustomer", + "description": "Order has failed due to issue reported by user." + }, + { + "value": "Failed_IssueDetectedAtAzureDC", + "description": "Order has failed due to issue detected at Azure datacenter." + }, + { + "value": "Aborted", + "description": "Order has been aborted." + }, + { + "value": "CompletedWithWarnings", + "description": "Order has completed with warnings." + }, + { + "value": "ReadyToDispatchFromAzureDC", + "description": "Device is ready to be handed to customer from Azure DC." + }, + { + "value": "ReadyToReceiveAtAzureDC", + "description": "Device can be dropped off at Azure DC." + }, + { + "value": "Created", + "description": "Job created by the customer." + }, + { + "value": "ShippedToAzureDC", + "description": "User shipped the device to AzureDC." + }, + { + "value": "AwaitingShipmentDetails", + "description": "Awaiting shipment details of device from customer." + }, + { + "value": "PreparingToShipFromAzureDC", + "description": "Preparing the device to ship to customer." + }, + { + "value": "ShippedToCustomer", + "description": "Shipped the device to customer." + } + ] + } + }, + "displayName": { + "description": "Display name of the job stage.", + "type": "string", + "readOnly": true + }, + "stageStatus": { + "description": "Status of the job stage.", + "enum": [ + "None", + "InProgress", + "Succeeded", + "Failed", + "Cancelled", + "Cancelling", + "SucceededWithErrors", + "WaitingForCustomerAction", + "SucceededWithWarnings", + "WaitingForCustomerActionForKek", + "WaitingForCustomerActionForCleanUp", + "CustomerActionPerformedForCleanUp", + "CustomerActionPerformed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StageStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "No status available yet." + }, + { + "value": "InProgress", + "description": "Stage is in progress." + }, + { + "value": "Succeeded", + "description": "Stage has succeeded." + }, + { + "value": "Failed", + "description": "Stage has failed." + }, + { + "value": "Cancelled", + "description": "Stage has been cancelled." + }, + { + "value": "Cancelling", + "description": "Stage is cancelling." + }, + { + "value": "SucceededWithErrors", + "description": "Stage has succeeded with errors." + }, + { + "value": "WaitingForCustomerAction", + "description": "Stage is stuck until customer takes some action." + }, + { + "value": "SucceededWithWarnings", + "description": "Stage has succeeded with warnings." + }, + { + "value": "WaitingForCustomerActionForKek", + "description": "Stage is waiting for customer action for kek action items." + }, + { + "value": "WaitingForCustomerActionForCleanUp", + "description": "Stage is waiting for customer action for clean up." + }, + { + "value": "CustomerActionPerformedForCleanUp", + "description": "Stage has performed customer action for clean up." + }, + { + "value": "CustomerActionPerformed", + "description": "Stage has performed customer action." + } + ] + } + }, + "stageTime": { + "format": "date-time", + "description": "Time for the job stage in UTC ISO 8601 format.", + "type": "string", + "readOnly": true + }, + "jobStageDetails": { + "description": "Job Stage Details", + "type": "object", + "readOnly": true + } + } + }, + "KeyEncryptionKey": { + "description": "Encryption key containing details about key to encrypt different keys.", + "required": [ + "kekType" + ], + "type": "object", + "properties": { + "kekType": { + "description": "Type of encryption key used for key encryption.", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "KekType", + "modelAsExtensible": true, + "values": [ + { + "value": "MicrosoftManaged", + "description": "Key encryption key is managed by Microsoft." + }, + { + "value": "CustomerManaged", + "description": "Key encryption key is managed by the Customer." + } + ] + }, + "default": "MicrosoftManaged" + }, + "identityProperties": { + "$ref": "#/definitions/IdentityProperties", + "description": "Managed identity properties used for key encryption." + }, + "kekUrl": { + "description": "Key encryption key. It is required in case of Customer managed KekType.", + "type": "string" + }, + "kekVaultResourceID": { + "description": "Kek vault resource id. It is required in case of Customer managed KekType.", + "type": "string" + } + } + }, + "ManagedDiskDetails": { + "description": "Details of the managed disks.", + "required": [ + "resourceGroupId", + "stagingStorageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "resourceGroupId": { + "description": "Resource Group Id of the compute disks.", + "type": "string" + }, + "stagingStorageAccountId": { + "description": "Resource Id of the storage account that can be used to copy the vhd for staging.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManagedDisk" + }, + "MarkDevicesShippedRequest": { + "description": "The request body to provide the delivery package details of job", + "required": [ + "deliverToDcPackageDetails" + ], + "type": "object", + "properties": { + "deliverToDcPackageDetails": { + "$ref": "#/definitions/PackageCarrierInfo", + "description": "Delivery package details" + } + } + }, + "LastMitigationActionOnJob": { + "description": "Last Mitigation Action Performed On Job", + "type": "object", + "properties": { + "actionDateTimeInUtc": { + "format": "date-time", + "description": "Action performed date time", + "type": "string" + }, + "isPerformedByCustomer": { + "description": "Action performed by customer,\r\npossibility is that mitigation might happen by customer or service or by ops", + "type": "boolean" + }, + "customerResolution": { + "description": "Resolution code provided by customer", + "enum": [ + "None", + "MoveToCleanUpDevice", + "Resume", + "Restart", + "ReachOutToOperation" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomerResolutionCode", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "No Resolution Yet" + }, + { + "value": "MoveToCleanUpDevice", + "description": "Clean the device" + }, + { + "value": "Resume", + "description": "Resume the job to same stage" + }, + { + "description": "Restart whole action.", + "value": "Restart" + }, + { + "description": "Reach out to operation for further action.", + "value": "ReachOutToOperation" + } + ] + } + } + } + }, + "MitigateJobRequest": { + "description": "The Mitigate Job captured from request body for Mitigate API", + "required": [ + "customerResolutionCode" + ], + "type": "object", + "properties": { + "customerResolutionCode": { + "description": "Resolution code for the job", + "enum": [ + "None", + "MoveToCleanUpDevice", + "Resume", + "Restart", + "ReachOutToOperation" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomerResolutionCode", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "No Resolution Yet" + }, + { + "value": "MoveToCleanUpDevice", + "description": "Clean the device" + }, + { + "value": "Resume", + "description": "Resume the job to same stage" + }, + { + "description": "Restart whole action.", + "value": "Restart" + }, + { + "description": "Reach out to operation for further action.", + "value": "ReachOutToOperation" + } + ] + } + } + } + }, + "NotificationPreference": { + "description": "Notification preference for a job stage.", + "required": [ + "stageName", + "sendNotification" + ], + "type": "object", + "properties": { + "stageName": { + "description": "Name of the stage.", + "enum": [ + "DevicePrepared", + "Dispatched", + "Delivered", + "PickedUp", + "AtAzureDC", + "DataCopy", + "Created", + "ShippedToCustomer" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationStageName", + "modelAsString": true, + "values": [ + { + "value": "DevicePrepared", + "description": "Notification at device prepared stage." + }, + { + "value": "Dispatched", + "description": "Notification at device dispatched stage." + }, + { + "value": "Delivered", + "description": "Notification at device delivered stage." + }, + { + "value": "PickedUp", + "description": "Notification at device picked up from user stage." + }, + { + "value": "AtAzureDC", + "description": "Notification at device received at Azure datacenter stage." + }, + { + "value": "DataCopy", + "description": "Notification at data copy started stage." + }, + { + "value": "Created", + "description": "Notification at job created stage." + }, + { + "value": "ShippedToCustomer", + "description": "Notification at shipped devices to customer stage." + } + ] + } + }, + "sendNotification": { + "description": "Notification is required or not.", + "type": "boolean", + "default": true + } + } + }, + "Operation": { + "description": "Operation entity.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Operation display values.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Operation properties.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "origin": { + "description": "Origin of the operation. Can be : user|system|user,system", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationDisplay": { + "description": "Operation display", + "type": "object", + "properties": { + "provider": { + "description": "Provider name.", + "type": "string" + }, + "resource": { + "description": "Resource name.", + "type": "string" + }, + "operation": { + "description": "Localized name of the operation for display purpose.", + "type": "string" + }, + "description": { + "description": "Localized description of the operation for display purpose.", + "type": "string" + } + } + }, + "OperationList": { + "description": "Operation Collection.", + "type": "object", + "properties": { + "value": { + "description": "List of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link for the next set of operations.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "PackageCarrierDetails": { + "description": "Package carrier details.", + "type": "object", + "properties": { + "carrierAccountNumber": { + "description": "Carrier Account Number of customer for customer disk.", + "type": "string", + "x-ms-secret": true + }, + "carrierName": { + "description": "Name of the carrier.", + "type": "string" + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string" + } + } + }, + "PackageCarrierInfo": { + "description": "package carrier info", + "type": "object", + "properties": { + "carrierName": { + "description": "Name of the carrier.", + "type": "string" + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string" + } + } + }, + "PackageShippingDetails": { + "description": "package shipping details", + "type": "object", + "properties": { + "trackingUrl": { + "description": "Url where shipment can be tracked.", + "type": "string", + "readOnly": true + }, + "carrierName": { + "description": "Name of the carrier.", + "type": "string", + "readOnly": true + }, + "trackingId": { + "description": "Tracking Id of shipment.", + "type": "string", + "readOnly": true + } + } + }, + "Preferences": { + "description": "Preferences related to the order", + "type": "object", + "properties": { + "preferredDataCenterRegion": { + "description": "Preferred data center region.", + "type": "array", + "items": { + "type": "string" + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + }, + "encryptionPreferences": { + "$ref": "#/definitions/EncryptionPreferences", + "description": "Preferences related to the Encryption." + }, + "storageAccountAccessTierPreferences": { + "description": "Preferences related to the Access Tier of storage accounts.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Archive" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountAccessTier", + "modelAsExtensible": true, + "values": [ + { + "value": "Archive", + "description": "Archive Access Tier shares requested by the customer." + } + ] + } + } + } + } + }, + "PreferencesValidationRequest": { + "description": "Request to validate preference of transport and data center.", + "required": [ + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "preference": { + "description": "Preference of transport and data center.", + "$ref": "#/definitions/Preferences" + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "PreferencesValidationResponseProperties": { + "description": "Properties of data center and transport preference validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of requested data center and transport.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidatePreferences" + }, + "RegionConfigurationRequest": { + "description": "Request body to get the configuration for the region.", + "type": "object", + "properties": { + "scheduleAvailabilityRequest": { + "$ref": "#/definitions/ScheduleAvailabilityRequest", + "description": "Request body to get the availability for scheduling orders." + }, + "transportAvailabilityRequest": { + "$ref": "#/definitions/TransportAvailabilityRequest", + "description": "Request body to get the transport availability for given sku." + }, + "datacenterAddressRequest": { + "$ref": "#/definitions/DatacenterAddressRequest", + "description": "Request body to get the datacenter address for given sku." + } + } + }, + "RegionConfigurationResponse": { + "description": "Configuration response specific to a region.", + "type": "object", + "properties": { + "scheduleAvailabilityResponse": { + "$ref": "#/definitions/ScheduleAvailabilityResponse", + "description": "Schedule availability for given sku in a region.", + "readOnly": true + }, + "transportAvailabilityResponse": { + "$ref": "#/definitions/TransportAvailabilityResponse", + "description": "Transport options available for given sku in a region.", + "readOnly": true + }, + "datacenterAddressResponse": { + "$ref": "#/definitions/DatacenterAddressResponse", + "description": "Datacenter address for given sku in a region.", + "readOnly": true + } + } + }, + "Resource": { + "description": "Model of the Resource.", + "required": [ + "location", + "sku" + ], + "type": "object", + "properties": { + "location": { + "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku type." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Msi identity of the resource" + } + }, + "x-ms-azure-resource": true + }, + "ResourceIdentity": { + "description": "Msi identity details of the resource", + "type": "object", + "properties": { + "type": { + "description": "Identity type", + "type": "string", + "default": "None" + }, + "principalId": { + "description": "Service Principal Id backing the Msi", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Home Tenant Id", + "type": "string", + "readOnly": true + }, + "userAssignedIdentities": { + "description": "User Assigned Identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "ScheduleAvailabilityRequest": { + "description": "Request body to get the availability for scheduling orders.", + "required": [ + "storageLocation", + "skuName" + ], + "type": "object", + "properties": { + "storageLocation": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + }, + "skuName": { + "description": "Sku Name for which the order is to be scheduled.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + }, + "country": { + "description": "Country in which storage location should be supported.", + "type": "string" + } + }, + "discriminator": "skuName" + }, + "ScheduleAvailabilityResponse": { + "description": "Schedule availability for given sku in a region.", + "type": "object", + "properties": { + "availableDates": { + "description": "List of dates available to schedule", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + }, + "readOnly": true + } + } + }, + "ShareCredentialDetails": { + "description": "Credential details of the shares in account.", + "type": "object", + "properties": { + "shareName": { + "description": "Name of the share.", + "type": "string", + "readOnly": true + }, + "shareType": { + "description": "Type of the share.", + "enum": [ + "UnknownType", + "HCS", + "BlockBlob", + "PageBlob", + "AzureFile", + "ManagedDisk" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ShareDestinationFormatType", + "modelAsExtensible": true, + "values": [ + { + "value": "UnknownType", + "description": "Unknown format." + }, + { + "value": "HCS", + "description": "Storsimple data format." + }, + { + "value": "BlockBlob", + "description": "Azure storage block blob format." + }, + { + "value": "PageBlob", + "description": "Azure storage page blob format." + }, + { + "value": "AzureFile", + "description": "Azure storage file format." + }, + { + "value": "ManagedDisk", + "description": "Azure Compute Disk." + } + ] + } + }, + "userName": { + "description": "User name for the share.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Password for the share.", + "type": "string", + "readOnly": true + }, + "supportedAccessProtocols": { + "description": "Access protocols supported on the device.", + "type": "array", + "items": { + "enum": [ + "SMB", + "NFS" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessProtocol", + "modelAsExtensible": true, + "values": [ + { + "value": "SMB", + "description": "Server Message Block protocol(SMB)." + }, + { + "value": "NFS", + "description": "Network File System protocol(NFS)." + } + ] + } + }, + "readOnly": true + } + } + }, + "ShipmentPickUpRequest": { + "description": "Shipment pick up request details.", + "required": [ + "startTime", + "endTime", + "shipmentLocation" + ], + "type": "object", + "properties": { + "startTime": { + "format": "date-time", + "description": "Minimum date after which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Maximum date before which the pick up should commence, this must be in local time of pick up area.", + "type": "string" + }, + "shipmentLocation": { + "description": "Shipment Location in the pickup place. Eg.front desk", + "type": "string" + } + } + }, + "ShipmentPickUpResponse": { + "description": "Shipment pick up response.", + "type": "object", + "properties": { + "confirmationNumber": { + "description": "Confirmation number for the pick up request.", + "type": "string", + "readOnly": true + }, + "readyByTime": { + "format": "date-time", + "description": "Time by which shipment should be ready for pick up, this is in local time of pick up area.", + "type": "string", + "readOnly": true + } + } + }, + "ShippingAddress": { + "description": "Shipping address where customer wishes to receive the device.", + "required": [ + "streetAddress1", + "country" + ], + "type": "object", + "properties": { + "streetAddress1": { + "description": "Street Address line 1.", + "type": "string" + }, + "streetAddress2": { + "description": "Street Address line 2.", + "type": "string" + }, + "streetAddress3": { + "description": "Street Address line 3.", + "type": "string" + }, + "city": { + "description": "Name of the City.", + "type": "string" + }, + "stateOrProvince": { + "description": "Name of the State or Province.", + "type": "string" + }, + "country": { + "description": "Name of the Country.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "zipExtendedCode": { + "description": "Extended Zip Code.", + "type": "string" + }, + "companyName": { + "description": "Name of the company.", + "type": "string" + }, + "addressType": { + "description": "Type of address.", + "enum": [ + "None", + "Residential", + "Commercial" + ], + "type": "string", + "x-ms-enum": { + "name": "AddressType", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "Address type not known." + }, + { + "value": "Residential", + "description": "Residential Address." + }, + { + "value": "Commercial", + "description": "Commercial Address." + } + ] + }, + "default": "None" + } + } + }, + "Sku": { + "description": "The Sku.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The sku name.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + }, + "displayName": { + "description": "The display name of the sku.", + "type": "string" + }, + "family": { + "description": "The sku family.", + "type": "string" + } + } + }, + "SkuAvailabilityValidationRequest": { + "description": "Request to validate sku availability.", + "required": [ + "deviceType", + "transferType", + "country", + "location", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + }, + "transferType": { + "description": "Type of the transfer.", + "enum": [ + "ImportToAzure", + "ExportFromAzure" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferType", + "modelAsExtensible": true, + "values": [ + { + "value": "ImportToAzure", + "description": "Import data to azure." + }, + { + "value": "ExportFromAzure", + "description": "Export data from azure." + } + ] + } + }, + "country": { + "description": "ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements", + "type": "string" + }, + "location": { + "description": "Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01", + "type": "string" + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuAvailabilityValidationResponseProperties": { + "description": "Properties of sku availability validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Sku availability validation status.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSkuAvailability" + }, + "SkuCapacity": { + "description": "Capacity of the sku.", + "type": "object", + "properties": { + "usable": { + "description": "Usable capacity in TB.", + "type": "string", + "readOnly": true + }, + "maximum": { + "description": "Maximum capacity in TB.", + "type": "string", + "readOnly": true + } + } + }, + "SkuCost": { + "description": "Describes metadata for retrieving price info.", + "type": "object", + "properties": { + "meterId": { + "description": "Meter id of the Sku.", + "type": "string", + "readOnly": true + }, + "meterType": { + "description": "The type of the meter.", + "type": "string", + "readOnly": true + }, + "multiplier": { + "format": "double", + "description": "Multiplier specifies the region specific value to be multiplied with 1$ guid. Eg: Our new regions will be using 1$ shipping guid with appropriate multiplier specific to region.", + "type": "number", + "readOnly": true + } + } + }, + "SkuInformation": { + "description": "Information of the sku.", + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The Sku.", + "readOnly": true + }, + "enabled": { + "description": "The sku is enabled or not.", + "type": "boolean", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SkuProperties", + "description": "Properties of the sku.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "SkuProperties": { + "description": "Properties of the sku.", + "type": "object", + "properties": { + "dataLocationToServiceLocationMap": { + "description": "The map of data location to service location.", + "type": "array", + "items": { + "$ref": "#/definitions/DataLocationToServiceLocationMap" + }, + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Capacity of the Sku.", + "readOnly": true + }, + "costs": { + "description": "Cost of the Sku.", + "type": "array", + "items": { + "$ref": "#/definitions/SkuCost" + }, + "readOnly": true + }, + "apiVersions": { + "description": "Api versions that support this Sku.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "disabledReason": { + "description": "Reason why the Sku is disabled.", + "enum": [ + "None", + "Country", + "Region", + "Feature", + "OfferType", + "NoSubscriptionInfo" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SkuDisabledReason", + "modelAsExtensible": true, + "values": [ + { + "value": "None", + "description": "SKU is not disabled." + }, + { + "value": "Country", + "description": "SKU is not available in the requested country." + }, + { + "value": "Region", + "description": "SKU is not available to push data to the requested Azure region." + }, + { + "value": "Feature", + "description": "Required features are not enabled for the SKU." + }, + { + "value": "OfferType", + "description": "Subscription does not have required offer types for the SKU." + }, + { + "value": "NoSubscriptionInfo", + "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification." + } + ] + } + }, + "disabledReasonMessage": { + "description": "Message for why the Sku is disabled.", + "type": "string", + "readOnly": true + }, + "requiredFeature": { + "description": "Required feature to access the sku.", + "type": "string", + "readOnly": true + } + } + }, + "StorageAccountDetails": { + "description": "Details for the storage account.", + "required": [ + "storageAccountId", + "dataAccountType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DataAccountDetails" + } + ], + "properties": { + "storageAccountId": { + "description": "Storage Account Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "StorageAccount" + }, + "SubscriptionIsAllowedToCreateJobValidationRequest": { + "description": "Request to validate subscription permission to create jobs.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "SubscriptionIsAllowedToCreateJobValidationResponseProperties": { + "description": "Properties of subscription permission to create job validation response.", + "required": [ + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputResponse" + } + ], + "properties": { + "status": { + "description": "Validation status of subscription permission to create job.", + "enum": [ + "Valid", + "Invalid", + "Skipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "Valid", + "description": "Validation is successful" + }, + { + "value": "Invalid", + "description": "Validation is not successful" + }, + { + "value": "Skipped", + "description": "Validation is skipped" + } + ] + } + } + }, + "x-ms-discriminator-value": "ValidateSubscriptionIsAllowedToCreateJob" + }, + "systemData": { + "description": "Provides details about resource creation and update time", + "type": "object", + "properties": { + "createdBy": { + "description": "A string identifier for the identity that created the resource", + "type": "string", + "readOnly": true + }, + "createdByType": { + "description": "The type of identity that created the resource: user, application, managedIdentity", + "type": "string", + "readOnly": true + }, + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC)", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "A string identifier for the identity that last modified the resource", + "type": "string", + "readOnly": true + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource: user, application, managedIdentity", + "type": "string", + "readOnly": true + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)", + "type": "string", + "readOnly": true + } + } + }, + "TransferAllDetails": { + "description": "Details to transfer all data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + }, + "default": "StorageAccount" + }, + "transferAllBlobs": { + "description": "To indicate if all Azure blobs have to be transferred", + "type": "boolean" + }, + "transferAllFiles": { + "description": "To indicate if all Azure Files have to be transferred", + "type": "boolean" + } + } + }, + "TransferConfiguration": { + "description": "Configuration for defining the transfer of data.", + "required": [ + "transferConfigurationType" + ], + "type": "object", + "properties": { + "transferConfigurationType": { + "description": "Type of the configuration for transfer.", + "enum": [ + "TransferAll", + "TransferUsingFilter" + ], + "type": "string", + "x-ms-enum": { + "name": "TransferConfigurationType", + "modelAsExtensible": true, + "values": [ + { + "value": "TransferAll", + "description": "Transfer all the data." + }, + { + "value": "TransferUsingFilter", + "description": "Transfer using filter." + } + ] + } + }, + "transferFilterDetails": { + "description": "Map of filter type and the details to filter. This field is required only if the TransferConfigurationType is given as TransferUsingFilter.", + "type": "object", + "properties": { + "include": { + "description": "Details of the filtering the transfer of data.", + "$ref": "#/definitions/TransferFilterDetails" + } + } + }, + "transferAllDetails": { + "description": "Map of filter type and the details to transfer all data. This field is required only if the TransferConfigurationType is given as TransferAll", + "type": "object", + "properties": { + "include": { + "description": "Details to transfer all data.", + "$ref": "#/definitions/TransferAllDetails" + } + } + } + } + }, + "TransferFilterDetails": { + "description": "Details of the filtering the transfer of data.", + "required": [ + "dataAccountType" + ], + "type": "object", + "properties": { + "dataAccountType": { + "description": "Type of the account of data.", + "enum": [ + "StorageAccount", + "ManagedDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "DataAccountType", + "modelAsExtensible": true, + "values": [ + { + "value": "StorageAccount", + "description": "Storage Accounts ." + }, + { + "value": "ManagedDisk", + "description": "Azure Managed disk storage." + } + ] + }, + "default": "StorageAccount" + }, + "blobFilterDetails": { + "$ref": "#/definitions/BlobFilterDetails", + "description": "Filter details to transfer blobs." + }, + "azureFileFilterDetails": { + "$ref": "#/definitions/AzureFileFilterDetails", + "description": "Filter details to transfer Azure files." + }, + "filterFileDetails": { + "description": "Details of the filter files to be used for data transfer.", + "type": "array", + "items": { + "$ref": "#/definitions/FilterFileDetails" + } + } + } + }, + "TransportAvailabilityDetails": { + "description": "Transport options availability details for given region.", + "type": "object", + "properties": { + "shipmentType": { + "description": "Transport Shipment Type supported for given region.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "TransportAvailabilityRequest": { + "description": "Request body to get the transport availability for given sku.", + "type": "object", + "properties": { + "skuName": { + "description": "Type of the device.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + } + } + }, + "TransportAvailabilityResponse": { + "description": "Transport options available for given sku in a region.", + "type": "object", + "properties": { + "transportAvailabilityDetails": { + "description": "List of transport availability details for given region", + "type": "array", + "items": { + "$ref": "#/definitions/TransportAvailabilityDetails" + }, + "readOnly": true + } + } + }, + "TransportPreferences": { + "description": "Preferences related to the shipment logistics of the sku", + "required": [ + "preferredShipmentType" + ], + "type": "object", + "properties": { + "preferredShipmentType": { + "description": "Indicates Shipment Logistics type that the customer preferred.", + "enum": [ + "CustomerManaged", + "MicrosoftManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportShipmentTypes", + "modelAsExtensible": true, + "values": [ + { + "value": "CustomerManaged", + "description": "Shipment Logistics is handled by the customer." + }, + { + "value": "MicrosoftManaged", + "description": "Shipment Logistics is handled by Microsoft." + } + ] + } + } + } + }, + "UnencryptedCredentials": { + "description": "Unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "jobName": { + "description": "Name of the job.", + "type": "string", + "readOnly": true + }, + "jobSecrets": { + "$ref": "#/definitions/JobSecrets", + "description": "Secrets related to this job.", + "readOnly": true + } + } + }, + "UnencryptedCredentialsList": { + "description": "List of unencrypted credentials for accessing device.", + "type": "object", + "properties": { + "value": { + "description": "List of unencrypted credentials.", + "type": "array", + "items": { + "$ref": "#/definitions/UnencryptedCredentials" + } + }, + "nextLink": { + "description": "Link for the next set of unencrypted credentials.", + "type": "string" + } + } + }, + "UpdateJobDetails": { + "description": "Job details for update.", + "type": "object", + "properties": { + "contactDetails": { + "$ref": "#/definitions/ContactDetails", + "description": "Contact details for notification and shipping." + }, + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyEncryptionKey", + "description": "Key encryption key for the job." + }, + "returnToCustomerPackageDetails": { + "$ref": "#/definitions/PackageCarrierDetails", + "description": "Return package details of job." + } + } + }, + "UpdateJobProperties": { + "description": "Job Properties for update", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/UpdateJobDetails", + "description": "Details of a job to be updated." + } + } + }, + "UserAssignedIdentity": { + "description": "Class defining User assigned identity details.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "UserAssignedProperties": { + "description": "User assigned identity properties.", + "type": "object", + "properties": { + "resourceId": { + "description": "Arm resource id for user assigned identity to be used to fetch MSI token.", + "type": "string" + } + } + }, + "ValidateAddress": { + "description": "The requirements to validate customer address where the device needs to be shipped.", + "required": [ + "shippingAddress", + "deviceType", + "validationType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ValidationInputRequest" + } + ], + "properties": { + "shippingAddress": { + "$ref": "#/definitions/ShippingAddress", + "description": "Shipping address of the customer." + }, + "deviceType": { + "description": "Device type to be used for the job.", + "enum": [ + "DataBox", + "DataBoxDisk", + "DataBoxHeavy", + "DataBoxCustomerDisk" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsExtensible": true, + "values": [ + { + "value": "DataBox", + "description": "Data Box." + }, + { + "value": "DataBoxDisk", + "description": "Data Box Disk." + }, + { + "value": "DataBoxHeavy", + "description": "Data Box Heavy." + }, + { + "value": "DataBoxCustomerDisk", + "description": "Data Box Customer Disk." + } + ] + } + }, + "transportPreferences": { + "$ref": "#/definitions/TransportPreferences", + "description": "Preferences related to the shipment logistics of the sku." + } + }, + "x-ms-discriminator-value": "ValidateAddress" + }, + "ValidationInputRequest": { + "description": "Minimum fields that must be present in any type of validation request.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation request.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + } + }, + "discriminator": "validationType" + }, + "ValidationInputResponse": { + "description": "Minimum properties that should be present in each individual validation response.", + "required": [ + "validationType" + ], + "type": "object", + "properties": { + "validationType": { + "description": "Identifies the type of validation response.", + "enum": [ + "ValidateAddress", + "ValidateSubscriptionIsAllowedToCreateJob", + "ValidatePreferences", + "ValidateCreateOrderLimit", + "ValidateSkuAvailability", + "ValidateDataTransferDetails" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationInputDiscriminator", + "modelAsExtensible": true, + "values": [ + { + "value": "ValidateAddress", + "description": "Identify request and response of address validation." + }, + { + "value": "ValidateSubscriptionIsAllowedToCreateJob", + "description": "Identify request and response for validation of subscription permission to create job." + }, + { + "value": "ValidatePreferences", + "description": "Identify request and response of preference validation." + }, + { + "value": "ValidateCreateOrderLimit", + "description": "Identify request and response of create order limit for subscription validation." + }, + { + "value": "ValidateSkuAvailability", + "description": "Identify request and response of active job limit for sku availability." + }, + { + "value": "ValidateDataTransferDetails", + "description": "Identify request and response of data transfer details validation." + } + ] + } + }, + "error": { + "$ref": "#/definitions/CloudError", + "description": "Error code and message of validation response.", + "readOnly": true + } + }, + "discriminator": "validationType" + }, + "ValidationRequest": { + "description": "Minimum request requirement of any validation category.", + "required": [ + "validationCategory", + "individualRequestDetails" + ], + "type": "object", + "properties": { + "validationCategory": { + "description": "Identify the nature of validation.", + "enum": [ + "JobCreationValidation" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationCategory", + "modelAsExtensible": true, + "values": [ + { + "value": "JobCreationValidation", + "description": "Identify request of pre-job creation validations." + } + ] + } + }, + "individualRequestDetails": { + "description": "List of request details contain validationType and its request as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputRequest" + } + } + }, + "discriminator": "validationCategory" + }, + "ValidationResponse": { + "description": "Response of pre job creation validations.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ValidationResponseProperties", + "description": "Properties of pre job creation validation response.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "ValidationResponseProperties": { + "description": "Properties of pre job creation validation response.", + "type": "object", + "properties": { + "status": { + "description": "Overall validation status.", + "enum": [ + "AllValidToProceed", + "InputsRevisitRequired", + "CertainInputValidationsSkipped" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OverallValidationStatus", + "modelAsExtensible": true, + "values": [ + { + "value": "AllValidToProceed", + "description": "Every input request is valid." + }, + { + "value": "InputsRevisitRequired", + "description": "Some input requests are not valid." + }, + { + "value": "CertainInputValidationsSkipped", + "description": "Certain input validations skipped." + } + ] + } + }, + "individualResponseDetails": { + "description": "List of response details contain validationType and its response as key and value respectively.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationInputResponse" + }, + "readOnly": true + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API Version", + "required": true, + "type": "string" + }, + "jobNameParameter": { + "name": "jobName", + "in": "path", + "description": "The name of the job Resource within the specified resource group. job names must be between 3 and 24 characters in length and use any alphanumeric and underscore only", + "required": true, + "type": "string", + "maxLength": 24, + "minLength": 3, + "pattern": "^[-\\w\\.]+$", + "x-ms-parameter-location": "method" + }, + "locationParameter": { + "name": "location", + "in": "path", + "description": "The location of the resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The Resource Group Name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Subscription Id", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/AvailableSkusPost.json new file mode 100644 index 000000000000..cbdeea21ccfd --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/AvailableSkusPost.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "location": "westus", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "ce815189-a9cc-4288-8166-d78f211bed5a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "84" + ], + "availableSkuRequest": { + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "DataBox" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "80", + "maximum": "100" + }, + "costs": [ + { + "meterId": "0cf23ffc-0b64-49e6-9bdd-1db885349042", + "meterType": "DataBoxServiceFee", + "multiplier": 1 + }, + { + "meterId": "a701f058-119b-4713-a923-bed7da4b7801", + "meterType": "DataBoxShippingFee", + "multiplier": 1 + }, + { + "meterId": "049fa331-0a48-4a81-9991-a6bef3c79fed", + "meterType": "DataBoxExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "c3ea978d-6a0a-4632-b094-4fffcafcb057", + "meterType": "DataBoxLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxDisk" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "35", + "maximum": "40" + }, + "costs": [ + { + "meterId": "d95cd8b5-b6f1-4cd9-ae86-a016d1945d6f", + "meterType": "DataBoxDiskServiceFee", + "multiplier": 1 + }, + { + "meterId": "4b8cf572-cb04-4ef3-9528-2cda4e9b544e", + "meterType": "DataBoxDiskShippingFee", + "multiplier": 1 + }, + { + "meterId": "b6ae9bbf-815d-49dd-bb2b-77c497b72ba4", + "meterType": "DataBoxDiskDailyUsageFee", + "multiplier": 1 + }, + { + "meterId": "08bc0ea1-6c82-421b-b953-2a7a65810d2e", + "meterType": "DataBoxDiskLostDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None" + } + }, + { + "sku": { + "name": "DataBoxHeavy" + }, + "enabled": true, + "properties": { + "dataLocationToServiceLocationMap": [ + { + "dataLocation": "westus", + "serviceLocation": "westus" + }, + { + "dataLocation": "centralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus", + "serviceLocation": "westus" + }, + { + "dataLocation": "eastus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "northcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "southcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westcentralus", + "serviceLocation": "westus" + }, + { + "dataLocation": "westus2", + "serviceLocation": "westus" + }, + { + "dataLocation": "centraluseuap", + "serviceLocation": "centraluseuap" + }, + { + "dataLocation": "eastus2euap", + "serviceLocation": "eastus2euap" + } + ], + "capacity": { + "usable": "800", + "maximum": "1000" + }, + "costs": [ + { + "meterId": "d0dccaaf-3de9-4c7a-ba97-f83551b90126", + "meterType": "DataBoxHeavyServiceFee", + "multiplier": 1 + }, + { + "meterId": "7b49d11f-d4f7-4029-a197-04998fd282f9", + "meterType": "DataBoxHeavyShippingFee", + "multiplier": 1 + }, + { + "meterId": "c2c66d53-11b4-4f11-9642-43c7c336f0b7", + "meterType": "DataBoxHeavyExtraDayFee", + "multiplier": 1 + }, + { + "meterId": "188dcd7e-fbd7-4a41-aa42-162b81b0510f", + "meterType": "DataBoxHeavyLostOrDamagedDeviceFee", + "multiplier": 1 + } + ], + "apiVersions": [ + "2018-01-01" + ], + "disabledReason": "None", + "requiredFeature": "HeavyCreateAccess" + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/BookShipmentPickupPost.json new file mode 100644 index 000000000000..8cbf3208d831 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/BookShipmentPickupPost.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "e1437186-b41d-492e-9b7a-e197c28a517a" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.27817.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18362.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "118" + ], + "shipmentPickUpRequest": { + "startTime": "2019-09-20T18:30:00Z", + "endTime": "2019-09-22T18:30:00Z", + "shipmentLocation": "Front desk" + } + }, + "responses": { + "200": { + "body": { + "confirmationNumber": "2929602E9CP", + "readyByTime": "2019-09-20T18:30:00Z" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobMitigate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobMitigate.json new file mode 100644 index 000000000000..869049021135 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobMitigate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg9836", + "jobName": "SdkJob8367", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "71d282dc-56a0-402b-a322-3b50c89711b5" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.26614.01", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "60" + ], + "mitigateJobRequest": { + "customerResolutionCode": "MoveToCleanUpDevice" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCancelPost.json new file mode 100644 index 000000000000..36466d579446 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCancelPost.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "95fc15f7-4976-46bb-8370-74ed4cb676be" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "30" + ], + "cancellationReason": { + "reason": "CancelTest" + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreate.json new file mode 100644 index 000000000000..21d887b2d0b6 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreate.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "04f2835f-a2a2-4f25-96df-568460e5be24" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1064" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDevicePassword.json new file mode 100644 index 000000000000..6079e66a21a7 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDevicePassword.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7478", + "jobName": "SdkJob9640", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "c4c8f926-ebbe-4c07-ae1a-b716911058df" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1168" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "devicePassword": "", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "sharePassword": "" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob9640", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7478/providers/Microsoft.DataBox/jobs/SdkJob9640", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDoubleEncryption.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDoubleEncryption.json new file mode 100644 index 000000000000..f8c43a30ab02 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateDoubleEncryption.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg608", + "jobName": "SdkJob6599", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "c9c24c55-fd51-4374-839e-60ee5f0d8832" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1186" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "preferences": { + "encryptionPreferences": { + "doubleEncryption": "Enabled" + } + } + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6599", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg608/providers/Microsoft.DataBox/jobs/SdkJob6599", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateExport.json new file mode 100644 index 000000000000..f81518238903 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateExport.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "80eaafc7-e8b7-4c5a-ad81-b1ecb9573cd4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1395" + ], + "jobResource": { + "properties": { + "transferType": "ExportFromAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateWithUserAssignedIdentity.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateWithUserAssignedIdentity.json new file mode 100644 index 000000000000..cf46fb4ba847 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsCreateWithUserAssignedIdentity.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7552", + "jobName": "SdkJob5337", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "618b064d-967c-4156-a8dd-a9867cc22af9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1318" + ], + "jobResource": { + "properties": { + "transferType": "ImportToAzure", + "details": { + "jobDetailsType": "DataBox", + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2" + } + } + ] + } + }, + "location": "westus", + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {} + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2019-09-21T14:49:49.0027611+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2019-09-21T14:49:52.3995743+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "jobDetailsType": "DataBox", + "copyLogDetails": [] + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob5337", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7552/providers/Microsoft.DataBox/jobs/SdkJob5337", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsDelete.json new file mode 100644 index 000000000000..dc6b64c9920c --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "f5c227e2-13d8-4ce9-9ef2-f3c63f6935b9" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGet.json new file mode 100644 index 000000000000..8840301cb4a7 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGet.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "e76214b0-6013-499e-8f91-3a287f421f2e" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:50:40.1872217+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=urwfAELvNV69IGHdcXlRCn6o3O3dWZQKaRipmoAdrI0%3D&st=2020-08-07T05%3A10%3A58Z&se=2020-08-08T05%3A20%3A58Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCmk.json new file mode 100644 index 000000000000..69d5ff4b01ad --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCmk.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c8cf9d3e-55f1-488f-bcee-53f4939f44e8" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:47:42.0009935+05:30", + "details": { + "copyProgress": [], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:47:44.8736499+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "None" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "None" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "None" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "None" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "None" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "None" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Public SDK Test", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/databoxbvt1/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=JSZSeKrFrrwWbZ4zd7PNdGdNYKExKpxa98vRDDH6ZIk%3D&st=2020-08-07T05%3A08%3A51Z&se=2020-08-08T05%3A18%3A51Z&sp=r", + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + }, + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "9a68a7c4-0a18-4d06-a5fb-7058e9e98458", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCopyStuck.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCopyStuck.json new file mode 100644 index 000000000000..05aa435c18a5 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetCopyStuck.json @@ -0,0 +1,202 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "dmstestresource", + "jobName": "TJx-637505258985313014", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "bdcc8e76-b662-42a4-93fd-5554809712d7" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.26614.01", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "CompletedWithWarnings", + "startTime": "2021-03-05T12:56:12.6384315+05:30", + "details": { + "copyProgress": [ + { + "storageAccountName": "databoxbvttestaccount", + "transferType": "ImportToAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "bytesProcessed": 2000, + "totalBytesToProcess": 2000, + "filesProcessed": 100, + "totalFilesToProcess": 110, + "invalidFilesProcessed": 10, + "invalidFileBytesUploaded": 10, + "renamedContainerCount": 60, + "filesErroredOut": 0, + "directoriesErroredOut": 0, + "invalidDirectoriesProcessed": 0, + "isEnumerationInProgress": false + } + ], + "expectedDataSizeInTeraBytes": 0, + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T12:56:25.3911023+05:30" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T13:07:49.676421+05:30" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T02:21:06+05:30" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T02:21:13+05:30" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T02:23:10+05:30" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T02:23:17+05:30" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T13:34:20.1497635+05:30" + }, + { + "stageName": "CompletedWithWarnings", + "stageStatus": "Succeeded", + "stageTime": "2021-03-05T14:08:38.250614+05:30" + } + ], + "contactDetails": { + "contactName": "Andrew Tribone", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "164 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "deliveryPackage": { + "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=5fb6965e-0b80-4f38-b21a-32673fed2d84", + "carrierName": "Ups", + "trackingId": "5fb6965e-0b80-4f38-b21a-32673fed2d84" + }, + "returnPackage": { + "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=b3875a34-aad6-4dbe-83a9-3f39cb21b0e8", + "carrierName": "Ups", + "trackingId": "b3875a34-aad6-4dbe-83a9-3f39cb21b0e8" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "preferences": {}, + "copyLogDetails": [ + { + "accountName": "databoxbvttestaccount", + "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml", + "copyLogDetailsType": "DataBox" + } + ], + "reverseShipmentLabelSasKey": "http://wusbeta.blob.core.windows.net/devstoreaccount1/f6be6ea8-77da-419b-9f6b-3043c28b04e4/ReverseShipment/b3875a34-aad6-4dbe-83a9-3f39cb21b0e8.PDF?sv=2018-03-28&sr=b&sig=%2BJmOyIkG0ALrKQp%2F7NCOBYccQ80DRLvN%2FHtb6Z97heg%3D&st=2021-03-05T09%3A45%3A05Z&se=2021-03-05T10%3A15%3A05Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + }, + "actions": [], + "lastMitigationActionOnJob": { + "actionDateTimeInUtc": "2021-03-05T08:28:18.8107951Z", + "isPerformedByCustomer": true, + "customerResolution": "MoveToCleanUpDevice" + } + }, + "deliveryType": "NonScheduled", + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": { + "defaultTagsKey": "defaultTagsValue" + }, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "TJx-637505258985313014", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetExport.json new file mode 100644 index 000000000000..549f09614374 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetExport.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg8091", + "jobName": "SdkJob6429", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "b3739c7c-02b6-46c2-a04c-da6f8bca279c" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "Cancelled", + "startTime": "2020-08-07T10:49:08.7195419+05:30", + "details": { + "copyProgress": [ + { + "storageAccountName": "aaaaaa2", + "transferType": "ExportFromAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "bytesProcessed": 0, + "totalBytesToProcess": 0, + "isEnumerationInProgress": false + } + ], + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:12.7675644+05:30" + }, + { + "stageName": "Cancelled", + "displayName": "Canceled", + "stageStatus": "Succeeded", + "stageTime": "2020-08-07T10:49:57.2572438+05:30" + } + ], + "contactDetails": { + "contactName": " ", + "emailList": [], + "phone": "1234567890", + "phoneExtension": "1234", + "notificationPreference": [] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deliveryPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "returnPackage": { + "carrierName": "", + "trackingId": "", + "trackingUrl": "" + }, + "dataImportDetails": [], + "dataExportDetails": [ + { + "transferConfiguration": { + "transferConfigurationType": "TransferAll", + "transferFilterDetails": {}, + "transferAllDetails": { + "include": { + "dataAccountType": "StorageAccount", + "transferAllBlobs": true, + "transferAllFiles": true + } + } + }, + "logCollectionLevel": "Error", + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.Storage/storageAccounts/aaaaaa2", + "dataAccountType": "StorageAccount" + } + } + ], + "jobDetailsType": "DataBox", + "copyLogDetails": [], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/customer-reverse-shipment-instructions/CustomerShipmentInstructions_MicrosoftManaged.PDF?sv=2018-03-28&sr=b&sig=04aL%2FTe7998qQJlhmGI3C0Q%2FxsCVo1t0B4uQUIx7TmQ%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-08T05%3A20%3A05Z&sp=r", + "chainOfCustodySasKey": "https://wusbeta.blob.core.windows.net/chainofcustody/9a6ee052-bcff-4b5e-a478-7dcbfb86e9fb.txt?sv=2018-03-28&sr=b&sig=JbBBXZKharvfg35ZfmrhowO1DuOpzcZCNUdeFzklvWs%3D&st=2020-08-07T05%3A10%3A05Z&se=2020-08-07T05%3A40%3A05Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + } + }, + "cancellationReason": "CancelTest", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob6429", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg8091/providers/Microsoft.DataBox/jobs/SdkJob6429", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetWaitingForAction.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetWaitingForAction.json new file mode 100644 index 000000000000..d26c14d80fd9 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsGetWaitingForAction.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "dmstestresource", + "jobName": "TJx-637505258985313014", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "bdcc8e76-b662-42a4-93fd-5554809712d7" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.26614.01", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": false, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": true, + "status": "DataCopy", + "startTime": "2021-03-14T23:49:49.5177298+00:00", + "error": { + "code": "SsemUserCopyErrorWaitingForAction", + "message": "Job has an error in copy stage and is waiting for customer action. Please review the error and select one of the actions provided in the job's properties.details.actions", + "target": "CopyIntervention", + "details": [], + "additionalInfo": [] + }, + "details": { + "copyProgress": [ + { + "storageAccountName": "databoxbvttestaccount", + "transferType": "ImportToAzure", + "dataAccountType": "StorageAccount", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "bytesProcessed": 2000, + "totalBytesToProcess": 2000, + "filesProcessed": 100, + "totalFilesToProcess": 110, + "invalidFilesProcessed": 10, + "invalidFileBytesUploaded": 10, + "renamedContainerCount": 60, + "filesErroredOut": 0, + "directoriesErroredOut": 0, + "invalidDirectoriesProcessed": 0, + "isEnumerationInProgress": false + }, + { + "transferType": "ImportToAzure", + "dataAccountType": "ManagedDisk", + "accountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94", + "bytesProcessed": 2000, + "totalBytesToProcess": 2000, + "filesProcessed": 100, + "totalFilesToProcess": 110, + "invalidFilesProcessed": 10, + "invalidFileBytesUploaded": 10, + "renamedContainerCount": 60, + "filesErroredOut": 0, + "directoriesErroredOut": 0, + "invalidDirectoriesProcessed": 0, + "isEnumerationInProgress": false + } + ], + "expectedDataSizeInTeraBytes": 0, + "jobStages": [ + { + "stageName": "DeviceOrdered", + "displayName": "Ordered", + "stageStatus": "Succeeded", + "stageTime": "2021-03-14T23:49:53.81509+00:00" + }, + { + "stageName": "DevicePrepared", + "displayName": "Processed", + "stageStatus": "Succeeded", + "stageTime": "2021-03-15T00:05:18.7350971+00:00" + }, + { + "stageName": "Dispatched", + "displayName": "Dispatched", + "stageStatus": "Succeeded", + "stageTime": "2021-03-15T00:25:19+00:00" + }, + { + "stageName": "Delivered", + "displayName": "Delivered", + "stageStatus": "Succeeded", + "stageTime": "2021-03-15T00:25:26+00:00" + }, + { + "stageName": "PickedUp", + "displayName": "Picked up", + "stageStatus": "Succeeded", + "stageTime": "2021-03-15T00:30:22+00:00" + }, + { + "stageName": "AtAzureDC", + "displayName": "Received", + "stageStatus": "Succeeded", + "stageTime": "2021-03-15T00:30:29+00:00" + }, + { + "stageName": "DataCopy", + "displayName": "Data copy in progress", + "stageStatus": "WaitingForCustomerAction", + "stageTime": "2021-03-15T00:45:26.2679756+00:00" + }, + { + "stageName": "Completed", + "displayName": "Completed", + "stageStatus": "None" + } + ], + "contactDetails": { + "contactName": "Andrew Tribone", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "ssemmail@microsoft.com", + "vishwamdir@microsoft.com" + ], + "notificationPreference": [ + { + "stageName": "DevicePrepared", + "sendNotification": true + }, + { + "stageName": "Dispatched", + "sendNotification": true + }, + { + "stageName": "Delivered", + "sendNotification": true + }, + { + "stageName": "PickedUp", + "sendNotification": true + }, + { + "stageName": "AtAzureDC", + "sendNotification": true + }, + { + "stageName": "DataCopy", + "sendNotification": true + } + ] + }, + "shippingAddress": { + "streetAddress1": "164 TOWNSEND ST", + "streetAddress2": "UNIT 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "None" + }, + "deliveryPackage": { + "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=6f00fcce-1eec-4ee7-99a8-0acc68efd1c7", + "carrierName": "Ups", + "trackingId": "6f00fcce-1eec-4ee7-99a8-0acc68efd1c7" + }, + "returnPackage": { + "trackingUrl": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=79148759-b772-4a90-933b-da5ae5ac6ebb", + "carrierName": "Ups", + "trackingId": "79148759-b772-4a90-933b-da5ae5ac6ebb" + }, + "dataImportDetails": [ + { + "accountDetails": { + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount", + "dataAccountType": "StorageAccount" + } + }, + { + "accountDetails": { + "resourceGroupId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94", + "stagingStorageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/manageddisktest/providers/Microsoft.Storage/storageAccounts/sojainmanageddisk", + "dataAccountType": "ManagedDisk" + } + } + ], + "jobDetailsType": "DataBox", + "preferences": { + "encryptionPreferences": { + "doubleEncryption": "Disabled" + } + }, + "copyLogDetails": [ + { + "accountName": "databoxbvttestaccount", + "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml", + "copyLogDetailsType": "DataBox" + }, + { + "accountName": "akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ94", + "copyLogLink": "databoxcopylog/strtrinidad01_ZTS18520041_CopyLog_8425fb8f9c2b447288caa4dd6f5d34bb.xml", + "copyLogDetailsType": "DataBox" + } + ], + "reverseShipmentLabelSasKey": "https://wusbeta.blob.core.windows.net/10dcd296-ed09-4037-ac19-2f16c4866452/ReverseShipment/79148759-b772-4a90-933b-da5ae5ac6ebb.PDF?sv=2018-03-28&sr=b&sig=bNtVcKRfYq1kiz0vxxSV%2FIZodCK8nUsCPu6MYK%2B6Erk%3D&st=2021-06-21T15%3A35%3A29Z&se=2021-06-21T16%3A05%3A29Z&sp=r", + "keyEncryptionKey": { + "kekType": "MicrosoftManaged" + }, + "actions": [ + "MoveToCleanUpDevice" + ], + "lastMitigationActionOnJob": { + "actionDateTimeInUtc": "2021-05-12T05:00:22.5047578Z", + "isPerformedByCustomer": true, + "customerResolution": "MoveToCleanUpDevice" + } + }, + "deliveryType": "NonScheduled", + "isCancellableWithoutFee": false + }, + "systemData": { + "createdBy": "5ff6737b-7c50-45d1-b2cb-63a6cd723138", + "createdByType": "Application", + "createdAt": "2021-03-14T23:49:48.349255+00:00", + "lastModifiedBy": "5ff6737b-7c50-45d1-b2cb-63a6cd723138", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-03-14T23:49:48.349255+00:00" + }, + "location": "westus", + "tags": { + "defaultTagsKey": "defaultTagsValue" + }, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "TJx-637505258985313014", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/dmstestresource/providers/Microsoft.DataBox/jobs/TJx-637505258985313014", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsList.json new file mode 100644 index 000000000000..ee9a2cf97d5d --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsList.json @@ -0,0 +1,805 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "044127c5-663e-4a0f-9061-2fa0ca8058c4" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T14:44:39.77401+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "mnaustest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/mnaustest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-09-10T18:03:22.2578238+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "portalcontractAUS", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/ausresgrpmn/providers/Microsoft.DataBox/jobs/portalcontractAUS", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-08-30T15:17:17.3753642+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "australiaeast", + "tags": {}, + "sku": { + "name": "DataBoxDisk" + }, + "identity": { + "type": "None" + }, + "name": "testBB-diskAU", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/testBB/providers/Microsoft.DataBox/jobs/testBB-diskAU", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T11:12:15.5972523+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "allXML", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/allXML", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-07T15:51:08.4479315+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "bothExportAllxml", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/bothExportAllxml", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T19:44:59.2410723+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/exportAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T18:31:05.3036028+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "importRegressnTest", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/importRegressnTest", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-09T01:57:03.8985885+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testBotthXMLAndAll", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testBotthXMLAndAll", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-05T15:56:52.6983398+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testExportAllOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testExportAllOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T17:45:25.464989+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testPayload", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/testPayload", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-04T10:43:04.8775864+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "xmlOnlyOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat12/providers/Microsoft.DataBox/jobs/xmlOnlyOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2018-11-27T15:17:49.0760408+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testbadresourcegroup", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat3198inh0-9)inh(il(h)_fyoin)(upf(yLASD0-FJ(hal-DSNWP0JDS0P3-0SJ93/providers/Microsoft.DataBox/jobs/testbadresourcegroup", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-01-04T09:08:49.9928621+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "andipodtest4jan", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/andipodtest4jan", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-05-28T15:20:48.1058546+05:30", + "cancellationReason": "NoLongerNeeded null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "dbtest1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/dbtest1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:51:18.2067875+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautam14-04-Clone", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautam14-04-Clone", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-27T18:08:30.6622356+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestexport", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestexport", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-21T20:41:02.3837388+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "DegautamTestExportOrder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/DegautamTestExportOrder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-24T07:56:23.6839464+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamtestorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamtestorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-14T08:48:21.2260174+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "degautamTestOrder14-04", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/degautamTestOrder14-04", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-05-12T12:19:19.8627264+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "export", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/export", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-05T19:50:20.9692355+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "exportTestResource", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/exportTestResource", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:09:45.7080012+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportNew", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportNew", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:13:02.5724966+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ExportFromAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-20T13:39:28.1940929+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld1", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld1", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2020-04-10T15:14:59.6879599+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "sanakTestImportOld2", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.DataBox/jobs/sanakTestImportOld2", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": false, + "status": "DeviceOrdered", + "startTime": "2020-07-21T23:43:34.513148+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "saranyagorder", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/saranyagorder", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-07-04T14:01:50.9232807+05:30", + "cancellationReason": "IncorrectOrder null", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "testdeepak04-07", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdeepak04-07", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": false, + "isDeletable": true, + "isShippingAddressEditable": false, + "isPrepareToShipEnabled": false, + "status": "Cancelled", + "startTime": "2019-02-11T12:33:16.6231232+05:30", + "cancellationReason": "Old job which is still in ordered state cancelled by the service", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": false + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBoxHeavy" + }, + "identity": { + "type": "None" + }, + "name": "testdurga-heavy", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/akvenkat/providers/Microsoft.DataBox/jobs/testdurga-heavy", + "type": "Microsoft.DataBox/jobs" + } + ], + "nextLink": "https://management.azure.com/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.DataBox/jobs?api-version=2020-11-01&%24skiptoken=fVJdb5swFP0v0bq3NMaFFipVU5oATRbSxBjz8WYDIQbzoUBISNX%2fPrfVumnaJvnB8rn3nON77suoSs%2fdildFO7p%2fGfmmiz13dD%2fad13T3k8mJa1olpZp1V3Ty%2fGQXsd1OWmPrI0PvOl4XbWTHb3VgQ53Y323uxurFGpjQ4vvxnFqJFRTFajC3aQ51D1P0kM7cXh8qNt6113PaUcf6%2fMkr1n7jTZ83EtcUj5AAMEYqGOgfP3SFrzBdZFWD5u5oTL%2flCUlGWIoepYD7rjqacEfBSvXfWSLY3QBPAlQucImXOT6FWTzba1voXFMJJr4FqC%2bcSS2cYh89QPNFvPznEFNIpoSBqiRd4%2fBTrBcXc%2f4NFvMpjr51FSHVT7VV0ok4motaz9ZZtNsYyEttj3JS2yLM9uTdT9fpI83pmxjaiJ9QtswWAL6obaKgkL2OK4pBS3KPG%2fAAD2uTaXzA7RBStPhqjg5lvBcbDnEbs9%2b0OSJVQwEE4qAd8YFslJPM91SCdNiWYYiaWm57p6DhjuiPmFbcamNnlApuAP3JfZCLfYXg1vV%2bgr8y9Efnl12k%2fzyCp9nVs5IdBvmaz8l0kuFIt9c3oQkVpjY327LKGc%2beteitnnxyzNnAaojM1QTJbt45Tl3lOUhsvbfmRDY8Q1KQDhEBFkrfOpxSdTEWvYJ6ESKf8vCtoYIEoBtI%2f%2fI6y0D72nZMN8aUtkpp%2f%2bXivffzE%2f9f7dBTmPds0puQUX2cmd6JlBPITlusqubRJ7R6%2bsP" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListByResourceGroup.json new file mode 100644 index 000000000000..c20d9d60ef15 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListByResourceGroup.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "c1514209-a439-4bd1-b040-76d7539d2509" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-07-03T11:55:54.463792+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "SystemAssigned", + "principalId": "fac84c35-5490-4b11-81b9-770053ccbe3b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + "name": "SdkJob5928", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob5928", + "type": "Microsoft.DataBox/jobs" + }, + { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isDeletable": false, + "isShippingAddressEditable": true, + "isPrepareToShipEnabled": true, + "status": "DeviceOrdered", + "startTime": "2020-08-07T10:50:36.3341513+05:30", + "deliveryType": "NonScheduled", + "deliveryInfo": { + "scheduledDateTime": "0001-01-01T05:30:00+05:30" + }, + "isCancellableWithoutFee": true + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "identity": { + "type": "None" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListCredentials.json new file mode 100644 index 000000000000..a41c718e40fc --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsListCredentials.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "bvttoolrg6", + "jobName": "TJ-636646322037905056", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "cda11c92-529b-4b75-b56d-ff1a69ffeeba" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "jobName": "TJ-636646322037905056", + "jobSecrets": { + "podSecrets": [ + { + "deviceSerialNumber": "testimolapod-3ecc44ce", + "devicePassword": "", + "networkConfigurations": [ + { + "name": "DataPort3", + "macAddress": "D05099C1F439" + }, + { + "name": "DataPort1", + "macAddress": "EC0D9A21A6C0" + }, + { + "name": "DataPort2", + "macAddress": "EC0D9A21A6C1" + } + ], + "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==", + "accountCredentialDetails": [ + { + "accountName": "databoxbvttestaccount", + "dataAccountType": "StorageAccount", + "accountConnectionString": "", + "shareCredentialDetails": [ + { + "shareName": "databoxbvttestaccount_PageBlob", + "shareType": "PageBlob", + "userName": "databoxbvttestac_903", + "password": "", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_BlockBlob", + "shareType": "BlockBlob", + "userName": "databoxbvttestac_903", + "password": "", + "supportedAccessProtocols": [ + "SMB" + ] + }, + { + "shareName": "databoxbvttestaccount_AzFile", + "shareType": "AzureFile", + "userName": "databoxbvttestac_903", + "password": "", + "supportedAccessProtocols": [ + "SMB" + ] + } + ] + } + ] + } + ], + "jobSecretsType": "DataBox", + "dcAccessSecurityCode": {} + } + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatch.json new file mode 100644 index 000000000000..43a03e16431e --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg5154", + "jobName": "SdkJob952", + "api-version": "2021-12-01", + "$expand": "details", + "x-ms-client-request-id": [ + "ff3829ca-bcb0-4737-b6e0-52af57f34bb7" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "584" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "contactDetails": { + "contactName": "Update Job", + "phone": "1234567890", + "phoneExtension": "1234", + "emailList": [ + "testing@microsoft.com" + ] + }, + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob952", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg5154/providers/Microsoft.DataBox/jobs/SdkJob952", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchCmk.json new file mode 100644 index 000000000000..874df15e9a09 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchCmk.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg7937", + "jobName": "SdkJob1735", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "fcab0fa9-7af8-47e0-b570-d703a48ee66b" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "358" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob1735", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg7937/providers/Microsoft.DataBox/jobs/SdkJob1735", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchSystemAssignedToUserAssigned.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchSystemAssignedToUserAssigned.json new file mode 100644 index 000000000000..8f02c4c00162 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/JobsPatchSystemAssignedToUserAssigned.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg9765", + "jobName": "SdkJob2965", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "25b11bec-6551-47a4-9ee2-575245cbfd45" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29220.03", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.19041.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "923" + ], + "jobResourceUpdateParameter": { + "properties": { + "details": { + "keyEncryptionKey": { + "kekType": "CustomerManaged", + "identityProperties": { + "type": "UserAssigned", + "userAssigned": { + "resourceId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity" + } + }, + "kekUrl": "https://sdkkeyvault.vault.azure.net/keys/SSDKEY/", + "kekVaultResourceID": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.KeyVault/vaults/SDKKeyVault" + } + } + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/akvenkat/providers/Microsoft.ManagedIdentity/userAssignedIdentities/sdkIdentity": {} + } + } + } + }, + "responses": { + "202": {}, + "200": { + "body": { + "properties": { + "transferType": "ImportToAzure", + "isCancellable": true, + "isShippingAddressEditable": true, + "status": "DeviceOrdered", + "startTime": "2018-04-13T16:28:38.9999793+05:30" + }, + "location": "westus", + "tags": {}, + "sku": { + "name": "DataBox" + }, + "name": "SdkJob2965", + "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/SdkRg9765/providers/Microsoft.DataBox/jobs/SdkJob2965", + "type": "Microsoft.DataBox/jobs" + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/MarkDevicesShipped.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/MarkDevicesShipped.json new file mode 100644 index 000000000000..9e949f51cf80 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/MarkDevicesShipped.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg9836", + "jobName": "SdkJob8367", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "71d282dc-56a0-402b-a322-3b50c89711b5" + ], + "accept-language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.26614.01", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "60" + ], + "markDevicesShippedRequest": { + "deliverToDcPackageDetails": { + "carrierName": "DHL", + "trackingId": "123456" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/OperationsGet.json new file mode 100644 index 000000000000..e13b975e086e --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/OperationsGet.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "b9453354-c675-40a8-99c0-8039818c85fd" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataBox/locations/operationResults/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operation Results", + "operation": "List Operation Results", + "description": "List or get the Operation Results" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/cancel/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Cancel", + "description": "Cancels an order in progress." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/bookShipmentPickUp/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Book Shipment Pick Up", + "description": "Allows to book a pick up for return shipments." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/read", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Orders", + "description": "List or get the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/delete", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Delete Orders", + "description": "Delete the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/write", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "Create or Update Orders", + "description": "Create or update the Orders" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/jobs/listCredentials/action", + "display": { + "provider": "Azure Data Box", + "resource": "Orders", + "operation": "List Credentials", + "description": "Lists the unencrypted credentials related to the order." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateInputs/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Inputs", + "operation": "Validate Inputs", + "description": "This method does all type of validations." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/validateAddress/action", + "display": { + "provider": "Azure Data Box", + "resource": "Validate Address", + "operation": "Validate Address", + "description": "Validates the shipping address and provides alternate addresses if any." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/moveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Move Resource", + "description": "This method performs the resource move." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/subscriptions/resourceGroups/validateMoveResources/action", + "display": { + "provider": "Azure Data Box", + "resource": "Move Resource", + "operation": "Validate Move Resource Request", + "description": "This method validates whether resource move is allowed or not." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/action", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "Availabe Skus", + "description": "This method returns the list of available skus." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/regionConfiguration/action", + "display": { + "provider": "Azure Data Box", + "resource": "Region Configuration", + "operation": "Region Configuration", + "description": "This method returns the configurations for the region." + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/locations/availableSkus/read", + "display": { + "provider": "Azure Data Box", + "resource": "Available Skus", + "operation": "List Available Skus", + "description": "List or get the Available Skus" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/register/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Register Microsoft.Databox", + "description": "Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/unregister/action", + "display": { + "provider": "Azure Data Box", + "resource": "Register Microsoft.Databox", + "operation": "Un-Register Microsoft.Databox", + "description": "Un-Register Provider Microsoft.Databox" + }, + "properties": {}, + "origin": "user" + }, + { + "name": "Microsoft.DataBox/operations/read", + "display": { + "provider": "Azure Data Box", + "resource": "Operations", + "operation": "List Operations", + "description": "List or get the Operations" + }, + "properties": {}, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfiguration.json new file mode 100644 index 000000000000..29584581f202 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfiguration.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2021-12-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfigurationByResourceGroup.json new file mode 100644 index 000000000000..361cd1e9447c --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/RegionConfigurationByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg4981", + "location": "westus", + "api-version": "2021-12-01", + "regionConfigurationRequest": { + "scheduleAvailabilityRequest": { + "storageLocation": "westus", + "skuName": "DataBox" + } + } + }, + "responses": { + "200": { + "body": { + "scheduleAvailabilityResponse": { + "availableDates": [ + "2019-07-11T00:00:00+00:00", + "2019-07-12T00:00:00+00:00", + "2019-07-13T00:00:00+00:00", + "2019-07-14T00:00:00+00:00", + "2019-07-15T00:00:00+00:00", + "2019-07-16T00:00:00+00:00", + "2019-07-17T00:00:00+00:00", + "2019-07-18T00:00:00+00:00", + "2019-07-19T00:00:00+00:00", + "2019-07-20T00:00:00+00:00", + "2019-07-21T00:00:00+00:00", + "2019-07-22T00:00:00+00:00", + "2019-07-23T00:00:00+00:00", + "2019-07-24T00:00:00+00:00", + "2019-07-25T00:00:00+00:00", + "2019-07-26T00:00:00+00:00", + "2019-07-27T00:00:00+00:00", + "2019-07-28T00:00:00+00:00", + "2019-07-29T00:00:00+00:00", + "2019-07-30T00:00:00+00:00", + "2019-07-31T00:00:00+00:00" + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateAddressPost.json new file mode 100644 index 000000000000..d33f158c5718 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateAddressPost.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "cfda3c52-b129-4568-aba7-e743edf747c2" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "351" + ], + "validateAddress": { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress" + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputs.json new file mode 100644 index 000000000000..fb815e66a7e7 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputs.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "location": "westus", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "129a0589-5017-4f35-a66c-8da38e04aae1" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputsByResourceGroup.json new file mode 100644 index 000000000000..f5403930d588 --- /dev/null +++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2021-12-01/examples/ValidateInputsByResourceGroup.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "resourceGroupName": "SdkRg6861", + "location": "westus", + "api-version": "2021-12-01", + "x-ms-client-request-id": [ + "85f045bb-7659-4a2f-bcf5-96723954afdf" + ], + "Accept-Language": [ + "en-US" + ], + "User-Agent": [ + "FxVersion/4.6.29017.01", + "OSName/Windows", + "OSVersion/Microsoft.Windows.10.0.18363.", + "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.1.0" + ], + "Content-Type": [ + "application/json; charset=utf-8" + ], + "Content-Length": [ + "1675" + ], + "validationRequest": { + "validationCategory": "JobCreationValidation", + "individualRequestDetails": [ + { + "validationType": "ValidateDataTransferDetails", + "dataImportDetails": [ + { + "accountDetails": { + "dataAccountType": "StorageAccount", + "storageAccountId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourcegroups/databoxbvt/providers/Microsoft.Storage/storageAccounts/databoxbvttestaccount" + } + } + ], + "deviceType": "DataBox", + "transferType": "ImportToAzure" + }, + { + "validationType": "ValidateAddress", + "shippingAddress": { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "city": "San Francisco", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "companyName": "Microsoft", + "addressType": "Commercial" + }, + "deviceType": "DataBox", + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + { + "validationType": "ValidateSubscriptionIsAllowedToCreateJob" + }, + { + "validationType": "ValidateSkuAvailability", + "deviceType": "DataBox", + "transferType": "ImportToAzure", + "country": "US", + "location": "westus" + }, + { + "validationType": "ValidateCreateOrderLimit", + "deviceType": "DataBox" + }, + { + "validationType": "ValidatePreferences", + "preference": { + "transportPreferences": { + "preferredShipmentType": "MicrosoftManaged" + } + }, + "deviceType": "DataBox" + } + ] + } + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "AllValidToProceed", + "individualResponseDetails": [ + { + "status": "Valid", + "validationType": "ValidateDataTransferDetails", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "validationStatus": "Valid", + "alternateAddresses": [ + { + "streetAddress1": "16 TOWNSEND ST", + "streetAddress2": "Unit 1", + "streetAddress3": "", + "city": "SAN FRANCISCO", + "stateOrProvince": "CA", + "country": "US", + "postalCode": "94107", + "addressType": "None" + } + ], + "validationType": "ValidateAddress", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSubscriptionIsAllowedToCreateJob", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateSkuAvailability", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidateCreateOrderLimit", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + }, + { + "status": "Valid", + "validationType": "ValidatePreferences", + "error": { + "code": "Success", + "target": "KeyEncryptionKey", + "details": [], + "additionalInfo": [] + } + } + ] + } + } + } + } +} diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md index 3c87a21aa388..dd429c20aba2 100644 --- a/specification/databox/resource-manager/readme.go.md +++ b/specification/databox/resource-manager/readme.go.md @@ -38,6 +38,7 @@ batch: - tag: package-2021-03 - tag: package-2021-05 - tag: package-2021-08-preview + - tag: package-2021-12 ``` ### Tag: package-2018-01 and go @@ -101,4 +102,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace) ``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.java.md b/specification/databox/resource-manager/readme.java.md index e28e26e6cb37..fff3e63f6760 100644 --- a/specification/databox/resource-manager/readme.java.md +++ b/specification/databox/resource-manager/readme.java.md @@ -24,6 +24,7 @@ batch: - tag: package-2021-03 - tag: package-2021-05 - tag: package-2021-08-preview + - tag: package-2021-12 ``` ### Tag: package-2018-01 and java @@ -115,4 +116,17 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2021_08_01_preview regenerate-manager: true generate-interface: true +``` + +### Tag: package-2021-12 and java + +These settings apply only when `--tag=package-2021-12-java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.databox.v2021_12-01 + output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2021_12_01 +regenerate-manager: true +generate-interface: true ``` \ No newline at end of file diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md index 3a9be4cd2484..50fa026eaf15 100644 --- a/specification/databox/resource-manager/readme.md +++ b/specification/databox/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the DataBox API. ``` yaml openapi-type: arm -tag: package-2021-08-preview +tag: package-2021-12 +``` + +### Tag: package-2021-12 + +These settings apply only when `--tag=package-2021-12` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12' +input-file: +- Microsoft.DataBox/stable/2021-12-01/databox.json ``` ### Tag: package-2021-08-preview diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md index 778db39c4e6f..3767520bfd69 100644 --- a/specification/databox/resource-manager/readme.python.md +++ b/specification/databox/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.databox @@ -20,8 +20,9 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) batch: + - tag: package-2021-12 - tag: package-2021-08-preview - tag: package-2021-05 - tag: package-2021-03 @@ -34,15 +35,25 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/ -clear-output-folder: false perform-load: false ``` + +### Tag: package-2021-12 and python + +These settings apply only when `--tag=package-2021-12 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-12' && $(python) +namespace: azure.mgmt.databox.v2021_12_01 +output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_12_01 +``` + ### Tag: package-2021-08-preview and python These settings apply only when `--tag=package-2021-08-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-08-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-08-preview' && $(python) namespace: azure.mgmt.databox.v2021_08_01_preview output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_08_01_preview ``` @@ -52,7 +63,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab These settings apply only when `--tag=package-2021-05 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-05' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-05' && $(python) namespace: azure.mgmt.databox.v2021_05_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_05_01 ``` @@ -62,7 +73,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab These settings apply only when `--tag=package-2021-03 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-03' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-03' && $(python) namespace: azure.mgmt.databox.v2021_03_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2021_03_01 ``` @@ -72,7 +83,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab These settings apply only when `--tag=package-2020-11 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-11' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-11' && $(python) namespace: azure.mgmt.databox.v2020_11_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_11_01 ``` @@ -82,7 +93,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab These settings apply only when `--tag=package-2020-04 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-04' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-04' && $(python) namespace: azure.mgmt.databox.v2020_04_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01 ``` @@ -92,7 +103,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab These settings apply only when `--tag=package-2019-09 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2019-09' && $(python) && $(track2) +``` yaml $(tag) == 'package-2019-09' && $(python) namespace: azure.mgmt.databox.v2019_09_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01 ``` @@ -102,7 +113,7 @@ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/datab 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) && $(track2) +``` yaml $(tag) == 'package-2018-01' && $(python) namespace: azure.mgmt.databox.v2018_01_01 output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01 ``` diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md deleted file mode 100644 index 819c54c54c7f..000000000000 --- a/specification/databox/resource-manager/readme.ruby.md +++ /dev/null @@ -1,81 +0,0 @@ -## Ruby - -These settings apply only when `--ruby` is specified on the command line. - -``` yaml $(ruby) -package-name: azure_mgmt_databox -package-version: "0.0.1" -azure-arm: true -``` - -### Ruby multi-api - -``` yaml $(ruby) && $(multiapi) -batch: - - tag: package-2018-01 - - tag: package-2019-09 - - tag: package-2020-04 - - tag: package-2020-11 - - tag: package-2021-03 - - tag: package-2021-05 -``` - -### Tag: package-2018-01 and ruby - -These settings apply only when `--tag=package-2018-01 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2018-01' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2018_01_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` - -### Tag: package-2019-09 and ruby - -These settings apply only when `--tag=package-2019-09 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2019-09' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2019_09_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` - -### Tag: package-2020-04 and ruby - -These settings apply only when `--tag=package-2020-04 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2020-04' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2020_04_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` - -### Tag: package-2020-11 and ruby - -These settings apply only when `--tag=package-2020-11 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2020-11' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2020_11_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` - -### Tag: package-2021-03 and ruby - -These settings apply only when `--tag=package-2021-03 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2021-03' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2021_03_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` - -### Tag: package-2021-05 and ruby - -These settings apply only when `--tag=package-2021-05 --ruby` is specified on the command line. -Please also specify `--ruby-sdks-folder=`. - -``` yaml $(tag) == 'package-2021-05' && $(ruby) -namespace: "Azure::Compute::Mgmt::V2021_05_01" -output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databox/lib -``` \ No newline at end of file diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json index 82028fbb8fa6..b8014238de00 100644 --- a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json +++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json @@ -896,15 +896,15 @@ } ], "responses": { - "202": { - "description": "Accepted the request to update the diagnostic remote support settings." - }, "200": { "description": "Successfully updated the diagnostic remote support settings.", "schema": { "$ref": "#/definitions/DiagnosticRemoteSupportSettings" } }, + "202": { + "description": "Accepted the request to update the diagnostic remote support settings." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -4677,7 +4677,8 @@ "type": "array", "items": { "$ref": "#/definitions/CloudErrorBody" - } + }, + "x-ms-identifiers": [] } }, "x-ms-external": true @@ -5332,6 +5333,9 @@ "items": { "$ref": "#/definitions/SkuLocationInfo" }, + "x-ms-identifiers": [ + "location" + ], "readOnly": true }, "costs": { @@ -5341,6 +5345,9 @@ "items": { "$ref": "#/definitions/SkuCost" }, + "x-ms-identifiers": [ + "meterId" + ], "readOnly": true }, "signupOption": { @@ -5407,6 +5414,9 @@ "items": { "$ref": "#/definitions/SkuCapability" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -5422,6 +5432,10 @@ "items": { "$ref": "#/definitions/DataBoxEdgeSku" }, + "x-ms-identifiers": [ + "name", + "resourceType" + ], "readOnly": true }, "nextLink": { @@ -5526,7 +5540,10 @@ "type": "array", "items": { "$ref": "#/definitions/RemoteSupportSettings" - } + }, + "x-ms-identifiers": [ + "remoteApplicationType" + ] } } }, @@ -5949,7 +5966,10 @@ "type": "array", "items": { "$ref": "#/definitions/MountPointMap" - } + }, + "x-ms-identifiers": [ + "shareId" + ] }, "ioTEdgeAgentInfo": { "$ref": "#/definitions/IoTEdgeAgentInfo", @@ -6108,6 +6128,7 @@ "items": { "$ref": "#/definitions/JobErrorItem" }, + "x-ms-identifiers": [], "readOnly": true }, "code": { @@ -6250,6 +6271,10 @@ "items": { "$ref": "#/definitions/NodeInfo" }, + "x-ms-identifiers": [ + "name", + "type" + ], "readOnly": true }, "version": { @@ -6457,6 +6482,10 @@ "items": { "$ref": "#/definitions/KubernetesRoleStorageClassInfo" }, + "x-ms-identifiers": [ + "name", + "type" + ], "readOnly": true }, "endpoints": { @@ -6465,7 +6494,10 @@ "type": "array", "items": { "$ref": "#/definitions/MountPointMap" - } + }, + "x-ms-identifiers": [ + "shareId" + ] } } }, @@ -6609,7 +6641,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricCounterSet" - } + }, + "x-ms-identifiers": [] } } }, @@ -6634,7 +6667,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "sourceName" + ] }, "additionalDimensions": { "description": "The additional dimensions to be added to metric.", @@ -6642,7 +6678,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "sourceName" + ] } } }, @@ -6659,7 +6698,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricCounter" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -6756,7 +6798,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension_V1" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "fillGapWithZero": { "description": "Set true to fill the gaps with zero.", @@ -6879,7 +6924,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricConfiguration" - } + }, + "x-ms-identifiers": [] } } }, @@ -7104,6 +7150,9 @@ "items": { "$ref": "#/definitions/NetworkAdapter" }, + "x-ms-identifiers": [ + "adapterId" + ], "readOnly": true } } @@ -7154,7 +7203,11 @@ "type": "array", "items": { "$ref": "#/definitions/KubernetesIPConfiguration" - } + }, + "x-ms-identifiers": [ + "ipAddress", + "port" + ] } } }, @@ -7302,7 +7355,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to the next set of results.", @@ -7377,6 +7433,9 @@ "items": { "$ref": "#/definitions/OrderStatus" }, + "x-ms-identifiers": [ + "trackingInformation/serialNumber" + ], "readOnly": true }, "serialNumber": { @@ -7391,6 +7450,9 @@ "items": { "$ref": "#/definitions/TrackingInfo" }, + "x-ms-identifiers": [ + "serialNumber" + ], "readOnly": true }, "returnTrackingInfo": { @@ -7400,6 +7462,9 @@ "items": { "$ref": "#/definitions/TrackingInfo" }, + "x-ms-identifiers": [ + "serialNumber" + ], "readOnly": true }, "shipmentType": { @@ -7735,6 +7800,9 @@ "items": { "$ref": "#/definitions/SkuInformation" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -7864,7 +7932,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification_V1" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -8000,7 +8071,10 @@ "type": "array", "items": { "$ref": "#/definitions/UserAccessRight" - } + }, + "x-ms-identifiers": [ + "userId" + ] }, "clientAccessRights": { "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).", @@ -8008,7 +8082,10 @@ "type": "array", "items": { "$ref": "#/definitions/ClientAccessRight" - } + }, + "x-ms-identifiers": [ + "client" + ] }, "refreshDetails": { "$ref": "#/definitions/RefreshDetails", @@ -8021,6 +8098,9 @@ "items": { "$ref": "#/definitions/MountPointMap" }, + "x-ms-identifiers": [ + "shareId" + ], "readOnly": true }, "dataPolicy": { @@ -8158,6 +8238,9 @@ "items": { "$ref": "#/definitions/SkuCost" }, + "x-ms-identifiers": [ + "meterId" + ], "readOnly": true }, "locations": { @@ -8176,6 +8259,9 @@ "items": { "$ref": "#/definitions/SkuLocationInfo" }, + "x-ms-identifiers": [ + "location" + ], "readOnly": true }, "requiredQuotaIds": { @@ -8209,6 +8295,9 @@ "items": { "$ref": "#/definitions/ResourceTypeSku" }, + "x-ms-identifiers": [ + "resourceType" + ], "readOnly": true }, "nextLink": { @@ -8467,7 +8556,10 @@ "type": "array", "items": { "$ref": "#/definitions/SubscriptionRegisteredFeatures" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -9009,6 +9101,9 @@ "items": { "$ref": "#/definitions/UpdateDetails" }, + "x-ms-identifiers": [ + "updateTitle" + ], "readOnly": true }, "totalUpdateSizeInBytes": { @@ -9180,6 +9275,9 @@ "items": { "$ref": "#/definitions/ShareAccessRight" }, + "x-ms-identifiers": [ + "shareId" + ], "readOnly": true }, "userType": { diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md index fd9821844877..99d7e2cf0c24 100644 --- a/specification/databoxedge/resource-manager/readme.python.md +++ b/specification/databoxedge/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.databoxedge @@ -20,7 +20,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) batch: - tag: package-2021-02-01 - tag: package-2021-02-01-preview @@ -36,7 +36,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/ -clear-output-folder: false perform-load: false ``` ### Tag: package-2021-02-01 and python @@ -44,7 +43,7 @@ perform-load: false These settings apply only when `--tag=package-2021-02-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-02-01' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-02-01' && $(python) namespace: azure.mgmt.databoxedge.v2021_02_01 output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01 ``` @@ -53,7 +52,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2021-02-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-02-01-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-02-01-preview' && $(python) namespace: azure.mgmt.databoxedge.v2021_02_01_preview output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2021_02_01_preview ``` @@ -63,7 +62,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2020-12-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-12-01' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-12-01' && $(python) namespace: azure.mgmt.databoxedge.v2020_12_01 output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/datab ``` @@ -73,7 +72,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2020-09-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-09-01-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-09-01-preview' && $(python) namespace: azure.mgmt.databoxedge.v2020_09_01_preview output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_09_01_preview ``` @@ -83,7 +82,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2020-09-01 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-09-01' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-09-01' && $(python) namespace: azure.mgmt.databoxedge.v2020_09_01 output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_09_01 ``` @@ -93,7 +92,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2020-05-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-05-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-05-preview' && $(python) namespace: azure.mgmt.databoxedge.v2020_05_01_preview output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2020_05_01_preview ``` @@ -103,7 +102,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg These settings apply only when `--tag=package-2019-08 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2019-08' && $(python) && $(track2) +``` yaml $(tag) == 'package-2019-08' && $(python) namespace: azure.mgmt.databoxedge.v2019_08_01 output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_08_01 ``` @@ -113,7 +112,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg 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) && $(track2) +``` yaml $(tag) == 'package-2019-07' && $(python) namespace: azure.mgmt.databoxedge.v2019_07_01 output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_07_01 ``` @@ -123,7 +122,7 @@ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mg 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) && $(track2) +``` yaml $(tag) == 'package-2019-03' && $(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/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 c0472ec55aad..3b68be5ac479 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 @@ -409,7 +409,11 @@ "type": "array", "items": { "$ref": "#/definitions/WorkspaceProviderAuthorization" - } + }, + "x-ms-identifiers": [ + "roleDefinitionId", + "principalId" + ] }, "createdBy": { "description": "Indicates the Object ID, PUID and Application ID of entity that created the workspace.", @@ -833,7 +837,11 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDetail" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] }, "innererror": { "description": "Inner error details if they exist.", @@ -910,6 +918,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Resource Provider operations supported by the Resource Provider resource provider." }, "nextLink": { diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json index c88a288c5d03..bf22765de979 100644 --- a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json +++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/vnetpeering.json @@ -274,7 +274,11 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDetail" - } + }, + "x-ms-identifiers": [ + "message", + "target" + ] }, "innererror": { "description": "Inner error details if they exist.", diff --git a/specification/databricks/resource-manager/readme.python.md b/specification/databricks/resource-manager/readme.python.md index d3eb2d7b886c..8feeb30677d8 100644 --- a/specification/databricks/resource-manager/readme.python.md +++ b/specification/databricks/resource-manager/readme.python.md @@ -3,21 +3,17 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-databricks -no-namespace-folders: true +namespace: azure.mgmt.databricks package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks/azure/mgmt/databricks ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/databricks/azure-mgmt-databricks -``` diff --git a/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json b/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json index b5778c344975..83a2a7cfaf8f 100644 --- a/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json +++ b/specification/datacatalog/resource-manager/Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json @@ -351,14 +351,20 @@ "items": { "$ref": "#/definitions/Principals" }, - "description": "Azure data catalog admin list." + "description": "Azure data catalog admin list.", + "x-ms-identifiers": [ + "objectId" + ] }, "users": { "type": "array", "items": { "$ref": "#/definitions/Principals" }, - "description": "Azure data catalog user list." + "description": "Azure data catalog user list.", + "x-ms-identifiers": [ + "objectId" + ] }, "successfullyProvisioned": { "type": "boolean", @@ -392,7 +398,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationEntity" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -465,7 +474,7 @@ "required": true, "type": "string", "description": "The name of the data catalog in the specified subscription and resource group.", - "x-ms-parameter-location": "client" + "x-ms-parameter-location": "method" } } } diff --git a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json index 0c0843732a48..3ea276da791d 100644 --- a/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json +++ b/specification/datadog/resource-manager/Microsoft.Datadog/stable/2021-03-01/datadog.json @@ -1242,7 +1242,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatadogApiKey" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to the next set of results, if any.", @@ -1326,7 +1329,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatadogHost" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to the next set of results, if any.", @@ -1452,7 +1458,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationResult" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -1824,7 +1833,10 @@ "type": "array", "items": { "$ref": "#/definitions/FilteringTag" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1837,7 +1849,10 @@ "type": "array", "items": { "$ref": "#/definitions/FilteringTag" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/datadog/resource-manager/readme.python.md b/specification/datadog/resource-manager/readme.python.md index c582dc438281..07bd8db9d119 100644 --- a/specification/datadog/resource-manager/readme.python.md +++ b/specification/datadog/resource-manager/readme.python.md @@ -5,23 +5,16 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.datafactory @@ -13,33 +12,7 @@ package-name: azure-mgmt-datafactory package-version: 1.0.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory -``` - -``` yaml $(python) && $(track2) -modelerfour: - lenient-model-deduplication: true -directive: - - from: swagger-document - where: $.definitions.JsonFormatFilePattern - transform: > - $['type'] = 'string'; - - from: swagger-document - where: $.definitions.CompressionLevel - transform: > - $['type'] = 'string'; - - from: swagger-document - where: $.definitions.DynamicsLinkedServiceTypeProperties.properties.servicePrincipalCredentialType - transform: > - $['type'] = 'string'; - - from: swagger-document - where: $.definitions.ScriptAction.properties.roles - transform: > - $['type'] = 'string'; -``` diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json index 3e2cd51c23ba..93a060967259 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json @@ -2291,7 +2291,10 @@ "items": { "$ref": "#/definitions/SasTokenInformation" }, - "description": "The results of the list operation." + "description": "The results of the list operation.", + "x-ms-identifiers": [ + "accessToken" + ] }, "nextLink": { "readOnly": true, @@ -2635,7 +2638,10 @@ "items": { "$ref": "#/definitions/Operation" }, - "description": "The results of the list operation." + "description": "The results of the list operation.", + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "readOnly": true, @@ -2684,7 +2690,8 @@ "items": { "$ref": "#/definitions/OperationMetaMetricAvailabilitiesSpecification" }, - "description": "The availabilities for OperationMetaMetricSpecification." + "description": "The availabilities for OperationMetaMetricSpecification.", + "x-ms-identifiers": [] } } }, @@ -2711,14 +2718,20 @@ "items": { "$ref": "#/definitions/OperationMetaMetricSpecification" }, - "description": "The metricSpecifications for OperationMetaServiceSpecification." + "description": "The metricSpecifications for OperationMetaServiceSpecification.", + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "type": "array", "items": { "$ref": "#/definitions/OperationMetaLogSpecification" }, - "description": "The logSpecifications for OperationMetaServiceSpecification." + "description": "The logSpecifications for OperationMetaServiceSpecification.", + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2834,28 +2847,40 @@ "items": { "$ref": "#/definitions/AddDataLakeStoreWithAccountParameters" }, - "description": "The list of Data Lake Store accounts associated with this account." + "description": "The list of Data Lake Store accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "storageAccounts": { "type": "array", "items": { "$ref": "#/definitions/AddStorageAccountWithAccountParameters" }, - "description": "The list of Azure Blob Storage accounts associated with this account." + "description": "The list of Azure Blob Storage accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "computePolicies": { "type": "array", "items": { "$ref": "#/definitions/CreateComputePolicyWithAccountParameters" }, - "description": "The list of compute policies associated with this account." + "description": "The list of compute policies associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallRules": { "type": "array", "items": { "$ref": "#/definitions/CreateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this account." + "description": "The list of firewall rules associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", @@ -2964,28 +2989,40 @@ "items": { "$ref": "#/definitions/UpdateDataLakeStoreWithAccountParameters" }, - "description": "The list of Data Lake Store accounts associated with this account." + "description": "The list of Data Lake Store accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "storageAccounts": { "type": "array", "items": { "$ref": "#/definitions/UpdateStorageAccountWithAccountParameters" }, - "description": "The list of Azure Blob storage accounts associated with this account." + "description": "The list of Azure Blob storage accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "computePolicies": { "type": "array", "items": { "$ref": "#/definitions/UpdateComputePolicyWithAccountParameters" }, - "description": "The list of compute policies associated with this account." + "description": "The list of compute policies associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallRules": { "type": "array", "items": { "$ref": "#/definitions/UpdateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this account." + "description": "The list of firewall rules associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json index 630fa171719f..ec7a9d2af0c4 100644 --- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json +++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json @@ -2286,7 +2286,10 @@ "items": { "$ref": "#/definitions/SasTokenInformation" }, - "description": "The results of the list operation." + "description": "The results of the list operation.", + "x-ms-identifiers": [ + "accessToken" + ] }, "nextLink": { "readOnly": true, @@ -2630,7 +2633,10 @@ "items": { "$ref": "#/definitions/Operation" }, - "description": "The results of the list operation." + "description": "The results of the list operation.", + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "readOnly": true, @@ -2679,7 +2685,8 @@ "items": { "$ref": "#/definitions/OperationMetaMetricAvailabilitiesSpecification" }, - "description": "The availabilities for OperationMetaMetricSpecification." + "description": "The availabilities for OperationMetaMetricSpecification.", + "x-ms-identifiers": [] } } }, @@ -2706,14 +2713,20 @@ "items": { "$ref": "#/definitions/OperationMetaMetricSpecification" }, - "description": "The metricSpecifications for OperationMetaServiceSpecification." + "description": "The metricSpecifications for OperationMetaServiceSpecification.", + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "type": "array", "items": { "$ref": "#/definitions/OperationMetaLogSpecification" }, - "description": "The logSpecifications for OperationMetaServiceSpecification." + "description": "The logSpecifications for OperationMetaServiceSpecification.", + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2829,28 +2842,40 @@ "items": { "$ref": "#/definitions/AddDataLakeStoreWithAccountParameters" }, - "description": "The list of Data Lake Store accounts associated with this account." + "description": "The list of Data Lake Store accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "storageAccounts": { "type": "array", "items": { "$ref": "#/definitions/AddStorageAccountWithAccountParameters" }, - "description": "The list of Azure Blob Storage accounts associated with this account." + "description": "The list of Azure Blob Storage accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "computePolicies": { "type": "array", "items": { "$ref": "#/definitions/CreateComputePolicyWithAccountParameters" }, - "description": "The list of compute policies associated with this account." + "description": "The list of compute policies associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallRules": { "type": "array", "items": { "$ref": "#/definitions/CreateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this account." + "description": "The list of firewall rules associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", @@ -2959,28 +2984,40 @@ "items": { "$ref": "#/definitions/UpdateDataLakeStoreWithAccountParameters" }, - "description": "The list of Data Lake Store accounts associated with this account." + "description": "The list of Data Lake Store accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "storageAccounts": { "type": "array", "items": { "$ref": "#/definitions/UpdateStorageAccountWithAccountParameters" }, - "description": "The list of Azure Blob storage accounts associated with this account." + "description": "The list of Azure Blob storage accounts associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "computePolicies": { "type": "array", "items": { "$ref": "#/definitions/UpdateComputePolicyWithAccountParameters" }, - "description": "The list of compute policies associated with this account." + "description": "The list of compute policies associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallRules": { "type": "array", "items": { "$ref": "#/definitions/UpdateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this account." + "description": "The list of firewall rules associated with this account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md index 4e581f076b95..eea64ebb424a 100644 --- a/specification/datalake-analytics/resource-manager/readme.md +++ b/specification/datalake-analytics/resource-manager/readme.md @@ -83,7 +83,7 @@ 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-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 @@ -110,20 +110,7 @@ csharp: ## 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 - package-name: azure-mgmt-datalake-analytics - clear-output-folder: true - no-namespace-folders: true - namespace: azure.mgmt.datalake.analytics.account - output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/account -``` +See configuration in [readme.python.md](./readme.python.md) ## Go diff --git a/specification/datalake-analytics/resource-manager/readme.python.md b/specification/datalake-analytics/resource-manager/readme.python.md new file mode 100644 index 000000000000..91826a0166fa --- /dev/null +++ b/specification/datalake-analytics/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-datalake-analytics +namespace: azure.mgmt.datalake.analytics.account +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/account +``` diff --git a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json index a5a02cacecde..c29068869ca3 100644 --- a/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json +++ b/specification/datalake-store/resource-manager/Microsoft.DataLakeStore/stable/2016-11-01/account.json @@ -1830,7 +1830,10 @@ "items": { "$ref": "#/definitions/Operation" }, - "description": "The results of the list operation." + "description": "The results of the list operation.", + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "readOnly": true, @@ -2029,14 +2032,20 @@ "items": { "$ref": "#/definitions/CreateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this Data Lake Store account." + "description": "The list of firewall rules associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "virtualNetworkRules": { "type": "array", "items": { "$ref": "#/definitions/CreateVirtualNetworkRuleWithAccountParameters" }, - "description": "The list of virtual network rules associated with this Data Lake Store account." + "description": "The list of virtual network rules associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", @@ -2067,7 +2076,10 @@ "items": { "$ref": "#/definitions/CreateTrustedIdProviderWithAccountParameters" }, - "description": "The list of trusted identity providers associated with this Data Lake Store account." + "description": "The list of trusted identity providers associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "trustedIdProviderState": { "type": "string", @@ -2132,14 +2144,20 @@ "items": { "$ref": "#/definitions/UpdateFirewallRuleWithAccountParameters" }, - "description": "The list of firewall rules associated with this Data Lake Store account." + "description": "The list of firewall rules associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "virtualNetworkRules": { "type": "array", "items": { "$ref": "#/definitions/UpdateVirtualNetworkRuleWithAccountParameters" }, - "description": "The list of virtual network rules associated with this Data Lake Store account." + "description": "The list of virtual network rules associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "firewallState": { "type": "string", @@ -2170,7 +2188,10 @@ "items": { "$ref": "#/definitions/UpdateTrustedIdProviderWithAccountParameters" }, - "description": "The list of trusted identity providers associated with this Data Lake Store account." + "description": "The list of trusted identity providers associated with this Data Lake Store account.", + "x-ms-identifiers": [ + "name" + ] }, "trustedIdProviderState": { "type": "string", diff --git a/specification/datalake-store/resource-manager/readme.md b/specification/datalake-store/resource-manager/readme.md index 865b4c59e4a3..b42b1d5dc71e 100644 --- a/specification/datalake-store/resource-manager/readme.md +++ b/specification/datalake-store/resource-manager/readme.md @@ -76,7 +76,6 @@ 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-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go diff --git a/specification/datalake-store/resource-manager/readme.python.md b/specification/datalake-store/resource-manager/readme.python.md index f1f8b12ab41b..1d1ef5461965 100644 --- a/specification/datalake-store/resource-manager/readme.python.md +++ b/specification/datalake-store/resource-manager/readme.python.md @@ -4,44 +4,16 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.datalake.store - package-name: azure-mgmt-datalake-store - clear-output-folder: true -``` -``` yaml $(python) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -namespace: azure.mgmt.datalake.store package-name: azure-mgmt-datalake-store +namespace: azure.mgmt.datalake.store package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store -no-namespace-folders: true -output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store -``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store -basic-setup-py: true -output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) + +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store/azure/mgmt/datalake/store ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/datalake/azure-mgmt-datalake-store -``` diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/datamigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/datamigration.json new file mode 100644 index 000000000000..2fe5133d9112 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/datamigration.json @@ -0,0 +1,1899 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview", + "description": "The Database Migration Service helps people migrate their data from on-premise database servers to Azure, or from older database software to newer software. The service manages one or more workers that are joined to a customer's virtual network, which is assumed to provide connectivity to their databases. To avoid frequent updates to the resource provider, data migration tasks are implemented by the resource provider in a generic way as task resources, each of which has a task type (which identifies the type of work to run), input, and output. The client is responsible for providing appropriate task type and inputs, which will be passed through unexamined to the machines that implement the functionality, and for understanding the output, which is passed back unexamined to the client.", + "x-ms-code-generation-settings": { + "name": "DataMigrationServiceClient", + "useDateTimeOffset": true + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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.DataMigration/skus": { + "get": { + "summary": "Get supported SKUs", + "description": "The skus action returns the list of SKUs that DMS supports.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "ResourceSkus_ListSkus", + "x-ms-examples": { + "ListSkus": { + "$ref": "./examples/ResourceSkus_ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/ResourceSkus.json#/definitions/ResourceSkusResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}": { + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update DMS Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The PUT method creates a new service or updates an existing one. When a service is updated, existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, \"vm\", which refers to a VM-based service, although other kinds may be added in the future. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\"). The provider will reply when successful with 200 OK or 201 Created. Long-running operations use the provisioningState property.", + "tags": [ + "Service resource", + "Standard operation", + "PUT" + ], + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "201": { + "description": "Service created (use provisioningState)", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The GET method retrieves information about a service instance.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_Get", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Get.json" + } + }, + "responses": { + "200": { + "description": "A service instance resource", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The DELETE method deletes a service. Any running tasks will be canceled.", + "tags": [ + "Service resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Services_Delete", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource deleted" + }, + "202": { + "description": "Deletion accepted" + }, + "204": { + "description": "Service not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update DMS Service Instance", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The PATCH method updates an existing service. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\").", + "tags": [ + "Service resource", + "Standard operation", + "PATCH" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "Services_CreateOrUpdate": { + "$ref": "./examples/Services_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/service" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "Service resource updated", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + } + }, + "202": { + "description": "Update accepted" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus": { + "post": { + "summary": "Check service health status", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action performs a health check and returns the status of the service and virtual machine size.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_CheckStatus", + "x-ms-examples": { + "Services_CheckStatus": { + "$ref": "./examples/Services_CheckStatus.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Health checked", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceStatusResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start": { + "post": { + "summary": "Start service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action starts the service and the service can be used for data migration.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Start", + "x-ms-examples": { + "Services_Start": { + "$ref": "./examples/Services_Start.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been started." + }, + "202": { + "description": "The request to start service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop": { + "post": { + "summary": "Stop service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This action stops the service and the service cannot be used for data migration. The service owner won't be billed when the service is stopped.", + "tags": [ + "Service resource", + "Custom operation", + "POST" + ], + "operationId": "Services_Stop", + "x-ms-examples": { + "Services_Stop": { + "$ref": "./examples/Services_Stop.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-long-running-operation": true, + "responses": { + "200": { + "description": "The service has already been stopped." + }, + "202": { + "description": "The request to stop service is accepted." + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus": { + "get": { + "summary": "Get compatible SKUs", + "description": "The services resource is the top-level resource that represents the Database Migration Service. The skus action returns the list of SKUs that a service resource can be updated to.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListSkus", + "x-ms-examples": { + "Services_ListSkus": { + "$ref": "./examples/Services_ListSkus.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got SKUs", + "schema": { + "$ref": "./definitions/Services.json#/definitions/ServiceSkuList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks": { + "get": { + "summary": "Get tasks in a service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_List", + "x-ms-examples": { + "Tasks_List": { + "$ref": "./examples/Tasks_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks": { + "get": { + "summary": "Get service level tasks for a service", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service level tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_List", + "x-ms-examples": { + "ServiceTasks_List": { + "$ref": "./examples/ServiceTasks_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/taskType" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got service tasks", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/TaskList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": { + "post": { + "summary": "Check nested resource name validity and availability", + "description": "This method checks whether a proposed nested resource name is valid and available.", + "tags": [ + "Custom operation", + "POST" + ], + "operationId": "Services_CheckChildrenNameAvailability", + "x-ms-examples": { + "Services_CheckChildrenNameAvailability": { + "$ref": "./examples/Services_CheckChildrenNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in resource group", + "description": "The Services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service resources in a resource group.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "Services_ListByResourceGroup": { + "$ref": "./examples/Services_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services": { + "get": { + "summary": "Get services in subscription", + "description": "The services resource is the top-level resource that represents the Database Migration Service. This method returns a list of service resources in a subscription.", + "tags": [ + "Service resource", + "Standard operation", + "GET" + ], + "operationId": "Services_List", + "x-ms-examples": { + "Services_List": { + "$ref": "./examples/Services_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Got services", + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationServiceList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}": { + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new task or updates an existing one, although since tasks have no mutable custom properties, there is little reason to update an existing one.", + "tags": [ + "Task resource", + "Standard operation", + "PUT" + ], + "operationId": "Tasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { + "$ref": "./examples/Tasks_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get task information", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a task.", + "tags": [ + "Task resource", + "Standard operation", + "GET" + ], + "operationId": "Tasks_Get", + "x-ms-examples": { + "Tasks_Get": { + "$ref": "./examples/Tasks_Get.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a task, canceling it first if it's running.", + "tags": [ + "Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Tasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { + "$ref": "./examples/Tasks_Delete.json" + } + }, + "responses": { + "200": { + "description": "Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing task, but since tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "Tasks_Update", + "x-ms-examples": { + "Tasks_Update": { + "$ref": "./examples/Tasks_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}": { + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new service task or updates an existing one, although since service tasks have no mutable custom properties, there is little reason to update an existing one.", + "tags": [ + "Service Task resource", + "Standard operation", + "PUT" + ], + "operationId": "ServiceTasks_CreateOrUpdate", + "x-ms-examples": { + "Tasks_CreateOrUpdate": { + "$ref": "./examples/ServiceTasks_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service task updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "201": { + "description": "Service task created", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get service task information", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a service task.", + "tags": [ + "Service Task resource", + "Standard operation", + "GET" + ], + "operationId": "ServiceTasks_Get", + "x-ms-examples": { + "Tasks_Get": { + "$ref": "./examples/ServiceTasks_Get.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "Expand the response", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "A service task resource", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a service task, canceling it first if it's running.", + "tags": [ + "Service Task resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "ServiceTasks_Delete", + "x-ms-examples": { + "Tasks_Delete": { + "$ref": "./examples/ServiceTasks_Delete.json" + } + }, + "responses": { + "200": { + "description": "Service Task resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Create or update service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing service task, but since service tasks have no mutable custom properties, there is little reason to do so.", + "tags": [ + "Service Task resource", + "Standard operation", + "PATCH" + ], + "operationId": "ServiceTasks_Update", + "x-ms-examples": { + "Tasks_Update": { + "$ref": "./examples/ServiceTasks_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectTask" + } + ], + "responses": { + "200": { + "description": "Service Task resource updated", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a task if it's currently queued or running.", + "tags": [ + "Task resource", + "Custom operation", + "POST" + ], + "operationId": "Tasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { + "$ref": "./examples/Tasks_Cancel.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/serviceTasks/{taskName}/cancel": { + "post": { + "summary": "Cancel a service task", + "description": "The service tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a service task if it's currently queued or running.", + "tags": [ + "Service Task resource", + "Custom operation", + "POST" + ], + "operationId": "ServiceTasks_Cancel", + "x-ms-examples": { + "Tasks_Cancel": { + "$ref": "./examples/ServiceTasks_Cancel.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "Service Task canceled", + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/command": { + "post": { + "summary": "Execute a command on a task", + "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method executes a command on a running task.", + "tags": [ + "Task resource", + "Custom operation", + "POST" + ], + "operationId": "Tasks_Command", + "x-ms-examples": { + "Tasks_Command": { + "$ref": "./examples/Tasks_Command.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/taskName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/command" + } + ], + "responses": { + "200": { + "description": "Command executed", + "schema": { + "$ref": "./definitions/Commands.json#/definitions/CommandProperties" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects": { + "get": { + "summary": "Get projects in a service", + "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of projects owned by a service resource.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_List", + "x-ms-examples": { + "Projects_List": { + "$ref": "./examples/Projects_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "List of projects", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/ProjectList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}": { + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "put": { + "summary": "Create or update project", + "description": "The project resource is a nested resource representing a stored migration project. The PUT method creates a new project or updates an existing one.", + "tags": [ + "Project resource", + "Standard operation", + "PUT" + ], + "operationId": "Projects_CreateOrUpdate", + "x-ms-examples": { + "Projects_CreateOrUpdate": { + "$ref": "./examples/Projects_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "201": { + "description": "Project created", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "get": { + "summary": "Get project information", + "description": "The project resource is a nested resource representing a stored migration project. The GET method retrieves information about a project.", + "tags": [ + "Project resource", + "Standard operation", + "GET" + ], + "operationId": "Projects_Get", + "x-ms-examples": { + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" + } + }, + "responses": { + "200": { + "description": "A project resource", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete project", + "description": "The project resource is a nested resource representing a stored migration project. The DELETE method deletes a project.", + "tags": [ + "Project resource", + "Standard operation", + "DELETE" + ], + "parameters": [ + { + "$ref": "#/parameters/deleteRunningTasks" + } + ], + "operationId": "Projects_Delete", + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" + } + }, + "responses": { + "200": { + "description": "Project resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Update project", + "description": "The project resource is a nested resource representing a stored migration project. The PATCH method updates an existing project.", + "tags": [ + "Project resource", + "Standard operation", + "PATCH" + ], + "operationId": "Projects_Update", + "x-ms-examples": { + "Projects_Update": { + "$ref": "./examples/Projects_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/project" + } + ], + "responses": { + "200": { + "description": "Project resource updated", + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability": { + "post": { + "summary": "Check name validity and availability", + "description": "This method checks whether a proposed top-level resource name is valid and available.", + "tags": [ + "Standard operation", + "POST" + ], + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Services_CheckNameAvailability": { + "$ref": "./examples/Services_CheckNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/requestedName" + } + ], + "responses": { + "200": { + "description": "Name checked", + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityResponse" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages": { + "get": { + "summary": "Get resource quotas and usage information", + "description": "This method returns region-specific quotas and resource usage information for the Database Migration Service.", + "tags": [ + "Standard operation", + "GET" + ], + "operationId": "Usages_List", + "x-ms-examples": { + "Services_Usages": { + "$ref": "./examples/Usages_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "Quotas returned", + "schema": { + "$ref": "./definitions/Common.json#/definitions/QuotaList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files": { + "get": { + "summary": "Get files in a project", + "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of files owned by a project resource.", + "tags": [ + "File resource", + "Standard operation", + "GET" + ], + "operationId": "Files_List", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_List.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "List of files", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileList" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}": { + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "get": { + "summary": "Get file information", + "description": "The files resource is a nested, proxy-only resource representing a file stored under the project resource. This method retrieves information about a file.", + "tags": [ + "File resource", + "Standard operation", + "GET" + ], + "operationId": "Files_Get", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_Get.json" + } + }, + "responses": { + "200": { + "description": "A file resource", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "put": { + "summary": "Create a file resource", + "description": "The PUT method creates a new file or updates an existing one.", + "tags": [ + "Fie resource", + "Standard operation", + "PUT" + ], + "operationId": "Files_CreateOrUpdate", + "x-ms-examples": { + "Files_CreateOrUpdate": { + "$ref": "./examples/Files_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectFile" + } + ], + "responses": { + "200": { + "description": "File updated", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "201": { + "description": "File created", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "delete": { + "summary": "Delete file", + "description": "This method deletes a file.", + "tags": [ + "File resource", + "Standard operation", + "DELETE" + ], + "operationId": "Files_Delete", + "x-ms-examples": { + "Files_Delete": { + "$ref": "./examples/Files_Delete.json" + } + }, + "responses": { + "200": { + "description": "File resource deleted" + }, + "204": { + "description": "Not found" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + }, + "patch": { + "summary": "Update a file", + "description": "This method updates an existing file.", + "tags": [ + "File resource", + "Standard operation", + "PATCH" + ], + "operationId": "Files_Update", + "x-ms-examples": { + "Files_Update": { + "$ref": "./examples/Files_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/projectFile" + } + ], + "responses": { + "200": { + "description": "File resource updated", + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/read": { + "post": { + "summary": "Request storage information for downloading the file content", + "description": "This method is used for requesting storage information using which contents of the file can be downloaded.", + "tags": [ + "File resource", + "Standard operation", + "POST" + ], + "operationId": "Files_Read", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_Read.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "An object describing how to access the file content", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileStorageInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/files/{fileName}/readwrite": { + "post": { + "summary": "Request information for reading and writing file content.", + "description": "This method is used for requesting information for reading and writing the file content.", + "tags": [ + "File resource", + "Standard operation", + "POST" + ], + "operationId": "Files_ReadWrite", + "x-ms-examples": { + "Files_List": { + "$ref": "./examples/Files_ReadWrite.json" + } + }, + "parameters": [ + { + "$ref": "./sqlmigration.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/fileName" + }, + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "An object describing how to access the file content", + "schema": { + "$ref": "./definitions/Files.json#/definitions/FileStorageInfo" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./definitions/Common.json#/definitions/ApiError" + } + } + } + } + } + }, + "parameters": { + "apiVersion": { + "name": "api-version", + "description": "Version of the API", + "in": "query", + "required": true, + "type": "string" + }, + "deleteRunningTasks": { + "name": "deleteRunningTasks", + "description": "Delete the resource even if it contains running tasks", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "groupName": { + "name": "groupName", + "description": "Name of the resource group", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "location": { + "name": "location", + "description": "The Azure region of the operation", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "project": { + "name": "parameters", + "description": "Information about the project", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Projects.json#/definitions/Project" + }, + "x-ms-parameter-location": "method" + }, + "projectName": { + "name": "projectName", + "description": "Name of the project", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "requestedName": { + "name": "parameters", + "description": "Requested name to validate", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Common.json#/definitions/NameAvailabilityRequest" + }, + "x-ms-parameter-location": "method" + }, + "taskName": { + "name": "taskName", + "description": "Name of the Task", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "taskType": { + "name": "taskType", + "description": "Filter tasks by task type", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "service": { + "name": "parameters", + "description": "Information about the service", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Services.json#/definitions/DataMigrationService" + }, + "x-ms-parameter-location": "method" + }, + "serviceName": { + "name": "serviceName", + "description": "Name of the service", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "projectTask": { + "name": "parameters", + "description": "Information about the task", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Tasks.json#/definitions/ProjectTask" + }, + "x-ms-parameter-location": "method" + }, + "timeoutMs": { + "name": "timeoutMs", + "description": "The number of milliseconds the task is allowed to run, up to 20000", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "command": { + "name": "parameters", + "description": "Command to execute", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Commands.json#/definitions/CommandProperties" + }, + "x-ms-parameter-location": "method" + }, + "projectFile": { + "name": "parameters", + "description": "Information about the file", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions/Files.json#/definitions/ProjectFile" + }, + "x-ms-parameter-location": "method" + }, + "fileName": { + "name": "fileName", + "description": "Name of the File", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Commands.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Commands.json new file mode 100644 index 000000000000..e7326cf74eb3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Commands.json @@ -0,0 +1,179 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "CommandProperties": { + "type": "object", + "description": "Base class for all types of DMS command properties. If command is not supported by current client, this object is returned.", + "properties": { + "commandType": { + "enum": [ + "Migrate.Sync.Complete.Database", + "Migrate.SqlServer.AzureDbSqlMi.Complete", + "cancel", + "finish", + "restart" + ], + "x-ms-enum": { + "name": "CommandType", + "modelAsString": true + }, + "description": "Command type.", + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ODataError" + }, + "description": "Array of errors. This is ignored if submitted.", + "readOnly": true + }, + "state": { + "type": "string", + "description": "The state of the command. This is ignored if submitted.", + "enum": [ + "Unknown", + "Accepted", + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "CommandState", + "modelAsString": true + }, + "readOnly": true + } + }, + "required": [ + "commandType" + ], + "discriminator": "commandType" + }, + "MigrateSyncCompleteCommandProperties": { + "x-ms-discriminator-value": "Migrate.Sync.Complete.Database", + "type": "object", + "description": "Properties for the command that completes sync migration for a database.", + "properties": { + "input": { + "description": "Command input", + "$ref": "#/definitions/MigrateSyncCompleteCommandInput" + }, + "output": { + "description": "Command output. This is ignored if submitted.", + "$ref": "#/definitions/MigrateSyncCompleteCommandOutput", + "readOnly": true + }, + "commandId": { + "type": "string", + "description": "Command id" + } + }, + "allOf": [ + { + "$ref": "#/definitions/CommandProperties" + } + ] + }, + "MigrateSyncCompleteCommandInput": { + "type": "object", + "description": "Input for command that completes sync migration for a database.", + "properties": { + "databaseName": { + "description": "Name of database", + "type": "string" + }, + "commitTimeStamp": { + "type": "string", + "format": "date-time", + "description": "Time stamp to complete" + } + }, + "required": [ + "databaseName" + ] + }, + "MigrateSyncCompleteCommandOutput": { + "type": "object", + "description": "Output for command that completes sync migration for a database.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "errors": { + "description": "List of errors that happened during the command execution", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateMISyncCompleteCommandProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureDbSqlMi.Complete", + "type": "object", + "description": "Properties for the command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "input": { + "description": "Command input", + "$ref": "#/definitions/MigrateMISyncCompleteCommandInput" + }, + "output": { + "description": "Command output. This is ignored if submitted.", + "$ref": "#/definitions/MigrateMISyncCompleteCommandOutput", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/CommandProperties" + } + ] + }, + "MigrateMISyncCompleteCommandInput": { + "type": "object", + "description": "Input for command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "sourceDatabaseName": { + "description": "Name of managed instance database", + "type": "string" + } + }, + "required": [ + "sourceDatabaseName" + ] + }, + "MigrateMISyncCompleteCommandOutput": { + "type": "object", + "description": "Output for command that completes online migration for an Azure SQL Database Managed Instance.", + "properties": { + "errors": { + "description": "List of errors that happened during the command execution", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Common.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Common.json new file mode 100644 index 000000000000..a8a3b21f4aae --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Common.json @@ -0,0 +1,668 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ApiError": { + "type": "object", + "description": "Error information.", + "properties": { + "error": { + "description": "Error information in OData format", + "$ref": "#/definitions/ODataError" + }, + "systemData": { + "$ref": "../sqlmigration.json#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + } + }, + "NameAvailabilityResponse": { + "type": "object", + "description": "Indicates whether a proposed resource name is available", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "If true, the name is valid and available. If false, 'reason' describes why not." + }, + "reason": { + "type": "string", + "description": "The reason why the name is not available, if nameAvailable is false", + "enum": [ + "AlreadyExists", + "Invalid" + ], + "x-ms-enum": { + "name": "NameCheckFailureReason", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "The localized reason why the name is not available, if nameAvailable is false" + } + } + }, + "NameAvailabilityRequest": { + "type": "object", + "description": "A resource type and proposed name", + "properties": { + "name": { + "type": "string", + "description": "The proposed resource name" + }, + "type": { + "type": "string", + "description": "The resource type chain (e.g. virtualMachines/extensions)" + } + } + }, + "ODataError": { + "type": "object", + "description": "Error information in OData format.", + "properties": { + "code": { + "type": "string", + "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'" + }, + "message": { + "type": "string", + "description": "The human-readable description of the error" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "Inner errors that caused this error" + } + } + }, + "Quota": { + "type": "object", + "description": "Describes a quota for or usage details about a resource", + "properties": { + "currentValue": { + "type": "number", + "format": "double", + "description": "The current value of the quota. If null or missing, the current value cannot be determined in the context of the request." + }, + "id": { + "type": "string", + "description": "The resource ID of the quota object" + }, + "limit": { + "type": "number", + "format": "double", + "description": "The maximum value of the quota. If null or missing, the quota has no maximum, in which case it merely tracks usage." + }, + "name": { + "type": "object", + "description": "The name of the quota", + "properties": { + "localizedValue": { + "type": "string", + "description": "The localized name of the quota" + }, + "value": { + "type": "string", + "description": "The unlocalized name (or ID) of the quota" + } + } + }, + "unit": { + "type": "string", + "description": "The unit for the quota, such as Count, Bytes, BytesPerSecond, etc." + } + } + }, + "QuotaList": { + "type": "object", + "description": "OData page of quota objects", + "properties": { + "value": { + "type": "array", + "description": "List of quotas", + "items": { + "$ref": "#/definitions/Quota" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of quotas, or null or missing if this is the last page" + } + } + }, + "ReportableException": { + "type": "object", + "description": "Exception object for all custom exceptions", + "properties": { + "message": { + "type": "string", + "description": "Error message" + }, + "actionableMessage": { + "type": "string", + "description": "Actionable steps for this exception" + }, + "filePath": { + "type": "string", + "description": "The path to the file where exception occurred" + }, + "lineNumber": { + "type": "string", + "description": "The line number where exception occurred" + }, + "hResult": { + "type": "integer", + "description": "Coded numerical value that is assigned to a specific exception" + }, + "stackTrace": { + "type": "string", + "description": "Stack trace" + } + } + }, + "Resource": { + "description": "ARM 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." + } + }, + "x-ms-azure-resource": true + }, + "ConnectionInfo": { + "type": "object", + "description": "Defines the connection properties of a server", + "properties": { + "type": { + "type": "string", + "description": "Type of connection info" + }, + "userName": { + "type": "string", + "description": "User name" + }, + "password": { + "type": "string", + "description": "Password credential." + } + }, + "required": [ + "type" + ], + "discriminator": "type" + }, + "AuthenticationType": { + "type": "string", + "description": "An enumeration of possible authentication types when connecting", + "enum": [ + "None", + "WindowsAuthentication", + "SqlAuthentication", + "ActiveDirectoryIntegrated", + "ActiveDirectoryPassword" + ], + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "MongoDbConnectionInfo": { + "type": "object", + "description": "Describes a connection to a MongoDB data source", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "connectionString": { + "type": "string", + "description": "A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties" + }, + "dataSource": { + "type": "string", + "description": "Data source " + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection" + }, + "serverBrandVersion": { + "type": "string", + "description": "server brand version" + }, + "serverVersion": { + "type": "string", + "description": "server version" + }, + "trustServerCertificate": { + "type": "boolean", + "description": "Whether to trust the server certificate", + "default": false + }, + "enforceSSL": { + "type": "boolean" + }, + "port": { + "type": "integer", + "description": "port for server" + }, + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + } + }, + "required": [ + "connectionString" + ] + }, + "SqlConnectionInfo": { + "x-ms-discriminator-value": "SqlConnectionInfo", + "type": "object", + "description": "Information for connecting to SQL database server", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "dataSource": { + "type": "string", + "description": "Data source in the format Protocol:MachineName\\SQLServerInstanceName,PortNumber" + }, + "serverName": { + "type": "string", + "description": "name of the server" + }, + "port": { + "type": "integer", + "description": "Port for Server" + }, + "serverVersion": { + "type": "string", + "description": "server version" + }, + "serverBrandVersion": { + "type": "string", + "description": "server brand version" + }, + "resourceId": { + "type": "string", + "description": "Represents the ID of an HTTP resource represented by an Azure resource provider." + }, + "authentication": { + "$ref": "#/definitions/AuthenticationType", + "description": "Authentication type to use for connection" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "trustServerCertificate": { + "type": "boolean", + "description": "Whether to trust the server certificate", + "default": false + }, + "platform": { + "$ref": "#/definitions/SqlServerSourcePlatform", + "description": "Server platform type for connection" + } + }, + "required": [ + "dataSource" + ] + }, + "SqlServerSourcePlatform": { + "type": "string", + "description": "An enumeration of source platform types", + "enum": [ + "SqlOnPrem" + ], + "x-ms-enum": { + "name": "SqlSourcePlatform", + "modelAsString": true + } + }, + "MySqlConnectionInfo": { + "x-ms-discriminator-value": "MySqlConnectionInfo", + "type": "object", + "description": "Information for connecting to MySQL server", + "properties": { + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "dataSource": { + "type": "string", + "description": "Data source " + }, + "port": { + "type": "integer", + "description": "Port for Server" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "authentication": { + "$ref": "#/definitions/AuthenticationType", + "description": "Authentication type to use for connection" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "serverName", + "port" + ] + }, + "OracleConnectionInfo": { + "x-ms-discriminator-value": "OracleConnectionInfo", + "type": "object", + "description": "Information for connecting to Oracle server", + "properties": { + "dataSource": { + "type": "string", + "description": "EZConnect or TNSName connection string." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "dataSource" + ] + }, + "PostgreSqlConnectionInfo": { + "x-ms-discriminator-value": "PostgreSqlConnectionInfo", + "type": "object", + "description": "Information for connecting to PostgreSQL server", + "properties": { + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "dataSource": { + "type": "string", + "description": "Data source " + }, + "serverVersion": { + "type": "string", + "description": "server version" + }, + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "port": { + "type": "integer", + "description": "Port for Server" + }, + "encryptConnection": { + "type": "boolean", + "description": "Whether to encrypt the connection", + "default": true + }, + "trustServerCertificate": { + "type": "boolean", + "description": "Whether to trust the server certificate", + "default": false + }, + "additionalSettings": { + "type": "string", + "description": "Additional connection settings" + }, + "serverBrandVersion": { + "type": "string", + "description": "server brand version" + }, + "authentication": { + "$ref": "#/definitions/AuthenticationType", + "description": "Authentication type to use for connection" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "required": [ + "serverName", + "port" + ] + }, + "MySqlTargetPlatform": { + "type": "string", + "description": "An enumeration of possible target types when migrating from MySQL", + "enum": [ + "SqlServer", + "AzureDbForMySQL" + ], + "x-ms-enum": { + "name": "MySqlTargetPlatformType", + "modelAsString": true + } + }, + "ServerLevelPermissionsGroup": { + "type": "string", + "description": "Permission group for validations. These groups will run a set of permissions for validating user activity. Select the permission group for the activity that you are performing.", + "enum": [ + "Default", + "MigrationFromSqlServerToAzureDB", + "MigrationFromSqlServerToAzureMI", + "MigrationFromMySQLToAzureDBForMySQL", + "MigrationFromSqlServerToAzureVM" + ], + "x-ms-enum": { + "name": "ServerLevelPermissionsGroup" + } + }, + "AzureActiveDirectoryApp": { + "type": "object", + "description": "Azure Active Directory Application", + "properties": { + "applicationId": { + "type": "string", + "description": "Application ID of the Azure Active Directory Application" + }, + "appKey": { + "type": "string", + "description": "Key used to authenticate to the Azure Active Directory Application" + }, + "tenantId": { + "type": "string", + "description": "Tenant id of the customer" + }, + "ignoreAzurePermissions": { + "type": "boolean", + "description": "Ignore checking azure permissions on the AAD app" + } + }, + "required": [ + "applicationId", + "appKey", + "tenantId" + ] + }, + "MiSqlConnectionInfo": { + "x-ms-discriminator-value": "MiSqlConnectionInfo", + "type": "object", + "description": "Properties required to create a connection to Azure SQL database Managed instance", + "allOf": [ + { + "$ref": "#/definitions/ConnectionInfo" + } + ], + "properties": { + "managedInstanceResourceId": { + "type": "string", + "description": "Resource id for Azure SQL database Managed instance" + } + }, + "required": [ + "managedInstanceResourceId" + ] + }, + "BackupSetInfo": { + "type": "object", + "description": "Information of backup set", + "properties": { + "backupSetId": { + "type": "string", + "description": "Id for the set of backup files" + }, + "firstLsn": { + "type": "string", + "description": "First log sequence number of the backup file" + }, + "lastLsn": { + "type": "string", + "description": "Last log sequence number of the backup file" + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time of the backup file in share location" + }, + "backupType": { + "$ref": "#/definitions/BackupType", + "description": "Enum of the different backup types" + }, + "listOfBackupFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/BackupFileInfo" + }, + "description": "List of files in the backup set" + }, + "databaseName": { + "type": "string", + "description": "Name of the database to which the backup set belongs" + }, + "backupStartDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation began" + }, + "backupFinishedDate": { + "type": "string", + "format": "date-time", + "description": "Date and time that the backup operation finished" + }, + "isBackupRestored": { + "type": "boolean", + "description": "Whether the backup set is restored or not" + } + }, + "readOnly": true + }, + "BackupType": { + "type": "string", + "description": "Enum of the different backup types.", + "enum": [ + "Database", + "TransactionLog", + "File", + "DifferentialDatabase", + "DifferentialFile", + "Partial", + "DifferentialPartial" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true + } + }, + "BackupFileInfo": { + "type": "object", + "description": "Information of the backup file", + "properties": { + "fileLocation": { + "type": "string", + "description": "Location of the backup file in shared folder" + }, + "familySequenceNumber": { + "type": "integer", + "description": "Sequence number of the backup file in the backup set" + }, + "status": { + "$ref": "#/definitions/BackupFileStatus", + "description": "Status of the backup file during migration" + } + }, + "readOnly": true + }, + "BackupFileStatus": { + "type": "string", + "description": "An enumeration of Status of the log backup file.", + "enum": [ + "Arrived", + "Queued", + "Uploading", + "Uploaded", + "Restoring", + "Restored", + "Cancelled" + ], + "x-ms-enum": { + "name": "BackupFileStatus", + "modelAsString": true + } + }, + "OrphanedUserInfo": { + "type": "object", + "description": "Information of orphaned users on the SQL server database.", + "properties": { + "name": { + "type": "string", + "description": "Name of the orphaned user" + }, + "databaseName": { + "type": "string", + "description": "Parent database of the user" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceMySqlTask.json new file mode 100644 index 000000000000..43bf2f47b965 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceMySqlTask.json @@ -0,0 +1,47 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceMySqlTaskInput": { + "type": "object", + "description": "Input for the task that validates MySQL database connection", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/MySqlConnectionInfo", + "description": "Information for connecting to MySQL source" + }, + "targetPlatform": { + "$ref": "./Common.json#/definitions/MySqlTargetPlatform", + "description": "Target Platform for the migration" + }, + "checkPermissionsGroup": { + "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", + "description": "Permission group for validations" + }, + "isOfflineMigration": { + "type": "boolean", + "description": "Flag for whether or not the migration is offline", + "default": false + } + }, + "required": [ + "sourceConnectionInfo" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json new file mode 100644 index 000000000000..09f410e5f9b3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourcePostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourcePostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to PostgreSQL and source server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on source server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceSqlServerTask.json new file mode 100644 index 000000000000..a0458be19bbe --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceSqlServerTask.json @@ -0,0 +1,277 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceSqlServerTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for Source SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "checkPermissionsGroup": { + "$ref": "./Common.json#/definitions/ServerLevelPermissionsGroup", + "description": "Permission group for validations" + }, + "collectDatabases": { + "type": "boolean", + "description": "Flag for whether to collect databases from source server.", + "default": true + }, + "collectLogins": { + "type": "boolean", + "description": "Flag for whether to collect logins from source server.", + "default": false + }, + "collectAgentJobs": { + "type": "boolean", + "description": "Flag for whether to collect agent jobs from source server.", + "default": false + }, + "collectTdeCertificateInfo": { + "type": "boolean", + "description": "Flag for whether to collect TDE Certificate names from source server.", + "default": false + }, + "validateSsisCatalogOnly": { + "type": "boolean", + "description": "Flag for whether to validate SSIS catalog is reachable on the source server.", + "default": false + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceSqlServerTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Type of result - database level or task level", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "ConnectToSourceSqlServerTaskOutputTaskLevel": { + "x-ms-discriminator-value": "TaskLevelOutput", + "type": "object", + "description": "Task level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "logins": { + "type": "string", + "description": "Source logins as a map from login name to login id.", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "agentJobs": { + "type": "string", + "description": "Source agent jobs as a map from agent job name to id.", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "databaseTdeCertificateMapping": { + "type": "string", + "description": "Mapping from database name to TDE certificate name, if applicable", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputDatabaseLevel": { + "x-ms-discriminator-value": "DatabaseLevelOutput", + "type": "object", + "description": "Database level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Database name", + "readOnly": true + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes", + "readOnly": true + }, + "databaseFiles": { + "type": "array", + "description": "The list of database files", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseFileInfo" + }, + "readOnly": true + }, + "compatibilityLevel": { + "$ref": "./TasksCommon.json#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database", + "readOnly": true + }, + "databaseState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseState", + "description": "State of the database", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputLoginLevel": { + "x-ms-discriminator-value": "LoginLevelOutput", + "type": "object", + "description": "Login level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Login name.", + "readOnly": true + }, + "loginType": { + "$ref": "./TasksCommon.json#/definitions/LoginType", + "description": "The type of login.", + "readOnly": true + }, + "defaultDatabase": { + "type": "string", + "description": "The default database for the login.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "The state of the login.", + "readOnly": true + }, + "migrationEligibility": { + "$ref": "./TasksCommon.json#/definitions/MigrationEligibilityInfo", + "description": "Information about eligibility of login for migration.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + }, + "ConnectToSourceSqlServerTaskOutputAgentJobLevel": { + "x-ms-discriminator-value": "AgentJobLevelOutput", + "type": "object", + "description": "Agent Job level output for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "name": { + "type": "string", + "description": "Agent Job name", + "readOnly": true + }, + "jobCategory": { + "type": "string", + "description": "The type of Agent Job.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "The state of the original Agent Job.", + "readOnly": true + }, + "jobOwner": { + "type": "string", + "description": "The owner of the Agent Job", + "readOnly": true + }, + "lastExecutedOn": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "UTC Date and time when the Agent Job was last executed." + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "migrationEligibility": { + "$ref": "./TasksCommon.json#/definitions/MigrationEligibilityInfo", + "description": "Information about eligibility of agent job for migration.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ConnectToSourceSqlServerTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json new file mode 100644 index 000000000000..24382fd944ab --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json @@ -0,0 +1,81 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetAzureDbForMySqlTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source MySQL server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for MySQL server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "isOfflineMigration": { + "type": "boolean", + "description": "Flag for whether or not the migration is offline", + "default": false + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "ConnectToTargetAzureDbForMySqlTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "serverVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..ece369b5e24a --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlDbTask.json new file mode 100644 index 000000000000..3a740239bc92 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlDbTask.json @@ -0,0 +1,67 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlDbTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to SQL DB and target server requirements", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "queryObjectCounts": { + "description": "Boolean flag indicating whether to query object counts for each database on the target server", + "type": "boolean" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to SQL DB and target server requirements", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Source databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMITask.json new file mode 100644 index 000000000000..66dd9f9a413c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMITask.json @@ -0,0 +1,94 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMITaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "collectLogins": { + "type": "boolean", + "description": "Flag for whether to collect logins from target SQL MI server.", + "default": true + }, + "collectAgentJobs": { + "type": "boolean", + "description": "Flag for whether to collect agent jobs from target SQL MI server.", + "default": true + }, + "validateSsisCatalogOnly": { + "type": "boolean", + "description": "Flag for whether to validate SSIS catalog is reachable on the target SQL MI server.", + "default": false + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetSqlMITaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "logins": { + "type": "array", + "description": "List of logins on the target server.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "agentJobs": { + "type": "array", + "description": "List of agent jobs on the target server.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMiSyncTask.json new file mode 100644 index 000000000000..8d40c1f7d0a7 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMiSyncTask.json @@ -0,0 +1,63 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlMISyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL Database Managed Instance online scenario.", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp": { + "description": "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account", + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp" + } + }, + "required": [ + "targetConnectionInfo", + "azureApp" + ] + }, + "ConnectToTargetSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure SQL Database Managed Instance.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json new file mode 100644 index 000000000000..6731fdeacbab --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json @@ -0,0 +1,39 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToTargetSqlSqlDbSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure SQL DB and target server requirements", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Files.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Files.json new file mode 100644 index 000000000000..5577995006a3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Files.json @@ -0,0 +1,108 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ProjectFileProperties": { + "type": "object", + "description": "Base class for file properties.", + "properties": { + "extension": { + "description": "Optional File extension. If submitted it should not have a leading period and must match the extension from filePath.", + "type": "string" + }, + "filePath": { + "description": "Relative path of this file resource. This property can be set when creating or updating the file resource.", + "type": "string" + }, + "lastModified": { + "description": "Modification DateTime.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "mediaType": { + "description": "File content type. This property can be modified to reflect the file content type.", + "type": "string" + }, + "size": { + "description": "File size.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "ProjectFile": { + "type": "object", + "description": "A file resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "properties": { + "description": "Custom file properties", + "$ref": "#/definitions/ProjectFileProperties" + }, + "systemData": { + "$ref": "../sqlmigration.json#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/Resource" + } + ] + }, + "FileList": { + "type": "object", + "description": "OData page of files", + "properties": { + "value": { + "type": "array", + "description": "List of files", + "items": { + "$ref": "#/definitions/ProjectFile" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of files" + } + } + }, + "FileStorageInfo": { + "type": "object", + "description": "File storage information.", + "properties": { + "uri": { + "description": "A URI that can be used to access the file content.", + "type": "string" + }, + "headers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetTdeCertificatesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetTdeCertificatesSqlTask.json new file mode 100644 index 000000000000..ff250dfe8e17 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetTdeCertificatesSqlTask.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetTdeCertificatesSqlTaskInput": { + "type": "object", + "description": "Input for the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for file share to be used for temporarily storing files." + }, + "selectedCertificates": { + "description": "List containing certificate names and corresponding password to use for encrypting the exported certificate.", + "type": "array", + "items": { + "$ref": "#/definitions/SelectedCertificateInput" + } + } + }, + "required": [ + "connectionInfo", + "backupFileShare", + "selectedCertificates" + ] + }, + "GetTdeCertificatesSqlTaskOutput": { + "type": "object", + "description": "Output of the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "base64EncodedCertificates": { + "type": "string", + "description": "Mapping from certificate name to base 64 encoded format.", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "SelectedCertificateInput": { + "type": "object", + "description": "Info for certificate to be exported for TDE enabled databases.", + "properties": { + "certificateName": { + "type": "string", + "description": "Name of certificate to be exported." + }, + "password": { + "type": "string", + "description": "Password to use for encrypting the exported certificate." + } + }, + "required": [ + "certificateName", + "password" + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesMySqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesMySqlTask.json new file mode 100644 index 000000000000..612de0195772 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesMySqlTask.json @@ -0,0 +1,72 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetUserTablesMySqlTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "List of database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesMySqlTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databasesToTables": { + "type": "string", + "description": "Mapping from database name to list of tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlSyncTask.json new file mode 100644 index 000000000000..5ae7ad5566a4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlSyncTask.json @@ -0,0 +1,102 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetUserTablesSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for SQL DB", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedSourceDatabases": { + "type": "array", + "description": "List of source database names to collect tables for", + "items": { + "type": "string" + } + }, + "selectedTargetDatabases": { + "type": "array", + "description": "List of target database names to collect tables for", + "items": { + "type": "string" + } + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedSourceDatabases", + "selectedTargetDatabases" + ] + }, + "GetUserTablesSqlSyncTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "databasesToSourceTables": { + "type": "string", + "description": "Mapping from database name to list of source tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "databasesToTargetTables": { + "type": "string", + "description": "Mapping from database name to list of target tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "tableValidationErrors": { + "type": "string", + "description": "Mapping from database name to list of validation errors", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlTask.json new file mode 100644 index 000000000000..22bcd3d89924 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlTask.json @@ -0,0 +1,76 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "GetUserTablesSqlTaskInput": { + "type": "object", + "description": "Input for the task that collects user tables for the given list of databases", + "properties": { + "connectionInfo": { + "description": "Connection information for SQL Server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "List of database names to collect tables for", + "items": { + "type": "string" + } + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesSqlTaskOutput": { + "type": "object", + "description": "Output of the task that collects user tables for the given list of databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "databasesToTables": { + "type": "string", + "description": "Mapping from database name to list of tables", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + } + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json new file mode 100644 index 000000000000..e81a0675933e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlOfflineTask.json @@ -0,0 +1,408 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateMySqlAzureDbForMySqlOfflineTaskInput": { + "type": "object", + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineDatabaseInput" + } + }, + "makeSourceServerReadOnly": { + "type": "boolean", + "description": "Setting to set the source server read only", + "default": false + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Parameter to specify when the migration started" + }, + "optionalAgentSettings": { + "type": "object", + "description": "Optional parameters for fine tuning the data transfer rate during migration", + "additionalProperties": { + "type": "string" + } + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutput": { + "type": "object", + "description": "Output for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration of task execution in seconds.", + "readOnly": true + }, + "status": { + "$ref": "./TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Migration status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + } + }, + "databaseSummary": { + "type": "string", + "description": "Summary of database results in the migration", + "additionalProperties": { + "$ref": "#/definitions/DatabaseSummaryResult" + }, + "readOnly": true + }, + "migrationReportResult": { + "type": "object", + "description": "Migration Report Result, provides unique url for downloading your migration report.", + "$ref": "./MigrationValidation.json#/definitions/MigrationReportResult" + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Migration stage that this database is in", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "numberOfObjects": { + "type": "integer", + "format": "int64", + "description": "Number of objects", + "readOnly": true + }, + "numberOfObjectsCompleted": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed objects", + "readOnly": true + }, + "errorCount": { + "type": "integer", + "format": "int64", + "description": "Number of database/object errors.", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + }, + "objectSummary": { + "type": "string", + "description": "Summary of object results in the migration", + "additionalProperties": { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "lastStorageUpdate": { + "type": "string", + "format": "date-time", + "description": "Last time the storage was updated", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineDatabaseInput": { + "type": "object", + "description": "Database specific information for offline MySQL to Azure Database for MySQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + } + } + }, + "DatabaseSummaryResult": { + "type": "object", + "description": "Summary of database results in the migration", + "properties": { + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json new file mode 100644 index 000000000000..86d2da515a5e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json @@ -0,0 +1,370 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateMySqlAzureDbForMySqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "sourceConnectionInfo": { + "description": "Connection information for source MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for MySQL", + "$ref": "./Common.json#/definitions/MySqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncDatabaseInput" + } + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "string", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "string", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "string", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for MySQL to Azure Database for MySQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json new file mode 100644 index 000000000000..f3305a6b500b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json @@ -0,0 +1,422 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput" + } + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "sourceConnectionInfo": { + "description": "Connection information for source PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "sourceServerType": { + "$ref": "./TasksCommon.json#/definitions/ScenarioSource", + "description": "Source server type.", + "readOnly": true + }, + "targetServerType": { + "$ref": "./TasksCommon.json#/definitions/ScenarioTarget", + "description": "Target server type.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/ReplicateMigrationState", + "description": "Migration status", + "readOnly": true + }, + "databaseCount": { + "type": "number", + "description": "Number of databases to include" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for PostgreSQL to Azure Database for PostgreSQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": {} + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "selectedTables": { + "type": "array", + "description": "Tables selected for migration", + "items": { + "$ref": "#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput" + } + } + } + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput": { + "type": "object", + "description": "Selected tables for the migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the table to migrate" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json new file mode 100644 index 000000000000..25e5861c2040 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json @@ -0,0 +1,308 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSchemaSqlServerSqlDbTaskProperties": { + "x-ms-discriminator-value": "MigrateSchemaSqlServerSqlDb", + "type": "object", + "description": "Properties for task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + }, + "readOnly": true + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + }, + "taskId": { + "type": "string", + "description": "Task id " + }, + "isCloneable": { + "type": "boolean", + "description": "whether the task can be cloned or not" + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskInput": { + "type": "object", + "description": "Input for task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbDatabaseInput" + } + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + }, + "startedOn": { + "type": "string", + "description": "Migration start time" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbDatabaseInput": { + "type": "object", + "description": "Database input for migrate schema Sql Server to Azure SQL Server scenario", + "properties": { + "name": { + "type": "string", + "description": "Name of source database" + }, + "id": { + "type": "string", + "description": "Id of the source database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database" + }, + "schemaSetting": { + "$ref": "#/definitions/SchemaMigrationSetting", + "description": "Database schema migration settings" + } + } + }, + "SchemaMigrationSetting": { + "type": "object", + "description": "Settings for migrating schema from source to target", + "properties": { + "schemaOption": { + "$ref": "#/definitions/SchemaMigrationOption", + "description": "Option on how to migrate the schema" + }, + "fileId": { + "type": "string", + "description": "Resource Identifier of a file resource containing the uploaded schema file" + }, + "fileName": { + "type": "string", + "description": "Name of the file resource containing the uploaded schema file" + } + } + }, + "SchemaMigrationOption": { + "type": "string", + "description": "Option for how schema is extracted and applied to target", + "enum": [ + "None", + "ExtractFromSource", + "UseStorageFile" + ], + "x-ms-enum": { + "name": "SchemaMigrationOption", + "modelAsString": true + } + }, + "MigrateSchemaSqlServerSqlDbTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Overall state of the schema migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutputDatabaseLevel": { + "x-ms-discriminator-value": "DatabaseLevelOutput", + "type": "object", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "State of the schema migration for this database", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/SchemaMigrationStage", + "description": "Schema migration stage for this database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "databaseErrorResultPrefix": { + "type": "string", + "description": "Prefix string to use for querying errors for this database", + "readOnly": true + }, + "schemaErrorResultPrefix": { + "type": "string", + "description": "Prefix string to use for querying schema errors for this database", + "readOnly": true + }, + "numberOfSuccessfulOperations": { + "type": "integer", + "format": "int64", + "description": "Number of successful operations for this database", + "readOnly": true + }, + "numberOfFailedOperations": { + "type": "integer", + "format": "int64", + "description": "Number of failed operations for this database", + "readOnly": true + }, + "fileId": { + "type": "string", + "description": "Identifier for the file resource containing the schema of this database", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutputError": { + "x-ms-discriminator-value": "SchemaErrorOutput", + "type": "object", + "properties": { + "commandText": { + "type": "string", + "description": "Schema command which failed", + "readOnly": true + }, + "errorText": { + "type": "string", + "description": "Reason of failure", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSchemaSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSchemaSqlServerSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that migrates Schema for SQL Server databases to Azure SQL databases", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbSyncTask.json new file mode 100644 index 000000000000..528c3fd5ec77 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbSyncTask.json @@ -0,0 +1,335 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlDbSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + }, + "validationOptions": { + "description": "Validation options", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlDbSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "databaseCount": { + "type": "integer", + "description": "Count of databases", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbTask.json new file mode 100644 index 000000000000..d004dbee38ee --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbTask.json @@ -0,0 +1,385 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlDbTaskInput": { + "type": "object", + "description": "Input for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbDatabaseInput" + } + }, + "validationOptions": { + "description": "Options for enabling various post migration validations. Available options, \n 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. \n 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database.", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationOptions" + }, + "startedOn": { + "type": "string", + "description": "Date and time relative to UTC when the migration was started on" + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + } + }, + "required": [ + "selectedDatabases" + ], + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutput": { + "type": "object", + "description": "Output for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlDbTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Duration of task execution in seconds.", + "readOnly": true + }, + "status": { + "$ref": "./TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Migration status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "databaseSummary": { + "type": "string", + "description": "Summary of database results in the migration", + "additionalProperties": { + "$ref": "#/definitions/DatabaseSummaryResult" + }, + "readOnly": true + }, + "migrationValidationResult": { + "type": "object", + "description": "Migration Validation Results", + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult" + }, + "migrationReportResult": { + "type": "object", + "description": "Migration Report Result, provides unique url for downloading your migration report.", + "$ref": "./MigrationValidation.json#/definitions/MigrationReportResult" + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Migration stage that this database is in", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "numberOfObjects": { + "type": "integer", + "format": "int64", + "description": "Number of objects", + "readOnly": true + }, + "numberOfObjectsCompleted": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed objects", + "readOnly": true + }, + "errorCount": { + "type": "integer", + "format": "int64", + "description": "Number of database/object errors.", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "objectSummary": { + "type": "string", + "description": "Summary of object results in the migration", + "additionalProperties": { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + } + ] + }, + "DatabaseSummaryResult": { + "type": "object", + "description": "Summary of database results in the migration", + "properties": { + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/DataItemMigrationSummaryResult" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputValidationResult": { + "x-ms-discriminator-value": "MigrationValidationOutput", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + { + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationResult" + } + ] + }, + "MigrateSqlServerSqlDbTaskOutputDatabaseLevelValidationResult": { + "x-ms-discriminator-value": "MigrationDatabaseLevelValidationOutput", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + { + "$ref": "./MigrationValidation.json#/definitions/MigrationValidationDatabaseLevelResult" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMITask.json new file mode 100644 index 000000000000..ec271cfb7277 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMITask.json @@ -0,0 +1,388 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ], + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "startedOn": { + "type": "string", + "description": "Date and time relative to UTC when the migration was started on" + }, + "selectedLogins": { + "type": "array", + "description": "Logins to migrate.", + "items": { + "type": "string" + } + }, + "selectedAgentJobs": { + "description": "Agent Jobs to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + }, + "backupMode": { + "$ref": "./TasksCommon.json#/definitions/BackupMode", + "description": "Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases." + }, + "aadDomainName": { + "type": "string", + "description": "Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected" + }, + "encryptedKeyForSecureFields": { + "type": "string", + "description": "encrypted key for secure fields" + } + }, + "required": [ + "selectedDatabases", + "backupBlobShare" + ] + }, + "MigrateSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMITaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "agentJobs": { + "type": "string", + "description": "Selected agent jobs as a map from name to id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "logins": { + "type": "string", + "description": "Selected logins as a map from name to id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "serverRoleResults": { + "type": "string", + "description": "Map of server role migration results.", + "additionalProperties": { + "type": "object", + "description": "Server role migration result object.", + "$ref": "TasksCommon.json#/definitions/StartMigrationScenarioServerRoleResult" + }, + "readOnly": true + }, + "orphanedUsersInfo": { + "type": "array", + "description": "List of orphaned users.", + "items": { + "$ref": "./Common.json#/definitions/OrphanedUserInfo" + }, + "readOnly": true + }, + "databases": { + "type": "string", + "description": "Selected databases as a map from database name to database id", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the database in megabytes", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationStage", + "description": "Current stage of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputAgentJobLevel": { + "type": "object", + "x-ms-discriminator-value": "AgentJobLevelOutput", + "properties": { + "name": { + "type": "string", + "description": "Agent Job name.", + "readOnly": true + }, + "isEnabled": { + "type": "boolean", + "description": "The state of the original Agent Job.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration errors and warnings per job", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputLoginLevel": { + "type": "object", + "x-ms-discriminator-value": "LoginLevelOutput", + "properties": { + "loginName": { + "type": "string", + "description": "Login name.", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of login", + "readOnly": true + }, + "stage": { + "$ref": "./TasksCommon.json#/definitions/LoginMigrationStage", + "description": "Current stage of login", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Login migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Login migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Login migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Login migration errors and warnings per login", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + }, + "MigrateSqlServerSqlMITaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMITaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..e7f906509db1 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMiSyncTask.json @@ -0,0 +1,220 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "properties": { + "numberOfParallelDatabaseMigrations": { + "type": "number", + "description": "Number of database migrations to start in parallel" + } + }, + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that migrates SQL Server databases to Azure SQL Database Managed Instance using Log Replay Service.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSqlServerSqlMISyncTaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "databaseCount": { + "type": "integer", + "description": "Count of databases", + "readOnly": true + }, + "state": { + "$ref": "TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "databaseErrorCount": { + "type": "integer", + "description": "Number of database level errors", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/DatabaseMigrationState", + "description": "Current state of database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Database migration end time", + "readOnly": true + }, + "fullBackupSetInfo": { + "type": "object", + "description": "Details of full backup set", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "lastRestoredBackupSetInfo": { + "type": "object", + "description": "Last applied backup set information", + "$ref": "Common.json#/definitions/BackupSetInfo", + "readOnly": true + }, + "activeBackupSets": { + "description": "Backup sets that are currently active (Either being uploaded or getting restored)", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/BackupSetInfo" + }, + "readOnly": true + }, + "containerName": { + "description": "Name of container created in the Azure Storage account where backups are copied to", + "type": "string", + "readOnly": true + }, + "errorPrefix": { + "description": "prefix string to use for querying errors for this database", + "type": "string", + "readOnly": true + }, + "isFullBackupRestored": { + "description": "Whether full backup has been applied to the target database or not", + "type": "boolean", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the exception", + "readOnly": true + }, + "error": { + "$ref": "Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSsisTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSsisTask.json new file mode 100644 index 000000000000..b4f436db1454 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSsisTask.json @@ -0,0 +1,180 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrateSsisTaskInput": { + "type": "object", + "description": "Input for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance.", + "allOf": [ + { + "$ref": "./TasksCommon.json#/definitions/SqlMigrationTaskInput" + } + ], + "properties": { + "ssisMigrationInfo": { + "$ref": "./TasksCommon.json#/definitions/SsisMigrationInfo", + "description": "SSIS package migration information." + } + }, + "required": [ + "ssisMigrationInfo" + ] + }, + "MigrateSsisTaskOutput": { + "type": "object", + "description": "Output for task that migrates SSIS packages from SQL Server to Azure SQL Database Managed Instance.", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateSsisTaskOutputMigrationLevel": { + "type": "object", + "x-ms-discriminator-value": "MigrationLevelOutput", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "TasksCommon.json#/definitions/MigrationStatus", + "description": "Current status of migration", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "stage": { + "description": "Stage of SSIS migration.", + "$ref": "./TasksCommon.json#/definitions/SsisMigrationStage", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSsisTaskOutput" + } + ] + }, + "MigrateSsisTaskOutputProjectLevel": { + "type": "object", + "x-ms-discriminator-value": "SsisProjectLevelOutput", + "properties": { + "folderName": { + "type": "string", + "description": "Name of the folder", + "readOnly": true + }, + "projectName": { + "type": "string", + "description": "Name of the project", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "stage": { + "description": "Stage of SSIS migration.", + "$ref": "./TasksCommon.json#/definitions/SsisMigrationStage", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "message": { + "type": "string", + "description": "Migration progress message", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings", + "type": "array", + "items": { + "$ref": "Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateSsisTaskOutput" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrationValidation.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrationValidation.json new file mode 100644 index 000000000000..34de9033c521 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrationValidation.json @@ -0,0 +1,413 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MigrationValidationOptions": { + "type": "object", + "description": "Types of validations to run after the migration", + "properties": { + "enableSchemaValidation": { + "type": "boolean", + "description": "Allows to compare the schema information between source and target." + }, + "enableDataIntegrityValidation": { + "type": "boolean", + "description": "Allows to perform a checksum based data integrity validation between source and target for the selected database / tables ." + }, + "enableQueryAnalysisValidation": { + "type": "boolean", + "description": "Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries." + } + } + }, + "MigrationReportResult": { + "type": "object", + "description": "Migration validation report result, contains the url for downloading the generated report.", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier" + }, + "reportUrl": { + "type": "string", + "description": "The url of the report." + } + } + }, + "MigrationValidationResult": { + "type": "object", + "description": "Migration Validation Result", + "properties": { + "id": { + "type": "string", + "description": "Migration validation result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "summaryResults": { + "type": "object", + "description": "Validation summary results for each database", + "additionalProperties": { + "$ref": "#/definitions/MigrationValidationDatabaseSummaryResult" + } + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the migration level. Status from the database validation result status will be aggregated here.", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseSummaryResult": { + "type": "object", + "description": "Migration Validation Database level summary result", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "MigrationValidationDatabaseLevelResult": { + "type": "object", + "description": "Database level validation results", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "migrationId": { + "type": "string", + "description": "Migration Identifier", + "readOnly": true + }, + "sourceDatabaseName": { + "type": "string", + "description": "Name of the source database", + "readOnly": true + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of the target database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Validation start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Validation end time", + "readOnly": true + }, + "dataIntegrityValidationResult": { + "description": "Provides data integrity validation result between the source and target tables that are migrated.", + "$ref": "#/definitions/DataIntegrityValidationResult", + "readOnly": true + }, + "schemaValidationResult": { + "description": "Provides schema comparison result between source and target database", + "$ref": "#/definitions/SchemaComparisonValidationResult", + "readOnly": true + }, + "queryAnalysisValidationResult": { + "description": "Results of some of the query execution result between source and target database", + "$ref": "#/definitions/QueryAnalysisValidationResult", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "Current status of validation at the database level", + "readOnly": true + } + } + }, + "DataIntegrityValidationResult": { + "type": "object", + "description": "Results for checksum based Data Integrity validation results", + "properties": { + "failedObjects": { + "type": "object", + "description": "List of failed table names of source and target pair", + "additionalProperties": { + "type": "string" + } + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing data integrity validation", + "$ref": "#/definitions/ValidationError" + } + } + }, + "SchemaComparisonValidationResult": { + "type": "object", + "description": "Results for schema comparison between the source and target", + "properties": { + "schemaDifferences": { + "type": "array", + "description": "List of schema differences between the source and target databases", + "$ref": "#/definitions/SchemaComparisonValidationResultType" + }, + "validationErrors": { + "type": "array", + "description": "List of errors that happened while performing schema compare validation", + "$ref": "#/definitions/ValidationError" + }, + "sourceDatabaseObjectCount": { + "type": "object", + "description": "Count of source database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + }, + "targetDatabaseObjectCount": { + "type": "object", + "description": "Count of target database objects", + "additionalProperties": { + "type": "integer", + "format": "int64" + } + } + } + }, + "SchemaComparisonValidationResultType": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "objectName": { + "type": "string", + "description": "Name of the object that has the difference" + }, + "objectType": { + "type": "object", + "$ref": "./TasksCommon.json#/definitions/DatabaseObjectType", + "description": "Type of the object that has the difference. e.g (Table/View/StoredProcedure)" + }, + "updateAction": { + "type": "string", + "description": "Update action type with respect to target", + "$ref": "#/definitions/UpdateActionType" + } + } + }, + "UpdateActionType": { + "type": "string", + "description": "Type of the actual difference for the compared object, while performing schema comparison", + "enum": [ + "DeletedOnTarget", + "ChangedOnTarget", + "AddedOnTarget" + ], + "x-ms-enum": { + "name": "UpdateActionType", + "modelAsString": true + } + }, + "QueryAnalysisValidationResult": { + "type": "object", + "description": "Results for query analysis comparison between the source and target", + "properties": { + "queryResults": { + "type": "array", + "description": "List of queries executed and it's execution results in source and target", + "$ref": "#/definitions/QueryExecutionResult" + }, + "validationErrors": { + "type": "array", + "description": "Errors that are part of the execution", + "$ref": "#/definitions/ValidationError" + } + } + }, + "QueryExecutionResult": { + "type": "object", + "description": "Describes query analysis results for execution in source and target", + "properties": { + "queryText": { + "type": "string", + "description": "Query text retrieved from the source server" + }, + "statementsInBatch": { + "type": "integer", + "format": "int64", + "description": "Total no. of statements in the batch" + }, + "sourceResult": { + "type": "object", + "description": "Query analysis result from the source", + "$ref": "#/definitions/ExecutionStatistics" + }, + "targetResult": { + "type": "object", + "description": "Query analysis result from the target", + "$ref": "#/definitions/ExecutionStatistics" + } + } + }, + "ExecutionStatistics": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "executionCount": { + "type": "integer", + "format": "int64", + "description": "No. of query executions" + }, + "cpuTimeMs": { + "type": "number", + "format": "float", + "description": "CPU Time in millisecond(s) for the query execution" + }, + "elapsedTimeMs": { + "type": "number", + "format": "float", + "description": "Time taken in millisecond(s) for executing the query" + }, + "waitStats": { + "type": "object", + "description": "Dictionary of sql query execution wait types and the respective statistics", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/WaitStatistics" + } + }, + "hasErrors": { + "type": "boolean", + "description": "Indicates whether the query resulted in an error" + }, + "sqlErrors": { + "type": "array", + "description": "List of sql Errors", + "items": { + "type": "string" + } + } + } + }, + "WaitStatistics": { + "type": "object", + "description": "Wait statistics gathered during query batch execution", + "properties": { + "waitType": { + "type": "string", + "description": "Type of the Wait" + }, + "waitTimeMs": { + "type": "number", + "format": "float", + "default": 0, + "description": "Total wait time in millisecond(s) " + }, + "waitCount": { + "type": "integer", + "format": "int64", + "description": "Total no. of waits" + } + } + }, + "Severity": { + "type": "string", + "description": "Severity of the validation error", + "enum": [ + "Message", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "ValidationError": { + "type": "object", + "description": "Description about the errors happen while performing migration validation", + "properties": { + "text": { + "type": "string", + "description": "Error Text" + }, + "severity": { + "type": "string", + "description": "Severity of the error", + "$ref": "#/definitions/Severity" + } + } + }, + "ValidationStatus": { + "type": "string", + "description": "Current status of the validation", + "enum": [ + "Default", + "NotStarted", + "Initialized", + "InProgress", + "Completed", + "CompletedWithIssues", + "Stopped", + "Failed" + ], + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MongoDbTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MongoDbTasks.json new file mode 100644 index 000000000000..5005dd5cbd87 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MongoDbTasks.json @@ -0,0 +1,608 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "MongoDbCancelCommand": { + "x-ms-discriminator-value": "cancel", + "type": "object", + "description": "Properties for the command that cancels a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbClusterInfo": { + "type": "object", + "description": "Describes a MongoDB data source", + "properties": { + "databases": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbDatabaseInfo" + }, + "description": "A list of non-system databases in the cluster" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the cluster supports sharded collections" + }, + "type": { + "type": "string", + "description": "The type of data source", + "enum": [ + "BlobContainer", + "CosmosDb", + "MongoDb" + ], + "x-ms-enum": { + "name": "MongoDbClusterType", + "modelAsString": true + } + }, + "version": { + "type": "string", + "description": "The version of the data source in the form x.y.z (e.g. 3.6.7). Not used if Type is BlobContainer." + } + }, + "required": [ + "databases", + "supportsSharding", + "type", + "version" + ] + }, + "MongoDbCollectionInfo": { + "type": "object", + "description": "Describes a supported collection within a MongoDB database", + "properties": { + "databaseName": { + "type": "string", + "description": "The name of the database containing the collection" + }, + "isCapped": { + "type": "boolean", + "description": "Whether the collection is a capped collection (i.e. whether it has a fixed size and acts like a circular buffer)" + }, + "isSystemCollection": { + "type": "boolean", + "description": "Whether the collection is system collection" + }, + "isView": { + "type": "boolean", + "description": "Whether the collection is a view of another collection" + }, + "shardKey": { + "$ref": "#/definitions/MongoDbShardKeyInfo", + "description": "The shard key on the collection, or null if the collection is not sharded" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the database has sharding enabled. Note that the migration task will enable sharding on the target if necessary." + }, + "viewOf": { + "type": "string", + "description": "The name of the collection that this is a view of, if IsView is true" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbObjectInfo" + } + ], + "required": [ + "databaseName", + "isCapped", + "isSystemCollection", + "isView", + "supportsSharding" + ] + }, + "MongoDbCollectionProgress": { + "x-ms-discriminator-value": "Collection", + "type": "object", + "description": "Describes the progress of a collection", + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbCollectionSettings": { + "type": "object", + "description": "Describes how an individual MongoDB collection should be migrated", + "properties": { + "canDelete": { + "type": "boolean", + "description": "Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true." + }, + "shardKey": { + "$ref": "#/definitions/MongoDbShardKeySetting" + }, + "targetRUs": { + "type": "integer", + "format": "int32", + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets." + } + } + }, + "MongoDbCommandInput": { + "type": "object", + "description": "Describes the input to the 'cancel' and 'restart' MongoDB migration commands", + "properties": { + "objectName": { + "type": "string", + "description": "The qualified name of a database or collection to act upon, or null to act upon the entire migration" + } + } + }, + "MongoDbDatabaseInfo": { + "type": "object", + "description": "Describes a database within a MongoDB data source", + "properties": { + "collections": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbCollectionInfo" + }, + "description": "A list of supported collections in a MongoDB database" + }, + "supportsSharding": { + "type": "boolean", + "description": "Whether the database has sharding enabled. Note that the migration task will enable sharding on the target if necessary." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbObjectInfo" + } + ], + "required": [ + "collections", + "supportsSharding" + ] + }, + "MongoDbDatabaseProgress": { + "x-ms-discriminator-value": "Database", + "type": "object", + "description": "Describes the progress of a database", + "properties": { + "collections": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionProgress" + }, + "description": "The progress of the collections in the database. The keys are the unqualified names of the collections" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbDatabaseSettings": { + "type": "object", + "description": "Describes how an individual MongoDB database should be migrated", + "properties": { + "collections": { + "type": "object", + "description": "The collections on the source database to migrate to the target. The keys are the unqualified names of the collections.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbCollectionSettings" + } + }, + "targetRUs": { + "type": "integer", + "format": "int32", + "description": "The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets." + } + }, + "required": [ + "collections" + ] + }, + "MongoDbError": { + "type": "object", + "description": "Describes an error or warning that occurred during a MongoDB migration", + "properties": { + "code": { + "type": "string", + "description": "The non-localized, machine-readable code that describes the error or warning" + }, + "count": { + "type": "integer", + "format": "int32", + "description": "The number of times the error or warning has occurred" + }, + "message": { + "type": "string", + "description": "The localized, human-readable message that describes the error or warning" + }, + "type": { + "type": "string", + "description": "The type of error or warning", + "enum": [ + "Error", + "ValidationError", + "Warning" + ], + "x-ms-enum": { + "name": "MongoDbErrorType", + "modelAsString": true + } + } + } + }, + "MongoDbFinishCommand": { + "x-ms-discriminator-value": "finish", + "type": "object", + "description": "Properties for the command that finishes a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbFinishCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbFinishCommandInput": { + "type": "object", + "description": "Describes the input to the 'finish' MongoDB migration command", + "properties": { + "immediate": { + "type": "boolean", + "description": "If true, replication for the affected objects will be stopped immediately. If false, the migrator will finish replaying queued events before finishing the replication." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbCommandInput" + } + ], + "required": [ + "immediate" + ] + }, + "MongoDbMigrationSettings": { + "type": "object", + "description": "Describes how a MongoDB data migration should be performed", + "properties": { + "boostRUs": { + "type": "integer", + "format": "int32", + "description": "The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets." + }, + "databases": { + "type": "object", + "description": "The databases on the source cluster to migrate to the target. The keys are the names of the databases.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseSettings" + } + }, + "replication": { + "type": "string", + "description": "Describes how changes will be replicated from the source to the target. The default is OneTime.", + "enum": [ + "Disabled", + "OneTime", + "Continuous" + ], + "x-ms-enum": { + "name": "MongoDbReplication", + "modelAsString": true + } + }, + "source": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo", + "description": "Settings used to connect to the source cluster" + }, + "target": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo", + "description": "Settings used to connect to the target cluster" + }, + "throttling": { + "$ref": "#/definitions/MongoDbThrottlingSettings", + "description": "Settings used to limit the resource usage of the migration" + } + }, + "required": [ + "databases", + "source", + "target" + ] + }, + "MongoDbProgress": { + "type": "object", + "description": "Base class for MongoDB migration outputs", + "properties": { + "bytesCopied": { + "type": "integer", + "format": "int64", + "description": "The number of document bytes copied during the Copying stage" + }, + "documentsCopied": { + "type": "integer", + "format": "int64", + "description": "The number of documents copied during the Copying stage" + }, + "elapsedTime": { + "type": "string", + "description": "The elapsed time in the format [ddd.]hh:mm:ss[.fffffff] (i.e. TimeSpan format)" + }, + "errors": { + "type": "object", + "description": "The errors and warnings that have occurred for the current object. The keys are the error codes.", + "additionalProperties": { + "$ref": "#/definitions/MongoDbError" + } + }, + "eventsPending": { + "type": "integer", + "format": "int64", + "description": "The number of oplog events awaiting replay" + }, + "eventsReplayed": { + "type": "integer", + "format": "int64", + "description": "The number of oplog events replayed so far" + }, + "lastEventTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the last oplog event received, or null if no oplog event has been received yet" + }, + "lastReplayTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the last oplog event replayed, or null if no oplog event has been replayed yet" + }, + "name": { + "type": "string", + "description": "The name of the progress object. For a collection, this is the unqualified collection name. For a database, this is the database name. For the overall migration, this is null." + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the progress object. For a collection, this is the database-qualified name. For a database, this is the database name. For the overall migration, this is null." + }, + "resultType": { + "type": "string", + "description": "The type of progress object", + "enum": [ + "Migration", + "Database", + "Collection" + ] + }, + "state": { + "type": "string", + "enum": [ + "NotStarted", + "ValidatingInput", + "Initializing", + "Restarting", + "Copying", + "InitialReplay", + "Replaying", + "Finalizing", + "Complete", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "MongoDbMigrationState", + "modelAsString": true + } + }, + "totalBytes": { + "type": "integer", + "format": "int64", + "description": "The total number of document bytes on the source at the beginning of the Copying stage, or -1 if the total size was unknown" + }, + "totalDocuments": { + "type": "integer", + "format": "int64", + "description": "The total number of documents on the source at the beginning of the Copying stage, or -1 if the total count was unknown" + } + }, + "required": [ + "bytesCopied", + "documentsCopied", + "elapsedTime", + "errors", + "eventsPending", + "eventsReplayed", + "resultType", + "state", + "totalBytes", + "totalDocuments" + ], + "discriminator": "resultType" + }, + "MongoDbMigrationProgress": { + "x-ms-discriminator-value": "Migration", + "type": "object", + "description": "Describes the progress of the overall migration", + "properties": { + "databases": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MongoDbDatabaseProgress" + }, + "description": "The progress of the databases in the migration. The keys are the names of the databases" + } + }, + "allOf": [ + { + "$ref": "#/definitions/MongoDbProgress" + } + ] + }, + "MongoDbObjectInfo": { + "type": "object", + "description": "Describes a database or collection within a MongoDB data source", + "properties": { + "averageDocumentSize": { + "type": "integer", + "format": "int64", + "description": "The average document size, or -1 if the average size is unknown" + }, + "dataSize": { + "type": "integer", + "format": "int64", + "description": "The estimated total data size, in bytes, or -1 if the size is unknown." + }, + "documentCount": { + "type": "integer", + "format": "int64", + "description": "The estimated total number of documents, or -1 if the document count is unknown" + }, + "name": { + "type": "string", + "description": "The unqualified name of the database or collection" + }, + "qualifiedName": { + "type": "string", + "description": "The qualified name of the database or collection. For a collection, this is the database-qualified name." + } + }, + "required": [ + "averageDocumentSize", + "dataSize", + "documentCount", + "name", + "qualifiedName" + ] + }, + "MongoDbRestartCommand": { + "x-ms-discriminator-value": "restart", + "type": "object", + "description": "Properties for the command that restarts a migration in whole or in part", + "properties": { + "input": { + "$ref": "#/definitions/MongoDbCommandInput", + "description": "Command input" + } + }, + "allOf": [ + { + "$ref": "Commands.json#/definitions/CommandProperties" + } + ] + }, + "MongoDbShardKeyField": { + "type": "object", + "description": "Describes a field reference within a MongoDB shard key", + "properties": { + "name": { + "type": "string", + "description": "The name of the field" + }, + "order": { + "type": "string", + "description": "The field ordering", + "enum": [ + "Forward", + "Reverse", + "Hashed" + ], + "x-ms-enum": { + "name": "MongoDbShardKeyOrder", + "modelAsString": true + } + } + }, + "required": [ + "name", + "order" + ] + }, + "MongoDbShardKeyInfo": { + "type": "object", + "description": "Describes a MongoDB shard key", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + }, + "description": "The fields within the shard key" + }, + "isUnique": { + "type": "boolean", + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields", + "isUnique" + ] + }, + "MongoDbShardKeySetting": { + "type": "object", + "description": "Describes a MongoDB shard key", + "properties": { + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/MongoDbShardKeyField" + }, + "description": "The fields within the shard key" + }, + "isUnique": { + "type": "boolean", + "description": "Whether the shard key is unique" + } + }, + "required": [ + "fields" + ] + }, + "MongoDbThrottlingSettings": { + "type": "object", + "description": "Specifies resource limits for the migration", + "properties": { + "minFreeCpu": { + "type": "integer", + "format": "int32", + "description": "The percentage of CPU time that the migrator will try to avoid using, from 0 to 100" + }, + "minFreeMemoryMb": { + "type": "integer", + "format": "int32", + "description": "The number of megabytes of RAM that the migrator will try to avoid using" + }, + "maxParallelism": { + "type": "integer", + "format": "int32", + "description": "The maximum number of work items (e.g. collection copies) that will be processed in parallel" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json new file mode 100644 index 000000000000..6d0668876661 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json @@ -0,0 +1,599 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ConnectToSourceOracleSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates Oracle database connection", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/OracleConnectionInfo", + "description": "Information for connecting to Oracle source" + } + }, + "required": [ + "sourceConnectionInfo" + ] + }, + "ConnectToSourceOracleSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates Oracle database connection", + "properties": { + "sourceServerVersion": { + "type": "string", + "description": "Version of the source server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of schemas on source server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Source server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL server", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo" + ] + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that validates connection to Azure Database for PostgreSQL and target server requirements for Oracle source.", + "properties": { + "targetServerVersion": { + "type": "string", + "description": "Version of the target server", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on target server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "targetServerBrandVersion": { + "type": "string", + "description": "Target server brand version", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "databaseSchemaMap": { + "type": "array", + "description": "Mapping of schemas per database", + "items": { + "type": "object", + "properties": { + "database": { + "type": "string" + }, + "schemas": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + } + }, + "GetUserTablesOracleTaskInput": { + "type": "object", + "description": "Input for the task that gets the list of tables contained within a provided list of Oracle schemas.", + "properties": { + "connectionInfo": { + "$ref": "./Common.json#/definitions/OracleConnectionInfo", + "description": "Information for connecting to Oracle source" + }, + "selectedSchemas": { + "type": "array", + "description": "List of Oracle schemas for which to collect tables", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedSchemas" + ] + }, + "GetUserTablesOracleTaskOutput": { + "type": "object", + "description": "Output for the task that gets the list of tables contained within a provided list of Oracle schemas.", + "properties": { + "schemaName": { + "type": "string", + "description": "The schema this result is for", + "readOnly": true + }, + "tables": { + "type": "array", + "description": "List of valid tables found for this schema", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "GetUserTablesPostgreSqlTaskInput": { + "type": "object", + "description": "Input for the task that gets the list of tables for a provided list of PostgreSQL databases.", + "properties": { + "connectionInfo": { + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo", + "description": "Information for connecting to PostgreSQL source" + }, + "selectedDatabases": { + "type": "array", + "description": "List of PostgreSQL databases for which to collect tables", + "items": { + "type": "string" + } + } + }, + "required": [ + "connectionInfo", + "selectedDatabases" + ] + }, + "GetUserTablesPostgreSqlTaskOutput": { + "type": "object", + "description": "Output for the task that gets the list of tables for a provided list of PostgreSQL databases.", + "properties": { + "databaseName": { + "type": "string", + "description": "The database this result is for", + "readOnly": true + }, + "tables": { + "type": "array", + "description": "List of valid tables found for this database", + "items": { + "$ref": "./TasksCommon.json#/definitions/DatabaseTable" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ValidateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskInput": { + "type": "object", + "description": "Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncDatabaseInput" + } + }, + "targetConnectionInfo": { + "description": "Connection information for target Azure Database for PostgreSQL", + "$ref": "./Common.json#/definitions/PostgreSqlConnectionInfo" + }, + "sourceConnectionInfo": { + "description": "Connection information for source Oracle", + "$ref": "./Common.json#/definitions/OracleConnectionInfo" + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutput": { + "type": "object", + "description": "Output for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "resultType": { + "description": "Result type", + "type": "string" + } + }, + "required": [ + "resultType" + ], + "discriminator": "resultType" + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel": { + "x-ms-discriminator-value": "MigrationLevelOutput", + "type": "object", + "properties": { + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "sourceServerVersion": { + "type": "string", + "description": "Source server version", + "readOnly": true + }, + "sourceServer": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "targetServerVersion": { + "type": "string", + "description": "Target server version", + "readOnly": true + }, + "targetServer": { + "type": "string", + "description": "Target server name", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelOutput", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "migrationState": { + "$ref": "./TasksCommon.json#/definitions/SyncDatabaseMigrationReportingState", + "description": "Migration state that this database is in", + "readOnly": true + }, + "incomingChanges": { + "type": "integer", + "format": "int64", + "description": "Number of incoming changes", + "readOnly": true + }, + "appliedChanges": { + "type": "integer", + "format": "int64", + "description": "Number of applied changes", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc inserts", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc deletes", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of cdc updates", + "readOnly": true + }, + "fullLoadCompletedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables completed in full load", + "readOnly": true + }, + "fullLoadLoadingTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables loading in full load", + "readOnly": true + }, + "fullLoadQueuedTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables queued in full load", + "readOnly": true + }, + "fullLoadErroredTables": { + "type": "integer", + "format": "int64", + "description": "Number of tables errored in full load", + "readOnly": true + }, + "initializationCompleted": { + "type": "boolean", + "description": "Indicates if initial load (full load) has been completed", + "readOnly": true + }, + "latency": { + "type": "integer", + "format": "int64", + "description": "CDC apply latency", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel": { + "type": "object", + "x-ms-discriminator-value": "TableLevelOutput", + "properties": { + "tableName": { + "type": "string", + "description": "Name of the table", + "readOnly": true + }, + "databaseName": { + "type": "string", + "description": "Name of the database", + "readOnly": true + }, + "cdcInsertCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied inserts", + "readOnly": true + }, + "cdcUpdateCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied updates", + "readOnly": true + }, + "cdcDeleteCounter": { + "type": "integer", + "format": "int64", + "description": "Number of applied deletes", + "readOnly": true + }, + "fullLoadEstFinishTime": { + "type": "string", + "format": "date-time", + "description": "Estimate to finish full load", + "readOnly": true + }, + "fullLoadStartedOn": { + "type": "string", + "format": "date-time", + "description": "Full load start time", + "readOnly": true + }, + "fullLoadEndedOn": { + "type": "string", + "format": "date-time", + "description": "Full load end time", + "readOnly": true + }, + "fullLoadTotalRows": { + "type": "integer", + "format": "int64", + "description": "Number of rows applied in full load", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/SyncTableMigrationState", + "description": "Current state of the table migration", + "readOnly": true + }, + "totalChangesApplied": { + "type": "integer", + "format": "int64", + "description": "Total number of applied changes", + "readOnly": true + }, + "dataErrorsCounter": { + "type": "integer", + "format": "int64", + "description": "Number of data errors occurred", + "readOnly": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Last modified time on target", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputError": { + "type": "object", + "x-ms-discriminator-value": "ErrorOutput", + "properties": { + "error": { + "$ref": "./Common.json#/definitions/ReportableException", + "description": "Migration error", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError": { + "type": "object", + "x-ms-discriminator-value": "DatabaseLevelErrorOutput", + "properties": { + "errorMessage": { + "type": "string", + "description": "Error message" + }, + "events": { + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/SyncMigrationDatabaseErrorEvent" + }, + "description": "List of error events." + } + }, + "allOf": [ + { + "$ref": "#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + } + ] + }, + "MigrateOracleAzureDbPostgreSqlSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for Oracle to Azure Database for PostgreSQL migration task inputs", + "properties": { + "caseManipulation": { + "type": "string", + "description": "How to handle object name casing: either Preserve or ToLower" + }, + "name": { + "type": "string", + "description": "Name of the migration pipeline" + }, + "schemaName": { + "type": "string", + "description": "Name of the source schema" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Projects.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Projects.json new file mode 100644 index 000000000000..d0bd9b88f2c9 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Projects.json @@ -0,0 +1,164 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "Project": { + "type": "object", + "description": "A project resource", + "properties": { + "properties": { + "description": "Project properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + }, + "systemData": { + "$ref": "../sqlmigration.json#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + } + }, + "allOf": [ + { + "$ref": "../sqlmigration.json#/definitions/TrackedResource" + } + ] + }, + "ProjectList": { + "type": "object", + "description": "OData page of project resources", + "properties": { + "value": { + "type": "array", + "description": "List of projects", + "items": { + "$ref": "#/definitions/Project" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of projects" + } + } + }, + "ProjectProperties": { + "type": "object", + "description": "Project-specific properties", + "properties": { + "sourcePlatform": { + "description": "Source platform for the project", + "$ref": "#/definitions/ProjectSourcePlatform" + }, + "azureAuthenticationInfo": { + "description": "Field that defines the Azure active directory application info, used to connect to the target Azure resource", + "type": "object", + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp" + }, + "targetPlatform": { + "description": "Target platform for the project", + "$ref": "#/definitions/ProjectTargetPlatform" + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "UTC Date and time when project was created" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/ConnectionInfo", + "description": "Information for connecting to target" + }, + "databasesInfo": { + "type": "array", + "description": "List of DatabaseInfo", + "items": { + "$ref": "#/definitions/DatabaseInfo" + } + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The project's provisioning state", + "enum": [ + "Deleting", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProjectProvisioningState", + "modelAsString": true + } + } + }, + "required": [ + "sourcePlatform", + "targetPlatform" + ] + }, + "DatabaseInfo": { + "type": "object", + "description": "Project Database Details", + "properties": { + "sourceDatabaseName": { + "type": "string", + "description": "Name of the database" + } + }, + "required": [ + "sourceDatabaseName" + ] + }, + "ProjectSourcePlatform": { + "type": "string", + "description": "Source platform of the project", + "enum": [ + "SQL", + "MySQL", + "PostgreSql", + "MongoDb", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectSourcePlatform", + "modelAsString": true + } + }, + "ProjectTargetPlatform": { + "type": "string", + "description": "Target platform of the project", + "enum": [ + "SQLDB", + "SQLMI", + "AzureDbForMySql", + "AzureDbForPostgreSql", + "MongoDb", + "Unknown" + ], + "x-ms-enum": { + "name": "ProjectTargetPlatform", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ResourceSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ResourceSkus.json new file mode 100644 index 000000000000..8875d5fbbb03 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ResourceSkus.json @@ -0,0 +1,231 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ResourceSku": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of SKU." + }, + "tier": { + "readOnly": true, + "type": "string", + "description": "Specifies the tier of DMS in a scale set." + }, + "size": { + "readOnly": true, + "type": "string", + "description": "The Size of the SKU." + }, + "family": { + "readOnly": true, + "type": "string", + "description": "The Family of this particular SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "The Kind of resources that are supported in this SKU." + }, + "capacity": { + "$ref": "#/definitions/ResourceSkuCapacity", + "readOnly": true, + "description": "Not used." + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available." + }, + "apiVersions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The api versions that support this SKU." + }, + "costs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCosts" + }, + "description": "Metadata for retrieving price info." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + }, + "description": "A name value pair to describe the capability." + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "description": "Describes an available DMS SKU." + }, + "ResourceSkuCapacity": { + "properties": { + "minimum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The maximum capacity." + }, + "default": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The default capacity." + }, + "scaleType": { + "type": "string", + "readOnly": true, + "description": "The scale type applicable to the SKU.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "x-ms-enum": { + "name": "ResourceSkuCapacityScaleType", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkuCosts": { + "properties": { + "meterID": { + "type": "string", + "readOnly": true, + "description": "Used for querying price from commerce." + }, + "quantity": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "The multiplier is needed to extend the base metered cost." + }, + "extendedUnit": { + "type": "string", + "readOnly": true, + "description": "An invariant to show the extended unit." + } + }, + "description": "Describes metadata for retrieving price info." + }, + "ResourceSkuCapabilities": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "An invariant if the feature is measured by quantity." + } + }, + "description": "Describes The SKU capabilities object." + }, + "ResourceSkuRestrictions": { + "properties": { + "type": { + "type": "string", + "readOnly": true, + "description": "The type of restrictions.", + "enum": [ + "location" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": true + } + }, + "values": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "readOnly": true, + "description": "The reason code for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSkusResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "description": "The list of SKUs available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page of DMS SKUs." + } + }, + "required": [ + "value" + ], + "description": "The DMS List SKUs operation response." + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceFeatureOCITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceFeatureOCITask.json new file mode 100644 index 000000000000..130cef61fddf --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceFeatureOCITask.json @@ -0,0 +1,141 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "OracleOCIDriverInfo": { + "type": "object", + "description": "Information about an Oracle OCI driver.", + "properties": { + "driverName": { + "type": "string", + "description": "The name of the driver package", + "readOnly": true + }, + "driverSize": { + "type": "string", + "description": "The size in bytes of the driver package", + "readOnly": true + }, + "archiveChecksum": { + "type": "string", + "description": "The MD5 Base64 encoded checksum for the driver package.", + "readOnly": true + }, + "oracleChecksum": { + "type": "string", + "description": "The checksum for the driver package provided by Oracle.", + "readOnly": true + }, + "assemblyVersion": { + "type": "string", + "description": "Version listed in the OCI assembly 'oci.dll'", + "readOnly": true + }, + "supportedOracleVersions": { + "type": "array", + "description": "List of Oracle database versions supported by this driver. Only major minor of the version is listed.", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "CheckOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to check for OCI drivers.", + "properties": { + "serverVersion": { + "type": "string", + "description": "Version of the source server to check against. Optional." + } + } + }, + "CheckOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to check for OCI drivers.", + "properties": { + "installedDriver": { + "description": "Information about the installed driver if found and valid.", + "$ref": "#/definitions/OracleOCIDriverInfo" + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "UploadOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to upload an OCI driver.", + "properties": { + "driverShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "File share information for the OCI driver archive." + } + } + }, + "UploadOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to upload an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "The name of the driver package that was validated and uploaded.", + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "InstallOCIDriverTaskInput": { + "type": "object", + "description": "Input for the service task to install an OCI driver.", + "properties": { + "driverPackageName": { + "type": "string", + "description": "Name of the uploaded driver package to install." + } + } + }, + "InstallOCIDriverTaskOutput": { + "type": "object", + "description": "Output for the service task to install an OCI driver.", + "properties": { + "validationErrors": { + "description": "Validation errors", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceTasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceTasks.json new file mode 100644 index 000000000000..d56ed921ce44 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceTasks.json @@ -0,0 +1,90 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Data Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "CheckOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Check.OCI", + "type": "object", + "description": "Properties for the task that checks for OCI drivers.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/CheckOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "UploadOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Upload.OCI", + "type": "object", + "description": "Properties for the task that uploads an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/UploadOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "InstallOCIDriverTaskProperties": { + "x-ms-discriminator-value": "Service.Install.OCI", + "type": "object", + "description": "Properties for the task that installs an OCI driver.", + "properties": { + "input": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskInput" + }, + "output": { + "type": "array", + "description": "Task output. This is ignored if submitted.", + "items": { + "$ref": "./ServiceFeatureOCITask.json#/definitions/InstallOCIDriverTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Services.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Services.json new file mode 100644 index 000000000000..407ac01013a5 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Services.json @@ -0,0 +1,303 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "AvailableServiceSku": { + "type": "object", + "description": "Describes the available service SKU.", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type, including the provider namespace" + }, + "sku": { + "type": "object", + "description": "SKU name, tier, etc.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU" + }, + "family": { + "type": "string", + "description": "SKU family" + }, + "size": { + "type": "string", + "description": "SKU size" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as \"Basic\", \"General Purpose\", or \"Business Critical\"" + } + } + }, + "capacity": { + "type": "object", + "description": "A description of the scaling capacities of the SKU", + "properties": { + "minimum": { + "type": "integer", + "description": "The minimum capacity, usually 0 or 1." + }, + "maximum": { + "type": "integer", + "description": "The maximum capacity" + }, + "default": { + "type": "integer", + "description": "The default capacity" + }, + "scaleType": { + "type": "string", + "description": "The scalability approach", + "enum": [ + "none", + "manual", + "automatic" + ], + "x-ms-enum": { + "name": "ServiceScalability", + "modelAsString": true + } + } + } + } + } + }, + "DataMigrationService": { + "type": "object", + "description": "A Database Migration Service resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. Ignored if submitted" + }, + "kind": { + "type": "string", + "description": "The resource kind. Only 'vm' (the default) is supported." + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Custom service properties", + "$ref": "#/definitions/DataMigrationServiceProperties" + }, + "sku": { + "description": "Service SKU", + "$ref": "#/definitions/ServiceSku" + }, + "systemData": { + "$ref": "../sqlmigration.json#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../sqlmigration.json#/definitions/TrackedResource" + } + ] + }, + "DataMigrationServiceList": { + "type": "object", + "description": "OData page of service objects", + "properties": { + "value": { + "type": "array", + "description": "List of services", + "items": { + "$ref": "#/definitions/DataMigrationService" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of services" + } + } + }, + "DataMigrationServiceProperties": { + "type": "object", + "description": "Properties of the Database Migration Service instance", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The resource's provisioning state", + "enum": [ + "Accepted", + "Deleting", + "Deploying", + "Stopped", + "Stopping", + "Starting", + "FailedToStart", + "FailedToStop", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ServiceProvisioningState", + "modelAsString": true + } + }, + "publicKey": { + "type": "string", + "description": "The public key of the service, used to encrypt secrets sent to the service" + }, + "virtualSubnetId": { + "type": "string", + "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined" + }, + "virtualNicId": { + "type": "string", + "description": "The ID of the Microsoft.Network/networkInterfaces resource which the service have" + }, + "autoStopDelay": { + "type": "string", + "description": "The time delay before the service is auto-stopped when idle." + }, + "deleteResourcesOnStop": { + "type": "boolean", + "description": "Whether service resources should be deleted when stopped. (Turned on by default)" + } + } + }, + "DataMigrationServiceStatusResponse": { + "type": "object", + "description": "Service health status", + "properties": { + "agentVersion": { + "type": "string", + "description": "The DMS instance agent version" + }, + "agentConfiguration": { + "type": "object", + "description": "Agent Configuration" + }, + "status": { + "type": "string", + "description": "The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed'" + }, + "vmSize": { + "type": "string", + "description": "The services virtual machine size, such as 'Standard_D2_v2'" + }, + "supportedTaskTypes": { + "type": "array", + "description": "The list of supported task types", + "items": { + "type": "string", + "description": "Migration task type" + } + } + } + }, + "ServiceOperation": { + "type": "object", + "description": "Description of an action supported by the Database Migration Service", + "properties": { + "name": { + "type": "string", + "description": "The fully qualified action name, e.g. Microsoft.DataMigration/services/read" + }, + "display": { + "type": "object", + "description": "Localized display text", + "properties": { + "provider": { + "type": "string", + "description": "The localized resource provider name" + }, + "resource": { + "type": "string", + "description": "The localized resource type name" + }, + "operation": { + "type": "string", + "description": "The localized operation name" + }, + "description": { + "type": "string", + "description": "The localized operation description" + } + } + } + } + }, + "ServiceOperationList": { + "type": "object", + "description": "OData page of action (operation) objects", + "properties": { + "value": { + "type": "array", + "description": "List of actions", + "items": { + "$ref": "#/definitions/ServiceOperation" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of actions" + } + } + }, + "ServiceSku": { + "type": "object", + "description": "An Azure SKU instance", + "properties": { + "name": { + "type": "string", + "description": "The unique name of the SKU, such as 'P3'" + }, + "tier": { + "type": "string", + "description": "The tier of the SKU, such as 'Basic', 'General Purpose', or 'Business Critical'" + }, + "family": { + "type": "string", + "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines" + }, + "size": { + "type": "string", + "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines" + }, + "capacity": { + "type": "integer", + "description": "The capacity of the SKU, if it supports scaling" + } + } + }, + "ServiceSkuList": { + "type": "object", + "description": "OData page of available SKUs", + "properties": { + "value": { + "type": "array", + "description": "List of service SKUs", + "items": { + "$ref": "#/definitions/AvailableServiceSku" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of service SKUs" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Tasks.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Tasks.json new file mode 100644 index 000000000000..12e8d1f28236 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Tasks.json @@ -0,0 +1,1037 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ProjectTaskProperties": { + "type": "object", + "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.", + "properties": { + "taskType": { + "enum": [ + "Connect.MongoDb", + "ConnectToSource.SqlServer", + "ConnectToSource.SqlServer.Sync", + "ConnectToSource.PostgreSql.Sync", + "ConnectToSource.MySql", + "ConnectToSource.Oracle.Sync", + "ConnectToTarget.SqlDb", + "ConnectToTarget.SqlDb.Sync", + "ConnectToTarget.AzureDbForPostgreSql.Sync", + "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", + "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.AzureSqlDbMI.Sync.LRS", + "ConnectToTarget.AzureDbForMySql", + "GetUserTables.Sql", + "GetUserTables.AzureSqlDb.Sync", + "GetUserTablesOracle", + "GetUserTablesPostgreSql", + "GetUserTablesMySql", + "Migrate.MongoDb", + "Migrate.SqlServer.AzureSqlDbMI", + "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "Migrate.SqlServer.SqlDb", + "Migrate.SqlServer.AzureSqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", + "Migrate.MySql.AzureDbForMySql", + "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", + "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", + "Validate.MongoDb", + "Validate.Oracle.AzureDbPostgreSql.Sync", + "GetTDECertificates.Sql", + "Migrate.Ssis", + "Service.Check.OCI", + "Service.Upload.OCI", + "Service.Install.OCI", + "MigrateSchemaSqlServerSqlDb" + ], + "x-ms-enum": { + "name": "TaskType", + "modelAsString": true + }, + "description": "Task type.", + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ODataError" + }, + "description": "Array of errors. This is ignored if submitted.", + "readOnly": true + }, + "state": { + "type": "string", + "description": "The state of the task. This is ignored if submitted.", + "enum": [ + "Unknown", + "Queued", + "Running", + "Canceled", + "Succeeded", + "Failed", + "FailedInputValidation", + "Faulted" + ], + "x-ms-enum": { + "name": "TaskState", + "modelAsString": true + }, + "readOnly": true + }, + "commands": { + "description": "Array of command properties.", + "type": "array", + "items": { + "$ref": "./Commands.json#/definitions/CommandProperties" + }, + "readOnly": true + }, + "clientData": { + "type": "object", + "description": "Key value pairs of client data to attach meta data information to task", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "taskType" + ], + "discriminator": "taskType" + }, + "ProjectTask": { + "type": "object", + "description": "A task resource", + "properties": { + "etag": { + "type": "string", + "description": "HTTP strong entity tag value. This is ignored if submitted." + }, + "properties": { + "description": "Custom task properties", + "$ref": "#/definitions/ProjectTaskProperties" + }, + "systemData": { + "$ref": "../sqlmigration.json#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Common.json#/definitions/Resource" + } + ] + }, + "TaskList": { + "type": "object", + "description": "OData page of tasks", + "properties": { + "value": { + "type": "array", + "description": "List of tasks", + "items": { + "$ref": "#/definitions/ProjectTask" + } + }, + "nextLink": { + "type": "string", + "description": "URL to load the next page of tasks" + } + } + }, + "ConnectToMongoDbTaskProperties": { + "x-ms-discriminator-value": "Connect.MongoDb", + "type": "object", + "description": "Properties for the task that validates the connection to and provides information about a MongoDB server", + "properties": { + "input": { + "$ref": "./Common.json#/definitions/MongoDbConnectionInfo" + }, + "output": { + "type": "array", + "description": "An array containing a single MongoDbClusterInfo object", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbClusterInfo" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceSqlServerTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.SqlServer", + "type": "object", + "description": "Properties for the task that validates connection to SQL Server and also validates source server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskOutput" + }, + "readOnly": true + }, + "taskId": { + "type": "string", + "description": "Task id " + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceSqlServerSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.SqlServer.Sync", + "type": "object", + "description": "Properties for the task that validates connection to SQL Server and source server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourceSqlServerTask.json#/definitions/ConnectToSourceSqlServerTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourcePostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.PostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to PostgreSQL server and source server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToSourcePostgreSqlSyncTask.json#/definitions/ConnectToSourcePostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceMySqlTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.MySql", + "type": "object", + "description": "Properties for the task that validates MySQL database connection", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToSourceMySqlTask.json#/definitions/ConnectToSourceMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/ConnectToSourceNonSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "./Tasks.json#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToSourceOracleSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToSource.Oracle.Sync", + "type": "object", + "description": "Properties for the task that validates Oracle database connection", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToSourceOracleSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlDbTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.SqlDb", + "type": "object", + "description": "Properties for the task that validates connection to SQL DB and target server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput" + }, + "readOnly": true + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.SqlDb.Sync", + "type": "object", + "description": "Properties for the task that validates connection to SQL DB and target server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlSqlDbSyncTask.json#/definitions/ConnectToTargetSqlSqlDbSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlDbTask.json#/definitions/ConnectToTargetSqlDbTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetAzureDbForPostgreSqlSyncTask.json#/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database For PostgreSQL server and target server requirements for online migration for Oracle source.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesSqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTables.Sql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesSqlTask.json#/definitions/GetUserTablesSqlTaskOutput" + }, + "readOnly": true + }, + "taskId": { + "type": "string", + "description": "Task id " + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesSqlSyncTaskProperties": { + "x-ms-discriminator-value": "GetUserTables.AzureSqlDb.Sync", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesSqlSyncTask.json#/definitions/GetUserTablesSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesOracleTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesOracle", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of Oracle schemas", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesOracleTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesOracleTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesPostgreSqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesPostgreSql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesPostgreSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/GetUserTablesPostgreSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetUserTablesMySqlTaskProperties": { + "x-ms-discriminator-value": "GetUserTablesMySql", + "type": "object", + "description": "Properties for the task that collects user tables for the given list of databases", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetUserTablesMySqlTask.json#/definitions/GetUserTablesMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetUserTablesMySqlTask.json#/definitions/GetUserTablesMySqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlMITaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMITask.json#/definitions/ConnectToTargetSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for the task that validates connection to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetSqlMiSyncTask.json#/definitions/ConnectToTargetSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ConnectToTargetAzureDbForMySqlTaskProperties": { + "x-ms-discriminator-value": "ConnectToTarget.AzureDbForMySql", + "type": "object", + "description": "Properties for the task that validates connection to Azure Database for MySQL and target server requirements", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ConnectToTargetAzureDbForMySqlTask.json#/definitions/ConnectToTargetAzureDbForMySqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateMongoDbTaskProperties": { + "x-ms-discriminator-value": "Migrate.MongoDb", + "type": "object", + "description": "Properties for the task that migrates data between MongoDB data sources", + "properties": { + "input": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationSettings" + }, + "output": { + "type": "array", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbProgress" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMITask.json#/definitions/MigrateSqlServerSqlMITaskOutput" + }, + "readOnly": true + }, + "taskId": { + "type": "string", + "description": "task id" + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + }, + "parentTaskId": { + "type": "string", + "description": "parent task id" + }, + "isCloneable": { + "type": "boolean", + "description": "whether the task can be cloned or not" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that migrates SQL Server databases to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlMiSyncTask.json#/definitions/MigrateSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlDbTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.SqlDb", + "type": "object", + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlDbTask.json#/definitions/MigrateSqlServerSqlDbTaskOutput" + }, + "readOnly": true + }, + "taskId": { + "type": "string", + "description": "task id" + }, + "isCloneable": { + "type": "boolean", + "description": "whether the task can be cloned or not" + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSqlServerSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.SqlServer.AzureSqlDb.Sync", + "type": "object", + "description": "Properties for the task that migrates on-prem SQL Server databases to Azure SQL Database for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSqlServerSqlDbSyncTask.json#/definitions/MigrateSqlServerSqlDbSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateMySqlAzureDbForMySqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql.Sync", + "type": "object", + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateMySqlAzureDbForMySqlSyncTask.json#/definitions/MigrateMySqlAzureDbForMySqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateMySqlAzureDbForMySqlOfflineTaskProperties": { + "x-ms-discriminator-value": "Migrate.MySql.AzureDbForMySql", + "type": "object", + "description": "Properties for the task that migrates MySQL databases to Azure Database for MySQL for offline migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateMySqlAzureDbForMySqlOfflineTask.json#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateMySqlAzureDbForMySqlOfflineTask.json#/definitions/MigrateMySqlAzureDbForMySqlOfflineTaskOutput" + }, + "readOnly": true + }, + "isCloneable": { + "type": "boolean", + "description": "whether the task can be cloned or not" + }, + "taskId": { + "type": "string", + "description": "Task id " + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2", + "type": "object", + "description": "Properties for the task that migrates PostgreSQL databases to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json#/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTaskOutput" + }, + "readOnly": true + }, + "taskId": { + "type": "string", + "description": "task id" + }, + "createdOn": { + "type": "string", + "description": "DateTime in UTC when the task was created" + }, + "isCloneable": { + "type": "boolean", + "description": "whether the task can be cloned or not" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Migrate.Oracle.AzureDbForPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that migrates Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlDbSyncTaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.SqlDb.Sync", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL DB sync migrations", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateSyncMigrationInputSqlServerTask.json#/definitions/ValidateSyncMigrationInputSqlServerTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMITask.json#/definitions/ValidateMigrationInputSqlServerSqlMITaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskProperties": { + "x-ms-discriminator-value": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS", + "type": "object", + "description": "Properties for task that validates migration input for SQL to Azure SQL Database Managed Instance sync scenario", + "properties": { + "input": { + "description": "Task input", + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./ValidateMigrationInputSqlServerSqlMiSyncTask.json#/definitions/ValidateMigrationInputSqlServerSqlMISyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateMongoDbTaskProperties": { + "x-ms-discriminator-value": "Validate.MongoDb", + "type": "object", + "description": "Properties for the task that validates a migration between MongoDB data sources", + "properties": { + "input": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationSettings" + }, + "output": { + "type": "array", + "description": "An array containing a single MongoDbMigrationProgress object", + "items": { + "$ref": "./MongoDbTasks.json#/definitions/MongoDbMigrationProgress" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "ValidateOracleAzureDbForPostgreSqlSyncTaskProperties": { + "x-ms-discriminator-value": "Validate.Oracle.AzureDbPostgreSql.Sync", + "type": "object", + "description": "Properties for the task that validates a migration for Oracle to Azure Database for PostgreSQL for online migrations", + "properties": { + "input": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/MigrateOracleAzureDbPostgreSqlSyncTaskInput" + }, + "output": { + "type": "array", + "description": "An array containing a single validation error response object", + "items": { + "$ref": "./OracleAzureDbPostgreSqlSyncTask.json#/definitions/ValidateOracleAzureDbPostgreSqlSyncTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "GetTdeCertificatesSqlTaskProperties": { + "x-ms-discriminator-value": "GetTDECertificates.Sql", + "type": "object", + "description": "Properties for the task that gets TDE certificates in Base64 encoded format.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./GetTdeCertificatesSqlTask.json#/definitions/GetTdeCertificatesSqlTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + }, + "MigrateSsisTaskProperties": { + "x-ms-discriminator-value": "Migrate.Ssis", + "type": "object", + "description": "Properties for task that migrates SSIS packages from SQL Server databases to Azure SQL Database Managed Instance.", + "properties": { + "input": { + "description": "Task input", + "$ref": "./MigrateSsisTask.json#/definitions/MigrateSsisTaskInput" + }, + "output": { + "description": "Task output. This is ignored if submitted.", + "type": "array", + "items": { + "$ref": "./MigrateSsisTask.json#/definitions/MigrateSsisTaskOutput" + }, + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProjectTaskProperties" + } + ] + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/TasksCommon.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/TasksCommon.json new file mode 100644 index 000000000000..fb287f632099 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/TasksCommon.json @@ -0,0 +1,1312 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "Database": { + "type": "object", + "description": "Information about a single database", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for the database" + }, + "name": { + "type": "string", + "description": "Name of the database" + }, + "compatibilityLevel": { + "$ref": "#/definitions/DatabaseCompatLevel", + "description": "SQL Server compatibility level of database" + }, + "collation": { + "type": "string", + "description": "Collation name of the database" + }, + "serverName": { + "type": "string", + "description": "Name of the server" + }, + "fqdn": { + "type": "string", + "description": "Fully qualified name" + }, + "installId": { + "type": "string", + "description": "Install id of the database" + }, + "serverVersion": { + "type": "string", + "description": "Version of the server" + }, + "serverEdition": { + "type": "string", + "description": "Edition of the server" + }, + "serverLevel": { + "type": "string", + "description": "Product level of the server (RTM, SP, CTP)." + }, + "serverDefaultDataPath": { + "type": "string", + "description": "Default path of the data files" + }, + "serverDefaultLogPath": { + "type": "string", + "description": "Default path of the log files" + }, + "serverDefaultBackupPath": { + "type": "string", + "description": "Default path of the backup folder" + }, + "serverCoreCount": { + "type": "integer", + "description": "Number of cores on the server" + }, + "serverVisibleOnlineCoreCount": { + "type": "integer", + "description": "Number of cores on the server that have VISIBLE ONLINE status" + }, + "databaseState": { + "$ref": "#/definitions/DatabaseState", + "description": "State of the database" + }, + "serverId": { + "type": "string", + "description": "The unique Server Id" + } + } + }, + "DatabaseCompatLevel": { + "type": "string", + "description": "An enumeration of SQL Server database compatibility levels", + "enum": [ + "CompatLevel80", + "CompatLevel90", + "CompatLevel100", + "CompatLevel110", + "CompatLevel120", + "CompatLevel130", + "CompatLevel140" + ], + "x-ms-enum": { + "name": "DatabaseCompatLevel", + "modelAsString": true + } + }, + "DatabaseState": { + "type": "string", + "description": "An enumeration of SQL Server Database states", + "enum": [ + "Online", + "Restoring", + "Recovering", + "RecoveryPending", + "Suspect", + "Emergency", + "Offline", + "Copying", + "OfflineSecondary" + ], + "x-ms-enum": { + "name": "DatabaseState", + "modelAsString": true + } + }, + "DatabaseObjectType": { + "type": "string", + "description": "An enumeration of type of objects", + "enum": [ + "StoredProcedures", + "Table", + "User", + "View", + "Function" + ], + "x-ms-enum": { + "name": "ObjectType", + "modelAsString": true + } + }, + "ScenarioSource": { + "type": "string", + "description": "An enumeration of source type", + "enum": [ + "Access", + "DB2", + "MySQL", + "Oracle", + "SQL", + "Sybase", + "PostgreSQL", + "MongoDB", + "SQLRDS", + "MySQLRDS", + "PostgreSQLRDS" + ], + "x-ms-enum": { + "name": "ScenarioSource", + "modelAsString": true + } + }, + "ScenarioTarget": { + "type": "string", + "description": "An enumeration of target type", + "enum": [ + "SQLServer", + "SQLDB", + "SQLDW", + "SQLMI", + "AzureDBForMySql", + "AzureDBForPostgresSQL", + "MongoDB" + ], + "x-ms-enum": { + "name": "ScenarioTarget", + "modelAsString": true + } + }, + "ReplicateMigrationState": { + "type": "string", + "description": "Wrapper for replicate reported migration states.", + "enum": [ + "UNDEFINED", + "VALIDATING", + "PENDING", + "COMPLETE", + "ACTION_REQUIRED", + "FAILED" + ], + "x-ms-enum": { + "name": "ReplicateMigrationState", + "modelAsString": true + } + }, + "DatabaseObjectName": { + "type": "object", + "description": "A representation of the name of an object in a database", + "properties": { + "databaseName": { + "type": "string", + "description": "The unescaped name of the database containing the object", + "readOnly": true + }, + "objectName": { + "type": "string", + "description": "The unescaped name of the object", + "readOnly": true + }, + "schemaName": { + "type": "string", + "description": "The unescaped name of the schema containing the object", + "readOnly": true + }, + "objectType": { + "$ref": "#/definitions/DatabaseObjectType", + "description": "Type of the object in the database" + } + } + }, + "DataItemMigrationSummaryResult": { + "type": "object", + "description": "Basic summary of a data item migration", + "properties": { + "name": { + "type": "string", + "description": "Name of the item", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "statusMessage": { + "type": "string", + "description": "Status message", + "readOnly": true + }, + "itemsCount": { + "type": "integer", + "format": "int64", + "description": "Number of items", + "readOnly": true + }, + "itemsCompletedCount": { + "type": "integer", + "format": "int64", + "description": "Number of successfully completed items", + "readOnly": true + }, + "errorPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all errors of the item", + "readOnly": true + }, + "resultPrefix": { + "type": "string", + "description": "Wildcard string prefix to use for querying all sub-tem results of the item", + "readOnly": true + } + } + }, + "DataMigrationProjectMetadata": { + "type": "object", + "description": "Common metadata for migration projects", + "properties": { + "sourceServerName": { + "type": "string", + "description": "Source server name", + "readOnly": true + }, + "sourceServerPort": { + "type": "string", + "description": "Source server port number", + "readOnly": true + }, + "sourceUsername": { + "type": "string", + "description": "Source username", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Target server name", + "readOnly": true + }, + "targetUsername": { + "type": "string", + "description": "Target username", + "readOnly": true + }, + "targetDbName": { + "type": "string", + "description": "Target database name", + "readOnly": true + }, + "targetUsingWinAuth": { + "type": "boolean", + "description": "Whether target connection is Windows authentication", + "readOnly": true + }, + "selectedMigrationTables": { + "type": "array", + "description": "List of tables selected for migration", + "readOnly": true, + "items": { + "$ref": "#/definitions/MigrationTableMetadata" + } + } + } + }, + "DatabaseTable": { + "type": "object", + "description": "Table properties", + "properties": { + "hasRows": { + "type": "boolean", + "description": "Indicates whether table is empty or not", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Schema-qualified name of the table", + "readOnly": true + } + } + }, + "GetProjectDetailsNonSqlTaskInput": { + "type": "object", + "description": "Input for the task that reads configuration from project artifacts", + "properties": { + "projectName": { + "type": "string", + "description": "Name of the migration project" + }, + "projectLocation": { + "type": "string", + "description": "A URL that points to the location to access project artifacts" + } + }, + "required": [ + "projectName", + "projectLocation" + ] + }, + "SqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "properties": { + "selectedDatabases": { + "description": "Databases to migrate", + "type": "array", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "storageResourceId": { + "type": "string", + "description": "Fully qualified resourceId of storage" + }, + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Connection information for source SQL Server" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/MiSqlConnectionInfo", + "description": "Connection information for Azure SQL Database Managed Instance" + }, + "azureApp": { + "$ref": "./Common.json#/definitions/AzureActiveDirectoryApp", + "description": "Azure Active Directory Application the DMS instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account" + } + }, + "required": [ + "selectedDatabases", + "azureApp", + "sourceConnectionInfo", + "targetConnectionInfo", + "storageResourceId" + ] + }, + "MigrationState": { + "type": "string", + "description": "Current state of migration", + "enum": [ + "None", + "InProgress", + "Failed", + "Warning", + "Completed", + "Skipped", + "Stopped" + ], + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + } + }, + "MigrationStatus": { + "type": "string", + "description": "Current status of migration", + "enum": [ + "Default", + "Connecting", + "SourceAndTargetSelected", + "SelectLogins", + "Configured", + "Running", + "Error", + "Stopped", + "Completed", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "MigrationStatus", + "modelAsString": true + } + }, + "SqlMigrationTaskInput": { + "type": "object", + "description": "Base class for migration task input", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo" + ] + }, + "MigrateSqlServerSqlDbDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Name of target database. Note: Target database will be truncated before starting migration." + }, + "makeSourceDbReadOnly": { + "type": "boolean", + "description": "Whether to set database read only before migration" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "schemaSetting": { + "type": "object", + "description": "Settings selected for DB schema migration." + }, + "id": { + "type": "string", + "description": "id of the database" + } + } + }, + "MigrateSqlServerSqlDbSyncDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB sync migration task inputs", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database" + }, + "name": { + "type": "string", + "description": "Name of database" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "schemaName": { + "type": "string", + "description": "Schema name to be migrated" + }, + "tableMap": { + "type": "object", + "description": "Mapping of source to target tables", + "additionalProperties": { + "type": "string" + } + }, + "migrationSetting": { + "type": "object", + "description": "Migration settings which tune the migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "sourceSetting": { + "type": "object", + "description": "Source settings to tune source endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + }, + "targetSetting": { + "type": "object", + "description": "Target settings to tune target endpoint migration behavior", + "additionalProperties": { + "type": "string" + } + } + } + }, + "MigrationTableMetadata": { + "type": "object", + "description": "Metadata for tables selected in migration project", + "properties": { + "sourceTableName": { + "type": "string", + "description": "Source table name", + "readOnly": true + }, + "targetTableName": { + "type": "string", + "description": "Target table name", + "readOnly": true + } + } + }, + "NonSqlMigrationTaskInput": { + "type": "object", + "description": "Base class for non sql migration task input", + "properties": { + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + }, + "targetDatabaseName": { + "type": "string", + "description": "Target database name" + }, + "projectName": { + "type": "string", + "description": "Name of the migration project" + }, + "projectLocation": { + "type": "string", + "description": "A URL that points to the drop location to access project artifacts" + }, + "selectedTables": { + "type": "array", + "description": "Metadata of the tables selected for migration", + "items": { + "$ref": "#/definitions/NonSqlDataMigrationTable" + } + } + }, + "required": [ + "targetConnectionInfo", + "targetDatabaseName", + "projectName", + "projectLocation", + "selectedTables" + ] + }, + "NonSqlDataMigrationTable": { + "type": "object", + "description": "Defines metadata for table to be migrated", + "properties": { + "sourceName": { + "type": "string", + "description": "Source table name" + } + } + }, + "NonSqlMigrationTaskOutput": { + "type": "object", + "description": "Base class for non sql migration task output", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "startedOn": { + "type": "string", + "format": "date-time", + "description": "Migration start time", + "readOnly": true + }, + "endedOn": { + "type": "string", + "format": "date-time", + "description": "Migration end time", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/MigrationStatus", + "description": "Current state of migration", + "readOnly": true + }, + "dataMigrationTableResults": { + "type": "string", + "description": "Results of the migration. The key contains the table name and the value the table result object", + "additionalProperties": { + "$ref": "#/definitions/NonSqlDataMigrationTableResult" + }, + "readOnly": true + }, + "progressMessage": { + "type": "string", + "description": "Message about the progress of the migration", + "readOnly": true + }, + "sourceServerName": { + "type": "string", + "description": "Name of source server", + "readOnly": true + }, + "targetServerName": { + "type": "string", + "description": "Name of target server", + "readOnly": true + } + } + }, + "NonSqlDataMigrationTableResult": { + "type": "object", + "description": "Object used to report the data migration results of a table", + "properties": { + "resultCode": { + "type": "string", + "description": "Result code of the data migration", + "enum": [ + "Initial", + "Completed", + "ObjectNotExistsInSource", + "ObjectNotExistsInTarget", + "TargetObjectIsInaccessible", + "FatalError" + ], + "x-ms-enum": { + "name": "DataMigrationResultCode", + "modelAsString": true + }, + "readOnly": true + }, + "sourceName": { + "type": "string", + "description": "Name of the source table", + "readOnly": true + }, + "targetName": { + "type": "string", + "description": "Name of the target table", + "readOnly": true + }, + "sourceRowCount": { + "type": "integer", + "format": "int64", + "description": "Number of rows in the source table", + "readOnly": true + }, + "targetRowCount": { + "type": "integer", + "format": "int64", + "description": "Number of rows in the target table", + "readOnly": true + }, + "elapsedTimeInMiliseconds": { + "type": "number", + "format": "double", + "description": "Time taken to migrate the data", + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/DataMigrationError" + }, + "description": "List of errors, if any, during migration", + "readOnly": true + } + } + }, + "DataMigrationError": { + "type": "object", + "description": "Migration Task errors", + "properties": { + "message": { + "type": "string", + "description": "Error description", + "readOnly": true + }, + "type": { + "$ref": "#/definitions/ErrorType" + } + } + }, + "ErrorType": { + "type": "string", + "description": "Error type", + "enum": [ + "Default", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "ErrorType", + "modelAsString": true + } + }, + "MigrateSqlServerSqlMIDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to Azure SQL DB Managed Instance migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupFileShare": { + "$ref": "#/definitions/FileShare", + "description": "Backup file share information for backing up this database." + }, + "backupFilePaths": { + "type": "array", + "description": "The list of backup files to be used in case of existing backups.", + "items": { + "type": "string" + } + }, + "id": { + "type": "string", + "description": "id of the database" + } + }, + "required": [ + "name", + "restoreDatabaseName" + ] + }, + "MigrateSqlServerSqlServerDatabaseInput": { + "type": "object", + "description": "Database specific information for SQL to SQL migration task inputs", + "properties": { + "name": { + "type": "string", + "description": "Name of the database" + }, + "restoreDatabaseName": { + "type": "string", + "description": "Name of the database at destination" + }, + "backupAndRestoreFolder": { + "type": "string", + "description": "The backup and restore folder" + }, + "databaseFiles": { + "type": "array", + "description": "The list of database files", + "items": { + "$ref": "#/definitions/DatabaseFileInput" + } + } + } + }, + "DatabaseFileInput": { + "type": "object", + "description": "Database file specific information for input", + "properties": { + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + } + } + }, + "DatabaseFileInfo": { + "type": "object", + "description": "Database file specific information", + "properties": { + "databaseName": { + "type": "string", + "description": "Name of the database" + }, + "id": { + "type": "string", + "description": "Unique identifier for database file" + }, + "logicalName": { + "type": "string", + "description": "Logical name of the file" + }, + "physicalFullName": { + "type": "string", + "description": "Operating-system full path of the file" + }, + "restoreFullName": { + "type": "string", + "description": "Suggested full path of the file for restoring" + }, + "fileType": { + "$ref": "#/definitions/DatabaseFileType", + "description": "Database file type" + }, + "sizeMB": { + "type": "number", + "format": "double", + "description": "Size of the file in megabytes" + } + } + }, + "DatabaseFileType": { + "type": "string", + "description": "An enumeration of SQL Server database file types", + "enum": [ + "Rows", + "Log", + "Filestream", + "NotSupported", + "Fulltext" + ], + "x-ms-enum": { + "name": "DatabaseFileType", + "modelAsString": true + } + }, + "ConnectToSourceNonSqlTaskOutput": { + "type": "object", + "description": "Output for connect to MySQL type source", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "sourceServerBrandVersion": { + "type": "string", + "description": "Server brand version", + "readOnly": true + }, + "serverProperties": { + "$ref": "#/definitions/ServerProperties", + "description": "Server properties", + "readOnly": true + }, + "databases": { + "type": "array", + "description": "List of databases on the server", + "items": { + "type": "string" + }, + "readOnly": true + }, + "validationErrors": { + "description": "Validation errors associated with the task", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "ServerProperties": { + "type": "object", + "description": "Server properties for MySQL type source", + "properties": { + "serverPlatform": { + "type": "string", + "description": "Name of the server platform", + "readOnly": true + }, + "serverName": { + "type": "string", + "description": "Name of the server", + "readOnly": true + }, + "serverVersion": { + "type": "string", + "description": "Version of the database server", + "readOnly": true + }, + "serverEdition": { + "type": "string", + "description": "Edition of the database server", + "readOnly": true + }, + "serverOperatingSystemVersion": { + "type": "string", + "description": "Version of the operating system", + "readOnly": true + }, + "serverDatabaseCount": { + "type": "integer", + "description": "Number of databases in the server", + "readOnly": true + } + } + }, + "DatabaseMigrationStage": { + "type": "string", + "description": "Current stage of migration", + "enum": [ + "None", + "Initialize", + "Backup", + "FileCopy", + "Restore", + "Completed" + ], + "x-ms-enum": { + "name": "DatabaseMigrationStage", + "modelAsString": true + } + }, + "SchemaMigrationStage": { + "type": "string", + "description": "Current stage of schema migration", + "enum": [ + "NotStarted", + "ValidatingInputs", + "CollectingObjects", + "DownloadingScript", + "GeneratingScript", + "UploadingScript", + "DeployingSchema", + "Completed", + "CompletedWithWarnings", + "Failed" + ], + "x-ms-enum": { + "name": "SchemaMigrationStage", + "modelAsString": true + } + }, + "BlobShare": { + "type": "object", + "description": "Blob container storage information.", + "properties": { + "sasUri": { + "type": "string", + "description": "SAS URI of Azure Storage Account Container." + } + } + }, + "FileShare": { + "type": "object", + "description": "File share information with Path, Username, and Password.", + "properties": { + "userName": { + "type": "string", + "description": "User name credential to connect to the share location" + }, + "password": { + "type": "string", + "description": "Password credential used to connect to the share location." + }, + "path": { + "type": "string", + "description": "The folder path for this share." + } + }, + "required": [ + "path" + ] + }, + "StartMigrationScenarioServerRoleResult": { + "type": "object", + "description": "Server role migration result", + "properties": { + "name": { + "type": "string", + "description": "Name of server role.", + "readOnly": true + }, + "state": { + "$ref": "./TasksCommon.json#/definitions/MigrationState", + "description": "Current state of migration", + "readOnly": true + }, + "exceptionsAndWarnings": { + "description": "Migration exceptions and warnings.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + }, + "LoginType": { + "type": "string", + "description": "Enum mapping of SMO LoginType.", + "enum": [ + "WindowsUser", + "WindowsGroup", + "SqlLogin", + "Certificate", + "AsymmetricKey", + "ExternalUser", + "ExternalGroup" + ], + "x-ms-enum": { + "name": "LoginType", + "modelAsString": true + } + }, + "LoginMigrationStage": { + "type": "string", + "description": "Enum of the different stage of login migration.", + "enum": [ + "None", + "Initialize", + "LoginMigration", + "EstablishUserMapping", + "AssignRoleMembership", + "AssignRoleOwnership", + "EstablishServerPermissions", + "EstablishObjectPermissions", + "Completed" + ], + "x-ms-enum": { + "name": "LoginMigrationStage", + "modelAsString": true + } + }, + "MigrationEligibilityInfo": { + "type": "object", + "description": "Information about migration eligibility of a server object", + "properties": { + "isEligibleForMigration": { + "type": "boolean", + "description": "Whether object is eligible for migration or not.", + "readOnly": true + }, + "validationMessages": { + "description": "Information about eligibility failure for the server object.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "SyncDatabaseMigrationReportingState": { + "type": "string", + "description": "Enum of the different state of database level online migration.", + "enum": [ + "UNDEFINED", + "CONFIGURING", + "INITIALIAZING", + "STARTING", + "RUNNING", + "READY_TO_COMPLETE", + "COMPLETING", + "COMPLETE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATING", + "VALIDATION_COMPLETE", + "VALIDATION_FAILED", + "RESTORE_IN_PROGRESS", + "RESTORE_COMPLETED", + "BACKUP_IN_PROGRESS", + "BACKUP_COMPLETED" + ], + "x-ms-enum": { + "name": "SyncDatabaseMigrationReportingState", + "modelAsString": true + } + }, + "SyncTableMigrationState": { + "type": "string", + "description": "Enum of the different state of table level online migration.", + "enum": [ + "BEFORE_LOAD", + "FULL_LOAD", + "COMPLETED", + "CANCELED", + "ERROR", + "FAILED" + ], + "x-ms-enum": { + "name": "SyncTableMigrationState", + "modelAsString": true + } + }, + "SyncMigrationDatabaseErrorEvent": { + "type": "object", + "description": "Database migration errors for online migration", + "properties": { + "timestampString": { + "type": "string", + "description": "String value of timestamp.", + "readOnly": true + }, + "eventTypeString": { + "description": "Event type.", + "type": "string", + "readOnly": true + }, + "eventText": { + "description": "Event text.", + "type": "string", + "readOnly": true + } + } + }, + "BackupMode": { + "type": "string", + "description": "An enumeration of backup modes", + "enum": [ + "CreateBackup", + "ExistingBackup" + ], + "x-ms-enum": { + "name": "BackupMode", + "modelAsString": true + } + }, + "DatabaseBackupInfo": { + "type": "object", + "description": "Information about backup files when existing backup mode is used.", + "properties": { + "databaseName": { + "type": "string", + "description": "Database name.", + "readOnly": true + }, + "backupType": { + "description": "Backup Type.", + "$ref": "#/definitions/BackupType", + "readOnly": true + }, + "backupFiles": { + "type": "array", + "description": "The list of backup files for the current database.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "position": { + "description": "Position of current database backup in the file.", + "type": "integer", + "readOnly": true + }, + "isDamaged": { + "type": "boolean", + "description": "Database was damaged when backed up, but the backup operation was requested to continue despite errors.", + "readOnly": true + }, + "isCompressed": { + "type": "boolean", + "description": "Whether the backup set is compressed", + "readOnly": true + }, + "familyCount": { + "type": "integer", + "description": "Number of files in the backup set.", + "readOnly": true + }, + "backupFinishDate": { + "type": "string", + "format": "date-time", + "description": "Date and time when the backup operation finished.", + "readOnly": true + } + } + }, + "BackupType": { + "type": "string", + "description": "Enum of the different backup types.", + "enum": [ + "Database", + "TransactionLog", + "File", + "DifferentialDatabase", + "DifferentialFile", + "Partial", + "DifferentialPartial" + ], + "x-ms-enum": { + "name": "BackupType", + "modelAsString": true + } + }, + "DatabaseMigrationState": { + "type": "string", + "description": "Database level migration state.", + "enum": [ + "UNDEFINED", + "INITIAL", + "FULL_BACKUP_UPLOAD_START", + "LOG_SHIPPING_START", + "UPLOAD_LOG_FILES_START", + "CUTOVER_START", + "POST_CUTOVER_COMPLETE", + "COMPLETED", + "CANCELLED", + "FAILED" + ], + "x-ms-enum": { + "name": "DatabaseMigrationState", + "modelAsString": true + } + }, + "SsisMigrationInfo": { + "type": "object", + "description": "SSIS migration info with SSIS store type, overwrite policy.", + "properties": { + "ssisStoreType": { + "$ref": "#/definitions/SsisStoreType", + "description": "The SSIS store type of source, only SSIS catalog is supported now in DMS" + }, + "projectOverwriteOption": { + "$ref": "#/definitions/SsisMigrationOverwriteOption", + "description": "The overwrite option for the SSIS project migration" + }, + "environmentOverwriteOption": { + "$ref": "#/definitions/SsisMigrationOverwriteOption", + "description": "The overwrite option for the SSIS environment migration" + } + } + }, + "SsisStoreType": { + "type": "string", + "description": "An enumeration of supported source SSIS store type in DMS", + "enum": [ + "SsisCatalog" + ], + "x-ms-enum": { + "name": "SsisStoreType", + "modelAsString": true + } + }, + "SsisMigrationOverwriteOption": { + "type": "string", + "description": "The overwrite option for SSIS object migration, only ignore and overwrite are supported in DMS now and future may add Reuse option for container object", + "enum": [ + "Ignore", + "Overwrite" + ], + "x-ms-enum": { + "name": "SsisMigrationOverwriteOption", + "modelAsString": true + } + }, + "SsisMigrationStage": { + "type": "string", + "description": "Current stage of SSIS migration", + "enum": [ + "None", + "Initialize", + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "SsisMigrationStage", + "modelAsString": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json new file mode 100644 index 000000000000..9a134917db5f --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMITaskInput": { + "type": "object", + "description": "Input for task that validates migration input for SQL to Azure SQL Managed Instance", + "properties": { + "sourceConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to source" + }, + "targetConnectionInfo": { + "$ref": "./Common.json#/definitions/SqlConnectionInfo", + "description": "Information for connecting to target" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlMIDatabaseInput" + } + }, + "selectedLogins": { + "type": "array", + "description": "Logins to migrate", + "items": { + "type": "string" + } + }, + "backupFileShare": { + "$ref": "./TasksCommon.json#/definitions/FileShare", + "description": "Backup file share information for all selected databases." + }, + "backupBlobShare": { + "$ref": "./TasksCommon.json#/definitions/BlobShare", + "description": "SAS URI of Azure Storage Account Container to be used for storing backup files." + }, + "backupMode": { + "$ref": "./TasksCommon.json#/definitions/BackupMode", + "description": "Backup Mode to specify whether to use existing backup or create new backup." + } + }, + "required": [ + "sourceConnectionInfo", + "targetConnectionInfo", + "selectedDatabases", + "backupBlobShare" + ] + }, + "ValidateMigrationInputSqlServerSqlMITaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for SQL to Azure SQL Managed Instance migrations", + "properties": { + "id": { + "type": "string", + "description": "Result identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "restoreDatabaseNameErrors": { + "description": "Errors associated with the RestoreDatabaseName", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupFolderErrors": { + "description": "Errors associated with the BackupFolder path", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupShareCredentialsErrors": { + "description": "Errors associated with backup share user name and password credentials", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "backupStorageAccountErrors": { + "description": "Errors associated with the storage account provided.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "existingBackupErrors": { + "description": "Errors associated with existing backup files.", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + }, + "databaseBackupInfo": { + "$ref": "./TasksCommon.json#/definitions/DatabaseBackupInfo", + "description": "Information about backup files when existing backup mode is used." + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json new file mode 100644 index 000000000000..cda86c6de543 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json @@ -0,0 +1,54 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateMigrationInputSqlServerSqlMISyncTaskInput": { + "type": "object", + "description": "Input for task that migrates SQL Server databases to Azure SQL Database Managed Instance online scenario.", + "allOf": [ + { + "$ref": "TasksCommon.json#/definitions/SqlServerSqlMISyncTaskInput" + } + ] + }, + "ValidateMigrationInputSqlServerSqlMISyncTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for Azure SQL Database Managed Instance online migration", + "properties": { + "id": { + "type": "string", + "description": "Database identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json new file mode 100644 index 000000000000..9dbd123acc81 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json @@ -0,0 +1,71 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Database Migration Service Resource Provider", + "version": "2022-01-30-preview" + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": {}, + "definitions": { + "ValidateSyncMigrationInputSqlServerTaskInput": { + "type": "object", + "description": "Input for task that validates migration input for SQL sync migrations", + "properties": { + "sourceConnectionInfo": { + "description": "Information for connecting to source SQL server", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "targetConnectionInfo": { + "description": "Information for connecting to target", + "$ref": "./Common.json#/definitions/SqlConnectionInfo" + }, + "selectedDatabases": { + "type": "array", + "description": "Databases to migrate", + "items": { + "$ref": "./TasksCommon.json#/definitions/MigrateSqlServerSqlDbSyncDatabaseInput" + } + } + }, + "required": [ + "targetConnectionInfo", + "sourceConnectionInfo", + "selectedDatabases" + ] + }, + "ValidateSyncMigrationInputSqlServerTaskOutput": { + "type": "object", + "description": "Output for task that validates migration input for SQL sync migrations", + "properties": { + "id": { + "type": "string", + "description": "Database identifier", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of database", + "readOnly": true + }, + "validationErrors": { + "description": "Errors associated with a selected database object", + "type": "array", + "items": { + "$ref": "./Common.json#/definitions/ReportableException" + }, + "readOnly": true + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMAX.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMAX.json new file mode 100644 index 000000000000..9d525f5a5b67 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMAX.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "testagent", + "api-version": "2022-01-30-preview", + "parameters": { + "location": "northeurope" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Updating" + }, + "location": "northeurope", + "tags": { + "myTag": "myVal" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Updating" + }, + "location": "northeurope", + "tags": { + "myTag": "myVal" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMIN.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMIN.json new file mode 100644 index 000000000000..9d525f5a5b67 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/CreateOrUpdateMigrationServiceMIN.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "testagent", + "api-version": "2022-01-30-preview", + "parameters": { + "location": "northeurope" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Updating" + }, + "location": "northeurope", + "tags": { + "myTag": "myVal" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Updating" + }, + "location": "northeurope", + "tags": { + "myTag": "myVal" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteIntegrationRuntimeNode.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteIntegrationRuntimeNode.json new file mode 100644 index 000000000000..3bcc63747bd0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteIntegrationRuntimeNode.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview", + "parameters": { + "nodeName": "nodeName", + "integrationRuntimeName": "IRName" + } + }, + "responses": { + "200": { + "body": { + "nodeName": "nodeName", + "integrationRuntimeName": "IRName" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteMigrationService.json new file mode 100644 index 000000000000..1b309d4b6496 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/DeleteMigrationService.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_CreateOrUpdate.json new file mode 100644 index 000000000000..1fdd8c0a057b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_CreateOrUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + }, + "201": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Delete.json new file mode 100644 index 000000000000..76c000df0583 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Get.json new file mode 100644 index 000000000000..9dd41934ba05 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "SchemaInput/DmsSdkFile.sql", + "lastModified": "2018-08-15T20:01:33+00:00", + "mediaType": "text/plain", + "size": 51835 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_List.json new file mode 100644 index 000000000000..69d3dc4cd555 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "extension": "sql", + "filePath": "SchemaInput/DmsSdkFile.sql", + "lastModified": "2018-08-15T20:01:33+00:00", + "mediaType": "text/plain", + "size": 51835 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + }, + { + "properties": { + "extension": "sql", + "filePath": "7daf055f-82b0-483e-9da0-4244b4eaa9b0/AdventureWorks2008.sql", + "lastModified": "2018-10-05T16:51:03+00:00", + "mediaType": "text/plain", + "size": 910278 + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p", + "name": "pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p", + "type": "Microsoft.DataMigration/services/projects/files" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Read.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Read.json new file mode 100644 index 000000000000..0cb5de29fe6b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Read.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "uri": "https://dmssdkservicestorage.blob.core.windows.net/dmssdkservicecontainer/_rpfiles/dmssdkproject/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p?sv=2016-05-31&sr=b&sig=sassignature&se=2018-10-05T18%3A21%3A42Z&sp=r", + "headers": { + "x-ms-blob-type": "BlockBlob" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_ReadWrite.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_ReadWrite.json new file mode 100644 index 000000000000..5ee11c43199c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_ReadWrite.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "uri": "https://dmssdkservicestorage.blob.core.windows.net/dmssdkservicecontainer/_rpfiles/dmssdkproject/pfpu7fxqcpziyg2h3qj2vb7d8jpbbg7p?sv=2016-05-31&sr=b&sig=sassignature&se=2018-10-05T18%3A21%3A42Z&sp=racwd", + "headers": { + "x-ms-blob-type": "BlockBlob" + } + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Update.json new file mode 100644 index 000000000000..5f4708654f56 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Files_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "fileName": "x114d023d8", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "extension": "sql", + "filePath": "DmsSdkFilePath/DmsSdkFile.sql" + }, + "etag": "C2WE6C3yt2I0hunjpjzffY8LhTLqrJZHJ20gkuq2ZOA=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/files/x114d023d8", + "name": "x114d023d8", + "type": "Microsoft.DataMigration/services/projects/files" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMigrationService.json new file mode 100644 index 000000000000..d593c5fb5452 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMigrationService.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "myTag": "myVal" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/service1", + "name": "service1", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMonitorDataMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMonitorDataMigrationService.json new file mode 100644 index 000000000000..e28e8f7379f4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/GetMonitorDataMigrationService.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "name": "IntegrationRuntime1", + "nodes": [ + { + "nodeName": "DESKTOP-6AAAAAA", + "availableMemoryInMB": 4219, + "cpuUtilization": 66, + "concurrentJobsLimit": 20, + "concurrentJobsRunning": 0, + "sentBytes": 0.24564747512340546, + "receivedBytes": 0.14946500957012177 + }, + { + "nodeName": "DESKTOP-6AAAAAB", + "availableMemoryInMB": 4219, + "cpuUtilization": 66, + "concurrentJobsLimit": 20, + "concurrentJobsRunning": 0, + "sentBytes": 0.24564747512340546, + "receivedBytes": 0.14946500957012177 + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListAuthKeysMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListAuthKeysMigrationService.json new file mode 100644 index 000000000000..f5f7880cf625 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListAuthKeysMigrationService.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "authKey1": "IR@3c400518-8dce-479f-97f9-83d17c3d8c24@dmsv2test7@ServiceEndpoint=wu.frontend.int.clouddatahub-int.net@Kjvm37BceBapP0z7R2n3zZrvY/M79yo7Hg3rR+LjFFI=", + "authKey2": "IR@3c499528-8ace-47xf-97z9-83d17c3d8c24@dmsv2test7@ServiceEndpoint=wu.frontend.int.clouddatahub-int.net@Kjvm37BceBapP0z7R2n3zZrvY/M79yo7Hg3rR+LjFFI=" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListByResourceGroupMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListByResourceGroupMigrationService.json new file mode 100644 index 000000000000..ec0c7f400de2 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListByResourceGroupMigrationService.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/service1", + "name": "service1", + "type": "Microsoft.DataMigration/sqlMigrationServices" + }, + { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/service1", + "name": "service2", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListBySubscriptionMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListBySubscriptionMigrationService.json new file mode 100644 index 000000000000..6fd671aa458c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListBySubscriptionMigrationService.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/managedInstance1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.DataMigration/sqlMigrationServices/service1", + "name": "service1", + "type": "Microsoft.DataMigration/sqlMigrationServices" + }, + { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg2/providers/Microsoft.DataMigration/sqlMigrationServices/service2", + "name": "service2", + "type": "Microsoft.DataMigration/sqlMigrationServices" + }, + { + "properties": { + "provisioningState": "Succeeded", + "integrationRuntimeState": "NeedRegistration" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg2/providers/Microsoft.DataMigration/sqlMigrationServices/service3", + "name": "service3", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListMigrationsByMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListMigrationsByMigrationService.json new file mode 100644 index 000000000000..fa6f14cb3bce --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListMigrationsByMigrationService.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + }, + { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListOperation.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListOperation.json new file mode 100644 index 000000000000..4db07bd48b29 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ListOperation.json @@ -0,0 +1,236 @@ +{ + "parameters": { + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DataMigration/sqlMigrationServices/write", + "display": { + "resource": "SQL Migration Service", + "operation": "Create or update properties of existing Service", + "description": "Create a new or change properties of existing Service" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/write", + "display": { + "resource": "SQL Migration Service", + "operation": "Update tag of the Service", + "description": "Update tag of the Service" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/delete", + "display": { + "resource": "SQL Migration Service", + "operation": "Delete existing Service", + "description": "Delete existing Service" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/read", + "display": { + "resource": "SQL Migration Service", + "operation": "Get Migration Service details", + "description": "Retrieve details of Migration Service" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/read", + "display": { + "resource": "SQL Migration Service", + "operation": "Get Migration Service details in a Resource Group", + "description": "Retrieve details of Migration Services in a Resource Group" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/listAuthKeys/action", + "display": { + "resource": "SQL Migration Service", + "operation": "Get List of AuthKeys", + "description": "Retrieve the List of AuthKeys" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/regenerateAuthKeys/action", + "display": { + "resource": "SQL Migration Service", + "operation": "Regenerate the AuthKeys", + "description": "Regenerate the AuthKeys" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/monitoringData/action", + "display": { + "resource": "SQL Migration Service", + "operation": "Get the Monitoring Data", + "description": "Retrieve the Monitoring Data" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/updateNode/action", + "display": { + "resource": "SQL Migration Service", + "operation": "Update Node", + "description": "Update Node" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/deleteNode/action", + "display": { + "resource": "SQL Migration Service", + "operation": "DeleteNode", + "description": "Delete Node" + } + }, + { + "name": "Microsoft.DataMigration/operations/read", + "display": { + "resource": "Available REST operations", + "operation": "Get all REST Operations", + "description": "Get all REST Operations" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/databaseMigrations/cancel/action", + "display": { + "resource": "Database Migration Resource", + "operation": "Stop ongoing migration for the database", + "description": "Stop ongoing migration for the database" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/databaseMigrations/start/action", + "display": { + "resource": "Database Migration Resource", + "operation": "Start stopped migration for the database", + "description": "Start stopped migration for the database" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/databaseMigrations/cutover/action", + "display": { + "resource": "Database Migration Resource", + "operation": "Cutover online migration operation for the database", + "description": "Cutover online migration operation for the database" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/databaseMigrations/write", + "display": { + "resource": "Database Migration Resource", + "operation": "Create or Update Database Migration resource", + "description": "Create or Update Database Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/databaseMigrations/write", + "display": { + "resource": "Database Migration Resource", + "operation": "Update Database Migration resource", + "description": "Update Database Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/delete", + "display": { + "resource": "Database Migration Resource", + "operation": "Delete Database Migration resource", + "description": "Delete Database Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/read", + "display": { + "resource": "Database Migration Resource", + "operation": "Get the Database Migration resource", + "description": "Retrieve the Database Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/Microsoft.DataMigration/read", + "display": { + "resource": "Database Migration Resource", + "operation": "Get Database Migration in the server", + "description": "Retrieve Database Migration for the server" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/cancel/action", + "display": { + "resource": "Login Migration Resource", + "operation": "Stop ongoing login migration", + "description": "Stop ongoing login migration" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/validate/action", + "display": { + "resource": "Login Migration Resource", + "operation": "Validate login migration", + "description": "Validate login migration" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/checkNameAvailability/action", + "display": { + "resource": "Login Migration Resource", + "operation": "Check Name availability for login migration" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/write", + "display": { + "resource": "Login Migration Resource", + "operation": "Create or Update Login Migration resource", + "description": "Create or Update Login Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/write", + "display": { + "resource": "Login Migration Resource", + "operation": "Update Login Migration resource", + "description": "Update Login Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/delete", + "display": { + "resource": "Login Migration Resource", + "operation": "Delete Login Migration resource", + "description": "Delete Login Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/read", + "display": { + "resource": "Login Migration Resource", + "operation": "Get Login Migration resource", + "description": "Retrieve the Login Migration resource" + } + }, + { + "name": "Microsoft.Sql/managedInstances/providers/loginMigrations/read", + "display": { + "resource": "Login Migration Resource", + "operation": "Get all Login Migration resources by server", + "description": "Retrieve the Login Migrations" + } + }, + { + "name": "Microsoft.DataMigration/sqlMigrationServices/read", + "display": { + "resource": "SQL Migration Service", + "operation": "Get all services in the Subscription", + "description": "Retrieve all services in the Subscription" + } + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_CreateOrUpdate.json new file mode 100644 index 000000000000..abedd46374ea --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_CreateOrUpdate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview", + "parameters": { + "location": "southcentralus", + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + }, + "201": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Delete.json new file mode 100644 index 000000000000..9aede2fb62d3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Get.json new file mode 100644 index 000000000000..d44af24df08b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:35:11.6561001-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_List.json new file mode 100644 index 000000000000..cfb242f862c7 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:29:56.3049263+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project1", + "location": "southcentralus", + "name": "project1", + "type": "Microsoft.DataMigration/services/projects" + }, + { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-14T01:30:05.6185148+00:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project2", + "location": "southcentralus", + "name": "project2", + "type": "Microsoft.DataMigration/services/projects" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Update.json new file mode 100644 index 000000000000..8c709dbcb18d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Projects_Update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview", + "parameters": { + "location": "southcentralus", + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourcePlatform": "SQL", + "targetPlatform": "SQLDB", + "creationTime": "2017-11-03T02:14:54.2458282-07:00", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject", + "location": "southcentralus", + "name": "DmsSdkProject", + "type": "Microsoft.DataMigration/services/projects" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/RegenAuthKeysMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/RegenAuthKeysMigrationService.json new file mode 100644 index 000000000000..358ef4a91a85 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/RegenAuthKeysMigrationService.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "service1", + "api-version": "2022-01-30-preview", + "parameters": { + "keyName": "authKey1" + } + }, + "responses": { + "200": { + "body": { + "authKey1": "IR@3c400538-8dce-479f-97f9-8abcd@dmsv2test7@ServiceEndpoint=wu.frontend.int.clouddatahub-int.net@KXYZ=" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ResourceSkus_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ResourceSkus_ListSkus.json new file mode 100644 index 000000000000..a2c7fa5c1068 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ResourceSkus_ListSkus.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "services", + "name": "PP1", + "locations": [ + "East Asia", + "Southeast Asia", + "Australia East", + "Australia Southeast", + "Brazil South", + "Canada Central", + "Canada East", + "North Europe", + "West Europe", + "Central India", + "South India", + "West India", + "Japan East", + "Japan West", + "Korea South", + "Korea Central", + "UK South", + "UK South 2", + "UK North", + "UK West", + "East US 2 EUAP", + "Central US", + "East US", + "East US 2", + "North Central US", + "South Central US", + "West Central US", + "West US", + "West US 2" + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Cancel.json new file mode 100644 index 000000000000..273d6ffabf86 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Cancel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_CreateOrUpdate.json new file mode 100644 index 000000000000..3702f4549df6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Delete.json new file mode 100644 index 000000000000..621f82f4a50e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Get.json new file mode 100644 index 000000000000..273d6ffabf86 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_List.json new file mode 100644 index 000000000000..5497cae812e9 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Update.json new file mode 100644 index 000000000000..3a7ec4498e59 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/ServiceTasks_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "taskType": "Service.Check.OCI", + "input": { + "serverVersion": "NA" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "serverVersion": "NA" + }, + "taskType": "Service.Check.OCI", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/serviceTasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/serviceTasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckChildrenNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckChildrenNameAvailability.json new file mode 100644 index 000000000000..fc9baf49fa37 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckChildrenNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview", + "parameters": { + "name": "Task1", + "type": "tasks" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckNameAvailability.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckNameAvailability.json new file mode 100644 index 000000000000..9326050f3fc4 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2022-01-30-preview", + "location": "eastus", + "parameters": { + "name": "DmsSdkService", + "type": "services" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckStatus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckStatus.json new file mode 100644 index 000000000000..610dd2fb9a8d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CheckStatus.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "agentVersion": "3.3.3871.6", + "status": "Online", + "vmSize": "Standard_A4_v2", + "supportedTaskTypes": [ + "diagnostic.count", + "diagnostic.echo", + "diagnostic.error", + "diagnostic.fastCount", + "ConnectToSource.SqlServer.Sync", + "SyncMigrationOperationalTelemetry.LogCollector", + "GetUserTables.AzureSqlDb.Sync", + "ConnectToTarget.SqlDb.Sync", + "Migrate.MySql.AzureDbForMySql.Sync", + "Migrate.SqlServer.AzureSqlDb.Sync", + "ValidateMigrationInput.SqlServer.SqlDb.Sync", + "DataMigration.AzureSqlDbPostMigrationValidationScenarioId", + "GetTDECertificates.Sql", + "Migrate.SqlServer.AzureSqlDbMI", + "ValidateMigrationInput.SqlServer.AzureSqlDbMI", + "ConnectToTarget.AzureDbForMySql", + "ConnectToSource.SqlServer", + "GetUserTables.Sql", + "ConnectToTarget.AzureSqlDbMI", + "ConnectToTarget.SqlDb", + "Migrate.SqlServer.SqlDb", + "ConnectToSource.MySql" + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CreateOrUpdate.json new file mode 100644 index 000000000000..b4a66068d5e6 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_CreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "sku": { + "name": "Basic_1vCore" + }, + "location": "southcentralus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Delete.json new file mode 100644 index 000000000000..60bd74b17793 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Get.json new file mode 100644 index 000000000000..422ad9b7216b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "publicKey": "0;AQAB;sCMXX00QDnuOIEQdXyY96h3VPSk3ccsBeYOGxntqg7y6oXbq4JbQHf8GnUhf5NsmUYBq1rO+6xSumIuLLANIIqNPpHCT8x7W+tcuShlju4fdSKfpyKbJnTJJzGLhRJYG97hDPo9D76qpEYQN66k0IfkKJVDTh7LAxqcE3lxdA98LB2EDM6vYoZ+raKXygYc1UUHDpkfksLk2YRTVCaayTFBh5HT/+CY+48V+rbx/nruvEEEbSg720m5Fc0k8ivM3A+RGkeK9pzQx+TtskSCDXiWL50a8Rrb5ORkBusgY+s0XLyKOuxZCIUOEO8JzUjCeZYdOfLJzx8yfTxEmSlOPqQ==", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "qt85+bWDN84/6PR8Gllxf63krZcXZX1h3wxAbs6pCjc=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_List.json new file mode 100644 index 000000000000..dbb205d2cefd --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg1/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg2/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListByResourceGroup.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListByResourceGroup.json new file mode 100644 index 000000000000..306616f4d301 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService1", + "name": "DmsSdkService1", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "GeneralPurpose_4vCores", + "tier": "General Purpose", + "size": "4 vCores" + }, + "location": "southcentralus" + }, + { + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService2", + "name": "DmsSdkService2", + "type": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_2vCores", + "tier": "Basic", + "size": "2 vCores" + }, + "location": "southcentralus" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListSkus.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListSkus.json new file mode 100644 index 000000000000..6390d1672a63 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_ListSkus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.DataMigration/services", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + } + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Start.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Start.json new file mode 100644 index 000000000000..4b9d5bac0ae3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Start.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Stop.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Stop.json new file mode 100644 index 000000000000..4b9d5bac0ae3 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Stop.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Update.json new file mode 100644 index 000000000000..ad6b64dd8e11 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Services_Update.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "location": "southcentralus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Accepted", + "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default" + }, + "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService", + "location": "southcentralus", + "name": "DmsSdkService", + "sku": { + "name": "Basic_1vCore", + "size": "1 vCore", + "tier": "Basic" + }, + "type": "Microsoft.DataMigration/services" + } + }, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCancelDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCancelDatabaseMigration.json new file mode 100644 index 000000000000..2d7b78a6bda0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCancelDatabaseMigration.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "migrationOperationId": "4124fe90-d1b6-4b50-b4d9-46d02381f59a" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMAX.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMAX.json new file mode 100644 index 000000000000..b0ea81cfed85 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMAX.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "kind": "SqlMi", + "sourceDatabaseName": "aaa", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationService": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "offlineConfiguration": { + "offline": true, + "lastBackupName": "last_backup_file_name" + }, + "backupConfiguration": { + "targetLocation": { + "storageAccountResourceId": "account.database.windows.net", + "accountKey": "abcd" + }, + "sourceLocation": { + "fileShare": { + "path": "C:\\aaa\\bbb\\ccc", + "username": "name", + "password": "placeholder" + } + } + }, + "sourceSqlConnection": { + "dataSource": "aaa", + "userName": "bbb", + "password": "placeholder", + "encryptConnection": true, + "trustServerCertificate": true, + "authentication": "WindowsAuthentication" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMIN.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMIN.json new file mode 100644 index 000000000000..b0ea81cfed85 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCreateOrUpdateDatabaseMigrationMIN.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "kind": "SqlMi", + "sourceDatabaseName": "aaa", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationService": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "offlineConfiguration": { + "offline": true, + "lastBackupName": "last_backup_file_name" + }, + "backupConfiguration": { + "targetLocation": { + "storageAccountResourceId": "account.database.windows.net", + "accountKey": "abcd" + }, + "sourceLocation": { + "fileShare": { + "path": "C:\\aaa\\bbb\\ccc", + "username": "name", + "password": "placeholder" + } + } + }, + "sourceSqlConnection": { + "dataSource": "aaa", + "userName": "bbb", + "password": "placeholder", + "encryptConnection": true, + "trustServerCertificate": true, + "authentication": "WindowsAuthentication" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/instance", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCutoverDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCutoverDatabaseMigration.json new file mode 100644 index 000000000000..2d7b78a6bda0 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiCutoverDatabaseMigration.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "migrationOperationId": "4124fe90-d1b6-4b50-b4d9-46d02381f59a" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigration.json new file mode 100644 index 000000000000..79192b3f434e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigration.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/managedInstance1", + "migrationStatus": "InProgress", + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigrationExpanded.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigrationExpanded.json new file mode 100644 index 000000000000..430885047870 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlMiGetDatabaseMigrationExpanded.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "managedInstanceName": "managedInstance1", + "targetDbName": "db1", + "$expand": "MigrationStatusDetails", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlMi", + "scope": "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/managedInstance1", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Sql/managedInstances/miname/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCancelDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCancelDatabaseMigration.json new file mode 100644 index 000000000000..9a251da031a8 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCancelDatabaseMigration.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "migrationOperationId": "4124fe90-d1b6-4b50-b4d9-46d02381f59a" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMAX.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMAX.json new file mode 100644 index 000000000000..5b00369febbd --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMAX.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "kind": "SqlVm", + "sourceDatabaseName": "aaa", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationService": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "offlineConfiguration": { + "offline": true, + "lastBackupName": "last_backup_file_name" + }, + "backupConfiguration": { + "targetLocation": { + "storageAccountResourceId": "account.database.windows.net", + "accountKey": "abcd" + }, + "sourceLocation": { + "fileShare": { + "path": "C:\\aaa\\bbb\\ccc", + "username": "name", + "password": "placeholder" + } + } + }, + "sourceSqlConnection": { + "dataSource": "aaa", + "userName": "bbb", + "password": "placeholder", + "encryptConnection": true, + "trustServerCertificate": true, + "authentication": "WindowsAuthentication" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMIN.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMIN.json new file mode 100644 index 000000000000..5b00369febbd --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCreateOrUpdateDatabaseMigrationMIN.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "kind": "SqlVm", + "sourceDatabaseName": "aaa", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationService": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "offlineConfiguration": { + "offline": true, + "lastBackupName": "last_backup_file_name" + }, + "backupConfiguration": { + "targetLocation": { + "storageAccountResourceId": "account.database.windows.net", + "accountKey": "abcd" + }, + "sourceLocation": { + "fileShare": { + "path": "C:\\aaa\\bbb\\ccc", + "username": "name", + "password": "placeholder" + } + } + }, + "sourceSqlConnection": { + "dataSource": "aaa", + "userName": "bbb", + "password": "placeholder", + "encryptConnection": true, + "trustServerCertificate": true, + "authentication": "WindowsAuthentication" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCutoverDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCutoverDatabaseMigration.json new file mode 100644 index 000000000000..9a251da031a8 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmCutoverDatabaseMigration.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "api-version": "2022-01-30-preview", + "parameters": { + "migrationOperationId": "4124fe90-d1b6-4b50-b4d9-46d02381f59a" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigration.json new file mode 100644 index 000000000000..006559951d54 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigration.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigrationExpanded.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigrationExpanded.json new file mode 100644 index 000000000000..dbe0cda57959 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/SqlVmGetDatabaseMigrationExpanded.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "targetDbName": "db1", + "$expand": "MigrationStatusDetails", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "kind": "SqlVm", + "scope": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "migrationStatus": "InProgress", + "migrationStatusDetails": { + "migrationState": "WaitForFullBackupUploadOperation", + "activeBackupSets": [], + "isFullBackupRestored": false + }, + "startedOn": "0001-01-01T08:00:00Z", + "endedOn": "0001-01-01T08:00:00Z", + "sourceDatabaseName": "sourcename", + "migrationOperationId": "858ba109-5ab7-4fa1-8aea-bea487cacdcd" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm/providers/Microsoft.DataMigration/databaseMigrations/targetdb", + "name": "targetdb", + "type": "Microsoft.DataMigration/dataMigrations" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Cancel.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Cancel.json new file mode 100644 index 000000000000..1ab234f2a13d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Cancel.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Command.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Command.json new file mode 100644 index 000000000000..e61db404258c --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Command.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview", + "parameters": { + "input": { + "databaseName": "TestDatabase" + }, + "commandType": "Migrate.Sync.Complete.Database" + } + }, + "responses": { + "200": { + "body": { + "input": { + "databaseName": "TestDatabase" + }, + "commandType": "Migrate.Sync.Complete.Database", + "state": "Accepted" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_CreateOrUpdate.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_CreateOrUpdate.json new file mode 100644 index 000000000000..ce365cbef11e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_CreateOrUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + }, + "201": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Delete.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Delete.json new file mode 100644 index 000000000000..213fd7130c5e --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Get.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Get.json new file mode 100644 index 000000000000..1ab234f2a13d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_List.json new file mode 100644 index 000000000000..b8be77786818 --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Update.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Update.json new file mode 100644 index 000000000000..d3d43cc6f33b --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Tasks_Update.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f", + "groupName": "DmsSdkRg", + "serviceName": "DmsSdkService", + "projectName": "DmsSdkProject", + "taskName": "DmsSdkTask", + "api-version": "2022-01-30-preview", + "parameters": { + "properties": { + "taskType": "ConnectToTarget.SqlDb", + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser", + "password": "testpassword" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "input": { + "targetConnectionInfo": { + "type": "SqlConnectionInfo", + "dataSource": "ssma-test-server.database.windows.net", + "authentication": "SqlAuthentication", + "encryptConnection": true, + "trustServerCertificate": true, + "userName": "testuser" + } + }, + "taskType": "ConnectToTarget.SqlDb", + "state": "Queued" + }, + "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=", + "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask", + "name": "DmsSdkTask", + "type": "Microsoft.DataMigration/services/projects/tasks" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/UpdateMigrationService.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/UpdateMigrationService.json new file mode 100644 index 000000000000..27c48e48f40d --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/UpdateMigrationService.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlMigrationServiceName": "testagent", + "api-version": "2022-01-30-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": {}, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + }, + "201": { + "body": { + "properties": {}, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.DataMigration/sqlMigrationServices/testagent", + "name": "testagent", + "type": "Microsoft.DataMigration/sqlMigrationServices" + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Usages_List.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Usages_List.json new file mode 100644 index 000000000000..c1c1d05d4dda --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/examples/Usages_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "90fb80a6-0f71-4761-8f03-921e7396f3c0", + "location": "westus", + "api-version": "2022-01-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 1.0, + "id": "/subscriptions/90fb80a6-0f71-4761-8f03-921e7396f3c0/providers/Microsoft.DataMigration/locations/westus/usages/Services", + "limit": 2.0, + "name": { + "localizedValue": "DMS service instances per region", + "value": "Services" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json new file mode 100644 index 000000000000..6971b55178eb --- /dev/null +++ b/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json @@ -0,0 +1,2037 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-30-preview", + "title": "SqlMigrationManagementClient", + "description": "The SQL Migration management API provides a RESTful set of web APIs that allow users to migrate their SQL Server databases to Azure SQL." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}": { + "get": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Retrieve the specified database migration for a given SQL Managed Instance.", + "operationId": "DatabaseMigrationsSqlMi_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "migrationOperationId", + "in": "query", + "description": "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlMi" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - \n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + } + }, + "x-ms-examples": { + "Get Sql MI database Migration without the expand parameter.": { + "$ref": "./examples/SqlMiGetDatabaseMigration.json" + }, + "Get Sql MI database Migration with the expand parameter.": { + "$ref": "./examples/SqlMiGetDatabaseMigrationExpanded.json" + } + } + }, + "put": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Create a new database migration to a given SQL Managed Instance.", + "operationId": "DatabaseMigrationsSqlMi_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlMi" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlMi" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - \n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "201": { + "description": "Successfully created the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlMi" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update Database Migration resource with Minimum parameters.": { + "$ref": "./examples/SqlMiCreateOrUpdateDatabaseMigrationMIN.json" + }, + "Create or Update Database Migration resource with Maximum parameters.": { + "$ref": "./examples/SqlMiCreateOrUpdateDatabaseMigrationMAX.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel": { + "post": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Stop in-progress database migration to SQL Managed Instance.", + "operationId": "DatabaseMigrationsSqlMi_cancel", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Required migration operation ID for which cancel will be initiated.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationOperationInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully canceled ongoing migration." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - \n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "202": { + "description": "Accepted cancellation of ongoing migration." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop ongoing migration for the database.": { + "$ref": "./examples/SqlMiCancelDatabaseMigration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover": { + "post": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Initiate cutover for in-progress online database migration to SQL Managed Instance.", + "operationId": "DatabaseMigrationsSqlMi_cutover", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "managedInstanceName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Required migration operation ID for which cutover will be initiated.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationOperationInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful cutover for ongoing migration." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - \n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "202": { + "description": "Accepted cutover request for ongoing migration." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Cutover online migration operation for the database.": { + "$ref": "./examples/SqlMiCutoverDatabaseMigration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}": { + "get": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Retrieve the specified database migration for a given SQL VM.", + "operationId": "DatabaseMigrationsSqlVm_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "migrationOperationId", + "in": "query", + "description": "Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved.", + "required": false, + "type": "string", + "format": "uuid" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlVm" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - {0}\n\n * 400 RequestFailed - Request to the resource '{0}' failed. Error code : '{1}'. HTTP status code : '{2}'. Error message : '{3}'.\n\n * 400 InvalidContainerName - Invalid storage account container name: '{0}'. Container name 'backup' is not supported in SQL Managed Instance.\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 405 SubscriptionNotReady - Subscription is not in Ready state.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + } + }, + "x-ms-examples": { + "Get Sql VM database Migration without the expand parameter.": { + "$ref": "./examples/SqlVmGetDatabaseMigration.json" + }, + "Get Sql VM database Migration with the expand parameter.": { + "$ref": "./examples/SqlVmGetDatabaseMigrationExpanded.json" + } + } + }, + "put": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Create a new database migration to a given SQL VM.", + "operationId": "DatabaseMigrationsSqlVm_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlVm" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlVm" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - {0}\n\n * 400 RequestFailed - Request to the resource '{0}' failed. Error code : '{1}'. HTTP status code : '{2}'. Error message : '{3}'.\n\n * 400 InvalidContainerName - Invalid storage account container name: '{0}'. Container name 'backup' is not supported in SQL Managed Instance.\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 405 SubscriptionNotReady - Subscription is not in Ready state.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "201": { + "description": "Successfully created the Database Migration resource.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationSqlVm" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update Database Migration resource with Minimum parameters.": { + "$ref": "./examples/SqlVmCreateOrUpdateDatabaseMigrationMIN.json" + }, + "Create or Update Database Migration resource with Maximum parameters.": { + "$ref": "./examples/SqlVmCreateOrUpdateDatabaseMigrationMAX.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cancel": { + "post": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Stop in-progress database migration to SQL VM.", + "operationId": "DatabaseMigrationsSqlVm_cancel", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationOperationInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully canceled ongoing migration." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - {0}\n\n * 400 RequestFailed - Request to the resource '{0}' failed. Error code : '{1}'. HTTP status code : '{2}'. Error message : '{3}'.\n\n * 400 InvalidContainerName - Invalid storage account container name: '{0}'. Container name 'backup' is not supported in SQL Managed Instance.\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 405 SubscriptionNotReady - Subscription is not in Ready state.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "202": { + "description": "Accepted cancellation of ongoing migration." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop ongoing migration for the database.": { + "$ref": "./examples/SqlVmCancelDatabaseMigration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/providers/Microsoft.DataMigration/databaseMigrations/{targetDbName}/cutover": { + "post": { + "tags": [ + "DatabaseMigrations" + ], + "description": "Initiate cutover for in-progress online database migration to SQL VM.", + "operationId": "DatabaseMigrationsSqlVm_cutover", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/TargetDbNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationOperationInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful cutover for ongoing migration." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 TestConnectionFailed - Failed to test connections using provided Integration Runtime. Error details: '{0}'\n\n * 400 CutoverNotAllowedMigrationCompleteError - Cutover is not allowed as migration for database '{0}' is already complete\n\n * 400 IntegrationRuntimeIsNotOnline - Integration Runtime '{0}' is not online for resource group '{1}' subscription '{2}'\n\n * 400 InvalidStorageAccount - Invalid storage account: '{0}'. Only BlockBlobStorage kind is supported for premium tier.\n\n * 400 InvalidLocation - Invalid Location: '{0}'. Location should match selected Azure target location '{1}'.\n\n * 400 MigrationNotReadyForCancelError - Database '{0}' is not ready for Cancel operation\n\n * 400 RestoreJobCompletedDuringCancel - Migration cannot be canceled as Restore Job was completed during the cancel process. Target server:'{0}', Target database: '{1}'.\n\n * 400 SqlVmGenericUserError - {0}\n\n * 400 RequestFailed - Request to the resource '{0}' failed. Error code : '{1}'. HTTP status code : '{2}'. Error message : '{3}'.\n\n * 400 InvalidContainerName - Invalid storage account container name: '{0}'. Container name 'backup' is not supported in SQL Managed Instance.\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 MigrationNotReadyForCutoverError - Database '{0}' is not ready for Cutover operation\n\n * 400 CutoverFailedOrCancelled - Cutover failed or cancelled for database '{0}'. Error details: '{1}'\n\n * 400 MigrationCancelFailed - Cancel could not be performed on operation '{0}' for database '{1}'. This can happen if the migration with MigrationId '{0}' is already completed or canceled. Please check the migration for details.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 405 SubscriptionNotReady - Subscription is not in Ready state.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider.\n\n * 500 CancelVmRestoreJobFailed - Failed to cancel VM restore job. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 AdfCleanupFailureAfterMigration - Failed to clean up ADF resources after migration has completed successfully. Target server:'{0}', Target database: '{1}', Error details: '{2}'.\n\n * 500 CancelMigrationFailed - Failed to cancel migration. Target server:'{0}', Target database: '{1}', Migration Id: '{2}', Error details: '{3}'." + }, + "202": { + "description": "Accepted cutover request for ongoing migration." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Cutover online migration operation for the database.": { + "$ref": "./examples/SqlVmCutoverDatabaseMigration.json" + } + } + } + }, + "/providers/Microsoft.DataMigration/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available SQL Migration REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available SQL Rest API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}": { + "get": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve the Database Migration Service", + "operationId": "SqlMigrationServices_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Migration Service.", + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-examples": { + "Get Migration Service.": { + "$ref": "./examples/GetMigrationService.json" + } + } + }, + "put": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Create or Update Database Migration Service.", + "operationId": "SqlMigrationServices_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL migration Service.", + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + }, + "201": { + "description": "Successfully created the SQL migration Service.", + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or Update SQL Migration Service with minimum parameters.": { + "$ref": "./examples/CreateOrUpdateMigrationServiceMIN.json" + }, + "Create or Update SQL Migration Service with maximum parameters.": { + "$ref": "./examples/CreateOrUpdateMigrationServiceMAX.json" + } + } + }, + "delete": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Delete Database Migration Service.", + "operationId": "SqlMigrationServices_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL migration Service." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + }, + "202": { + "description": "Deleting the SQL migration Service." + }, + "204": { + "description": "The specified SQL migration Service does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete SQL Migration Service.": { + "$ref": "./examples/DeleteMigrationService.json" + } + } + }, + "patch": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Update Database Migration Service.", + "operationId": "SqlMigrationServices_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlMigrationServiceUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL migration Service.", + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + }, + "201": { + "description": "Successfully created the SQL migration Service.", + "schema": { + "$ref": "#/definitions/SqlMigrationService" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update SQL Migration Service.": { + "$ref": "./examples/UpdateMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices": { + "get": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve all SQL migration services in the resource group.", + "operationId": "SqlMigrationServices_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Migration SErvices in the resource group.", + "schema": { + "$ref": "#/definitions/SqlMigrationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Migration Services in the Resource Group.": { + "$ref": "./examples/ListByResourceGroupMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listAuthKeys": { + "post": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve the List of Authentication Keys for Self Hosted Integration Runtime.", + "operationId": "SqlMigrationServices_listAuthKeys", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully return of List Authentication Keys.", + "schema": { + "$ref": "#/definitions/AuthenticationKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-examples": { + "Retrieve the List of Authentication Keys.": { + "$ref": "./examples/ListAuthKeysMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/regenerateAuthKeys": { + "post": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime.", + "operationId": "SqlMigrationServices_regenerateAuthKeys", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenAuthKeys" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully regenerate of Authentication Keys.", + "schema": { + "$ref": "#/definitions/RegenAuthKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-examples": { + "Regenerate the of Authentication Keys.": { + "$ref": "./examples/RegenAuthKeysMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/deleteNode": { + "post": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Delete the integration runtime node.", + "operationId": "SqlMigrationServices_deleteNode", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "Details of SqlMigrationService resource.", + "required": true, + "schema": { + "$ref": "#/definitions/deleteNode" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully delete the integration runtime node.", + "schema": { + "$ref": "#/definitions/deleteNode" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-examples": { + "Delete the integration runtime node.": { + "$ref": "./examples/DeleteIntegrationRuntimeNode.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMigrations": { + "get": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve the List of database migrations attached to the service.", + "operationId": "SqlMigrationServices_listMigrations", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully return of migrations attached to the service.", + "schema": { + "$ref": "#/definitions/DatabaseMigrationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List database migrations attached to the service.": { + "$ref": "./examples/ListMigrationsByMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataMigration/sqlMigrationServices/{sqlMigrationServiceName}/listMonitoringData": { + "post": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve the registered Integration Runtime nodes and their monitoring data for a given Database Migration Service.", + "operationId": "SqlMigrationServices_listMonitoringData", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SqlMigrationServiceNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the monitoring data.", + "schema": { + "$ref": "#/definitions/IntegrationRuntimeMonitoringData" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-examples": { + "Retrieve the Monitoring Data.": { + "$ref": "./examples/GetMonitorDataMigrationService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/sqlMigrationServices": { + "get": { + "tags": [ + "SqlMigrationServices" + ], + "description": "Retrieve all SQL migration services in the subscriptions.", + "operationId": "SqlMigrationServices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the Migration Services in the Subscription.", + "schema": { + "$ref": "#/definitions/SqlMigrationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was provided for parameter '{0}'.\n\n * 400 GenericUser - User Failure when calling other Resource Provider.\n\n * 400 OperationIdNotFound - Operation ID '{0}' not found.\n\n * 400 OperationTypeNotFound - Operation Type '{0}' not found.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 RegenerateAuthenticationKeyNameInvalid - Key name '{0}' is invalid. Valid key names are authKey1 and authKey2.\n\n * 400 DeleteServiceNotAllowed - One or more migrations attached to the migration service '{0}' are currently running. To delete the migration service, please wait until all migrations have completed or cancel the migrations manually and retry deleting the service. Running migrations are: '{1}'\n\n * 400 IntegrationRuntimeIsNotSelfHosted - Integration Runtime is not self-hosted for subscription '{0}' resource group '{1}' and name '{2}'\n\n * 400 SerializationError - There was an error while processing response from RP Service : '{0}'\n\n * 400 ServiceNameInvalid - Service name '{0}' is not valid. Please refer https://aka.ms/dmsv2naming for naming rules.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 GenericSystem - System Failure when calling other Resource Provider." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Services in the Subscriptions.": { + "$ref": "./examples/ListBySubscriptionMigrationService.json" + } + } + } + } + }, + "definitions": { + "DatabaseMigrationProperties": { + "required": [ + "kind" + ], + "description": "Database Migration Resource properties.", + "type": "object", + "properties": { + "kind": { + "enum": [ + "SqlMi", + "SqlVm" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": true + } + }, + "scope": { + "description": "Resource Id of the target resource (SQL VM or SQL Managed Instance).", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "Provisioning State of migration. ProvisioningState as Succeeded implies that validations have been performed and migration has started.", + "type": "string", + "readOnly": true + }, + "migrationStatus": { + "description": "Migration status.", + "type": "string", + "readOnly": true + }, + "startedOn": { + "format": "date-time", + "description": "Database migration start time.", + "type": "string", + "readOnly": true + }, + "endedOn": { + "format": "date-time", + "description": "Database migration end time.", + "type": "string", + "readOnly": true + }, + "sourceSqlConnection": { + "$ref": "#/definitions/SqlConnectionInformation", + "description": "Source SQL Server connection details." + }, + "sourceDatabaseName": { + "description": "Name of the source database.", + "type": "string" + }, + "migrationService": { + "description": "Resource Id of the Migration Service.", + "type": "string" + }, + "migrationOperationId": { + "description": "ID tracking current migration operation.", + "type": "string" + }, + "migrationFailureError": { + "$ref": "#/definitions/ErrorInfo", + "description": "Error details in case of migration failure.", + "readOnly": true + } + }, + "discriminator": "kind" + }, + "DatabaseMigrationPropertiesSqlMi": { + "x-ms-discriminator-value": "SqlMi", + "allOf": [ + { + "$ref": "#/definitions/DatabaseMigrationProperties" + } + ], + "description": "Database Migration Resource properties for SQL Managed Instance.", + "type": "object", + "properties": { + "migrationStatusDetails": { + "$ref": "#/definitions/MigrationStatusDetails", + "description": "Detailed migration status. Not included by default.", + "readOnly": true + }, + "targetDatabaseCollation": { + "description": "Database collation to be used for the target database.", + "type": "string" + }, + "provisioningError": { + "description": "Error message for migration provisioning failure, if any.", + "type": "string" + }, + "backupConfiguration": { + "$ref": "#/definitions/BackupConfiguration", + "description": "Backup configuration info." + }, + "offlineConfiguration": { + "$ref": "#/definitions/OfflineConfiguration", + "description": "Offline configuration." + } + } + }, + "DatabaseMigrationPropertiesSqlVm": { + "x-ms-discriminator-value": "SqlVm", + "allOf": [ + { + "$ref": "#/definitions/DatabaseMigrationProperties" + } + ], + "description": "Database Migration Resource properties for SQL Virtual Machine.", + "type": "object", + "properties": { + "migrationStatusDetails": { + "$ref": "#/definitions/MigrationStatusDetails", + "description": "Detailed migration status. Not included by default.", + "readOnly": true + }, + "targetDatabaseCollation": { + "description": "Database collation to be used for the target database.", + "type": "string" + }, + "provisioningError": { + "description": "Error message for migration provisioning failure, if any.", + "type": "string" + }, + "backupConfiguration": { + "$ref": "#/definitions/BackupConfiguration", + "description": "Backup configuration info." + }, + "offlineConfiguration": { + "$ref": "#/definitions/OfflineConfiguration", + "description": "Offline configuration." + } + } + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true + } + } + }, + "MigrationStatusDetails": { + "description": "Detailed status of current migration.", + "type": "object", + "properties": { + "migrationState": { + "description": "Current State of Migration.", + "type": "string", + "readOnly": true + }, + "fullBackupSetInfo": { + "$ref": "#/definitions/SqlBackupSetInfo", + "description": "Details of full backup set.", + "readOnly": true + }, + "lastRestoredBackupSetInfo": { + "$ref": "#/definitions/SqlBackupSetInfo", + "description": "Last applied backup set information.", + "readOnly": true + }, + "activeBackupSets": { + "description": "Backup sets that are currently active.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlBackupSetInfo" + }, + "readOnly": true + }, + "invalidFiles": { + "description": "Files that are not valid backup files.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "blobContainerName": { + "description": "Name of blob container.", + "type": "string", + "readOnly": true + }, + "isFullBackupRestored": { + "description": "Whether full backup has been applied to the target database or not.", + "type": "boolean", + "readOnly": true + }, + "restoreBlockingReason": { + "description": "Restore blocking reason, if any", + "type": "string", + "readOnly": true + }, + "completeRestoreErrorMessage": { + "description": "Complete restore error message, if any", + "type": "string", + "readOnly": true + }, + "fileUploadBlockingErrors": { + "description": "File upload blocking errors, if any.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "currentRestoringFilename": { + "description": "File name that is currently being restored.", + "type": "string", + "readOnly": true + }, + "lastRestoredFilename": { + "description": "Last restored file name.", + "type": "string", + "readOnly": true + }, + "pendingLogBackupsCount": { + "format": "int32", + "description": "Total pending log backups.", + "type": "integer", + "readOnly": true + } + } + }, + "SqlConnectionInformation": { + "description": "Source SQL Connection", + "type": "object", + "properties": { + "dataSource": { + "description": "Data source.", + "type": "string" + }, + "authentication": { + "description": "Authentication type.", + "type": "string" + }, + "userName": { + "description": "User name to connect to source SQL.", + "type": "string" + }, + "password": { + "description": "Password to connect to source SQL.", + "type": "string", + "x-ms-secret": true + }, + "encryptConnection": { + "description": "Whether to encrypt connection or not.", + "type": "boolean" + }, + "trustServerCertificate": { + "description": "Whether to trust server certificate or not.", + "type": "boolean" + } + } + }, + "BackupConfiguration": { + "description": "Backup Configuration", + "type": "object", + "properties": { + "sourceLocation": { + "$ref": "#/definitions/SourceLocation", + "description": "Source location of backups." + }, + "targetLocation": { + "$ref": "#/definitions/TargetLocation", + "description": "Target location for copying backups." + } + } + }, + "OfflineConfiguration": { + "description": "Offline configuration", + "type": "object", + "properties": { + "offline": { + "description": "Offline migration", + "type": "boolean" + }, + "lastBackupName": { + "description": "Last backup name for offline migration. This is optional for migrations from file share. If it is not provided, then the service will determine the last backup file name based on latest backup files present in file share.", + "type": "string" + } + } + }, + "ErrorInfo": { + "description": "Error details", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message.", + "type": "string", + "readOnly": true + } + } + }, + "SqlBackupSetInfo": { + "description": "Information of backup set", + "type": "object", + "properties": { + "backupSetId": { + "format": "uuid", + "description": "Backup set id.", + "type": "string", + "readOnly": true + }, + "firstLSN": { + "description": "First LSN of the backup set.", + "type": "string", + "readOnly": true + }, + "lastLSN": { + "description": "Last LSN of the backup set.", + "type": "string", + "readOnly": true + }, + "backupType": { + "description": "Backup type.", + "type": "string", + "readOnly": true + }, + "listOfBackupFiles": { + "description": "List of files in the backup set.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlBackupFileInfo" + }, + "readOnly": true + }, + "backupStartDate": { + "format": "date-time", + "description": "Backup start date.", + "type": "string", + "readOnly": true + }, + "backupFinishDate": { + "format": "date-time", + "description": "Backup end time.", + "type": "string", + "readOnly": true + }, + "isBackupRestored": { + "description": "Whether this backup set has been restored or not.", + "type": "boolean", + "readOnly": true + }, + "hasBackupChecksums": { + "description": "Has Backup Checksums", + "type": "boolean", + "readOnly": true + }, + "familyCount": { + "format": "int32", + "description": "Media family count", + "type": "integer", + "readOnly": true + }, + "ignoreReasons": { + "description": "The reasons why the backup set is ignored", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "SourceLocation": { + "description": "Source Location details of backups.", + "type": "object", + "properties": { + "fileShare": { + "$ref": "#/definitions/SqlFileShare", + "description": "Source File share." + }, + "azureBlob": { + "$ref": "#/definitions/AzureBlob", + "description": "Source Azure Blob." + } + } + }, + "TargetLocation": { + "description": "Target Location details for optional copy of backups", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "Resource Id of the storage account copying backups.", + "type": "string" + }, + "accountKey": { + "description": "Storage Account Key.", + "type": "string" + } + } + }, + "SqlBackupFileInfo": { + "description": "Information of backup file", + "type": "object", + "properties": { + "fileName": { + "description": "File name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of the file. (Initial, Uploading, Uploaded, Restoring, Restored or Skipped)", + "type": "string", + "readOnly": true + }, + "totalSize": { + "format": "int64", + "description": "File size in bytes", + "type": "integer", + "readOnly": true + }, + "dataRead": { + "format": "int64", + "description": "Bytes read", + "type": "integer", + "readOnly": true + }, + "dataWritten": { + "format": "int64", + "description": "Bytes written", + "type": "integer", + "readOnly": true + }, + "copyThroughput": { + "format": "double", + "description": "Copy throughput in KBps", + "type": "number", + "readOnly": true + }, + "copyDuration": { + "format": "int32", + "description": "Copy Duration in seconds", + "type": "integer", + "readOnly": true + }, + "familySequenceNumber": { + "format": "int32", + "description": "Media family sequence number", + "type": "integer", + "readOnly": true + } + } + }, + "SqlFileShare": { + "description": "File share", + "type": "object", + "properties": { + "path": { + "description": "Location as SMB share or local drive where backups are placed.", + "type": "string" + }, + "username": { + "description": "Username to access the file share location for backups.", + "type": "string" + }, + "password": { + "description": "Password for username to access file share location.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "AzureBlob": { + "description": "Azure Blob Details", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "Resource Id of the storage account where backups are stored.", + "type": "string" + }, + "accountKey": { + "description": "Storage Account Key.", + "type": "string", + "x-ms-secret": true + }, + "blobContainerName": { + "description": "Blob container name where backups are stored.", + "type": "string" + } + } + }, + "DatabaseMigration": { + "description": "Database Migration Resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatabaseMigrationProperties", + "x-ms-client-flatten": false + } + }, + "x-ms-azure-resource": true + }, + "DatabaseMigrationSqlMi": { + "description": "Database Migration Resource for SQL Managed Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatabaseMigrationPropertiesSqlMi", + "x-ms-client-flatten": false + } + }, + "x-ms-azure-resource": true + }, + "DatabaseMigrationSqlVm": { + "description": "Database Migration Resource for SQL Virtual Machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatabaseMigrationPropertiesSqlVm", + "x-ms-client-flatten": false + } + }, + "x-ms-azure-resource": true + }, + "DatabaseMigrationListResult": { + "description": "A list of Database Migrations.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DatabaseMigration" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "MigrationOperationInput": { + "description": "Migration Operation Input", + "type": "object", + "properties": { + "migrationOperationId": { + "format": "uuid", + "description": "ID tracking migration operation.", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list SQL operations.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDefinition" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "OperationsDefinition": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationsDisplayDefinition", + "readOnly": true + }, + "origin": { + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + } + }, + "OperationsDisplayDefinition": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "readOnly": true + }, + "resource": { + "type": "string", + "readOnly": true + }, + "operation": { + "type": "string", + "readOnly": true + }, + "description": { + "type": "string", + "readOnly": true + } + } + }, + "SystemData": { + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string" + }, + "createdByType": { + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "format": "date-time", + "type": "string" + }, + "lastModifiedBy": { + "type": "string" + }, + "lastModifiedByType": { + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "type": "string" + } + } + }, + "SqlMigrationServiceProperties": { + "description": "The SQL Migration Service properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "integrationRuntimeState": { + "description": "Current state of the Integration runtime.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResource": { + "type": "object", + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "type": "string", + "readOnly": true + }, + "name": { + "type": "string", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "SqlMigrationService": { + "description": "A SQL Migration Service.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SqlMigrationServiceProperties", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "SqlMigrationServiceUpdate": { + "description": "An update to a SQL Migration Service.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlMigrationListResult": { + "description": "A list of SQL Migration Service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SqlMigrationService" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "AuthenticationKeys": { + "description": "An authentication key.", + "type": "object", + "properties": { + "authKey1": { + "description": "The first authentication key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "authKey2": { + "description": "The second authentication key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "RegenAuthKeys": { + "description": "An authentication key to regenerate.", + "type": "object", + "properties": { + "keyName": { + "description": "The name of authentication key to generate.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "authKey1": { + "description": "The first authentication key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "authKey2": { + "description": "The second authentication key.", + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "deleteNode": { + "description": "Details of node to be deleted.", + "type": "object", + "properties": { + "nodeName": { + "description": "The name of node to delete.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "integrationRuntimeName": { + "description": "The name of integration runtime.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "IntegrationRuntimeMonitoringData": { + "description": "Integration Runtime Monitoring Data.", + "type": "object", + "properties": { + "name": { + "description": "The name of Integration Runtime.", + "type": "string", + "readOnly": true + }, + "nodes": { + "description": "Integration Runtime node monitoring data.", + "type": "array", + "items": { + "$ref": "#/definitions/NodeMonitoringData" + }, + "readOnly": true + } + } + }, + "NodeMonitoringData": { + "type": "object", + "properties": { + "additionalProperties": { + "description": " Unmatched properties from the message are deserialized in this collection.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true + }, + "nodeName": { + "description": "Name of the integration runtime node.", + "type": "string", + "readOnly": true + }, + "availableMemoryInMB": { + "format": "int32", + "description": "Available memory (MB) on the integration runtime node.", + "type": "integer", + "readOnly": true + }, + "cpuUtilization": { + "format": "int32", + "description": "CPU percentage on the integration runtime node.", + "type": "integer", + "readOnly": true + }, + "concurrentJobsLimit": { + "format": "int32", + "description": "Maximum concurrent jobs on the integration runtime node.", + "type": "integer", + "readOnly": true + }, + "concurrentJobsRunning": { + "format": "int32", + "description": "The number of jobs currently running on the integration runtime node.", + "type": "integer", + "readOnly": true + }, + "maxConcurrentJobs": { + "format": "int32", + "description": "The maximum concurrent jobs in this integration runtime.", + "type": "integer", + "readOnly": true + }, + "sentBytes": { + "format": "double", + "description": "Sent bytes on the integration runtime node.", + "type": "number", + "readOnly": true + }, + "receivedBytes": { + "format": "double", + "description": "Received bytes on the integration runtime node.", + "type": "number", + "readOnly": true + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlMigrationServiceNameParameter": { + "name": "sqlMigrationServiceName", + "in": "path", + "description": "Name of the SQL Migration Service.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TargetDbNameParameter": { + "name": "targetDbName", + "in": "path", + "description": "The name of the target database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LoginNameParameter": { + "name": "loginName", + "in": "path", + "description": "The Login Name for migration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/datamigration/resource-manager/readme.go.md b/specification/datamigration/resource-manager/readme.go.md index a843190f2b45..f4ebf202678e 100644 --- a/specification/datamigration/resource-manager/readme.go.md +++ b/specification/datamigration/resource-manager/readme.go.md @@ -17,6 +17,7 @@ batch: - tag: package-2018-03-31-preview - tag: package-2018-04-19 - tag: package-2018-07-15-preview + - tag: package-preview-2021-10 ``` @@ -55,3 +56,12 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-preview-2021-10' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-30-preview/$(namespace) +``` \ No newline at end of file diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md index 9c77d7044c32..406d4a1fdbd4 100644 --- a/specification/datamigration/resource-manager/readme.md +++ b/specification/datamigration/resource-manager/readme.md @@ -30,10 +30,76 @@ These are the global settings for the Database Migration Service API. title: DataMigrationManagementClient description: Data Migration Client openapi-type: arm -tag: package-preview-2021-10 +tag: package-preview-2022-01 ``` +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-01' +input-file: + - Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json + - Microsoft.DataMigration/preview/2022-01-30-preview/datamigration.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Commands.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Common.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceMySqlTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourceSqlServerTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlDbTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlMITask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesMySqlTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Files.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetTdeCertificatesSqlTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/GetUserTablesSqlTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlDbTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrateSsisTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MigrationValidation.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/MongoDbTasks.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Projects.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ResourceSkus.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceFeatureOCITask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Services.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ServiceTasks.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/Tasks.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/TasksCommon.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json + - Microsoft.DataMigration/preview/2022-01-30-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json +directive: + - suppress: R4009 + - suppress: R4013 + - suppress: R4037 + - suppress: R4017 + from: Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json + where: $.definitions.DatabaseMigrationSqlMi + reason: DatabaseMigration does not support list by subscription. DatabaseMigration is an extension resource type. To get the DatabaseMigration, we should have a subscription as well as a resource group and a migration target SQL Managed Instance. + - suppress: R4017 + from: Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json + where: $.definitions.DatabaseMigrationSqlVm + reason: DatabaseMigration does not support list by subscription. DatabaseMigration is an extension resource type. To get the DatabaseMigration, we should have a subscription as well as a resource group and a migration target SQL Virtual Machine. + - suppress: R4016 + from: Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json + where: $.definitions.DatabaseMigrationSqlMi + reason: DatabaseMigration does not support list by resource group. DatabaseMigration is an extension resource type. To get the DatabaseMigration, we should have a subscription as well as a resource group and a migration target SQL Managed Instance. + - suppress: R4016 + from: Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json + where: $.definitions.DatabaseMigrationSqlVm + reason: DatabaseMigration does not support list by resource group. DatabaseMigration is an extension resource type. To get the DatabaseMigration, we should have a subscription as well as a resource group and a migration target SQL Virtual Machine. +``` ### Tag: package-preview-2021-10 These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. @@ -339,6 +405,7 @@ directive: - suppress: SECRET_PROPERTY from: - Microsoft.DataMigration/preview/2021-10-30-preview/sqlmigration.json + - Microsoft.DataMigration/preview/2022-01-30-preview/sqlmigration.json where: - $.definitions.RegenAuthKeys.properties.authKey1 - $.definitions.RegenAuthKeys.properties.authKey2 diff --git a/specification/datamigration/resource-manager/readme.python.md b/specification/datamigration/resource-manager/readme.python.md index 2bec1c3f7d89..66d0669cfdaa 100644 --- a/specification/datamigration/resource-manager/readme.python.md +++ b/specification/datamigration/resource-manager/readme.python.md @@ -5,7 +5,7 @@ Please also specify `--python-sdks-folder= `autorest` @@ -15,28 +15,28 @@ To build the SDK for DataProtection, simply [Install AutoRest](https://aka.ms/au To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the DataProtection API. ``` yaml title: Data Protection Client description: Open API 2.0 Specs for Azure Data Protection service openapi-type: arm -tag: package-2021-07 +tag: package-preview-2022-02 csharp-sdks-folder: ./Generated/CSharp python-sdks-folder: ./Generated/Python go-sdk-folder: ./Generated/Golang - license-header: MICROSOFT_MIT ``` ### Validations + Run validations when `--validate` is specified on command line ``` yaml $(validate) @@ -46,6 +46,24 @@ semantic-validator: true message-format: json ``` + +### Tag: package-preview-2022-02 + +These settings apply only when `--tag=package-preview-2022-02` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-02' +input-file: + - Microsoft.DataProtection/preview/2022-02-01-preview/dataprotection.json +``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.DataProtection/stable/2022-01-01/dataprotection.json +``` + ### Tag: package-2021-10-preview These settings apply only when `--tag=package-2021-10-preview` is specified on the command line. @@ -101,8 +119,8 @@ input-file: ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -123,13 +141,12 @@ swagger-to-sdk: - bundle install && rake arm:regen_all_profiles['azure_mgmt_data_protection'] ``` - ## C# These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. -```yaml $(csharp) +``` yaml $(csharp) csharp: azure-arm: true payload-flattening-threshold: 1 @@ -150,4 +167,3 @@ See configuration in [readme.go.md](./readme.go.md) ## Java See configuration in [readme.java.md](./readme.java.md) - diff --git a/specification/dataprotection/resource-manager/readme.python.md b/specification/dataprotection/resource-manager/readme.python.md index 956d34fade65..47dc6e76ffb2 100644 --- a/specification/dataprotection/resource-manager/readme.python.md +++ b/specification/dataprotection/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.dataprotection @@ -13,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection -``` diff --git a/specification/datashare/resource-manager/readme.python.md b/specification/datashare/resource-manager/readme.python.md index e8eac3df6c68..163341e5e7c4 100644 --- a/specification/datashare/resource-manager/readme.python.md +++ b/specification/datashare/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.datashare @@ -12,11 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare/azure/mgmt/datashare ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/datashare/azure-mgmt-datashare -``` \ No newline at end of file diff --git a/specification/deploymentmanager/resource-manager/readme.md b/specification/deploymentmanager/resource-manager/readme.md index 2049916d7156..3d07d0f597cb 100644 --- a/specification/deploymentmanager/resource-manager/readme.md +++ b/specification/deploymentmanager/resource-manager/readme.md @@ -107,7 +107,6 @@ 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-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go diff --git a/specification/deploymentmanager/resource-manager/readme.python.md b/specification/deploymentmanager/resource-manager/readme.python.md index 8e3defca69cf..68c7f5c85c4f 100644 --- a/specification/deploymentmanager/resource-manager/readme.python.md +++ b/specification/deploymentmanager/resource-manager/readme.python.md @@ -4,21 +4,7 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.deploymentmanager - package-name: azure-mgmt-deploymentmanager - package-version: 0.9.1 - clear-output-folder: true - override-client-name: DeploymentManagerClient -``` - -``` yaml $(python) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.deploymentmanager @@ -28,21 +14,7 @@ clear-output-folder: true modelerfour: lenient-model-deduplication: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/deploymentmanager/azure-mgmt-deploymentmanager/azure/mgmt/deploymentmanager -``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/deploymentmanager/azure-mgmt-deploymentmanager -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/deploymentmanager/azure-mgmt-deploymentmanager/azure/mgmt/deploymentmanager ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/deploymentmanager/azure-mgmt-deploymentmanager -``` \ No newline at end of file diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/desktopvirtualization.json new file mode 100644 index 000000000000..2715e90f34ea --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/desktopvirtualization.json @@ -0,0 +1,5710 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-02-10-preview", + "title": "Desktop Virtualization API Client" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "management.azure.com", + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.DesktopVirtualization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all of the available operations the Desktop Virtualization resource provider supports.", + "x-ms-examples": { + "OperationDescription_List": { + "$ref": "./examples/OperationDescription_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Get a workspace.", + "x-ms-examples": { + "Workspace_Get": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "x-ms-examples": { + "Workspace_Create": { + "$ref": "./examples/Workspace_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Successfully created workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Remove a workspace.", + "x-ms-examples": { + "Workspace_Delete": { + "$ref": "./examples/Workspace_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted workspace." + }, + "204": { + "description": "Workspace does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Update", + "description": "Update a workspace.", + "x-ms-examples": { + "Workspace_Update": { + "$ref": "./examples/Workspace_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "List workspaces.", + "x-ms-examples": { + "Workspace_ListByResourceGroup": { + "$ref": "./examples/Workspace_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "List workspaces in subscription.", + "x-ms-examples": { + "Workspace_ListBySubscription": { + "$ref": "./examples/Workspace_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Get", + "description": "Get a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Get": { + "$ref": "./examples/ScalingPlan_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Create", + "description": "Create or update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Create": { + "$ref": "./examples/ScalingPlan_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "201": { + "description": "Successfully created scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Delete", + "description": "Remove a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Delete": { + "$ref": "./examples/ScalingPlan_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted scaling plan." + }, + "204": { + "description": "Scaling plan does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Update", + "description": "Update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Update": { + "$ref": "./examples/ScalingPlan_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByResourceGroup", + "description": "List scaling plans.", + "x-ms-examples": { + "ScalingPlans_ListByResourceGroup": { + "$ref": "./examples/ScalingPlan_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in resource group.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListBySubscription", + "description": "List scaling plans in subscription.", + "x-ms-examples": { + "ScalingPlans_ListBySubscription": { + "$ref": "./examples/ScalingPlan_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in subscription.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Get", + "description": "Get an application group.", + "x-ms-examples": { + "ApplicationGroup_Get": { + "$ref": "./examples/ApplicationGroup_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_CreateOrUpdate", + "description": "Create or update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Create": { + "$ref": "./examples/ApplicationGroup_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "201": { + "description": "Successfully created application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Delete", + "description": "Remove an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Delete": { + "$ref": "./examples/ApplicationGroup_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application group." + }, + "204": { + "description": "Application group does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Update", + "description": "Update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroups_Update": { + "$ref": "./examples/ApplicationGroup_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationGroupPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListByResourceGroup", + "description": "List applicationGroups.", + "x-ms-examples": { + "ApplicationGroup_ListByResourceGroup": { + "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in resource group.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListBySubscription", + "description": "List applicationGroups in subscription.", + "x-ms-examples": { + "ApplicationGroup_List": { + "$ref": "./examples/ApplicationGroup_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in subscription.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": { + "get": { + "tags": [ + "StartMenuItem" + ], + "operationId": "StartMenuItems_List", + "description": "List start menu items in the given application group.", + "x-ms-examples": { + "StartMenuItem_List": { + "$ref": "./examples/StartMenuItem_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved start menu items in application group.", + "schema": { + "$ref": "#/definitions/StartMenuItemList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "description": "Get an application.", + "x-ms-examples": { + "Application_Get": { + "$ref": "./examples/Application_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Create or update an application.", + "x-ms-examples": { + "Application_Create": { + "$ref": "./examples/Application_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Successfully created application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "description": "Remove an application.", + "x-ms-examples": { + "Application_Delete": { + "$ref": "./examples/Application_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application." + }, + "204": { + "description": "Application does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "description": "Update an application.", + "x-ms-examples": { + "Application_Update": { + "$ref": "./examples/Application_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "description": "List applications.", + "x-ms-examples": { + "Applications_List": { + "$ref": "./examples/Application_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved applications in application group.", + "schema": { + "$ref": "#/definitions/ApplicationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Get", + "description": "Get a desktop.", + "x-ms-examples": { + "Desktop_Get": { + "$ref": "./examples/Desktop_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Update", + "description": "Update a desktop.", + "x-ms-examples": { + "Desktop_Update": { + "$ref": "./examples/Desktop_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + }, + { + "name": "desktop", + "description": "Object containing Desktop definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/DesktopPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_List", + "description": "List desktops.", + "x-ms-examples": { + "Desktop_List": { + "$ref": "./examples/Desktop_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktops in application group.", + "schema": { + "$ref": "#/definitions/DesktopList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Get", + "description": "Get a host pool.", + "x-ms-examples": { + "HostPool_Get": { + "$ref": "./examples/HostPool_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_CreateOrUpdate", + "description": "Create or update a host pool.", + "x-ms-examples": { + "HostPool_Create": { + "$ref": "./examples/HostPool_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPool" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "201": { + "description": "Successfully created host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Delete", + "description": "Remove a host pool.", + "x-ms-examples": { + "HostPool_Delete": { + "$ref": "./examples/HostPool_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete sessionHost." + } + ], + "responses": { + "200": { + "description": "Successfully removed host pool." + }, + "204": { + "description": "Host pool does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Update", + "description": "Update a host pool.", + "x-ms-examples": { + "HostPool_Update": { + "$ref": "./examples/HostPool_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/HostPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_ListByResourceGroup", + "description": "List hostPools.", + "x-ms-examples": { + "HostPool_ListByResourceGroup": { + "$ref": "./examples/HostPool_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_List", + "description": "List hostPools in subscription.", + "x-ms-examples": { + "HostPool_List": { + "$ref": "./examples/HostPool_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in subscription.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": { + "post": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_RetrieveRegistrationToken", + "description": "Registration token of the host pool.", + "x-ms-examples": { + "HostPools_RetrieveRegistrationToken_Post": { + "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/RegistrationInfo" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_ListByHostPool", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_ListByHostPool": { + "$ref": "./examples/UserSession_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in host pool.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Get", + "description": "Get a session host.", + "x-ms-examples": { + "SessionHost_Get": { + "$ref": "./examples/SessionHost_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Delete", + "description": "Remove a SessionHost.", + "x-ms-examples": { + "SessionHost_Delete": { + "$ref": "./examples/SessionHost_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to force sessionHost deletion even when userSession exists." + } + ], + "responses": { + "200": { + "description": "Successfully removed session host." + }, + "204": { + "description": "Session host does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Update", + "description": "Update a session host.", + "x-ms-examples": { + "SessionHost_Update": { + "$ref": "./examples/SessionHost_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "sessionHost", + "description": "Object containing SessionHost definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostPatch" + } + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to update assign, unassign or reassign personal desktop." + } + ], + "responses": { + "200": { + "description": "Successfully updated session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_List", + "description": "List sessionHosts.", + "x-ms-examples": { + "SessionHost_List": { + "$ref": "./examples/SessionHost_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session hosts in host pool.", + "schema": { + "$ref": "#/definitions/SessionHostList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Get", + "description": "Get a msixpackage.", + "x-ms-examples": { + "MSIXPackage_Get": { + "$ref": "./examples/MsixPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_CreateOrUpdate", + "description": "Create or update a MSIX package.", + "x-ms-examples": { + "MSIXPackage_Create": { + "$ref": "./examples/MsixPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "201": { + "description": "Successfully created MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Delete", + "description": "Remove an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Delete": { + "$ref": "./examples/MsixPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed MSIX Package." + }, + "204": { + "description": "MSIX Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Update", + "description": "Update an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Update": { + "$ref": "./examples/MsixPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/MSIXPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_List", + "description": "List MSIX packages in hostpool.", + "x-ms-examples": { + "MSIXPackage_List": { + "$ref": "./examples/MsixPackage_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Packages in hostpool.", + "schema": { + "$ref": "#/definitions/MSIXPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": { + "post": { + "tags": [ + "MsixImage" + ], + "operationId": "MsixImages_Expand", + "description": "Expands and Lists MSIX packages in an Image, given the Image Path.", + "x-ms-examples": { + "MsixImage_Expand": { + "$ref": "./examples/MsixImage_Expand_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "msixImageURI", + "description": "Object containing URI to MSIX Image", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXImageURI" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/ExpandMsixImageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Get", + "description": "Get a userSession.", + "x-ms-examples": { + "UserSession_Get": { + "$ref": "./examples/UserSession_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user session.", + "schema": { + "$ref": "#/definitions/UserSession" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Delete", + "description": "Remove a userSession.", + "x-ms-examples": { + "UserSession_Delete": { + "$ref": "./examples/UserSession_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to login off userSession." + } + ], + "responses": { + "200": { + "description": "Successfully removed user session." + }, + "204": { + "description": "User session does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_List", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_List": { + "$ref": "./examples/UserSession_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in session host.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Disconnect", + "description": "Disconnect a userSession.", + "x-ms-examples": { + "UserSession_Disconnect_Post": { + "$ref": "./examples/UserSession_Disconnect_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disconnected user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_SendMessage", + "description": "Send a message to a user.", + "x-ms-examples": { + "UserSession_SendMessage_Post": { + "$ref": "./examples/UserSession_SendMessage_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "sendMessage", + "description": "Object containing message includes title and message body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SendMessage" + } + } + ], + "responses": { + "200": { + "description": "Successfully sent message to user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByHostPool", + "description": "List scaling plan associated with hostpool.", + "x-ms-examples": { + "ScalingPlan_ListByHostPool": { + "$ref": "./examples/ScalingPlan_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan associated with hostpool.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByHostPool", + "description": "List private endpoint connections associated with hostpool.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByHostPool", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_GetByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByHostPool", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByHostPool", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByHostPool", + "description": "List the private link resources available for this hostpool.", + "x-ms-examples": { + "PrivateLinkResources_ListByHostPool": { + "$ref": "./examples/PrivateLinkResources_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByWorkspace", + "description": "List private endpoint connections.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByWorkspace", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_GetByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByWorkspace", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByWorkspace", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "List the private link resources available for this workspace.", + "x-ms-examples": { + "PrivateLinkResources_ListByWorkspace": { + "$ref": "./examples/PrivateLinkResources_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CloudError": { + "description": "Cloud error object.", + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorProperties" + } + } + }, + "CloudErrorProperties": { + "description": "Cloud error object properties.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ResourceProviderOperationList": { + "type": "object", + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ResourceProviderOperation": { + "type": "object", + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "type": "object", + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Desktop Virtualization.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "Is a data action.", + "type": "boolean" + }, + "properties": { + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of the operation", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "Workspace": { + "type": "object", + "description": "Represents a Workspace definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties" + } + } + }, + "WorkspaceProperties": { + "description": "Schema for Workspace properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Workspace. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup resource Ids.", + "items": { + "type": "string" + } + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": false + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource" + } + } + }, + "WorkspaceList": { + "type": "object", + "title": "WorkspaceList", + "description": "List of Workspace definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Workspace definitions.", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "WorkspacePatch": { + "type": "object", + "description": "Workspace properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspacePatchProperties" + } + } + }, + "WorkspacePatchProperties": { + "description": "Workspace properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network" + } + } + }, + "ApplicationGroup": { + "type": "object", + "description": "Represents a ApplicationGroup definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for ApplicationGroup", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupProperties", + "x-nullable": false + } + } + }, + "ApplicationGroupProperties": { + "description": "Schema for ApplicationGroup properties.", + "type": "object", + "required": [ + "hostPoolArmPath", + "applicationGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of ApplicationGroup. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup.", + "x-nullable": false + }, + "workspaceArmPath": { + "type": "string", + "description": "Workspace arm path of ApplicationGroup.", + "readOnly": true + }, + "applicationGroupType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationGroupType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of ApplicationGroup.", + "x-nullable": false + }, + "migrationRequest": { + "$ref": "#/definitions/MigrationRequestProperties", + "description": "The registration info of HostPool." + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true + } + } + }, + "ApplicationGroupPatch": { + "type": "object", + "description": "ApplicationGroup properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "ApplicationGroup properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupPatchProperties" + } + } + }, + "ApplicationGroupPatchProperties": { + "description": "ApplicationGroup properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + } + } + }, + "ApplicationGroupList": { + "type": "object", + "title": "ApplicationGroupList", + "description": "List of ApplicationGroup definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ApplicationGroup definitions.", + "items": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "HostPool": { + "type": "object", + "description": "Represents a HostPool definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for HostPool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolProperties", + "x-nullable": false + } + } + }, + "HostPoolProperties": { + "description": "Properties of HostPool.", + "type": "object", + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of HostPool. (internal use)", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "hostPoolType": { + "enum": [ + "Personal", + "Pooled", + "BYODesktop" + ], + "x-ms-enum": { + "name": "HostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Personal", + "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost." + }, + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + }, + { + "value": "BYODesktop", + "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct." + } + ] + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer.", + "x-nullable": false + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfo", + "description": "The registration info of HostPool." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "applicationGroupReferences": { + "readOnly": true, + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + } + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type." + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group", + "x-nullable": false + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature." + }, + "migrationRequest": { + "$ref": "#/definitions/MigrationRequestProperties", + "description": "The registration info of HostPool." + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": false + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdateProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource" + } + } + }, + "HostPoolPatch": { + "type": "object", + "description": "HostPool properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "HostPool properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolPatchProperties" + } + } + }, + "HostPoolPatchProperties": { + "description": "Properties of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool." + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool." + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer." + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool." + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment." + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfoPatch", + "description": "The registration info of HostPool." + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type." + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group" + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature." + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network" + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdatePatchProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component." + } + } + }, + "RegistrationInfo": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token.", + "x-nullable": false + } + } + }, + "RegistrationInfoPatch": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token." + } + } + }, + "AgentUpdateProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowProperties" + }, + "x-ms-identifiers": [] + } + } + }, + "MaintenanceWindowProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "AgentUpdatePatchProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowPatchProperties" + }, + "x-ms-identifiers": [] + } + } + }, + "MaintenanceWindowPatchProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "SendMessage": { + "description": "Represents message sent to a UserSession.", + "type": "object", + "properties": { + "messageTitle": { + "type": "string", + "description": "Title of message." + }, + "messageBody": { + "type": "string", + "description": "Body of message." + } + } + }, + "HostPoolList": { + "type": "object", + "title": "HostPoolList", + "description": "List of HostPool definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of HostPool definitions.", + "items": { + "$ref": "#/definitions/HostPool" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXPackage": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackageProperties", + "x-nullable": false + } + } + }, + "MSIXPackageProperties": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "properties": { + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "MSIXPackagePatch": { + "type": "object", + "description": "MSIX Package properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackagePatchProperties" + } + } + }, + "MSIXPackagePatchProperties": { + "description": "MSIX Package properties that can be patched.", + "type": "object", + "properties": { + "isActive": { + "type": "boolean", + "description": "Set a version of the package to be active across hostpool. " + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Set Registration mode. Regular or Delayed." + }, + "displayName": { + "type": "string", + "description": "Display name for MSIX Package." + } + } + }, + "MsixPackageApplications": { + "description": "Schema for MSIX Package Application properties.", + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Description of Package Application.", + "x-nullable": false + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.", + "x-nullable": false + }, + "friendlyName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "iconImageName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "rawIcon": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + }, + "rawPng": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "MsixPackageDependencies": { + "description": "Schema for MSIX Package Dependencies properties.", + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of package dependency.", + "x-nullable": false + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher.", + "x-nullable": false + }, + "minVersion": { + "type": "string", + "description": "Dependency version required.", + "x-nullable": false + } + } + }, + "MSIXPackageList": { + "type": "object", + "title": "MsixPackageList", + "description": "List of MSIX Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX Package definitions.", + "items": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "Application": { + "description": "Schema for Application properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "x-nullable": false + } + } + }, + "ApplicationProperties": { + "description": "Schema for Application properties.", + "type": "object", + "required": [ + "commandLineSetting" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Application. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.", + "x-nullable": false + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "ApplicationList": { + "type": "object", + "title": "ApplicationList", + "description": "List of Application definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Application definitions.", + "items": { + "$ref": "#/definitions/Application" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ApplicationPatch": { + "type": "object", + "description": "Application properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPatchProperties" + } + } + }, + "ApplicationPatchProperties": { + "description": "Application properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application." + } + } + }, + "Desktop": { + "description": "Schema for Desktop properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopProperties" + } + } + }, + "DesktopProperties": { + "description": "Schema for Desktop properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Desktop. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "The icon a 64 bit string as a byte array." + } + } + }, + "DesktopList": { + "type": "object", + "title": "DesktopList", + "description": "List of Desktop definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Desktop definitions.", + "items": { + "$ref": "#/definitions/Desktop" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "DesktopPatch": { + "type": "object", + "description": "Desktop properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopPatchProperties" + } + } + }, + "DesktopPatchProperties": { + "description": "Desktop properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + } + } + }, + "StartMenuItemProperties": { + "description": "Schema for StartMenuItem properties.", + "type": "object", + "properties": { + "appAlias": { + "type": "string", + "description": "Alias of StartMenuItem." + }, + "filePath": { + "type": "string", + "description": "Path to the file of StartMenuItem." + }, + "commandLineArguments": { + "type": "string", + "description": "Command line arguments for StartMenuItem." + }, + "iconPath": { + "type": "string", + "description": "Path to the icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + } + } + }, + "StartMenuItem": { + "type": "object", + "description": "Represents a StartMenuItem definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for StartMenuItem", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StartMenuItemProperties" + } + } + }, + "StartMenuItemList": { + "type": "object", + "title": "StartMenuItemList", + "description": "List of StartMenuItem definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of StartMenuItem definitions.", + "items": { + "$ref": "#/definitions/StartMenuItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ExpandMsixImageProperties": { + "description": "Schema for Expand MSIX Image properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of MSIX Package." + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "ExpandMsixImage": { + "type": "object", + "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ExpandMsixImage", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpandMsixImageProperties" + } + } + }, + "ExpandMsixImageList": { + "type": "object", + "title": "ExpandMsixImageList", + "description": "List of MSIX package properties retrieved from MSIX Image expansion.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX package properties from give MSIX Image.", + "items": { + "$ref": "#/definitions/ExpandMsixImage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXImageURI": { + "description": "Represents URI referring to MSIX Image", + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI to Image" + } + } + }, + "SessionHost": { + "type": "object", + "description": "Represents a SessionHost definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostProperties" + } + } + }, + "SessionHostProperties": { + "description": "Schema for SessionHost properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of SessionHost. (internal use)", + "readOnly": true + }, + "lastHeartBeat": { + "format": "date-time", + "type": "string", + "description": "Last heart beat from SessionHost." + }, + "sessions": { + "type": "integer", + "format": "int32", + "description": "Number of sessions on SessionHost." + }, + "agentVersion": { + "type": "string", + "description": "Version of agent on SessionHost." + }, + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "virtualMachineId": { + "type": "string", + "description": "Virtual Machine Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Resource Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + }, + "status": { + "enum": [ + "Available", + "Unavailable", + "Shutdown", + "Disconnected", + "Upgrading", + "UpgradeFailed", + "NoHeartbeat", + "NotJoinedToDomain", + "DomainTrustRelationshipLost", + "SxSStackListenerNotReady", + "FSLogixNotHealthy", + "NeedsAssistance" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "Session Host has passed all the health checks and is available to handle connections." + }, + { + "value": "Unavailable", + "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status." + }, + { + "value": "Shutdown", + "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated." + }, + { + "value": "Disconnected", + "description": "The Session Host is unavailable because it is currently disconnected." + }, + { + "value": "Upgrading", + "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections." + }, + { + "value": "UpgradeFailed", + "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed." + }, + { + "value": "NoHeartbeat", + "description": "The Session Host is not heart beating." + }, + { + "value": "NotJoinedToDomain", + "description": "SessionHost is not joined to domain." + }, + { + "value": "DomainTrustRelationshipLost", + "description": "SessionHost's domain trust relationship lost" + }, + { + "value": "SxSStackListenerNotReady", + "description": "SxS stack installed on the SessionHost is not ready to receive connections." + }, + { + "value": "FSLogixNotHealthy", + "description": "FSLogix is in an unhealthy state on the session host." + }, + { + "value": "NeedsAssistance", + "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal." + } + ] + }, + "type": "string", + "description": "Status for a SessionHost." + }, + "statusTimestamp": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the status.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "The version of the OS on the session host." + }, + "sxSStackVersion": { + "type": "string", + "description": "The version of the side by side stack on the session host." + }, + "updateState": { + "enum": [ + "Initial", + "Pending", + "Started", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + }, + "type": "string", + "description": "Update state of a SessionHost." + }, + "lastUpdateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "updateErrorMessage": { + "type": "string", + "description": "The error message." + }, + "sessionHostHealthCheckResults": { + "type": "array", + "readOnly": true, + "description": "List of SessionHostHealthCheckReports", + "items": { + "$ref": "#/definitions/SessionHostHealthCheckReport" + } + } + } + }, + "SessionHostHealthCheckReport": { + "type": "object", + "description": "The report for session host information.", + "properties": { + "healthCheckName": { + "enum": [ + "DomainJoinedCheck", + "DomainTrustCheck", + "FSLogixHealthCheck", + "SxSStackListenerCheck", + "UrlsAccessibleCheck", + "MonitoringAgentCheck", + "DomainReachable", + "WebRTCRedirectorCheck", + "SupportedEncryptionCheck", + "MetaDataServiceCheck", + "AppAttachHealthCheck" + ], + "x-ms-enum": { + "name": "HealthCheckName", + "modelAsString": true, + "values": [ + { + "value": "DomainJoinedCheck", + "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain." + }, + { + "value": "DomainTrustCheck", + "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost." + }, + { + "value": "FSLogixHealthCheck", + "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session." + }, + { + "value": "SxSStackListenerCheck", + "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready." + }, + { + "value": "UrlsAccessibleCheck", + "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...)." + }, + { + "value": "MonitoringAgentCheck", + "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version." + }, + { + "value": "DomainReachable", + "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection." + }, + { + "value": "WebRTCRedirectorCheck", + "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated." + }, + { + "value": "SupportedEncryptionCheck", + "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal." + }, + { + "value": "MetaDataServiceCheck", + "description": "Verifies the metadata service is accessible and return compute properties." + }, + { + "value": "AppAttachHealthCheck", + "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users." + } + ] + }, + "type": "string", + "description": "Represents the name of the health check operation performed.", + "readOnly": true + }, + "healthCheckResult": { + "enum": [ + "Unknown", + "HealthCheckSucceeded", + "HealthCheckFailed", + "SessionHostShutdown" + ], + "x-ms-enum": { + "name": "HealthCheckResult", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Health check result is not currently known." + }, + { + "value": "HealthCheckSucceeded", + "description": "Health check passed." + }, + { + "value": "HealthCheckFailed", + "description": "Health check failed." + }, + { + "value": "SessionHostShutdown", + "description": "We received a Shutdown notification." + } + ] + }, + "type": "string", + "description": "Represents the Health state of the health check we performed.", + "readOnly": true + }, + "additionalFailureDetails": { + "$ref": "#/definitions/SessionHostHealthCheckFailureDetails", + "description": "Additional detailed information on the failure.", + "readOnly": true + } + } + }, + "SessionHostHealthCheckFailureDetails": { + "type": "object", + "description": "Contains details on the failure.", + "properties": { + "message": { + "type": "string", + "description": "Failure message: hints on what is wrong and how to recover.", + "readOnly": true + }, + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code corresponding for the failure.", + "readOnly": true + }, + "lastHealthCheckDateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + } + } + }, + "SessionHostPatch": { + "type": "object", + "description": "SessionHost properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostPatchProperties" + } + } + }, + "SessionHostPatchProperties": { + "description": "SessionHost properties that can be patched.", + "type": "object", + "properties": { + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + } + } + }, + "SessionHostList": { + "type": "object", + "title": "SessionHostList", + "description": "List of SessionHost definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHost definitions.", + "items": { + "$ref": "#/definitions/SessionHost" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserSession": { + "type": "object", + "description": "Represents a UserSession definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for UserSession", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserSessionProperties" + } + } + }, + "UserSessionProperties": { + "description": "Schema for UserSession properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of user session. (internal use)", + "readOnly": true + }, + "userPrincipalName": { + "type": "string", + "description": "The user principal name." + }, + "applicationType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Application type of application." + }, + "sessionState": { + "enum": [ + "Unknown", + "Active", + "Disconnected", + "Pending", + "LogOff", + "UserProfileDiskMounted" + ], + "x-ms-enum": { + "name": "SessionState", + "modelAsString": true + }, + "type": "string", + "description": "State of user session." + }, + "activeDirectoryUserName": { + "type": "string", + "description": "The active directory user name." + }, + "createTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the user session create." + } + } + }, + "UserSessionList": { + "type": "object", + "title": "UserSessionList", + "description": "List of UserSession definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of UserSession definitions.", + "items": { + "$ref": "#/definitions/UserSession" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlan": { + "type": "object", + "title": "ScalingPlan", + "description": "Represents a scaling plan definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource." + }, + "properties": { + "description": "Detailed properties for scaling plan.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanProperties" + } + } + }, + "ScalingPlanProperties": { + "type": "object", + "description": "Scaling plan properties.", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of scaling plan. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "hostPoolType": { + "enum": [ + "Pooled" + ], + "x-ms-enum": { + "name": "ScalingHostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + } + ] + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "ScalingSchedule": { + "description": "Scaling plan schedule.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the scaling schedule." + }, + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp down period." + }, + "rampDownCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "type": "boolean", + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownStopHostsWhen": { + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ], + "x-ms-enum": { + "name": "StopHostsWhen", + "modelAsString": true + }, + "type": "string", + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampDownWaitTimeMinutes": { + "type": "integer", + "format": "int32", + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for off-peak period." + } + } + }, + "Time": { + "description": "The time for a scaling action to occur.", + "required": [ + "hour", + "minute" + ], + "type": "object", + "properties": { + "hour": { + "format": "int32", + "description": "The hour.", + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "minute": { + "format": "int32", + "description": "The minute.", + "maximum": 59, + "minimum": 0, + "type": "integer" + } + } + }, + "ScalingHostPoolReference": { + "description": "Scaling plan reference to hostpool.", + "type": "object", + "properties": { + "hostPoolArmPath": { + "type": "string", + "description": "Arm path of referenced hostpool." + }, + "scalingPlanEnabled": { + "type": "boolean", + "description": "Is the scaling plan enabled for this hostpool." + } + } + }, + "ScalingPlanList": { + "type": "object", + "title": "ScalingPlanList", + "description": "List of scaling plan definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of scaling plan definitions.", + "items": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPatch": { + "type": "object", + "description": "Scaling plan properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for scaling plan", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPatchProperties" + } + } + }, + "ScalingPlanPatchProperties": { + "type": "object", + "description": "Scaling plan properties.", + "properties": { + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "MigrationRequestProperties": { + "type": "object", + "description": "Properties for arm migration.", + "properties": { + "operation": { + "enum": [ + "Start", + "Revoke", + "Complete", + "Hide", + "Unhide" + ], + "x-ms-enum": { + "name": "Operation", + "modelAsString": true, + "values": [ + { + "value": "Start", + "description": "Start the migration." + }, + { + "value": "Revoke", + "description": "Revoke the migration." + }, + { + "value": "Complete", + "description": "Complete the migration." + }, + { + "value": "Hide", + "description": "Hide the hostpool." + }, + { + "value": "Unhide", + "description": "Unhide the hostpool." + } + ] + }, + "type": "string", + "description": "The type of operation for migration." + }, + "migrationPath": { + "type": "string", + "description": "The path to the legacy object to migrate." + } + } + }, + "PrivateEndpointConnectionWithSystemData": { + "type": "object", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResultWithSystemData": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + } + }, + "parameters": { + "HostPoolNameParameter": { + "name": "hostPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the host pool within the specified resource group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXPackageFullNameParameter": { + "name": "msixPackageFullName", + "in": "path", + "required": true, + "type": "string", + "description": "The version specific package full name of the MSIX package within specified hostpool", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationGroupNameParameter": { + "name": "applicationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the application within the specified application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DesktopNameParameter": { + "name": "desktopName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the desktop within the specified desktop group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the workspace", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "SessionHostNameParameter": { + "name": "sessionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the session host within the specified host pool", + "maxLength": 48, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "UserSessionIdParameter": { + "name": "userSessionId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user session within the specified session host", + "maxLength": 24, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "StartMenuItemNameParameter": { + "name": "startMenuItemName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the start menu item within the specified host pool", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXImageURIParameter": { + "name": "msixImageURI", + "in": "path", + "required": true, + "type": "string", + "description": "URI to the MSIX Image (VHD/CIM).", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ScalingPlanNameParameter": { + "name": "scalingPlanName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the scaling plan.", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Create.json new file mode 100644 index 000000000000..e1ebc5d6f001 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Create.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview", + "applicationGroup": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp", + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + } + } + } + }, + "201": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Delete.json new file mode 100644 index 000000000000..3170e55ab647 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Delete.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Get.json new file mode 100644 index 000000000000..a1bc9e8b7c94 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListByResourceGroup.json new file mode 100644 index 000000000000..0481706dd950 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListByResourceGroup.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2022-02-10-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListBySubscription.json new file mode 100644 index 000000000000..3f75bbcb4b6a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_ListBySubscription.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2022-02-10-preview", + "$filter": "applicationGroupType eq 'RailApplication'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Update.json new file mode 100644 index 000000000000..fb8b75a6393f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ApplicationGroup_Update.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview", + "applicationGroup": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Create.json new file mode 100644 index 000000000000..2fab2f042c9b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Create.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2022-02-10-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1 + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "201": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Delete.json new file mode 100644 index 000000000000..d90c8f48c8d7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Delete.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Get.json new file mode 100644 index 000000000000..fab3d6ad9161 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_List.json new file mode 100644 index 000000000000..31bd27b9bc98 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_List.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + { + "name": "applicationGroup1/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des2", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Update.json new file mode 100644 index 000000000000..22f875b22e6b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Application_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2022-02-10-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA...", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Get.json new file mode 100644 index 000000000000..d0c7dc87cd18 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_List.json new file mode 100644 index 000000000000..b27f24c403b7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Update.json new file mode 100644 index 000000000000..7399e1a7a4f1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Desktop_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2022-02-10-preview", + "desktop": { + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Create.json new file mode 100644 index 000000000000..7e990a4c14a7 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Create.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview", + "hostPool": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + }, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + }, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "201": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "migrationRequest": { + "migrationPath": "TenantGroups/{defaultV1TenantGroup.Name}/Tenants/{defaultV1Tenant.Name}/HostPools/{sessionHostPool.Name}", + "operation": "Start" + }, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Delete.json new file mode 100644 index 000000000000..ac91fc2c7a3b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Delete.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview", + "force": true + }, + "responses": { + "200": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Get.json new file mode 100644 index 000000000000..7c151272dbda --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Get.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "default": { + "body": { + "error": { + "code": "hostPoolDoesNotExist", + "message": "Host Pool Does Not Exist" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_List.json new file mode 100644 index 000000000000..6f42278d3666 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_List.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_ListByResourceGroup.json new file mode 100644 index 000000000000..33eb84aadc35 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_ListByResourceGroup.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Update.json new file mode 100644 index 000000000000..d85f871febfc --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPool_Update.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview", + "hostPool": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "personalDesktopAssignmentType": "Automatic", + "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "publicNetworkAccess": "Enabled", + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPools_RetrieveRegistrationToken_Post.json new file mode 100644 index 000000000000..7b2ceb02c2e6 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/HostPools_RetrieveRegistrationToken_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixImage_Expand_Post.json new file mode 100644 index 000000000000..07efddda5af9 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixImage_Expand_Post.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview", + "msixImageURI": { + "uri": "imagepath" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "RawIcon", + "rawPng": "RawPng" + } + ] + } + }, + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias2", + "imagePath": "imagepath", + "packageName": "MsixPackageName2", + "packageFamilyName": "MsixPackage_FamilyName2", + "packageFullName": "MsixPackage_FullName2", + "displayName": "displayname2", + "packageRelativePath": "packagerelativepath2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackageDependency1", + "publisher": "PublisherName1", + "minVersion": "ver1" + }, + { + "dependencyName": "MsixPackageDependency2", + "publisher": "PublisherName2", + "minVersion": "ver2" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId1", + "description": "PackageApplicationDescription1", + "appUserModelID": "AppUserModelId1", + "friendlyName": "FriendlyName1", + "iconImageName": "Iconimagename1", + "rawIcon": "RawIcon1", + "rawPng": "RawPng1" + }, + { + "appId": "AppId2", + "description": "PackageApplicationDescription2", + "appUserModelID": "AppUserModelId2", + "friendlyName": "FriendlyName2", + "iconImageName": "Iconimagename2", + "rawIcon": "RawIcon2", + "rawPng": "RawPng2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Create.json new file mode 100644 index 000000000000..1810e1468639 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Create.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "imagePath": "imagepath", + "isActive": false, + "isRegularRegistration": false, + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "description": "application-desc", + "appId": "ApplicationId", + "appUserModelID": "AppUserModelId", + "friendlyName": "friendlyname", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "packageDependencies": [ + { + "dependencyName": "MsixTest_Dependency_Name", + "minVersion": "version", + "publisher": "PublishedName" + } + ], + "packageFamilyName": "MsixPackage_FamilyName", + "packageName": "MsixPackage_name", + "packageRelativePath": "packagerelativepath", + "version": "version" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + }, + "201": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Delete.json new file mode 100644 index 000000000000..08767ea39247 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Delete.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Get.json new file mode 100644 index 000000000000..9e693d7164b2 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_List.json new file mode 100644 index 000000000000..abbdc0e262b3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_List.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/MsixPackageFullName2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath2", + "packageName": "MsixPackage_Name2", + "packageFamilyName": "MsixPackage_FamilyName2", + "displayName": "dis2", + "packageRelativePath": "MsixPackage_RelativePackageRoot2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name2", + "publisher": "MsixPackage_Dependency_Publisher2", + "minVersion": "packageDep_version2" + } + ], + "version": "version2", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id2", + "description": "desc2", + "appUserModelID": "Application_ModelID2", + "friendlyName": "fri2", + "iconImageName": "Apptile2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Update.json new file mode 100644 index 000000000000..81d787118ae2 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/MsixPackage_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2022-02-10-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "isActive": true, + "isRegularRegistration": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/OperationDescription_List.json new file mode 100644 index 000000000000..245d52ec28b8 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/OperationDescription_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DesktopVirtualization/hostpools/read", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Read hostpool", + "description": "Read hostpool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.DesktopVirtualization/hostpools/write", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Write hostpool", + "description": "Write hostpool" + }, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + } + ] + } + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json new file mode 100644 index 000000000000..eb741ca25e2c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json new file mode 100644 index 000000000000..7fcddbdc3297 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByHostPool.json new file mode 100644 index 000000000000..bb59db021403 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByHostPool.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByWorkspace.json new file mode 100644 index 000000000000..26ab0eced7f5 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_GetByWorkspace.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByHostPool.json new file mode 100644 index 000000000000..68d791038193 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByHostPool.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByWorkspace.json new file mode 100644 index 000000000000..f5c3b18c6bdd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_ListByWorkspace.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json new file mode 100644 index 000000000000..700c140a8f39 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json new file mode 100644 index 000000000000..05db42aca5ee --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2022-02-10-preview", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByHostPool.json new file mode 100644 index 000000000000..3485f1ac6f95 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByHostPool.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateLinkResources/hostpool", + "type": "Microsoft.DesktopVirtualization/hostpools/privateLinkResources", + "properties": { + "groupId": "hostpool", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByWorkspace.json new file mode 100644 index 000000000000..ea0ea9e8ea7c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/PrivateLinkResources_ListByWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateLinkResources/workspace", + "type": "Microsoft.DesktopVirtualization/workspaces/privateLinkResources", + "properties": { + "groupId": "workspace", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Create.json new file mode 100644 index 000000000000..27d7689dd20c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Create.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2022-02-10-preview", + "scalingPlan": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "201": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Delete.json new file mode 100644 index 000000000000..b876c0b812e8 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Delete.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Get.json new file mode 100644 index 000000000000..f8253eee55c4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of scaling plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByHostPool.json new file mode 100644 index 000000000000..d8497207bdb5 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByHostPool.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByResourceGroup.json new file mode 100644 index 000000000000..b2a88425d864 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListByResourceGroup.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListBySubscription.json new file mode 100644 index 000000000000..a3778c87973c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_ListBySubscription.json @@ -0,0 +1,155 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroActiveSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Update.json new file mode 100644 index 000000000000..af16503b6c64 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/ScalingPlan_Update.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2022-02-10-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Delete.json new file mode 100644 index 000000000000..0991a7594aad --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Delete.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2022-02-10-preview", + "force": true + }, + "responses": { + "200": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Get.json new file mode 100644 index 000000000000..46afdcd53753 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_List.json new file mode 100644 index 000000000000..a7f85636b545 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_List.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + { + "name": "sessionHost2.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user2@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Update.json new file mode 100644 index 000000000000..37d7c31b21a0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/SessionHost_Update.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2022-02-10-preview", + "force": true, + "sessionHost": { + "properties": { + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2019-01-24T20:00:08.2893033Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/StartMenuItem_List.json new file mode 100644 index 000000000000..aa0d0a967607 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/StartMenuItem_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "word", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + }, + { + "name": "application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "excel", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Delete.json new file mode 100644 index 000000000000..6a840fb872b0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2022-02-10-preview", + "force": true + }, + "responses": { + "200": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Disconnect_Post.json new file mode 100644 index 000000000000..92604b37ae72 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Disconnect_Post.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Get.json new file mode 100644 index 000000000000..12e2a4d951df --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_List.json new file mode 100644 index 000000000000..6587b60f11d9 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_List.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_ListByHostPool.json new file mode 100644 index 000000000000..d7e33695a61b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_ListByHostPool.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2022-02-10-preview", + "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_SendMessage_Post.json new file mode 100644 index 000000000000..839fcda4d367 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/UserSession_SendMessage_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2022-02-10-preview", + "sendMessage": { + "messageTitle": "title", + "messageBody": "body" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Create.json new file mode 100644 index 000000000000..a11ad61604eb --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Create.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview", + "workspace": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Delete.json new file mode 100644 index 000000000000..67be8d2b209f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..1771b1505e29 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListByResourceGroup.json new file mode 100644 index 000000000000..44b08d948c2d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListBySubscription.json new file mode 100644 index 000000000000..0ae6afa70243 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_ListBySubscription.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2022-02-10-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Update.json new file mode 100644 index 000000000000..4ecc481de820 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2022-02-10-preview/examples/Workspace_Update.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2022-02-10-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false, + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index 81c67d894b9e..4e65dd77d1d3 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -26,18 +26,27 @@ These are the global settings for the DesktopVirtualizationClient API. ``` yaml openapi-type: arm -tag: package-preview-2021-09 +tag: package-preview-2022-02 ``` +### Tag: package-preview-2022-02 + +These settings apply only when `--tag=package-preview-2022-02` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-02' +input-file: + - Microsoft.DesktopVirtualization/preview/2022-02-10-preview/desktopvirtualization.json +``` ### Tag: package-preview-2021-09 These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-09' +``` yaml $(tag) == 'package-preview-2021-09' input-file: - Microsoft.DesktopVirtualization/preview/2021-09-03-preview/desktopvirtualization.json ``` + ### Tag: package-2021-07 These settings apply only when `--tag=package-2021-07` is specified on the command line. @@ -189,4 +198,3 @@ See configuration in [readme.node.md](./readme.node.md) ## Ruby See configuration in [readme.ruby.md](./readme.ruby.md) - diff --git a/specification/desktopvirtualization/resource-manager/readme.python.md b/specification/desktopvirtualization/resource-manager/readme.python.md index 1fb1b630a50c..0d6808e2be07 100644 --- a/specification/desktopvirtualization/resource-manager/readme.python.md +++ b/specification/desktopvirtualization/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-desktopvirtualization -no-namespace-folders: true +namespace: azure.mgmt.desktopvirtualization package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization -``` diff --git a/specification/deviceprovisioningservices/resource-manager/readme.python.md b/specification/deviceprovisioningservices/resource-manager/readme.python.md index 174a993be576..640c124fa259 100644 --- a/specification/deviceprovisioningservices/resource-manager/readme.python.md +++ b/specification/deviceprovisioningservices/resource-manager/readme.python.md @@ -5,8 +5,7 @@ Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-deviceupdate @@ -11,12 +11,7 @@ package-version: 1.0.0b1 no-namespace-folders: true ``` -```yaml $(python) && $(track2) && $(python-mode) == 'update' +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/deviceupdate/azure-mgmt-deviceupdate/azure/mgmt/deviceupdate ``` - -```yaml $(python) && $(track2) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/deviceupdate/azure-mgmt-deviceupdate -``` diff --git a/specification/devspaces/resource-manager/readme.python.md b/specification/devspaces/resource-manager/readme.python.md index 4d5bf34d4c82..a8b8009373c1 100644 --- a/specification/devspaces/resource-manager/readme.python.md +++ b/specification/devspaces/resource-manager/readme.python.md @@ -4,24 +4,20 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-devspaces -no-namespace-folders: true +namespace: azure.mgmt.devspaces package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/aks/azure-mgmt-devspaces/azure/mgmt/devspaces ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/aks/azure-mgmt-devspaces -``` -``` yaml $(python) && $(track2) +``` yaml $(python) directive: - from: swagger-document where: $.definitions.OrchestratorSpecificConnectionDetails diff --git a/specification/devtestlabs/resource-manager/readme.python.md b/specification/devtestlabs/resource-manager/readme.python.md index 93e96d3b8cc0..c6a465fa6ffa 100644 --- a/specification/devtestlabs/resource-manager/readme.python.md +++ b/specification/devtestlabs/resource-manager/readme.python.md @@ -4,19 +4,7 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.devtestlabs - package-name: azure-mgmt-devtestlabs - package-version: 1.0.0 - clear-output-folder: true -``` -``` yaml $(python) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION payload-flattening-threshold: 2 @@ -25,17 +13,7 @@ package-name: azure-mgmt-devtestlabs package-version: 1.0.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/devtestlabs/azure-mgmt-devtestlabs/azure/mgmt/devtestlabs +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/devtestlabs/azure-mgmt-devtestlabs/azure/mgmt/devtestlabs ``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/devtestlabs/azure-mgmt-devtestlabs -basic-setup-py: true -output-folder: $(python-sdks-folder)/devtestlabs/azure-mgmt-devtestlabs -``` \ No newline at end of file diff --git a/specification/dfp/resource-manager/readme.python.md b/specification/dfp/resource-manager/readme.python.md index e90a5c859097..8da8497eec00 100644 --- a/specification/dfp/resource-manager/readme.python.md +++ b/specification/dfp/resource-manager/readme.python.md @@ -3,19 +3,15 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-dfp -no-namespace-folders: true +namespace: azure.mgmt.dfp package-version: 1.0.0b1 ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/dfp/azure-mgmt-dfp/azure/mgmt/dfp -``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/dfp/azure-mgmt-dfp \ No newline at end of file +``` \ No newline at end of file diff --git a/specification/digitaltwins/resource-manager/readme.python.md b/specification/digitaltwins/resource-manager/readme.python.md index 9df86514ef04..1681e4089647 100644 --- a/specification/digitaltwins/resource-manager/readme.python.md +++ b/specification/digitaltwins/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-digitaltwins @@ -15,7 +15,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) clear-output-folder: true batch: - tag: package-2021-06-30-preview @@ -27,7 +27,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/mgmt/digitaltwins/ -clear-output-folder: false perform-load: false ``` @@ -72,7 +71,7 @@ output-folder: $(python-sdks-folder)/digitaltwins/azure-mgmt-digitaltwins/azure/ ``` -```yaml $(python) && $(track2) +```yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/dnc/resource-manager/readme.python.md b/specification/dnc/resource-manager/readme.python.md index 5f6142a1f507..27858cf194a5 100644 --- a/specification/dnc/resource-manager/readme.python.md +++ b/specification/dnc/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-dnc -no-namespace-folders: true +namespace: azure.mgmt.dnc package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/dnc/azure-mgmt-dnc/azure/mgmt/dnc ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/dnc/azure-mgmt-dnc -``` diff --git a/specification/dns/resource-manager/readme.python.md b/specification/dns/resource-manager/readme.python.md index 5ccf3d1231c3..28ac77ca776b 100644 --- a/specification/dns/resource-manager/readme.python.md +++ b/specification/dns/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--python` is specified on the command line. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-dns @@ -14,7 +14,7 @@ package-version: 1.0.0b1 Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) clear-output-folder: true batch: - tag: package-2018-05 @@ -25,7 +25,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/ -clear-output-folder: false perform-load: false ``` @@ -34,7 +33,7 @@ perform-load: false These settings apply only when `--tag=package-2018-05 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2018-05' && $(python) && $(track2) +``` yaml $(tag) == 'package-2018-05' && $(python) namespace: azure.mgmt.dns.v2018_05_01 output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_05_01 ``` @@ -44,7 +43,7 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018 These settings apply only when `--tag=package-2018-03-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2018-03-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2018-03-preview' && $(python) namespace: azure.mgmt.dns.v2018_03_01_preview output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018_03_01_preview ``` @@ -54,12 +53,12 @@ output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2018 These settings apply only when `--tag=package-2016-04 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2016-04' && $(python) && $(track2) +``` yaml $(tag) == 'package-2016-04' && $(python) namespace: azure.mgmt.dns.v2016_04_01 output-folder: $(python-sdks-folder)/network/azure-mgmt-dns/azure/mgmt/dns/v2016_04_01 ``` -```yaml $(python) && $(track2) +```yaml $(python) modelerfour: lenient-model-deduplication: true ``` \ No newline at end of file diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/dnsresolver.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/dnsresolver.json new file mode 100644 index 000000000000..752bba35675d --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/dnsresolver.json @@ -0,0 +1,2629 @@ +{ + "swagger": "2.0", + "info": { + "title": "DnsResolverManagementClient", + "description": "The DNS Resolver Management Client.", + "version": "2020-04-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}": { + "put": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_CreateOrUpdate", + "description": "Creates or updates a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DnsResolver" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The DNS resolver has been created.", + "schema": { + "$ref": "#/definitions/DnsResolver" + } + }, + "200": { + "description": "The DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/DnsResolver" + } + }, + "202": { + "description": "The operation to upsert DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upsert DNS resolver": { + "$ref": "./examples/DnsResolver_Put.json" + } + } + }, + "patch": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_Update", + "description": "Updates a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DnsResolverPatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/DnsResolver" + } + }, + "202": { + "description": "The operation to update DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update DNS resolver": { + "$ref": "./examples/DnsResolver_Patch.json" + } + } + }, + "delete": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_Delete", + "description": "Deletes a DNS resolver. WARNING: This operation cannot be undone.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The DNS resolver has been deleted." + }, + "202": { + "description": "The operation to delete DNS resolver has been accepted and will complete asynchronously." + }, + "204": { + "description": "The DNS resolver was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete DNS resolver": { + "$ref": "./examples/DnsResolver_Delete.json" + } + } + }, + "get": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_Get", + "description": "Gets properties of a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The DNS resolver was found.", + "schema": { + "$ref": "#/definitions/DnsResolver" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve DNS resolver": { + "$ref": "./examples/DnsResolver_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers": { + "get": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_ListByResourceGroup", + "description": "Lists DNS resolvers within a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS resolvers in the resource group.", + "schema": { + "$ref": "#/definitions/DnsResolverListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS resolvers by resource group": { + "$ref": "./examples/DnsResolver_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsResolvers": { + "get": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_List", + "description": "Lists DNS resolvers in all resource groups of a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS resolvers in the subscription.", + "schema": { + "$ref": "#/definitions/DnsResolverListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS resolvers by subscription": { + "$ref": "./examples/DnsResolver_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints/{inboundEndpointName}": { + "put": { + "tags": [ + "InboundEndpoints" + ], + "operationId": "InboundEndpoints_CreateOrUpdate", + "description": "Creates or updates an inbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/InboundEndpointNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundEndpoint" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The inbound endpoint for the DNS resolver has been created.", + "schema": { + "$ref": "#/definitions/InboundEndpoint" + } + }, + "200": { + "description": "The inbound endpoint for the DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/InboundEndpoint" + } + }, + "202": { + "description": "The operation to upsert inbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upsert inbound endpoint for DNS resolver": { + "$ref": "./examples/InboundEndpoint_Put.json" + } + } + }, + "patch": { + "tags": [ + "InboundEndpoints" + ], + "operationId": "InboundEndpoints_Update", + "description": "Updates an inbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/InboundEndpointNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InboundEndpointPatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The inbound endpoint for the DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/InboundEndpoint" + } + }, + "202": { + "description": "The operation to update inbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update inbound endpoint for DNS resolver": { + "$ref": "./examples/InboundEndpoint_Patch.json" + } + } + }, + "delete": { + "tags": [ + "InboundEndpoints" + ], + "operationId": "InboundEndpoints_Delete", + "description": "Deletes an inbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/InboundEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The inbound endpoint for the DNS resolver has been deleted." + }, + "202": { + "description": "The operation to delete inbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "204": { + "description": "The inbound endpoint for the DNS resolver was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete inbound endpoint for DNS resolver": { + "$ref": "./examples/InboundEndpoint_Delete.json" + } + } + }, + "get": { + "tags": [ + "InboundEndpoints" + ], + "operationId": "InboundEndpoints_Get", + "description": "Gets properties of an inbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/InboundEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The inbound endpoint for the DNS resolver was found.", + "schema": { + "$ref": "#/definitions/InboundEndpoint" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve inbound endpoint for DNS resolver": { + "$ref": "./examples/InboundEndpoint_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/inboundEndpoints": { + "get": { + "tags": [ + "InboundEndpoints" + ], + "operationId": "InboundEndpoints_List", + "description": "Lists inbound endpoints for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of inbound endpoints for the DNS resolver.", + "schema": { + "$ref": "#/definitions/InboundEndpointListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List inbound endpoints by DNS resolver": { + "$ref": "./examples/InboundEndpoint_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints/{outboundEndpointName}": { + "put": { + "tags": [ + "OutboundEndpoints" + ], + "operationId": "OutboundEndpoints_CreateOrUpdate", + "description": "Creates or updates an outbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/OutboundEndpointNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundEndpoint" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The outbound endpoint for the DNS resolver has been created.", + "schema": { + "$ref": "#/definitions/OutboundEndpoint" + } + }, + "200": { + "description": "The outbound endpoint for the DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/OutboundEndpoint" + } + }, + "202": { + "description": "The operation to upsert outbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upsert outbound endpoint for DNS resolver": { + "$ref": "./examples/OutboundEndpoint_Put.json" + } + } + }, + "patch": { + "tags": [ + "OutboundEndpoints" + ], + "operationId": "OutboundEndpoints_Update", + "description": "Updates an outbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/OutboundEndpointNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OutboundEndpointPatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The outbound endpoint for the DNS resolver has been updated.", + "schema": { + "$ref": "#/definitions/OutboundEndpoint" + } + }, + "202": { + "description": "The operation to update outbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update outbound endpoint for DNS resolver": { + "$ref": "./examples/OutboundEndpoint_Patch.json" + } + } + }, + "delete": { + "tags": [ + "OutboundEndpoints" + ], + "operationId": "OutboundEndpoints_Delete", + "description": "Deletes an outbound endpoint for a DNS resolver. WARNING: This operation cannot be undone.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/OutboundEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The outbound endpoint for the DNS resolver has been deleted." + }, + "202": { + "description": "The operation to delete outbound endpoint for the DNS resolver has been accepted and will complete asynchronously." + }, + "204": { + "description": "The outbound endpoint for the DNS resolver was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete outbound endpoint for DNS resolver": { + "$ref": "./examples/OutboundEndpoint_Delete.json" + } + } + }, + "get": { + "tags": [ + "OutboundEndpoints" + ], + "operationId": "OutboundEndpoints_Get", + "description": "Gets properties of an outbound endpoint for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "#/parameters/OutboundEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The outbound endpoint for the DNS resolver was found.", + "schema": { + "$ref": "#/definitions/OutboundEndpoint" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve outbound endpoint for DNS resolver": { + "$ref": "./examples/OutboundEndpoint_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsResolvers/{dnsResolverName}/outboundEndpoints": { + "get": { + "tags": [ + "OutboundEndpoints" + ], + "operationId": "OutboundEndpoints_List", + "description": "Lists outbound endpoints for a DNS resolver.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsResolverNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of outbound endpoints for the DNS resolver.", + "schema": { + "$ref": "#/definitions/OutboundEndpointListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List outbound endpoints by DNS resolver": { + "$ref": "./examples/OutboundEndpoint_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}": { + "put": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_CreateOrUpdate", + "description": "Creates or updates a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DnsForwardingRuleset" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The DNS forwarding ruleset has been created.", + "schema": { + "$ref": "#/definitions/DnsForwardingRuleset" + } + }, + "200": { + "description": "The DNS forwarding ruleset has been updated.", + "schema": { + "$ref": "#/definitions/DnsForwardingRuleset" + } + }, + "202": { + "description": "The operation to upsert DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upsert DNS forwarding ruleset": { + "$ref": "./examples/DnsForwardingRuleset_Put.json" + } + } + }, + "patch": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_Update", + "description": "Updates a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DnsForwardingRulesetPatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The DNS forwarding ruleset has been updated.", + "schema": { + "$ref": "#/definitions/DnsForwardingRuleset" + } + }, + "202": { + "description": "The operation to update DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update DNS forwarding ruleset": { + "$ref": "./examples/DnsForwardingRuleset_Patch.json" + } + } + }, + "delete": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_Delete", + "description": "Deletes a DNS forwarding ruleset. WARNING: This operation cannot be undone. All forwarding rules within the ruleset will be deleted.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The DNS forwarding ruleset has been deleted." + }, + "202": { + "description": "The operation to delete DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "204": { + "description": "The DNS forwarding ruleset was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete DNS forwarding ruleset": { + "$ref": "./examples/DnsForwardingRuleset_Delete.json" + } + } + }, + "get": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_Get", + "description": "Gets a DNS forwarding ruleset properties.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The DNS forwarding ruleset was found.", + "schema": { + "$ref": "#/definitions/DnsForwardingRuleset" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve DNS forwarding ruleset": { + "$ref": "./examples/DnsForwardingRuleset_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets": { + "get": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_ListByResourceGroup", + "description": "Lists DNS forwarding rulesets within a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS forwarding rulesets in the resource group.", + "schema": { + "$ref": "#/definitions/DnsForwardingRulesetListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS forwarding rulesets by resource group": { + "$ref": "./examples/DnsForwardingRuleset_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/dnsForwardingRulesets": { + "get": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_List", + "description": "Lists DNS forwarding rulesets in all resource groups of a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS forwarding rulesets in the subscription.", + "schema": { + "$ref": "#/definitions/DnsForwardingRulesetListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS forwarding rulesets by subscription": { + "$ref": "./examples/DnsForwardingRuleset_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules/{forwardingRuleName}": { + "put": { + "tags": [ + "ForwardingRules" + ], + "operationId": "ForwardingRules_CreateOrUpdate", + "description": "Creates or updates a forwarding rule in a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/ForwardingRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForwardingRule" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The forwarding rule has been created.", + "schema": { + "$ref": "#/definitions/ForwardingRule" + } + }, + "200": { + "description": "The forwarding rule has been updated.", + "schema": { + "$ref": "#/definitions/ForwardingRule" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Upsert forwarding rule in a DNS forwarding ruleset": { + "$ref": "./examples/ForwardingRule_Put.json" + } + } + }, + "patch": { + "tags": [ + "ForwardingRules" + ], + "operationId": "ForwardingRules_Update", + "description": "Updates a forwarding rule in a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/ForwardingRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ForwardingRulePatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The forwarding rule has been updated.", + "schema": { + "$ref": "#/definitions/ForwardingRule" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update forwarding rule in a DNS forwarding ruleset": { + "$ref": "./examples/ForwardingRule_Patch.json" + } + } + }, + "delete": { + "tags": [ + "ForwardingRules" + ], + "operationId": "ForwardingRules_Delete", + "description": "Deletes a forwarding rule in a DNS forwarding ruleset. WARNING: This operation cannot be undone.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/ForwardingRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The forwarding rule has been deleted." + }, + "204": { + "description": "The forwarding rule was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete forwarding rule in a DNS forwarding ruleset": { + "$ref": "./examples/ForwardingRule_Delete.json" + } + } + }, + "get": { + "tags": [ + "ForwardingRules" + ], + "operationId": "ForwardingRules_Get", + "description": "Gets properties of a forwarding rule in a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/ForwardingRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The forwarding rule was found.", + "schema": { + "$ref": "#/definitions/ForwardingRule" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve forwarding rule in a DNS forwarding ruleset": { + "$ref": "./examples/ForwardingRule_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/forwardingRules": { + "get": { + "tags": [ + "ForwardingRules" + ], + "operationId": "ForwardingRules_List", + "description": "Lists forwarding rules in a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of forwarding rules in the DNS forwarding ruleset.", + "schema": { + "$ref": "#/definitions/ForwardingRuleListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List forwarding rules in a DNS forwarding ruleset": { + "$ref": "./examples/ForwardingRule_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks/{virtualNetworkLinkName}": { + "put": { + "tags": [ + "VirtualNetworkLinks" + ], + "operationId": "VirtualNetworkLinks_CreateOrUpdate", + "description": "Creates or updates a virtual network link to a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkLinkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkLink" + }, + "description": "Parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + } + ], + "responses": { + "201": { + "description": "The virtual network link to the DNS forwarding ruleset has been created.", + "schema": { + "$ref": "#/definitions/VirtualNetworkLink" + } + }, + "200": { + "description": "The virtual network link to the DNS forwarding ruleset has been updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkLink" + } + }, + "202": { + "description": "The operation to upsert virtual network link to the DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upsert virtual network link to a DNS forwarding ruleset": { + "$ref": "./examples/VirtualNetworkLink_Put.json" + } + } + }, + "patch": { + "tags": [ + "VirtualNetworkLinks" + ], + "operationId": "VirtualNetworkLinks_Update", + "description": "Updates a virtual network link to a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkLinkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkLinkPatch" + }, + "description": "Parameters supplied to the Update operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The virtual network link to the DNS forwarding ruleset has been updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkLink" + } + }, + "202": { + "description": "The operation to update virtual network link to the DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update virtual network link to a DNS forwarding ruleset": { + "$ref": "./examples/VirtualNetworkLink_Patch.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkLinks" + ], + "operationId": "VirtualNetworkLinks_Delete", + "description": "Deletes a virtual network link to a DNS forwarding ruleset. WARNING: This operation cannot be undone.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkLinkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + } + ], + "responses": { + "200": { + "description": "The virtual network link to the DNS forwarding ruleset has been deleted." + }, + "202": { + "description": "The operation to delete virtual network link to the DNS forwarding ruleset has been accepted and will complete asynchronously." + }, + "204": { + "description": "The virtual network link to the DNS forwarding ruleset was not found." + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete virtual network link to a DNS forwarding ruleset": { + "$ref": "./examples/VirtualNetworkLink_Delete.json" + } + } + }, + "get": { + "tags": [ + "VirtualNetworkLinks" + ], + "operationId": "VirtualNetworkLinks_Get", + "description": "Gets properties of a virtual network link to a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkLinkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The virtual network link to DNS forwarding ruleset was found.", + "schema": { + "$ref": "#/definitions/VirtualNetworkLink" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve virtual network link to a DNS forwarding ruleset": { + "$ref": "./examples/VirtualNetworkLink_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/dnsForwardingRulesets/{dnsForwardingRulesetName}/virtualNetworkLinks": { + "get": { + "tags": [ + "VirtualNetworkLinks" + ], + "operationId": "VirtualNetworkLinks_List", + "description": "Lists virtual network links to a DNS forwarding ruleset.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DnsForwardingRulesetNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of virtual network links to a DNS forwarding ruleset.", + "schema": { + "$ref": "#/definitions/VirtualNetworkLinkListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List virtual network links to a DNS forwarding ruleset": { + "$ref": "./examples/VirtualNetworkLink_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsResolvers": { + "post": { + "tags": [ + "DnsResolvers" + ], + "operationId": "DnsResolvers_ListByVirtualNetwork", + "description": "Lists DNS resolver resource IDs linked to a virtual network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS resolver resource IDs linked to the virtual network.", + "schema": { + "$ref": "#/definitions/SubResourceListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS resolvers by virtual network": { + "$ref": "./examples/DnsResolver_ListByVirtualNetwork.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listDnsForwardingRulesets": { + "post": { + "tags": [ + "DnsForwardingRulesets" + ], + "operationId": "DnsForwardingRulesets_ListByVirtualNetwork", + "description": "Lists DNS forwarding ruleset resource IDs attached to a virtual network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "List of DNS forwarding ruleset resource IDs and virtual network link resource IDs attached to the virtual network.", + "schema": { + "$ref": "#/definitions/VirtualNetworkDnsForwardingRulesetListResult" + } + }, + "default": { + "description": "Default response. It will be deserialized as per the Error definition.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List DNS forwarding rulesets by virtual network": { + "$ref": "./examples/DnsForwardingRuleset_ListByVirtualNetwork.json" + } + } + } + } + }, + "definitions": { + "DnsResolverProperties": { + "description": "Represents the properties of a DNS resolver.", + "type": "object", + "required": [ + "virtualNetwork" + ], + "properties": { + "virtualNetwork": { + "description": "The reference to the virtual network. This cannot be changed after creation.", + "x-ms-mutability": [ + "read", + "create" + ], + "$ref": "#/definitions/SubResource" + }, + "dnsResolverState": { + "description": "The current status of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored.", + "type": "string", + "enum": [ + "Connected", + "Disconnected" + ], + "x-ms-enum": { + "name": "DnsResolverState", + "modelAsString": true + }, + "readOnly": true + }, + "provisioningState": { + "description": "The current provisioning state of the DNS resolver. This is a read-only property and any attempt to set this value will be ignored.", + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "resourceGuid": { + "description": "The resourceGuid property of the DNS resolver resource.", + "readOnly": true, + "$ref": "#/definitions/ResourceGuid" + } + } + }, + "DnsResolver": { + "description": "Describes a DNS resolver.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the DNS resolver.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the DNS resolver.", + "$ref": "#/definitions/DnsResolverProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "DnsResolverPatch": { + "description": "Describes a DNS resolver for PATCH operation.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Tags for DNS Resolver." + } + } + }, + "DnsResolverListResult": { + "description": "The response to an enumeration operation on DNS resolvers.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the DNS resolvers.", + "type": "array", + "items": { + "$ref": "#/definitions/DnsResolver" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "InboundEndpointProperties": { + "description": "Represents the properties of an inbound endpoint for a DNS resolver.", + "type": "object", + "properties": { + "ipConfigurations": { + "description": "IP configurations for the inbound endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/IpConfiguration" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "description": "The current provisioning state of the inbound endpoint. This is a read-only property and any attempt to set this value will be ignored.", + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "resourceGuid": { + "description": "The resourceGuid property of the inbound endpoint resource.", + "readOnly": true, + "$ref": "#/definitions/ResourceGuid" + } + } + }, + "InboundEndpoint": { + "description": "Describes an inbound endpoint for a DNS resolver.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the inbound endpoint.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the inbound endpoint.", + "$ref": "#/definitions/InboundEndpointProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "InboundEndpointPatch": { + "description": "Describes an inbound endpoint for a DNS resolver for PATCH operation.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Tags for inbound endpoint." + } + } + }, + "InboundEndpointListResult": { + "description": "The response to an enumeration operation on inbound endpoints for a DNS resolver.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the inbound endpoints for a DNS resolver.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundEndpoint" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundEndpointProperties": { + "description": "Represents the properties of an outbound endpoint for a DNS resolver.", + "type": "object", + "properties": { + "subnet": { + "description": "The reference to the subnet used for the outbound endpoint.", + "$ref": "#/definitions/SubResource" + }, + "provisioningState": { + "description": "The current provisioning state of the outbound endpoint. This is a read-only property and any attempt to set this value will be ignored.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "resourceGuid": { + "description": "The resourceGuid property of the outbound endpoint resource.", + "readOnly": true, + "$ref": "#/definitions/ResourceGuid" + } + } + }, + "OutboundEndpoint": { + "description": "Describes an outbound endpoint for a DNS resolver.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the outbound endpoint.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the outbound endpoint.", + "$ref": "#/definitions/OutboundEndpointProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "OutboundEndpointPatch": { + "description": "Describes an outbound endpoint for a DNS resolver for PATCH operation.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Tags for outbound endpoint." + } + } + }, + "OutboundEndpointListResult": { + "description": "The response to an enumeration operation on outbound endpoints for a DNS resolver.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the outbound endpoints for a DNS resolver.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEndpoint" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "DnsForwardingRulesetProperties": { + "description": "Represents the properties of a DNS forwarding ruleset.", + "type": "object", + "properties": { + "dnsResolverOutboundEndpoints": { + "description": "The reference to the DNS resolver outbound endpoints that are used to route DNS queries matching the forwarding rules in the ruleset to the target DNS servers.", + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The current provisioning state of the DNS forwarding ruleset. This is a read-only property and any attempt to set this value will be ignored.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + }, + "resourceGuid": { + "description": "The resourceGuid for the DNS forwarding ruleset.", + "type": "string", + "readOnly": true + } + } + }, + "DnsForwardingRuleset": { + "description": "Describes a DNS forwarding ruleset.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the DNS forwarding ruleset.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the DNS forwarding ruleset.", + "$ref": "#/definitions/DnsForwardingRulesetProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "DnsForwardingRulesetPatch": { + "description": "Describes a DNS forwarding ruleset PATCH operation.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Tags for DNS Resolver." + } + } + }, + "DnsForwardingRulesetListResult": { + "description": "The response to an enumeration operation on DNS forwarding rulesets.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the DNS forwarding rulesets.", + "type": "array", + "items": { + "$ref": "#/definitions/DnsForwardingRuleset" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ForwardingRuleProperties": { + "description": "Represents the properties of a forwarding rule within a DNS forwarding ruleset.", + "type": "object", + "required": [ + "domainName", + "targetDnsServers" + ], + "properties": { + "domainName": { + "description": "The domain name for the forwarding rule.", + "type": "string" + }, + "targetDnsServers": { + "description": "DNS servers to forward the DNS query to.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetDnsServer" + }, + "x-ms-identifiers": [] + }, + "metadata": { + "description": "Metadata attached to the forwarding rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "forwardingRuleState": { + "type": "string", + "description": "The state of forwarding rule.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ForwardingRuleState", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The current provisioning state of the forwarding rule. This is a read-only property and any attempt to set this value will be ignored.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "ForwardingRule": { + "description": "Describes a forwarding rule within a DNS forwarding ruleset.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the forwarding rule.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the forwarding rule.", + "$ref": "#/definitions/ForwardingRuleProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ForwardingRulePatchProperties": { + "description": "Represents the updatable properties of a forwarding rule within a DNS forwarding ruleset.", + "type": "object", + "properties": { + "targetDnsServers": { + "description": "DNS servers to forward the DNS query to.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetDnsServer" + }, + "x-ms-identifiers": [] + }, + "metadata": { + "description": "Metadata attached to the forwarding rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "forwardingRuleState": { + "type": "string", + "description": "The state of forwarding rule.", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Enabled", + "x-ms-enum": { + "name": "ForwardingRuleState", + "modelAsString": true + } + } + } + }, + "ForwardingRulePatch": { + "description": "Describes a forwarding rule for PATCH operation.", + "type": "object", + "properties": { + "properties": { + "description": "Updatable properties of the forwarding rule.", + "$ref": "#/definitions/ForwardingRulePatchProperties", + "x-ms-client-flatten": true + } + } + }, + "ForwardingRuleListResult": { + "description": "The response to an enumeration operation on forwarding rules within a DNS forwarding ruleset.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the forwarding rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ForwardingRule" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualNetworkLinkProperties": { + "description": "Represents the properties of a virtual network link.", + "type": "object", + "properties": { + "virtualNetwork": { + "description": "The reference to the virtual network. This cannot be changed after creation.", + "$ref": "#/definitions/SubResource" + }, + "metadata": { + "description": "Metadata attached to the virtual network link.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "description": "The current provisioning state of the virtual network link. This is a read-only property and any attempt to set this value will be ignored.", + "$ref": "#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "VirtualNetworkLink": { + "description": "Describes a virtual network link.", + "type": "object", + "properties": { + "etag": { + "description": "ETag of the virtual network link.", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Properties of the virtual network link.", + "$ref": "#/definitions/VirtualNetworkLinkProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "VirtualNetworkLinkPatchProperties": { + "description": "Represents the updatable properties of the virtual network link.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata attached to the virtual network link.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VirtualNetworkLinkPatch": { + "description": "Describes a virtual network link for PATCH operation.", + "type": "object", + "properties": { + "properties": { + "description": "Updatable properties of the virtual network link.", + "$ref": "#/definitions/VirtualNetworkLinkPatchProperties", + "x-ms-client-flatten": true + } + } + }, + "VirtualNetworkLinkListResult": { + "description": "The response to an enumeration operation on virtual network links.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the virtual network links.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkLink" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "IpConfiguration": { + "description": "IP configuration.", + "type": "object", + "properties": { + "subnet": { + "description": "The reference to the subnet bound to the IP configuration.", + "$ref": "#/definitions/SubResource" + }, + "privateIpAddress": { + "description": "Private IP address of the IP configuration.", + "type": "string" + }, + "privateIpAllocationMethod": { + "description": "Private IP address allocation method.", + "type": "string", + "enum": [ + "Static", + "Dynamic" + ], + "default": "Dynamic", + "x-ms-enum": { + "name": "IpAllocationMethod", + "modelAsString": true + } + } + } + }, + "TargetDnsServer": { + "description": "Describes a server to forward the DNS queries to.", + "type": "object", + "properties": { + "ipAddress": { + "description": "DNS server IP address.", + "type": "string" + }, + "port": { + "description": "DNS server port.", + "type": "integer", + "format": "int32", + "default": 53 + } + } + }, + "ProvisioningState": { + "description": "The current provisioning state of the resource.", + "type": "string", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ResourceGuid": { + "type": "string", + "description": "The Guid property of the resource." + }, + "SubResourceListResult": { + "description": "The response to an enumeration operation on sub-resources.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the sub-resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SubResource": { + "description": "Reference to another ARM resource.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "x-ms-azure-resource": true + }, + "VirtualNetworkDnsForwardingRulesetListResult": { + "description": "The response to an enumeration operation on Virtual Network DNS Forwarding Ruleset.", + "type": "object", + "properties": { + "value": { + "description": "Enumeration of the Virtual Network DNS Forwarding Ruleset.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkDnsForwardingRuleset" + } + }, + "nextLink": { + "description": "The continuation token for the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "VirtualNetworkLinkSubResourceProperties": { + "description": "The reference to the virtual network link that associates between the DNS forwarding ruleset and virtual network.", + "type": "object", + "properties": { + "virtualNetworkLink": { + "description": "The reference to the virtual network link.", + "$ref": "#/definitions/SubResource" + } + } + }, + "VirtualNetworkDnsForwardingRuleset": { + "description": "Reference to DNS forwarding ruleset and associated virtual network link.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "DNS Forwarding Ruleset Resource ID." + }, + "properties": { + "description": "Properties of the virtual network link sub-resource reference.", + "$ref": "#/definitions/VirtualNetworkLinkSubResourceProperties", + "x-ms-client-flatten": true + } + } + }, + "CloudError": { + "description": "An error message", + "type": "object", + "properties": { + "error": { + "description": "The error message body", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "The body of an error message", + "type": "object", + "properties": { + "code": { + "description": "The error code", + "type": "string" + }, + "message": { + "description": "A description of what caused the error", + "type": "string" + }, + "target": { + "description": "The target resource of the error message", + "type": "string" + }, + "details": { + "description": "Extra error information", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-external": true + } + }, + "parameters": { + "DnsResolverNameParameter": { + "name": "dnsResolverName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DNS resolver.", + "x-ms-parameter-location": "method" + }, + "InboundEndpointNameParameter": { + "name": "inboundEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the inbound endpoint for the DNS resolver.", + "x-ms-parameter-location": "method" + }, + "VirtualNetworkNameParameter": { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network.", + "x-ms-parameter-location": "method" + }, + "OutboundEndpointNameParameter": { + "name": "outboundEndpointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the outbound endpoint for the DNS resolver.", + "x-ms-parameter-location": "method" + }, + "DnsForwardingRulesetNameParameter": { + "name": "dnsForwardingRulesetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DNS forwarding ruleset.", + "x-ms-parameter-location": "method" + }, + "ForwardingRuleNameParameter": { + "name": "forwardingRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the forwarding rule.", + "x-ms-parameter-location": "method" + }, + "VirtualNetworkLinkNameParameter": { + "name": "virtualNetworkLinkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network link.", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of results to return. If not specified, returns up to 100 results.", + "x-ms-parameter-location": "method" + }, + "IfMatchParameter": { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "ETag of the resource. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.", + "x-ms-parameter-location": "method" + }, + "IfNoneMatchParameter": { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new resource to be created, but to prevent updating an existing resource. Other values will be ignored.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json new file mode 100644 index 000000000000..1d6e028183b9 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "samplednsForwardingRulesetName", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json new file mode 100644 index 000000000000..6c69ebfdde76 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json new file mode 100644 index 000000000000..2b5039d40909 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByResourceGroup.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset1", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-04T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-05T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint2" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint3" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "c2aed17a-708d-48d1-89c3-d6a9b648d222" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json new file mode 100644 index 000000000000..7b08bb3c841d --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListBySubscription.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset1", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-04T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-05T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint2" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint3" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/providers/Microsoft.Network/dnsForwardingRulesets?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json new file mode 100644 index 000000000000..835f99981303 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_ListByVirtualNetwork.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "virtualNetworkName": "sampleVirtualNetwork", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "properties": { + "virtualNetworkLink": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json new file mode 100644 index 000000000000..5bc5abe1e4c2 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Patch.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "api-version": "2020-04-01-preview", + "parameters": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json new file mode 100644 index 000000000000..2ab65a1a338c --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsForwardingRuleset_Put.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "samplednsForwardingRuleset", + "api-version": "2020-04-01-preview", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "westus2", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8", + "provisioningState": "Succeeded" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset", + "name": "sampleDnsForwardingRuleset", + "type": "Microsoft.Network/dnsForwardingRulesets", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "dnsResolverOutboundEndpoints": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint0" + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver/outboundEndpoints/sampleOutboundEndpoint1" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json new file mode 100644 index 000000000000..fe64eee8bd77 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json new file mode 100644 index 000000000000..90daca93bd23 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver", + "name": "sampleDnsResolver", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "a7e1a32c-498c-401c-a805-5bc3518257b8" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json new file mode 100644 index 000000000000..efe62eae01ae --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver1", + "name": "sampleDnsResolver1", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork1" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "ad9c8da4-3bb2-4821-a878-c2cb07b01fb6" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver2", + "name": "sampleDnsResolver2", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-03T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-04T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork2" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json new file mode 100644 index 000000000000..37c4b869e593 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListBySubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver1", + "name": "sampleDnsResolver1", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork1" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "ad9c8da4-3bb2-4821-a878-c2cb07b01fb6" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver2", + "name": "sampleDnsResolver2", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork2" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/providers/Microsoft.Network/dnsResolvers?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json new file mode 100644 index 000000000000..611a7f2fbb5c --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_ListByVirtualNetwork.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "virtualNetworkName": "sampleVirtualNetwork", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver1" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json new file mode 100644 index 000000000000..70844ba6bd98 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Patch.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview", + "parameters": { + "tags": { + "key1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver", + "name": "sampleDnsResolver", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json new file mode 100644 index 000000000000..286e7a36cdcb --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/DnsResolver_Put.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "westus2", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver", + "name": "sampleDnsResolver", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsResolvers/sampleDnsResolver", + "name": "sampleDnsResolver", + "type": "Microsoft.Network/dnsResolvers", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/cbb1387e-4b03-44f2-ad41-58d4677b9873/resourceGroups/virtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "dnsResolverState": "Connected", + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json new file mode 100644 index 000000000000..7b776191e490 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "forwardingRuleName": "sampleForwardingRule", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json new file mode 100644 index 000000000000..eabd6cec42a0 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "forwardingRuleName": "sampleForwardingRule", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule", + "name": "sampleForwardingRule", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "metadata": { + "additionalProp1": "value1" + }, + "forwardingRuleState": "Enabled", + "provisioningState": "Succecced" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json new file mode 100644 index 000000000000..e1d9a6e2c5d2 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_List.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule", + "name": "sampleForwardingRule", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "metadata": { + "additionalProp1": "value1" + }, + "forwardingRuleState": "Enabled", + "provisioningState": "Succecced" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule1", + "name": "sampleForwardingRule1", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "foobar.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.3", + "port": 53 + }, + { + "ipAddress": "10.0.0.4", + "port": 53 + } + ], + "metadata": { + "additionalProp1": "value1" + }, + "forwardingRuleState": "Enabled", + "provisioningState": "Succecced" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/forwardingRules?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json new file mode 100644 index 000000000000..944c1b04dea6 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Patch.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "forwardingRuleName": "sampleForwardingRule", + "parameters": { + "properties": { + "forwardingRuleState": "Disabled", + "metadata": { + "additionalProp2": "value2" + } + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule", + "name": "sampleForwardingRule", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "metadata": { + "additionalProp2": "value2" + }, + "forwardingRuleState": "Disabled", + "provisioningState": "Succecced" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json new file mode 100644 index 000000000000..d5ae0248ff53 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/ForwardingRule_Put.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "forwardingRuleName": "sampleForwardingRule", + "parameters": { + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "forwardingRuleState": "Enabled", + "metadata": { + "additionalProp1": "value1" + } + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule", + "name": "sampleForwardingRule", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "metadata": { + "additionalProp1": "value1" + }, + "forwardingRuleState": "Enabled", + "provisioningState": "Succecced" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRulesets/sampleDnsForwardingRuleset/forwardingRules/sampleForwardingRule", + "name": "sampleForwardingRule", + "type": "Microsoft.Network/dnsForwardingRulesets/forwardingRules", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "domainName": "contoso.com.", + "targetDnsServers": [ + { + "ipAddress": "10.0.0.1", + "port": 53 + }, + { + "ipAddress": "10.0.0.2", + "port": 53 + } + ], + "metadata": { + "additionalProp1": "value1" + }, + "forwardingRuleState": "Enabled", + "provisioningState": "Succecced" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json new file mode 100644 index 000000000000..9807c1035d13 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "inboundEndpointName": "sampleInboundEndpoint", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json new file mode 100644 index 000000000000..b4e0f65763a8 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "inboundEndpointName": "sampleInboundEndpoint", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint", + "name": "sampleInboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "privateIpAddress": "255.255.255.255", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json new file mode 100644 index 000000000000..10d0e7c013e0 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_List.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint1", + "name": "sampleInboundEndpoint1", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet1" + }, + "privateIpAddress": "255.1.255.1", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint2", + "name": "sampleInboundEndpoint2", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-02T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-03T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet1" + }, + "privateIpAddress": "1.1.255.1", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "87b3e20a-5833-4c40-8ad7-c5160bb1c5bd" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json new file mode 100644 index 000000000000..9dfae3f3e1ab --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Patch.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "inboundEndpointName": "sampleInboundEndpoint", + "parameters": { + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint", + "name": "sampleInboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "privateIpAddress": "255.255.255.255", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "87b3e20a-5833-4c40-8ad7-c5160bb1c5bd" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json new file mode 100644 index 000000000000..1df3b400e118 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/InboundEndpoint_Put.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "inboundEndpointName": "sampleInboundEndpoint", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "westus2", + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "privateIpAddress": "255.255.255.255", + "privateIpAllocationMethod": "Static" + } + ] + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint", + "name": "sampleInboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "privateIpAddress": "255.255.255.255", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "b6b2d964-8588-4e3a-a7fe-8a5b7fe8eca5" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/inboundEndpoints/sampleInboundEndpoint", + "name": "sampleInboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/inboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "ipConfigurations": [ + { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "privateIpAddress": "255.255.255.255", + "privateIpAllocationMethod": "Static" + } + ], + "provisioningState": "Succeeded", + "resourceGuid": "87b3e20a-5833-4c40-8ad7-c5160bb1c5bd" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json new file mode 100644 index 000000000000..b1a0fab554c9 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "outboundEndpointName": "sampleOutboundEndpoint", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json new file mode 100644 index 000000000000..db04ea043be9 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "outboundEndpointName": "sampleOutboundEndpoint", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint", + "name": "sampleOutboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "provisioningState": "Succecced", + "resourceGuid": "b4d35f41-0c70-4ec7-bb3e-0cd9f8b7e4be" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json new file mode 100644 index 000000000000..4ccc1df7f543 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_List.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint", + "name": "sampleOutboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "provisioningState": "Succeeded", + "resourceGuid": "b4d35f41-0c70-4ec7-bb3e-0cd9f8b7e4be" + } + }, + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint1", + "name": "sampleOutboundEndpoint1", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet1" + }, + "provisioningState": "Succecced", + "resourceGuid": "b4d35f41-0c70-4ec7-bb3e-0cd9f8b7e4be" + } + } + ], + "nextLink": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints?$skipToken=skipToken&api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json new file mode 100644 index 000000000000..63b0cc60090c --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Patch.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "outboundEndpointName": "sampleOutboundEndpoint", + "parameters": { + "tags": { + "key1": "value1" + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint", + "name": "sampleOutboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "provisioningState": "Succecced", + "resourceGuid": "b4d35f41-0c70-4ec7-bb3e-0cd9f8b7e4be" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json new file mode 100644 index 000000000000..b536ac6e402f --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/OutboundEndpoint_Put.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsResolverName": "sampleDnsResolver", + "outboundEndpointName": "sampleOutboundEndpoint", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "westus2", + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + } + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint", + "name": "sampleOutboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "provisioningState": "Succeeded" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/outboundEndpoints/sampleOutboundEndpoint", + "name": "sampleOutboundEndpoint", + "type": "Microsoft.Network/dnsResolvers/outboundEndpoints", + "tags": { + "key1": "value1" + }, + "location": "westus2", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "subnet": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork/subnets/sampleSubnet" + }, + "provisioningState": "Succeeded", + "resourceGuid": "87b3e20a-5833-4c40-8ad7-c5160bb1c5bd" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json new file mode 100644 index 000000000000..a3d9eccd84aa --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "virtualNetworkLinkName": "sampleVirtualNetworkLink", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json new file mode 100644 index 000000000000..5ac4d67acdd0 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "virtualNetworkLinkName": "sampleVirtualNetworkLink", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink", + "name": "sampleVirtualNetworkLink", + "type": "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + }, + "provisioningState": "Succecced" + } + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json new file mode 100644 index 000000000000..7cce6bd0de94 --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink", + "name": "sampleVirtualNetworkLink", + "type": "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + }, + "provisioningState": "Succecced" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json new file mode 100644 index 000000000000..6d037919a58f --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Patch.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "virtualNetworkLinkName": "sampleVirtualNetworkLink", + "parameters": { + "properties": { + "metadata": { + "additionalProp1": "value1" + } + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink", + "name": "sampleVirtualNetworkLink", + "type": "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + }, + "provisioningState": "Succecced" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json new file mode 100644 index 000000000000..43b265572e9b --- /dev/null +++ b/specification/dnsresolver/resource-manager/Microsoft.Network/preview/2020-04-01-preview/examples/VirtualNetworkLink_Put.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "abdd4249-9f34-4cc6-8e42-c2e32110603e", + "resourceGroupName": "sampleResourceGroup", + "dnsForwardingRulesetName": "sampleDnsForwardingRuleset", + "virtualNetworkLinkName": "sampleVirtualNetworkLink", + "parameters": { + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + } + } + }, + "api-version": "2020-04-01-preview" + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink", + "name": "sampleVirtualNetworkLink", + "type": "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + }, + "provisioningState": "Succecced" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/dnsForwardingRuleset/sampleDnsForwardingRuleset/virtualNetworkLinks/sampleVirtualNetworkLink", + "name": "sampleVirtualNetworkLink", + "type": "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks", + "etag": "00000000-0000-0000-0000-000000000000", + "systemData": { + "createdByType": "Application", + "createdAt": "2021-04-01T01:01:01.1075056Z", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-04-02T02:03:01.1974346Z" + }, + "properties": { + "virtualNetwork": { + "id": "/subscriptions/0403cfa9-9659-4f33-9f30-1f191c51d111/resourceGroups/sampleVnetResourceGroupName/providers/Microsoft.Network/virtualNetworks/sampleVirtualNetwork" + }, + "metadata": { + "additionalProp1": "value1" + }, + "provisioningState": "Succecced" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationResults/asyncOperationId?api-version=2020-04-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/api/mresolver/subscriptions/abdd4249-9f34-4cc6-8e42-c2e32110603e/resourceGroups/sampleResourceGroup/providers/Microsoft.Network/locations/westus2/dnsResolverOperationStatuses/asyncOperationId?api-version=2020-04-01-preview" + } + } + } +} diff --git a/specification/dnsresolver/resource-manager/readme.go.md b/specification/dnsresolver/resource-manager/readme.go.md new file mode 100644 index 000000000000..1f77cc7c0ee8 --- /dev/null +++ b/specification/dnsresolver/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/dnsresolver/armdnsresolver +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` \ No newline at end of file diff --git a/specification/dnsresolver/resource-manager/readme.md b/specification/dnsresolver/resource-manager/readme.md new file mode 100644 index 000000000000..1fcabce75795 --- /dev/null +++ b/specification/dnsresolver/resource-manager/readme.md @@ -0,0 +1,122 @@ +# DNS resolver + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for DNS resolver. + +--- + +## Getting Started + +To build the SDK for DNS resolver, 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 DNS resolver API. + +``` yaml +openapi-type: arm +tag: package-2020-04-preview +``` + +### Tag: package-2020-04-preview + +These settings apply only when `--tag=package-2020-04-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2020-04-preview' +input-file: + - Microsoft.Network/preview/2020-04-01-preview/dnsresolver.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-track2 + - repo: azure-sdk-for-go-track2 +``` + +## 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.DnsResolver + payload-flattening-threshold: 2 + output-folder: $(csharp-sdks-folder)/dnsresolver/Microsoft.Azure.Management.DnsResolver/src/Generated + clear-output-folder: true +``` + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Suppression + +``` yaml +directive: + - where: $.paths + from: dnsresolver.json + suppress: OperationsAPIImplementation + reason: Operation APIs for Microsoft.Network are to be defined in Network swagger. + - suppress: TrackedResourceListByImmediateParent + reason: Another list API naming approach is used over the specs. + - where: $.definitions.Resource + from: types.json + suppress: DescriptionAndTitleMissing + reason: Common types warning. + - suppress: PreviewVersionOverOneYear + reason: Preview API version is carried over from limited preview timeframe back in 2021. + - suppress: PostOperationIdContainsUrlVerb + reason: A different convention is adopted for naming the POST operations. +``` + +## 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 +# comment until the resolution steps are figured out here. +# require: $(this-folder)/../../../profiles/readme.md + +# all the input files across all versions +# input-file: +# - $(this-folder)/Microsoft.Network/preview/2020-04-01-preview/dnsresolver.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/dnsresolver/resource-manager/readme.python.md b/specification/dnsresolver/resource-manager/readme.python.md new file mode 100644 index 000000000000..b5ff92f82166 --- /dev/null +++ b/specification/dnsresolver/resource-manager/readme.python.md @@ -0,0 +1,19 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-dnsresolver +namespace: azure.mgmt.dnsresolver +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/dnsresolver/azure-mgmt-dnsresolver/azure/mgmt/dnsresolver +``` + diff --git a/specification/dnsresolver/resource-manager/readme.typescript.md b/specification/dnsresolver/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..8350bcd8178e --- /dev/null +++ b/specification/dnsresolver/resource-manager/readme.typescript.md @@ -0,0 +1,12 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-dnsresolver" + output-folder: "$(typescript-sdks-folder)/sdk/dnsresolver/arm-dnsresolver" + generate-metadata: true +``` diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json index c4fbeba689e0..c927b89df4c8 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CancelOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "orderItemName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json index 7091395ecc29..7b9e841eb13d 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateAddress.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "addressName": "TestMSAddressName", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" @@ -29,15 +29,15 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus" + "location": "eastus" } }, "responses": { @@ -55,18 +55,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json index e25e4a15cb35..d84ee261bae5 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" @@ -22,10 +22,10 @@ "orderItemType": "Purchase", "productDetails": { "hierarchyInformation": { - "productFamilyName": "AzureStackEdge", - "productLineName": "AzureStackEdge", - "productName": "AzureStackEdgeGPU", - "configurationName": "AzureStackEdgeGPU" + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" } }, "preferences": { @@ -48,22 +48,21 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "location": "westus" + "location": "eastus" } }, "responses": { @@ -80,7 +79,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -141,25 +140,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T13:08:14.0368516+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json index 6fa54e2c6c9c..e5ebcb7e5483 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteAddressByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "addressName": "TestAddressName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2020-12-01-preview" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json index 1d683f6a4527..c9fc122690f6 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/DeleteOrderItemByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2020-12-01-preview" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json index 16cb0dde1138..20dc67708cc6 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetAddressByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "addressName": "TestMSAddressName", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2020-12-01-preview" ] }, "responses": { @@ -26,18 +26,17 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", - "phoneExtension": "", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json index 82066cc1e357..54d71ca8817c 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderByName.json @@ -1,15 +1,15 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "location": "%7B%7B%7Blocation%7D%7D", - "orderName": "TestOrderItemName901", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "location": "eastus", + "orderName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1?api-version=2020-12-01-preview" ] }, "responses": { @@ -17,7 +17,7 @@ "body": { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" ], "currentStage": { "stageStatus": "Succeeded", @@ -37,8 +37,8 @@ } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orders" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json index 0c8d715d9599..b55ccc9db304 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2020-12-01-preview" ] }, "responses": { @@ -25,7 +25,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -86,25 +86,25 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T13:08:14.0368516+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json index cbe1be06b530..a121ebc575cb 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview" ] }, "responses": { @@ -27,18 +27,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestAddressName0", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -54,18 +54,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -81,18 +81,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json index ac679cf1f5ee..0e41df330c9d 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListAddressesAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/addresses?api-version=2020-12-01-preview" ] }, "responses": { @@ -26,18 +26,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestAddressName0", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -53,18 +53,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -80,18 +80,18 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName3", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName3", "type": "Microsoft.EdgeOrder/addresses" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json index 0c8ee5d37571..93e7c987946e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListConfigurations.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/{{subscriptionId}}/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" @@ -18,9 +18,9 @@ "configurationFilters": [ { "hierarchyInformation": { - "productFamilyName": "AzureStackEdge", - "productLineName": "AzureStackEdge", - "productName": "AzureStackEdgeGPU" + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu" }, "filterableProperty": [ { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json index eb2a98405b2a..9e11132cb240 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOperations.json @@ -5,7 +5,7 @@ "vscode-restclient" ], "Referer": [ - "https://localhost/providers/Microsoft.EdgeOrder/operations?api-version=2020-12-01-preview" + "https://management.azure.com/providers/Microsoft.EdgeOrder/operations?api-version=2020-12-01-preview" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json index 8a1964ba7fc7..2929fd8db198 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview" ] }, "responses": { @@ -17,7 +17,7 @@ { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" ], "currentStage": { "stageStatus": "Succeeded", @@ -37,14 +37,14 @@ } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orders" }, { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" ], "currentStage": { "stageStatus": "Succeeded", @@ -64,8 +64,8 @@ } ] }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orders" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json index 8cae0bc5af33..9b87573851b0 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/orders?api-version=2020-12-01-preview" ] }, "responses": { @@ -16,7 +16,7 @@ { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" ], "currentStage": { "stageStatus": "Succeeded", @@ -36,14 +36,14 @@ } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orders" }, { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" ], "currentStage": { "stageStatus": "Succeeded", @@ -63,8 +63,8 @@ } ] }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orders" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json index 54fbe66e1b3b..40c1ca79c73d 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview" ] }, "responses": { @@ -26,7 +26,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -88,25 +88,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T12:29:25.6656282+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" }, { @@ -121,7 +120,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -183,25 +182,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "32131311", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T12:31:06.1244193+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName2" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orderItems" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json index e88a26910420..7383004438fc 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/orderItems?api-version=2020-12-01-preview" ] }, "responses": { @@ -25,7 +25,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -87,24 +87,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T12:29:25.6656282+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" }, { @@ -119,7 +119,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -181,25 +181,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "32131311", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T12:31:06.1244193+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName2" }, - "location": "westus", + "location": "eastus", "tags": { - "mango": "fruit", - "carrot": "vegetable" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orderItems" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json index 93dc08d1792e..0d605ae7e74b 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamilies.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json index 5aadcaf2d601..8296389cfed2 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListProductFamiliesMetadata.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2020-12-01-preview" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json index 1da3c3459b8c..8850436ccab8 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ReturnOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "orderItemName": "TestOrderName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/return?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/return?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json index d97d12d9ceae..900ce682b9ab 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateAddress.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "addressName": "TestAddressName2", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" @@ -29,19 +29,17 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] } }, "tags": { - "Name": "Smile-Updated", - "Work": "Engineering", - "Hobby": "Web Series Added", - "WhatElse": "Web Series Added" + "tag1": "value1", + "tag2": "value2" } } }, @@ -60,23 +58,21 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus", + "location": "eastus", "tags": { - "name": "Smile-Updated", - "work": "Engineering", - "hobby": "Web Series Added", - "whatElse": "Web Series Added" + "tag1": "value1", + "tag2": "value2" }, "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json index 75f3c28b4fda..e998bd74f51e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", "api-version": "2020-12-01-preview", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2020-12-01-preview" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2020-12-01-preview" ], "Content-Type": [ "application/json; charset=utf-8" @@ -20,10 +20,10 @@ "properties": { "forwardAddress": { "contactDetails": { - "contactName": "Updated contact name", - "phone": "2222200000", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, @@ -34,9 +34,8 @@ } }, "tags": { - "pigeon": "bird", - "tiger": "animal", - "ant": "insect" + "tag1": "value1", + "tag2": "value2" } } }, @@ -54,7 +53,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -116,25 +115,24 @@ "addressType": "Residential" }, "contactDetails": { - "contactName": "Updated contact name", - "phone": "2222200000", + "contactName": "XXXX XXXX", + "phone": "0000000000", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, "startTime": "2021-06-07T13:14:37.4649597+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderItemName1" }, - "location": "westus", + "location": "eastus", "tags": { - "pigeon": "bird", - "tiger": "animal", - "ant": "insect" + "tag1": "value1", + "tag2": "value2" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json index 57f48f211dfb..8381a73684c8 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName1", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3/cancel?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json index eede62a5f0d6..34ae669f8080 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json @@ -1,20 +1,20 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "addressName": "TestMSAddressName", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName2", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "492" + "527" ], "addressResource": { "properties": { @@ -29,15 +29,15 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] } }, - "location": "westus" + "location": "eastus" } }, "responses": { @@ -55,18 +55,23 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json index 51908f3b6837..0645f46179c6 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json @@ -1,20 +1,20 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName2", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "1358" + "1228" ], "orderItemResource": { "properties": { @@ -22,10 +22,10 @@ "orderItemType": "Purchase", "productDetails": { "hierarchyInformation": { - "productFamilyName": "AzureStackEdge", - "productLineName": "AzureStackEdge", - "productName": "AzureStackEdgeGPU", - "configurationName": "AzureStackEdgeGPU" + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu", + "configurationName": "edgep_base" } }, "preferences": { @@ -44,26 +44,21 @@ "country": "US", "postalCode": "94107", "companyName": "Microsoft", - "zipExtendedCode": "1", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] } } }, - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" }, - "tags": { - "mango": "fruit", - "carrot": "vegetable" - }, - "location": "westus" + "location": "eastus" } }, "responses": { @@ -80,7 +75,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -89,7 +84,7 @@ "currentStage": { "stageStatus": "InProgress", "stageName": "Placed", - "startTime": "2021-06-07T13:08:14.0368516+05:30" + "startTime": "2022-03-04T10:58:27.5824859+05:30" }, "orderItemStageHistory": [ { @@ -125,7 +120,12 @@ "notificationEmailList": [], "cancellationStatus": "Cancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -136,30 +136,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T13:08:14.0368516+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orderItems" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json index e030fa8b1633..3af642f0f00c 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "addressName": "TestAddressName1", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2021-12-01" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json index 4c0e005a2171..8f081e56446a 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3?api-version=2021-12-01" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json index 1b0165a28fcf..53826469ce4e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "addressName": "TestMSAddressName", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "addressName": "TestAddressName1", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2021-12-01" ] }, "responses": { @@ -26,18 +26,23 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json index e7512537e4d0..1e08482f7a96 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json @@ -1,15 +1,15 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "location": "%7B%7B%7Blocation%7D%7D", - "orderName": "TestOrderItemName901", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "location": "eastus", + "orderName": "TestOrderName3", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3?api-version=2021-12-01" ] }, "responses": { @@ -17,28 +17,32 @@ "body": { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3" ], "currentStage": { "stageStatus": "Succeeded", "stageName": "InReview", - "startTime": "2021-06-07T15:30:35.4512229+05:30" + "startTime": "2022-03-04T11:35:20.8521455+05:30" }, "orderStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T15:24:58.7140341+05:30" + "startTime": "2022-03-04T11:30:30.2717243+05:30" }, { "stageStatus": "Succeeded", "stageName": "InReview", - "startTime": "2021-06-07T15:30:35.4512229+05:30" + "startTime": "2022-03-04T11:35:20.8521455+05:30" } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderName3", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3", "type": "Microsoft.EdgeOrder/orders" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json index 74b8cdb589b7..7681b1bd605e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName1", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1?api-version=2021-12-01" ] }, "responses": { @@ -25,25 +25,27 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" }, "orderItemType": "Purchase", "currentStage": { - "stageStatus": "InProgress", - "stageName": "Placed", - "startTime": "2021-06-07T13:08:14.0368516+05:30" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, "orderItemStageHistory": [ { - "stageStatus": "None", - "stageName": "Placed" + "stageStatus": "Succeeded", + "stageName": "Placed", + "startTime": "2022-03-04T10:55:54.3427968+05:30" }, { - "stageStatus": "None", - "stageName": "Confirmed" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, { "stageStatus": "None", @@ -68,9 +70,14 @@ } }, "notificationEmailList": [], - "cancellationStatus": "Cancellable", + "cancellationStatus": "NotCancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -81,30 +88,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T13:08:14.0368516+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" } } diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json index a04e3db96cf1..2bc9f2774792 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" ] }, "responses": { @@ -27,45 +27,23 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] - } - }, - "location": "westus", - "tags": {}, - "name": "TestAddressName0", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", - "type": "Microsoft.EdgeOrder/addresses" - }, - { - "properties": { - "shippingAddress": { - "streetAddress1": "16 TOWNSEND ST", - "streetAddress2": "UNIT 1", - "city": "San Francisco", - "stateOrProvince": "CA", - "country": "US", - "postalCode": "94107", - "companyName": "Microsoft", - "addressType": "None" }, - "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", - "phoneExtension": "", - "emailList": [ - "ssemmail@microsoft.com" - ] - } + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -81,18 +59,26 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "YYYY YYYY", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" }, - "location": "westus", - "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "name": "TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json index ea09929e1bd1..4c6e1cf25f5e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01" ] }, "responses": { @@ -26,45 +26,23 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com" + "xxxx@xxxx.xxx" ] - } - }, - "location": "westus", - "tags": {}, - "name": "TestAddressName0", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0", - "type": "Microsoft.EdgeOrder/addresses" - }, - { - "properties": { - "shippingAddress": { - "streetAddress1": "16 TOWNSEND ST", - "streetAddress2": "UNIT 1", - "city": "San Francisco", - "stateOrProvince": "CA", - "country": "US", - "postalCode": "94107", - "companyName": "Microsoft", - "addressType": "None" }, - "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", - "phoneExtension": "", - "emailList": [ - "ssemmail@microsoft.com" - ] - } + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "name": "TestAddressName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName1", "type": "Microsoft.EdgeOrder/addresses" }, { @@ -80,18 +58,23 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "XXXX XXXX", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": {}, - "name": "TestMSAddressName", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName", + "name": "TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json index 30aaeb78e7dc..a8690bfbc9d9 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json @@ -1,26 +1,26 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/{{subscriptionId}}/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "396" + "360" ], "configurationsRequest": { "configurationFilters": [ { "hierarchyInformation": { - "productFamilyName": "AzureStackEdge", - "productLineName": "AzureStackEdge", - "productName": "AzureStackEdgeGPU" + "productFamilyName": "azurestackedge", + "productLineName": "azurestackedge", + "productName": "azurestackedgegpu" }, "filterableProperty": [ { @@ -55,20 +55,19 @@ } ], "dimensions": { - "length": 50.0, - "height": 15.0, - "width": 5.0, + "length": 50, + "height": 15, + "width": 5, "lengthHeightUnit": "IN", - "weight": 50.0, - "depth": 2.0, + "weight": 50, + "depth": 2, "weightUnit": "LBS" }, "filterableProperties": [ { "type": "ShipToCountries", "supportedValues": [ - "US", - "AR" + "US" ] } ], diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json index 481b303ffbc0..50a00054929e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json @@ -5,7 +5,7 @@ "vscode-restclient" ], "Referer": [ - "https://localhost/providers/Microsoft.EdgeOrder/operations?api-version=2021-12-01" + "https://management.azure.com/providers/Microsoft.EdgeOrder/operations?api-version=2021-12-01" ] }, "responses": { diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json index f7ef345a3f4f..844fcae2a4d1 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" ] }, "responses": { @@ -17,55 +17,60 @@ { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" ], "currentStage": { "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:13:35.0789537+05:30" + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" }, "orderStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T13:08:16.3198555+05:30" + "startTime": "2022-03-04T10:55:46.9437439+05:30" }, { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:13:35.0789537+05:30" + "stageStatus": "None", + "stageName": "InReview" } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1", "type": "Microsoft.EdgeOrder/orders" }, { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" ], "currentStage": { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:19:40.9984759+05:30" + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2022-03-04T10:58:46.5241979+05:30" }, "orderStageHistory": [ { - "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T13:14:39.9413253+05:30" + "stageStatus": "None", + "stageName": "Placed" }, { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:19:40.9984759+05:30" + "stageStatus": "None", + "stageName": "InReview" } ] }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2", "type": "Microsoft.EdgeOrder/orders" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json index 664c655740ea..1e73566ad0cb 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01" ] }, "responses": { @@ -16,55 +16,60 @@ { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1" ], "currentStage": { "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:13:35.0789537+05:30" + "stageName": "Placed", + "startTime": "2022-03-04T10:55:46.9437439+05:30" }, "orderStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T13:08:16.3198555+05:30" + "startTime": "2022-03-04T10:55:46.9437439+05:30" }, { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:13:35.0789537+05:30" + "stageStatus": "None", + "stageName": "InReview" } ] }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1", "type": "Microsoft.EdgeOrder/orders" }, { "properties": { "orderItemIds": [ - "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01" + "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2" ], "currentStage": { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:19:40.9984759+05:30" + "stageStatus": "InProgress", + "stageName": "Placed", + "startTime": "2022-03-04T10:58:46.5241979+05:30" }, "orderStageHistory": [ { - "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T13:14:39.9413253+05:30" + "stageStatus": "None", + "stageName": "Placed" }, { - "stageStatus": "Succeeded", - "stageName": "InReview", - "startTime": "2021-06-07T13:19:40.9984759+05:30" + "stageStatus": "None", + "stageName": "InReview" } ] }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01", + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" + }, + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2", "type": "Microsoft.EdgeOrder/orders" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json index 4668b8ff89cd..b35b1bf8f0dc 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json @@ -1,13 +1,13 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" ] }, "responses": { @@ -26,7 +26,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -34,18 +34,19 @@ "orderItemType": "Purchase", "currentStage": { "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T12:29:33.9791927+05:30" + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, "orderItemStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T12:29:33.9791927+05:30" + "startTime": "2022-03-04T10:55:54.3427968+05:30" }, { - "stageStatus": "None", - "stageName": "Confirmed" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, { "stageStatus": "None", @@ -70,9 +71,14 @@ } }, "notificationEmailList": [], - "cancellationStatus": "Cancellable", + "cancellationStatus": "NotCancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -83,30 +89,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T12:29:25.6656282+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" }, { @@ -121,7 +128,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -129,18 +136,19 @@ "orderItemType": "Purchase", "currentStage": { "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T12:49:48.8869361+05:30" + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" }, "orderItemStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T12:31:07.7430555+05:30" + "startTime": "2022-03-04T10:59:04.9701334+05:30" }, { - "stageStatus": "None", - "stageName": "Confirmed" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" }, { "stageStatus": "None", @@ -165,9 +173,14 @@ } }, "notificationEmailList": [], - "cancellationStatus": "Cancellable", + "cancellationStatus": "NotCancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -178,30 +191,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "32131311", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T12:31:06.1244193+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orderItems" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json index 6213db650e23..30d5e2894c4e 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01" ] }, "responses": { @@ -25,7 +25,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -33,18 +33,19 @@ "orderItemType": "Purchase", "currentStage": { "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T12:29:33.9791927+05:30" + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, "orderItemStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T12:29:33.9791927+05:30" + "startTime": "2022-03-04T10:55:54.3427968+05:30" }, { - "stageStatus": "None", - "stageName": "Confirmed" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:05:00.3575338+05:30" }, { "stageStatus": "None", @@ -69,9 +70,14 @@ } }, "notificationEmailList": [], - "cancellationStatus": "Cancellable", + "cancellationStatus": "NotCancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -82,29 +88,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "3213131190", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T12:29:25.6656282+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901" + "startTime": "2022-03-04T10:55:10.2820482+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName1" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName901", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName1", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1", "type": "Microsoft.EdgeOrder/orderItems" }, { @@ -119,7 +127,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -127,18 +135,19 @@ "orderItemType": "Purchase", "currentStage": { "stageStatus": "Succeeded", - "stageName": "Placed", - "startTime": "2021-06-07T12:49:48.8869361+05:30" + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" }, "orderItemStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T12:31:07.7430555+05:30" + "startTime": "2022-03-04T10:59:04.9701334+05:30" }, { - "stageStatus": "None", - "stageName": "Confirmed" + "stageStatus": "Succeeded", + "stageName": "Confirmed", + "startTime": "2022-03-04T11:07:29.9896685+05:30" }, { "stageStatus": "None", @@ -163,9 +172,14 @@ } }, "notificationEmailList": [], - "cancellationStatus": "Cancellable", + "cancellationStatus": "NotCancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -176,30 +190,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "164 TOWNSEND ST", - "phone": "32131311", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "ssemmail@microsoft.com", - "vishwamdir@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T12:31:06.1244193+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "startTime": "2022-03-04T10:58:27.5824859+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName2" }, - "location": "westus", - "tags": { - "mango": "fruit", - "carrot": "vegetable" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName2", "type": "Microsoft.EdgeOrder/orderItems" } ] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json index d7b99d804797..41f1ccd671c3 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json @@ -1,18 +1,19 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", + "$expand": "configurations", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "181" + "159" ], "productFamiliesRequest": { "filterableProperties": { @@ -57,12 +58,12 @@ } ], "dimensions": { - "length": 50.0, - "height": 15.0, - "width": 5.0, + "length": 50, + "height": 15, + "width": 5, "lengthHeightUnit": "IN", - "weight": 50.0, - "depth": 2.0, + "weight": 50, + "depth": 2, "weightUnit": "LBS" }, "filterableProperties": [ @@ -113,7 +114,7 @@ "description": { "descriptionType": "Base", "shortDescription": "Azure managed physical edge compute device", - "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two GPUs basis your business need", + "longDescription": "Azure Stack Edge Pro is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the following configurations based upon your business need", "keywords": [ "GPU" ], @@ -125,7 +126,7 @@ "links": [ { "linkType": "Specification", - "linkUrl": "https://aka.ms/ase-gpu-devicespecs" + "linkUrl": "https://aka.ms/edgeHWcenter-asepro-devicespec" }, { "linkType": "Generic", @@ -137,7 +138,7 @@ }, { "linkType": "KnowMore", - "linkUrl": "https://aka.ms/ase-documentation" + "linkUrl": "https://aka.ms/edgeHWcenter-asepro-documentation" } ] }, @@ -161,6 +162,12 @@ "supportedValues": [ "US" ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] } ], "displayName": "Azure Stack Edge", @@ -184,9 +191,29 @@ } } ], + "resourceProviderDetails": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ], + "filterableProperties": [ + { + "type": "ShipToCountries", + "supportedValues": [ + "US" + ] + }, + { + "type": "DoubleEncryptionStatus", + "supportedValues": [ + "Enabled" + ] + } + ], "displayName": "Azure Stack Edge", "description": { "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", "keywords": [], "attributes": [], "links": [] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json index b8dd729e0068..28d5191e1395 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json @@ -1,12 +1,12 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", + "subscriptionId": "YourSubscriptionId", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2021-12-01" ] }, "responses": { @@ -16,6 +16,11 @@ { "properties": { "productLines": [], + "resourceProviderDetails": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ], "filterableProperties": [ { "type": "ShipToCountries", @@ -33,6 +38,7 @@ "displayName": "Azure Stack Edge", "description": { "descriptionType": "Base", + "shortDescription": "Azure managed physical edge compute device", "keywords": [], "attributes": [], "links": [] diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json index 82b49f710b21..0363be934418 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json @@ -1,14 +1,14 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderName1", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderName4", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/return?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName4/return?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json index 192e6988663d..927b4ab03f56 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json @@ -1,25 +1,25 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", "addressName": "TestAddressName2", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "612" + "517" ], "addressUpdateParameter": { "properties": { "shippingAddress": { - "streetAddress1": "16 TOWNSEND STT", + "streetAddress1": "16 TOWNSEND ST", "streetAddress2": "UNIT 1", "city": "San Francisco", "stateOrProvince": "CA", @@ -29,19 +29,17 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "YYYY YYYY", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] } }, "tags": { - "Name": "Smile-Updated", - "Work": "Engineering", - "Hobby": "Web Series Added", - "WhatElse": "Web Series Added" + "tag1": "value1", + "tag2": "value2" } } }, @@ -50,7 +48,7 @@ "body": { "properties": { "shippingAddress": { - "streetAddress1": "16 TOWNSEND STT", + "streetAddress1": "16 TOWNSEND ST", "streetAddress2": "UNIT 1", "city": "San Francisco", "stateOrProvince": "CA", @@ -60,23 +58,26 @@ "addressType": "None" }, "contactDetails": { - "contactName": "Petr Cech", - "phone": "1234567890", + "contactName": "YYYY YYYY", + "phone": "0000000000", "phoneExtension": "", "emailList": [ - "ssemcr@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" + }, + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "location": "westus", + "location": "eastus", "tags": { - "name": "Smile-Updated", - "work": "Engineering", - "hobby": "Web Series Added", - "whatElse": "Web Series Added" + "tag1": "value1", + "tag2": "value2" }, "name": "TestAddressName2", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/addresses/TestAddressName2", "type": "Microsoft.EdgeOrder/addresses" } }, diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json index 7011ce3cae89..0dd49b192fa2 100644 --- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json +++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json @@ -1,42 +1,28 @@ { "parameters": { - "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f", - "resourceGroupName": "TestRG", - "orderItemName": "TestOrderItemName01", + "subscriptionId": "YourSubscriptionId", + "resourceGroupName": "YourResourceGroupName", + "orderItemName": "TestOrderItemName3", "api-version": "2021-12-01", "User-Agent": [ "vscode-restclient" ], "Referer": [ - "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01" + "https://management.azure.com/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3?api-version=2021-12-01" ], "Content-Type": [ "application/json; charset=utf-8" ], "Content-Length": [ - "533" + "175" ], "orderItemUpdateParameter": { "properties": { - "forwardAddress": { - "contactDetails": { - "contactName": "Updated contact name", - "phone": "2222200000", - "emailList": [ - "testemail@microsoft.com" - ] - } - }, "preferences": { "transportPreferences": { "preferredShipmentType": "CustomerManaged" } } - }, - "tags": { - "pigeon": "bird", - "tiger": "animal", - "ant": "insect" } } }, @@ -54,7 +40,7 @@ "productFamilyName": "azurestackedge", "productLineName": "azurestackedge", "productName": "azurestackedgegpu", - "configurationName": "azurestackedgegpu" + "configurationName": "edgep_base" }, "count": 0, "productDoubleEncryptionStatus": "Disabled" @@ -63,13 +49,13 @@ "currentStage": { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T13:14:40.0815406+05:30" + "startTime": "2022-03-04T11:30:31.5838042+05:30" }, "orderItemStageHistory": [ { "stageStatus": "Succeeded", "stageName": "Placed", - "startTime": "2021-06-07T13:14:40.0815406+05:30" + "startTime": "2022-03-04T11:30:31.5838042+05:30" }, { "stageStatus": "None", @@ -100,7 +86,12 @@ "notificationEmailList": [], "cancellationStatus": "Cancellable", "deletionStatus": "NotAllowed", - "returnStatus": "NotReturnable" + "returnStatus": "NotReturnable", + "managementRpDetailsList": [ + { + "resourceProviderNamespace": "Microsoft.DataBoxEdge" + } + ] }, "addressDetails": { "forwardAddress": { @@ -111,30 +102,31 @@ "stateOrProvince": "CA", "country": "US", "postalCode": "94107", - "zipExtendedCode": "1", "companyName": "Microsoft", - "addressType": "Residential" + "addressType": "None" }, "contactDetails": { - "contactName": "Updated contact name", - "phone": "2222200000", + "contactName": "XXXX XXXX", + "phone": "0000000000", + "phoneExtension": "", "emailList": [ - "testemail@microsoft.com" + "xxxx@xxxx.xxx" ] - } + }, + "addressValidationStatus": "Valid" } }, - "startTime": "2021-06-07T13:14:37.4649597+05:30", - "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01" + "startTime": "2022-03-04T11:29:47.3483197+05:30", + "orderId": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/locations/eastus/orders/TestOrderName3" }, - "location": "westus", - "tags": { - "pigeon": "bird", - "tiger": "animal", - "ant": "insect" + "systemData": { + "createdAt": "0001-01-01T05:30:00+05:30", + "lastModifiedAt": "0001-01-01T05:30:00+05:30" }, - "name": "TestOrderItemName01", - "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01", + "location": "eastus", + "tags": {}, + "name": "TestOrderItemName3", + "id": "/subscriptions/YourSubscriptionId/resourceGroups/YourResourceGroupName/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName3", "type": "Microsoft.EdgeOrder/orderItems" } }, diff --git a/specification/edgeorder/resource-manager/readme.python.md b/specification/edgeorder/resource-manager/readme.python.md index ab9658f0d83a..2b1e5647e5f3 100644 --- a/specification/edgeorder/resource-manager/readme.python.md +++ b/specification/edgeorder/resource-manager/readme.python.md @@ -5,7 +5,7 @@ Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-12-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-12-preview' && $(python) namespace: azure.mgmt.edgeorder.v2020_12_01_preview output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2020_12_01_preview ``` @@ -47,7 +46,7 @@ output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/e These settings apply only when `--tag=package-2021-12 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-12' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-12' && $(python) namespace: azure.mgmt.edgeorder.v2021_12_01 output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2021_12_01 ``` \ No newline at end of file diff --git a/specification/elastic/resource-manager/readme.python.md b/specification/elastic/resource-manager/readme.python.md index 6ce827f95e5c..3a536f37ba7a 100644 --- a/specification/elastic/resource-manager/readme.python.md +++ b/specification/elastic/resource-manager/readme.python.md @@ -4,46 +4,14 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. ```yaml $(python) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.elastic - package-name: azure-mgmt-elastic - package-version: 2020-07-01-preview - clear-output-folder: true -``` - -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt-elastic/azure/mgmt/elastic -``` - -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-elastic -``` - -These settings apply only when `--track2` is specified on the command line. - -``` yaml $(track2) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.elastic package-name: azure-mgmt-elastic -no-namespace-folders: true package-version: 2020-07-01-preview clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true -output-folder: $(python-sdks-folder)/azure-mgmt-elastic/azure/mgmt/elastic -``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azure-mgmt-elastic +output-folder: $(python-sdks-folder)/elastic/azure-mgmt-elastic/azure/mgmt/elastic ``` diff --git a/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/HealthcareApis.json b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/HealthcareApis.json new file mode 100644 index 000000000000..6061eaf83259 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/HealthcareApis.json @@ -0,0 +1,58 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-01-01", + "title": "Schema of Azure HealthcareApis events published to Azure Event Grid.", + "description": "Describes the schema of the Azure HealthcareApis events published to Azure Event Grid. This corresponds to the Data property of an EventGridEvent." + }, + "paths": {}, + "definitions": { + "FhirResourceCreatedEventData": { + "description": "Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceCreated event.", + "allOf": [ + { + "$ref": "#/definitions/FhirResourceEventBaseProperties" + } + ] + }, + "FhirResourceUpdatedEventData": { + "description": "Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceUpdated event.", + "allOf": [ + { + "$ref": "#/definitions/FhirResourceEventBaseProperties" + } + ] + }, + "FhirResourceDeletedEventData": { + "description": "Schema of the Data property of an EventGridEvent for a Microsoft.HealthcareApis.FhirResourceDeleted event.", + "allOf": [ + { + "$ref": "#/definitions/FhirResourceEventBaseProperties" + } + ] + }, + "FhirResourceEventBaseProperties": { + "description": "Schema of common properties of all FhirResource events", + "type": "object", + "properties": { + "resourceType": { + "description": "Type of HL7 FHIR resource.", + "type": "string" + }, + "resourceFhirAccount": { + "description": "Domain name of FHIR account for this resource.", + "type": "string" + }, + "resourceFhirId": { + "description": "Id of HL7 FHIR resource.", + "type": "string" + }, + "resourceVersionId": { + "description": "VersionId of HL7 FHIR resource. It changes when the resource is created, updated, or deleted(soft-deletion).", + "type": "integer", + "format": "int64" + } + } + } + } +} diff --git a/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_created.json b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_created.json new file mode 100644 index 000000000000..c0cc7c359260 --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_created.json @@ -0,0 +1,15 @@ +{ + "id": "e4c7f556-d72c-e7f7-1069-1e82ac76ab41", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}", + "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902", + "data": { + "resourceType": "Patient", + "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com", + "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902", + "resourceVersionId": 1 + }, + "eventType": "Microsoft.HealthcareApis.FhirResourceCreated", + "dataVersion": "1", + "metadataVersion": "1", + "eventTime": "2021-09-08T01:14:04.5613214Z" +} diff --git a/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_deleted.json b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_deleted.json new file mode 100644 index 000000000000..14c2bedbb18f --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_deleted.json @@ -0,0 +1,15 @@ +{ + "id": "ef289b93-3159-b833-3a44-dc6b86ed1a8a", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}", + "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902", + "data": { + "resourceType": "Patient", + "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com", + "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902", + "resourceVersionId": 3 + }, + "eventType": "Microsoft.HealthcareApis.FhirResourceDeleted", + "dataVersion": "3", + "metadataVersion": "1", + "eventTime": "2021-09-08T01:31:58.5175837Z" +} diff --git a/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_updated.json b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_updated.json new file mode 100644 index 000000000000..bb9cf00bee4e --- /dev/null +++ b/specification/eventgrid/data-plane/Microsoft.HealthcareApis/stable/2018-01-01/examples/fhir_resource_updated.json @@ -0,0 +1,15 @@ +{ + "id": "634bd421-8467-f23c-b8cb-f6a31e41c32a", + "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.HealthcareApis/workspaces/{workspace-name}", + "subject": "{fhir-account}.fhir.azurehealthcareapis.com/Patient/e0a1f743-1a70-451f-830e-e96477163902", + "data": { + "resourceType": "Patient", + "resourceFhirAccount": "{fhir-account}.fhir.azurehealthcareapis.com", + "resourceFhirId": "e0a1f743-1a70-451f-830e-e96477163902", + "resourceVersionId": 2 + }, + "eventType": "Microsoft.HealthcareApis.FhirResourceUpdated", + "dataVersion": "2", + "metadataVersion": "1", + "eventTime": "2021-09-08T01:29:12.0618739Z" +} diff --git a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json index 8a0a1d0fdf94..b85e8b5f37fd 100644 --- a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json +++ b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json @@ -131,7 +131,8 @@ "UploadTransientError", "ConfigurationUnsupported", "ContentMalformed", - "ContentUnsupported" + "ContentUnsupported", + "IdentityUnsupported" ], "x-ms-enum": { "name": "MediaJobErrorCode", @@ -171,6 +172,10 @@ { "value": "ContentUnsupported", "description": "There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files." + }, + { + "value": "IdentityUnsupported", + "description": "There is an error verifying to the account identity. Check and fix the identity configurations and retry. If unsuccessful, please contact support." } ], "modelAsExtensible": true @@ -191,7 +196,8 @@ "Download", "Upload", "Configuration", - "Content" + "Content", + "Account" ], "x-ms-enum": { "name": "MediaJobErrorCategory", @@ -215,6 +221,10 @@ { "value": "Content", "description": "The error is related to data in the input files." + }, + { + "value": "Account", + "description": "The error is related to account information." } ], "modelAsExtensible": true diff --git a/specification/eventgrid/data-plane/readme.md b/specification/eventgrid/data-plane/readme.md index 1a5f3070fd3e..0fe7848dbf7e 100644 --- a/specification/eventgrid/data-plane/readme.md +++ b/specification/eventgrid/data-plane/readme.md @@ -133,6 +133,7 @@ input-file: - Microsoft.PolicyInsights/stable/2018-01-01/PolicyInsights.json - Microsoft.ContainerService/stable/2018-01-01/ContainerService.json - Microsoft.ApiManagement/stable/2018-01-01/APIManagement.json +- Microsoft.HealthcareApis/stable/2018-01-01/HealthcareApis.json ``` @@ -230,7 +231,7 @@ input-file: - $(this-folder)/Microsoft.Communication/stable/2018-01-01/AzureCommunicationServices.json - $(this-folder)/Microsoft.ContainerService/stable/2018-01-01/ContainerService.json - $(this-folder)/Microsoft.ApiManagement/stable/2018-01-01/APIManagement.json - + - $(this-folder)/Microsoft.HealthcareApis/stable/2018-01-01/HealthcareApis.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/EventGrid.json new file mode 100644 index 000000000000..d40e2c382091 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/EventGrid.json @@ -0,0 +1,12184 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-15-preview", + "title": "EventGridManagementClient", + "description": "Azure EventGrid Management Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/channels/{channelName}": { + "get": { + "tags": [ + "Channels" + ], + "summary": "Get a channel.", + "description": "Get properties of a channel.", + "operationId": "Channels_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "channelName", + "in": "path", + "description": "Name of the channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Channel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_Get": { + "$ref": "./examples/Channels_Get.json" + } + } + }, + "put": { + "tags": [ + "Channels" + ], + "summary": "Create or update a channel.", + "description": "Synchronously creates or updates a new channel with the specified parameters.", + "operationId": "Channels_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "channelName", + "in": "path", + "description": "Name of the channel.", + "required": true, + "type": "string" + }, + { + "name": "channelInfo", + "in": "body", + "description": "Channel information.", + "required": true, + "schema": { + "$ref": "#/definitions/Channel" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Channel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Channel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_CreateOrUpdate": { + "$ref": "./examples/Channels_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "Channels" + ], + "summary": "Delete a channel.", + "description": "Delete an existing channel.", + "operationId": "Channels_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "channelName", + "in": "path", + "description": "Name of the channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_Delete": { + "$ref": "./examples/Channels_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Channels" + ], + "summary": "Update a Channel.", + "description": "Synchronously updates a channel with the specified parameters.", + "operationId": "Channels_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "channelName", + "in": "path", + "description": "Name of the channel.", + "required": true, + "type": "string" + }, + { + "name": "channelUpdateParameters", + "in": "body", + "description": "Channel update information.", + "required": true, + "schema": { + "$ref": "#/definitions/ChannelUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_Update": { + "$ref": "./examples/Channels_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/channels": { + "get": { + "tags": [ + "Channels" + ], + "summary": "List channels.", + "description": "List all the channels in a partner namespace.", + "operationId": "Channels_ListByPartnerNamespace", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ChannelsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_ListByPartnerNamespace": { + "$ref": "./examples/Channels_ListByPartnerNamespace.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/channels/{channelName}/getFullUrl": { + "post": { + "tags": [ + "Channels" + ], + "summary": "Get full URL of partner destination channel.", + "description": "Get the full endpoint URL of a partner destination channel.", + "operationId": "Channels_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the partners subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "channelName", + "in": "path", + "description": "Name of the Channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Channels_GetFullUrl": { + "$ref": "./examples/Channels_GetFullUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": { + "get": { + "tags": [ + "Domains" + ], + "summary": "Get a domain.", + "description": "Get properties of a domain.", + "operationId": "Domains_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Get": { + "$ref": "./examples/Domains_Get.json" + } + } + }, + "put": { + "tags": [ + "Domains" + ], + "summary": "Create or update a domain.", + "description": "Asynchronously creates or updates a new domain with the specified parameters.", + "operationId": "Domains_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainInfo", + "in": "body", + "description": "Domain information.", + "required": true, + "schema": { + "$ref": "#/definitions/Domain" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_CreateOrUpdate": { + "$ref": "./examples/Domains_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Domains" + ], + "summary": "Delete a domain.", + "description": "Delete existing domain.", + "operationId": "Domains_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Delete": { + "$ref": "./examples/Domains_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Domains" + ], + "summary": "Update a domain.", + "description": "Asynchronously updates a domain with the specified parameters.", + "operationId": "Domains_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainUpdateParameters", + "in": "body", + "description": "Domain update information.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Domain update request accepted.", + "schema": { + "$ref": "#/definitions/Domain" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_Update": { + "$ref": "./examples/Domains_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under an Azure subscription.", + "description": "List all the domains under an Azure subscription.", + "operationId": "Domains_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListBySubscription": { + "$ref": "./examples/Domains_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": { + "get": { + "tags": [ + "Domains" + ], + "summary": "List domains under a resource group.", + "description": "List all the domains under a resource group.", + "operationId": "Domains_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListByResourceGroup": { + "$ref": "./examples/Domains_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": { + "post": { + "tags": [ + "Domains" + ], + "summary": "List keys for a domain.", + "description": "List the two keys used to publish to a domain.", + "operationId": "Domains_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_ListSharedAccessKeys": { + "$ref": "./examples/Domains_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": { + "post": { + "tags": [ + "Domains" + ], + "summary": "Regenerate key for a domain.", + "description": "Regenerate a shared access key for a domain.", + "operationId": "Domains_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/DomainRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Domains_RegenerateKey": { + "$ref": "./examples/Domains_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "Get a domain topic.", + "description": "Get properties of a domain topic.", + "operationId": "DomainTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_Get": { + "$ref": "./examples/DomainTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "DomainTopics" + ], + "summary": "Create or update a domain topic.", + "description": "Asynchronously creates or updates a new domain topic with the specified parameters.", + "operationId": "DomainTopics_CreateOrUpdate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DomainTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_CreateOrUpdate": { + "$ref": "./examples/DomainTopics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DomainTopics" + ], + "summary": "Delete a domain topic.", + "description": "Delete existing domain topic.", + "operationId": "DomainTopics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "domainTopicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_Delete": { + "$ref": "./examples/DomainTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": { + "get": { + "tags": [ + "DomainTopics" + ], + "summary": "List domain topics.", + "description": "List all the topics in a domain.", + "operationId": "DomainTopics_ListByDomain", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DomainTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopics_ListByDomain": { + "$ref": "./examples/DomainTopics_ListByDomain.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels/{eventChannelName}": { + "get": { + "tags": [ + "EventChannels" + ], + "summary": "Get an event channel.", + "description": "Get properties of an event channel.", + "operationId": "EventChannels_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "eventChannelName", + "in": "path", + "description": "Name of the event channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventChannel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventChannels_Get": { + "$ref": "./examples/EventChannels_Get.json" + } + } + }, + "put": { + "tags": [ + "EventChannels" + ], + "summary": "Create an event channel.", + "description": "Asynchronously creates a new event channel with the specified parameters.", + "operationId": "EventChannels_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "eventChannelName", + "in": "path", + "description": "Name of the event channel.", + "required": true, + "type": "string" + }, + { + "name": "eventChannelInfo", + "in": "body", + "description": "EventChannel information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventChannel" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventChannel" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventChannels_CreateOrUpdate": { + "$ref": "./examples/EventChannels_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "EventChannels" + ], + "summary": "Delete an event channel.", + "description": "Delete existing event channel.", + "operationId": "EventChannels_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "eventChannelName", + "in": "path", + "description": "Name of the event channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventChannels_Delete": { + "$ref": "./examples/EventChannels_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/eventChannels": { + "get": { + "tags": [ + "EventChannels" + ], + "summary": "List event channels.", + "description": "List all the event channels in a partner namespace.", + "operationId": "EventChannels_ListByPartnerNamespace", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventChannelsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventChannels_ListByPartnerNamespace": { + "$ref": "./examples/EventChannels_ListByPartnerNamespace.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription.", + "description": "Get properties of an event subscription.", + "operationId": "EventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetForSubscription": { + "$ref": "./examples/EventSubscriptions_GetForSubscription.json" + }, + "EventSubscriptions_GetForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json" + }, + "EventSubscriptions_GetForResource": { + "$ref": "./examples/EventSubscriptions_GetForResource.json" + }, + "EventSubscriptions_GetForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json" + }, + "EventSubscriptions_GetForCustomTopic_WebhookDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_WebhookDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_EventHubDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_EventHubDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_HybridConnectionDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_HybridConnectionDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_StorageQueueDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_StorageQueueDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_AzureFunctionDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_AzureFunctionDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_ServiceBusTopicDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_ServiceBusTopicDestination.json" + }, + "EventSubscriptions_GetForCustomTopic_ServiceBusQueueDestination": { + "$ref": "./examples/EventSubscriptions_GetForCustomTopic_ServiceBusQueueDestination.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.", + "operationId": "EventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "EventSubscription CreateOrUpdate request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_CreateOrUpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json" + }, + "EventSubscriptions_CreateOrUpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json" + }, + "EventSubscriptions_CreateOrUpdateForResource": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_AzureFunctionDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_AzureFunctionDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusTopicDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusTopicDestination.json" + }, + "EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusQueueDestination": { + "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusQueueDestination.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription.", + "description": "Delete an existing event subscription.", + "operationId": "EventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_DeleteForSubscription": { + "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json" + }, + "EventSubscriptions_DeleteForResourceGroup": { + "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json" + }, + "EventSubscriptions_DeleteForResource": { + "$ref": "./examples/EventSubscriptions_DeleteForResource.json" + }, + "EventSubscriptions_DeleteForCustomTopic": { + "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update an event subscription.", + "description": "Asynchronously updates an existing event subscription.", + "operationId": "EventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "EventSubscription update request accepted.", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_UpdateForSubscription": { + "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json" + }, + "EventSubscriptions_UpdateForResourceGroup": { + "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json" + }, + "EventSubscriptions_UpdateForResource": { + "$ref": "./examples/EventSubscriptions_UpdateForResource.json" + }, + "EventSubscriptions_UpdateForCustomTopic": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json" + }, + "EventSubscriptions_UpdateForCustomTopic_WebhookDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_WebhookDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_EventHubDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_EventHubDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_HybridConnectionDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_HybridConnectionDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_StorageQueueDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_StorageQueueDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_AzureFunctionDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_AzureFunctionDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_ServiceBusTopicDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusTopicDestination.json" + }, + "EventSubscriptions_UpdateForCustomTopic_ServiceBusQueueDestination": { + "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusQueueDestination.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get a nested event subscription for domain topic.", + "description": "Get properties of a nested event subscription for a domain topic.", + "operationId": "DomainTopicEventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_Get": { + "$ref": "./examples/DomainTopicEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update a nested event subscription to a domain topic.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription.", + "operationId": "DomainTopicEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/DomainTopicEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete a nested event subscription for a domain topic.", + "description": "Delete a nested existing event subscription for a domain topic.", + "operationId": "DomainTopicEventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be deleted. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_Delete": { + "$ref": "./examples/DomainTopicEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update a nested event subscription for a domain topic.", + "description": "Update an existing event subscription for a domain topic.", + "operationId": "DomainTopicEventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_Update": { + "$ref": "./examples/DomainTopicEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription of a topic.", + "description": "Get properties of an event subscription of a topic.", + "operationId": "TopicEventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be found. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_Get": { + "$ref": "./examples/TopicEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription to a topic.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription.", + "operationId": "TopicEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/TopicEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription for a topic.", + "description": "Delete an existing event subscription for a topic.", + "operationId": "TopicEventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be deleted. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_Delete": { + "$ref": "./examples/TopicEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update an event subscription for a topic.", + "description": "Update an existing event subscription for a topic.", + "operationId": "TopicEventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_Update": { + "$ref": "./examples/TopicEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription of a domain.", + "description": "Get properties of an event subscription of a domain.", + "operationId": "DomainEventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be found. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_Get": { + "$ref": "./examples/DomainEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription to a domain.", + "description": "Asynchronously creates a new event subscription or updates an existing event subscription.", + "operationId": "DomainEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/DomainEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription for a domain.", + "description": "Delete an existing event subscription for a domain.", + "operationId": "DomainEventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be deleted. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_Delete": { + "$ref": "./examples/DomainEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update an event subscription for a domain.", + "description": "Update an existing event subscription for a topic.", + "operationId": "DomainEventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be updated.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_Update": { + "$ref": "./examples/DomainEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription of a system topic.", + "description": "Get an event subscription.", + "operationId": "SystemTopicEventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_Get": { + "$ref": "./examples/SystemTopicEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription for a system topic.", + "description": "Asynchronously creates or updates an event subscription with the specified parameters. Existing event subscriptions will be updated with this API.", + "operationId": "SystemTopicEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/SystemTopicEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription of a system topic.", + "description": "Delete an existing event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_Delete": { + "$ref": "./examples/SystemTopicEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update event subscription of a system topic.", + "description": "Update an existing event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_Update": { + "$ref": "./examples/SystemTopicEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription of a system topic", + "description": "Get the full endpoint URL for an event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription.", + "description": "Get the full endpoint URL for an event subscription.", + "operationId": "EventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetFullUrlForSubscription": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json" + }, + "EventSubscriptions_GetFullUrlForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json" + }, + "EventSubscriptions_GetFullUrlForResource": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json" + }, + "EventSubscriptions_GetFullUrlForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List event subscriptions of a system topic.", + "description": "List event subscriptions that belong to a specific system topic.", + "operationId": "SystemTopicEventSubscriptions_ListBySystemTopic", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_ListBySystemTopic": { + "$ref": "./examples/SystemTopicEventSubscriptions_ListBySystemTopic.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an event subscription of a partner topic.", + "description": "Get properties of an event subscription of a partner topic.", + "operationId": "PartnerTopicEventSubscriptions_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be found. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_Get": { + "$ref": "./examples/PartnerTopicEventSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Create or update an event subscription of a partner topic.", + "description": "Asynchronously creates or updates an event subscription of a partner topic with the specified parameters. Existing event subscriptions will be updated with this API.", + "operationId": "PartnerTopicEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Delete an event subscription of a partner topic.", + "description": "Delete an existing event subscription of a partner topic.", + "operationId": "PartnerTopicEventSubscriptions_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_Delete": { + "$ref": "./examples/PartnerTopicEventSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Update event subscription of a partner topic.", + "description": "Update an existing event subscription of a partner topic.", + "operationId": "PartnerTopicEventSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_Update": { + "$ref": "./examples/PartnerTopicEventSubscriptions_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription of a partner topic.", + "description": "Get the full endpoint URL for an event subscription of a partner topic.", + "operationId": "PartnerTopicEventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/PartnerTopicEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List event subscriptions of a partner topic.", + "description": "List event subscriptions that belong to a specific partner topic.", + "operationId": "PartnerTopicEventSubscriptions_ListByPartnerTopic", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_ListByPartnerTopic": { + "$ref": "./examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of a nested event subscription for domain topic.", + "description": "Get the full endpoint URL for a nested event subscription for domain topic.", + "operationId": "DomainTopicEventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/DomainTopicEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription for topic.", + "description": "Get the full endpoint URL for an event subscription for topic.", + "operationId": "TopicEventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/TopicEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get full URL of an event subscription for domain.", + "description": "Get the full endpoint URL for an event subscription for domain.", + "operationId": "DomainEventSubscriptions_GetFullUrl", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionFullUrl" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_GetFullUrl": { + "$ref": "./examples/DomainEventSubscriptions_GetFullUrl.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.", + "description": "List all aggregated global event subscriptions under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListGlobalBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions for a topic type.", + "description": "List all global event subscriptions under an Azure subscription for a topic type.", + "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions under an Azure subscription and resource group.", + "description": "List all global event subscriptions under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all global event subscriptions under a resource group for a topic type.", + "description": "List all global event subscriptions under a resource group for a specific topic type.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription.", + "description": "List all event subscriptions from the given location under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListRegionalBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription and resource group.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.", + "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListRegionalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions.", + "description": "List all event subscriptions that have been created for a specific resource.", + "operationId": "EventSubscriptions_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "providerNamespace", + "in": "path", + "description": "Namespace of the provider of the topic.", + "required": true, + "type": "string" + }, + { + "name": "resourceTypeName", + "in": "path", + "description": "Name of the resource type.", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListByResource": { + "$ref": "./examples/EventSubscriptions_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions for a specific topic.", + "description": "List all event subscriptions that have been created for a specific topic.", + "operationId": "TopicEventSubscriptions_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_List": { + "$ref": "./examples/TopicEventSubscriptions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions for a specific domain.", + "description": "List all event subscriptions that have been created for a specific topic.", + "operationId": "DomainEventSubscriptions_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_List": { + "$ref": "./examples/DomainEventSubscriptions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all event subscriptions for a specific domain topic.", + "description": "List all event subscriptions that have been created for a specific domain topic.", + "operationId": "EventSubscriptions_ListByDomainTopic", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_ListByDomainTopic": { + "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/eventSubscriptions": { + "get": { + "tags": [ + "EventSubscriptions" + ], + "summary": "List all nested event subscriptions for a specific domain topic.", + "description": "List all event subscriptions that have been created for a specific domain topic.", + "operationId": "DomainTopicEventSubscriptions_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_List": { + "$ref": "./examples/DomainTopicEventSubscriptions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription.", + "description": "Get all delivery attributes for an event subscription.", + "operationId": "EventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "EventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/EventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription.", + "description": "Get all delivery attributes for an event subscription.", + "operationId": "SystemTopicEventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription of a partner topic.", + "description": "Get all delivery attributes for an event subscription of a partner topic.", + "operationId": "PartnerTopicEventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription for domain topic.", + "description": "Get all delivery attributes for an event subscription for domain topic.", + "operationId": "DomainTopicEventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainTopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/DomainTopicEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription for topic.", + "description": "Get all delivery attributes for an event subscription for topic.", + "operationId": "TopicEventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/TopicEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { + "post": { + "tags": [ + "EventSubscriptions" + ], + "summary": "Get delivery attributes for an event subscription for domain.", + "description": "Get all delivery attributes for an event subscription for domain.", + "operationId": "DomainEventSubscriptions_GetDeliveryAttributes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "domainName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DeliveryAttributeListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "DomainEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/DomainEventSubscriptions_GetDeliveryAttributes.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "List available operations.", + "description": "List the available operations supported by the Microsoft.EventGrid resource provider.", + "operationId": "Operations_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerConfigurations/default": { + "get": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Get a partner configuration.", + "description": "Get properties of a partner configuration.", + "operationId": "PartnerConfigurations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_Get": { + "$ref": "./examples/PartnerConfigurations_Get.json" + } + } + }, + "put": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Create or update a partner configuration.", + "description": "Synchronously creates or updates a partner configuration with the specified parameters.", + "operationId": "PartnerConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerConfigurationInfo", + "in": "body", + "description": "Partner configuration information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_CreateOrUpdate": { + "$ref": "./examples/PartnerConfigurations_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Delete a partner configuration.", + "description": "Delete existing partner configuration.", + "operationId": "PartnerConfigurations_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_Delete": { + "$ref": "./examples/PartnerConfigurations_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Update a partner configuration.", + "description": "Synchronously updates a partner configuration with the specified parameters.", + "operationId": "PartnerConfigurations_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerConfigurationUpdateParameters", + "in": "body", + "description": "Partner configuration update information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerConfigurationUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_Update": { + "$ref": "./examples/PartnerConfigurations_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerConfigurations": { + "get": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "List partner configurations under a resource group.", + "description": "List all the partner configurations under a resource group.", + "operationId": "PartnerConfigurations_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfigurationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_ListByResourceGroup": { + "$ref": "./examples/PartnerConfigurations_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerConfigurations": { + "get": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "List partner configurations under an Azure subscription.", + "description": "List all the partner configurations under an Azure subscription.", + "operationId": "PartnerConfigurations_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfigurationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_ListBySubscription": { + "$ref": "./examples/PartnerConfigurations_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerConfigurations/default/authorizePartner": { + "post": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Authorize a partner.", + "description": "Authorize a single partner either by partner registration immutable Id or by partner name.", + "operationId": "PartnerConfigurations_AuthorizePartner", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerInfo", + "in": "body", + "description": "The information of the partner to be authorized.", + "required": true, + "schema": { + "$ref": "#/definitions/Partner" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_AuthorizePartner": { + "$ref": "./examples/PartnerConfigurations_AuthorizePartner.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerConfigurations/default/unauthorizePartner": { + "post": { + "tags": [ + "PartnerConfigurations" + ], + "summary": "Unauthorize a partner.", + "description": "Unauthorize a single partner either by partner registration immutable Id or by partner name.", + "operationId": "PartnerConfigurations_UnauthorizePartner", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerInfo", + "in": "body", + "description": "The information of the partner to be unauthorized.", + "required": true, + "schema": { + "$ref": "#/definitions/Partner" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerConfigurations_UnauthorizePartner": { + "$ref": "./examples/PartnerConfigurations_UnauthorizePartner.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerDestinations/{partnerDestinationName}": { + "get": { + "tags": [ + "PartnerDestinations" + ], + "summary": "Get a partner destination.", + "description": "Get properties of a partner destination.", + "operationId": "PartnerDestinations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationName", + "in": "path", + "description": "Name of the partner destination.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_Get": { + "$ref": "./examples/PartnerDestinations_Get.json" + } + } + }, + "put": { + "tags": [ + "PartnerDestinations" + ], + "summary": "Create a partner destination.", + "description": "Asynchronously creates a new partner destination with the specified parameters.", + "operationId": "PartnerDestinations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationName", + "in": "path", + "description": "Name of the partner destination.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestination", + "in": "body", + "description": "Partner destination create information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_CreateOrUpdate": { + "$ref": "./examples/PartnerDestinations_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PartnerDestinations" + ], + "summary": "Delete a partner destination.", + "description": "Delete existing partner destination.", + "operationId": "PartnerDestinations_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationName", + "in": "path", + "description": "Name of the partner destination.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_Delete": { + "$ref": "./examples/PartnerDestinations_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PartnerDestinations" + ], + "summary": "Update a partner destination.", + "description": "Asynchronously updates a partner destination with the specified parameters.", + "operationId": "PartnerDestinations_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationName", + "in": "path", + "description": "Name of the partner destination.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationUpdateParameters", + "in": "body", + "description": "Partner destination update information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerDestinationUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Partner Destination update request accepted.", + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_Update": { + "$ref": "./examples/PartnerDestinations_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerDestinations": { + "get": { + "tags": [ + "PartnerDestinations" + ], + "summary": "List partner destinations under an Azure subscription.", + "description": "List all the partner destinations under an Azure subscription.", + "operationId": "PartnerDestinations_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerDestinationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_ListBySubscription": { + "$ref": "./examples/PartnerDestinations_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerDestinations": { + "get": { + "tags": [ + "PartnerDestinations" + ], + "summary": "List partner destinations under a resource group.", + "description": "List all the partner destinations under a resource group.", + "operationId": "PartnerDestinations_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerDestinationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_ListByResourceGroup": { + "$ref": "./examples/PartnerDestinations_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerDestinations/{partnerDestinationName}/activate": { + "post": { + "tags": [ + "PartnerDestinations" + ], + "summary": "Activate a partner destination.", + "description": "Activate a newly created partner destination.", + "operationId": "PartnerDestinations_Activate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerDestinationName", + "in": "path", + "description": "Name of the partner destination.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerDestinations_Activate": { + "$ref": "./examples/PartnerDestinations_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}": { + "get": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "Get a partner namespace.", + "description": "Get properties of a partner namespace.", + "operationId": "PartnerNamespaces_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerNamespace" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_Get": { + "$ref": "./examples/PartnerNamespaces_Get.json" + } + } + }, + "put": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "Create a partner namespace.", + "description": "Asynchronously creates a new partner namespace with the specified parameters.", + "operationId": "PartnerNamespaces_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceInfo", + "in": "body", + "description": "PartnerNamespace information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerNamespace" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartnerNamespace" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_CreateOrUpdate": { + "$ref": "./examples/PartnerNamespaces_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "Delete a partner namespace.", + "description": "Delete existing partner namespace.", + "operationId": "PartnerNamespaces_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_Delete": { + "$ref": "./examples/PartnerNamespaces_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "Update a partner namespace.", + "description": "Asynchronously updates a partner namespace with the specified parameters.", + "operationId": "PartnerNamespaces_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceUpdateParameters", + "in": "body", + "description": "Partner namespace update information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerNamespaceUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Partner namespace update request accepted.", + "schema": { + "$ref": "#/definitions/PartnerNamespace" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_Update": { + "$ref": "./examples/PartnerNamespaces_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerNamespaces": { + "get": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "List partner namespaces under an Azure subscription.", + "description": "List all the partner namespaces under an Azure subscription.", + "operationId": "PartnerNamespaces_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerNamespacesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_ListBySubscription": { + "$ref": "./examples/PartnerNamespaces_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces": { + "get": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "List partner namespaces under a resource group.", + "description": "List all the partner namespaces under a resource group.", + "operationId": "PartnerNamespaces_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerNamespacesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_ListByResourceGroup": { + "$ref": "./examples/PartnerNamespaces_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/listKeys": { + "post": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "List keys for a partner namespace.", + "description": "List the two keys used to publish to a partner namespace.", + "operationId": "PartnerNamespaces_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerNamespaceSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_ListSharedAccessKeys": { + "$ref": "./examples/PartnerNamespaces_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerNamespaces/{partnerNamespaceName}/regenerateKey": { + "post": { + "tags": [ + "PartnerNamespaces" + ], + "summary": "Regenerate key for a partner namespace.", + "description": "Regenerate a shared access key for a partner namespace.", + "operationId": "PartnerNamespaces_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerNamespaceName", + "in": "path", + "description": "Name of the partner namespace.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerNamespaceRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerNamespaceSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerNamespaces_RegenerateKey": { + "$ref": "./examples/PartnerNamespaces_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}": { + "get": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "Get a partner registration.", + "description": "Gets a partner registration with the specified parameters.", + "operationId": "PartnerRegistrations_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationName", + "in": "path", + "description": "Name of the partner registration.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_Get": { + "$ref": "./examples/PartnerRegistrations_Get.json" + } + } + }, + "put": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "Create a partner registration.", + "description": "Creates a new partner registration with the specified parameters.", + "operationId": "PartnerRegistrations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationName", + "in": "path", + "description": "Name of the partner registration.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationInfo", + "in": "body", + "description": "PartnerRegistration information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_CreateOrUpdate": { + "$ref": "./examples/PartnerRegistrations_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "Delete a partner registration.", + "description": "Deletes a partner registration with the specified parameters.", + "operationId": "PartnerRegistrations_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationName", + "in": "path", + "description": "Name of the partner registration.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_Delete": { + "$ref": "./examples/PartnerRegistrations_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "Update a partner registration.", + "description": "Updates a partner registration with the specified parameters.", + "operationId": "PartnerRegistrations_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationName", + "in": "path", + "description": "Name of the partner registration.", + "required": true, + "type": "string" + }, + { + "name": "partnerRegistrationUpdateParameters", + "in": "body", + "description": "Partner registration update information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerRegistrationUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Partner registration update request accepted.", + "schema": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_Update": { + "$ref": "./examples/PartnerRegistrations_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerRegistrations": { + "get": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "List partner registrations under an Azure subscription.", + "description": "List all the partner registrations under an Azure subscription.", + "operationId": "PartnerRegistrations_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerRegistrationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_ListBySubscription": { + "$ref": "./examples/PartnerRegistrations_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations": { + "get": { + "tags": [ + "PartnerRegistrations" + ], + "summary": "List partner registrations under a resource group.", + "description": "List all the partner registrations under a resource group.", + "operationId": "PartnerRegistrations_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerRegistrationsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerRegistrations_ListByResourceGroup": { + "$ref": "./examples/PartnerRegistrations_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}": { + "get": { + "tags": [ + "PartnerTopics" + ], + "summary": "Get a partner topic.", + "description": "Get properties of a partner topic.", + "operationId": "PartnerTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_Get": { + "$ref": "./examples/PartnerTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "PartnerTopics" + ], + "summary": "Create a partner topic.", + "description": "Asynchronously creates a new partner topic with the specified parameters.", + "operationId": "PartnerTopics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicInfo", + "in": "body", + "description": "Partner Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_CreateOrUpdate": { + "$ref": "./examples/PartnerTopics_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PartnerTopics" + ], + "summary": "Delete a partner topic.", + "description": "Delete existing partner topic.", + "operationId": "PartnerTopics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_Delete": { + "$ref": "./examples/PartnerTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "PartnerTopics" + ], + "summary": "Update a partner topic.", + "description": "Asynchronously updates a partner topic with the specified parameters.", + "operationId": "PartnerTopics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicUpdateParameters", + "in": "body", + "description": "PartnerTopic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerTopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Partner Topic update request accepted.", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_Update": { + "$ref": "./examples/PartnerTopics_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/partnerTopics": { + "get": { + "tags": [ + "PartnerTopics" + ], + "summary": "List partner topics under an Azure subscription.", + "description": "List all the partner topics under an Azure subscription.", + "operationId": "PartnerTopics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_ListBySubscription": { + "$ref": "./examples/PartnerTopics_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics": { + "get": { + "tags": [ + "PartnerTopics" + ], + "summary": "List partner topics under a resource group.", + "description": "List all the partner topics under a resource group.", + "operationId": "PartnerTopics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_ListByResourceGroup": { + "$ref": "./examples/PartnerTopics_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/activate": { + "post": { + "tags": [ + "PartnerTopics" + ], + "summary": "Activate a partner topic.", + "description": "Activate a newly created partner topic.", + "operationId": "PartnerTopics_Activate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_Activate": { + "$ref": "./examples/PartnerTopics_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerTopics/{partnerTopicName}/deactivate": { + "post": { + "tags": [ + "PartnerTopics" + ], + "summary": "Deactivate a partner topic.", + "description": "Deactivate specific partner topic.", + "operationId": "PartnerTopics_Deactivate", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "partnerTopicName", + "in": "path", + "description": "Name of the partner topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PartnerTopics_Deactivate": { + "$ref": "./examples/PartnerTopics_Deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Get a specific private endpoint connection.", + "description": "Get a specific private endpoint connection under a topic, domain, or partner namespace.", + "operationId": "PrivateEndpointConnections_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains", + "partnerNamespaces" + ], + "x-ms-enum": { + "name": "ParentType", + "modelAsString": true + } + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Update a specific private endpoint connection.", + "description": "Update a specific private endpoint connection under a topic, domain or partner namespace.", + "operationId": "PrivateEndpointConnections_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains", + "partnerNamespaces" + ], + "x-ms-enum": { + "name": "ParentType", + "modelAsString": true + } + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection object to update.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Update": { + "$ref": "./examples/PrivateEndpointConnections_Update.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Delete a specific private endpoint connection.", + "description": "Delete a specific private endpoint connection under a topic, domain, or partner namespace.", + "operationId": "PrivateEndpointConnections_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains", + "partnerNamespaces" + ], + "x-ms-enum": { + "name": "ParentType", + "modelAsString": true + } + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Lists all private endpoint connections under a resource.", + "description": "Get all private endpoint connections under a topic, domain, or partner namespace.", + "operationId": "PrivateEndpointConnections_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains", + "partnerNamespaces" + ], + "x-ms-enum": { + "name": "ParentType", + "modelAsString": true + } + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_ListByResource": { + "$ref": "./examples/PrivateEndpointConnections_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "Get a private link resource.", + "description": "Get properties of a private link resource.", + "operationId": "PrivateLinkResources_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "description": "The name of private link resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "List private link resources under specific topic, domain, or partner namespace.", + "description": "List all the private link resources under a topic, domain, or partner namespace.", + "operationId": "PrivateLinkResources_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\', \\'domains\\', or \\'partnerNamespaces\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name, domain name, or partner namespace name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListByResource": { + "$ref": "./examples/PrivateLinkResources_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "Get a system topic.", + "description": "Get properties of a system topic.", + "operationId": "SystemTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Get": { + "$ref": "./examples/SystemTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "SystemTopics" + ], + "summary": "Create a system topic.", + "description": "Asynchronously creates a new system topic with the specified parameters.", + "operationId": "SystemTopics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicInfo", + "in": "body", + "description": "System Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_CreateOrUpdate": { + "$ref": "./examples/SystemTopics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "SystemTopics" + ], + "summary": "Delete a system topic.", + "description": "Delete existing system topic.", + "operationId": "SystemTopics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Delete": { + "$ref": "./examples/SystemTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SystemTopics" + ], + "summary": "Update a system topic.", + "description": "Asynchronously updates a system topic with the specified parameters.", + "operationId": "SystemTopics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicUpdateParameters", + "in": "body", + "description": "SystemTopic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/SystemTopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "System Topic update request accepted.", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "201": { + "description": "System Topic update request accepted.", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Update": { + "$ref": "./examples/SystemTopics_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/systemTopics": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "List system topics under an Azure subscription.", + "description": "List all the system topics under an Azure subscription.", + "operationId": "SystemTopics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_ListBySubscription": { + "$ref": "./examples/SystemTopics_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "List system topics under a resource group.", + "description": "List all the system topics under a resource group.", + "operationId": "SystemTopics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_ListByResourceGroup": { + "$ref": "./examples/SystemTopics_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": { + "get": { + "tags": [ + "Topics" + ], + "summary": "Get a topic.", + "description": "Get properties of a topic.", + "operationId": "Topics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Get": { + "$ref": "./examples/Topics_Get.json" + } + } + }, + "put": { + "tags": [ + "Topics" + ], + "summary": "Create a topic.", + "description": "Asynchronously creates a new topic with the specified parameters.", + "operationId": "Topics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicInfo", + "in": "body", + "description": "Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/Topic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_CreateOrUpdate": { + "$ref": "./examples/Topics_CreateOrUpdate.json" + }, + "Topics_CreateOrUpdateForAzureArc": { + "$ref": "./examples/Topics_CreateOrUpdateForAzureArc.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Topics" + ], + "summary": "Delete a topic.", + "description": "Delete existing topic.", + "operationId": "Topics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Delete": { + "$ref": "./examples/Topics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Topics" + ], + "summary": "Update a topic.", + "description": "Asynchronously updates a topic with the specified parameters.", + "operationId": "Topics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicUpdateParameters", + "in": "body", + "description": "Topic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Topic update request accepted.", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Update": { + "$ref": "./examples/Topics_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under an Azure subscription.", + "description": "List all the topics under an Azure subscription.", + "operationId": "Topics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListBySubscription": { + "$ref": "./examples/Topics_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under a resource group.", + "description": "List all the topics under a resource group.", + "operationId": "Topics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListByResourceGroup": { + "$ref": "./examples/Topics_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": { + "post": { + "tags": [ + "Topics" + ], + "summary": "List keys for a topic.", + "description": "List the two keys used to publish to a topic.", + "operationId": "Topics_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListSharedAccessKeys": { + "$ref": "./examples/Topics_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": { + "post": { + "tags": [ + "Topics" + ], + "summary": "Regenerate key for a topic.", + "description": "Regenerate a shared access key for a topic.", + "operationId": "Topics_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_RegenerateKey": { + "$ref": "./examples/Topics_RegenerateKey.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topic event types.", + "description": "List event types for a topic.", + "operationId": "Topics_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "providerNamespace", + "in": "path", + "description": "Namespace of the provider of the topic.", + "required": true, + "type": "string" + }, + { + "name": "resourceTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListEventTypes": { + "$ref": "./examples/Topics_ListEventTypes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/extensionTopics/default": { + "get": { + "tags": [ + "Topics" + ], + "summary": "Get properties of an extension topic.", + "description": "Get the properties of an extension topic.", + "operationId": "ExtensionTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for Azure resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "ExtensionTopics_Get": { + "$ref": "./examples/ExtensionTopics_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List topic types.", + "description": "List all registered topic types.", + "operationId": "TopicTypes_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicTypes_List": { + "$ref": "./examples/TopicTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "Get a topic type.", + "description": "Get information about a topic type.", + "operationId": "TopicTypes_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicTypeInfo" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicTypes_Get": { + "$ref": "./examples/TopicTypes_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": { + "get": { + "tags": [ + "TopicTypes" + ], + "summary": "List event types.", + "description": "List event types for a topic type.", + "operationId": "TopicTypes_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventTypesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "TopicTypes_ListEventTypes": { + "$ref": "./examples/TopicTypes_ListEventTypes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/providers/Microsoft.EventGrid/verifiedPartners/{verifiedPartnerName}": { + "get": { + "tags": [ + "VerifiedPartners" + ], + "summary": "Get a verified partner.", + "description": "Get properties of a verified partner.", + "operationId": "VerifiedPartners_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "verifiedPartnerName", + "in": "path", + "description": "Name of the verified partner.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VerifiedPartner" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "VerifiedPartners_Get": { + "$ref": "./examples/VerifiedPartners_Get.json" + } + } + } + }, + "/providers/Microsoft.EventGrid/verifiedPartners": { + "get": { + "tags": [ + "VerifiedPartners" + ], + "summary": "List all verified partners.", + "description": "Get a list of all verified partners.", + "operationId": "VerifiedPartners_List", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VerifiedPartnersListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "VerifiedPartners_List": { + "$ref": "./examples/VerifiedPartners_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ChannelProperties": { + "description": "Properties of the Channel.", + "type": "object", + "properties": { + "channelType": { + "description": "The type of the event channel which represents the direction flow of events.", + "enum": [ + "PartnerTopic", + "PartnerDestination" + ], + "type": "string", + "x-ms-enum": { + "name": "ChannelType", + "modelAsString": true + } + }, + "partnerTopicInfo": { + "$ref": "#/definitions/PartnerTopicInfo", + "description": "This property should be populated when channelType is PartnerTopic and represents information about the partner topic resource corresponding to the channel." + }, + "partnerDestinationInfo": { + "$ref": "#/definitions/PartnerDestinationInfo", + "description": "This property should be populated when channelType is PartnerDestination and represents information about the partner destination resource corresponding to the channel." + }, + "messageForActivation": { + "description": "Context or helpful message that can be used during the approval process by the subscriber.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the channel.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ChannelProvisioningState", + "modelAsString": true + } + }, + "readinessState": { + "description": "The readiness state of the corresponding partner topic.", + "enum": [ + "NeverActivated", + "Activated" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadinessState", + "modelAsString": true + } + }, + "expirationTimeIfNotActivatedUtc": { + "format": "date-time", + "description": "Expiration time of the channel. If this timer expires while the corresponding partner topic is never activated,\r\nthe channel and corresponding partner topic are deleted.", + "type": "string" + } + } + }, + "PartnerTopicInfo": { + "description": "Properties of the corresponding partner topic of a Channel.", + "type": "object", + "properties": { + "azureSubscriptionId": { + "description": "Azure subscription ID of the subscriber. The partner topic associated with the channel will be\r\ncreated under this Azure subscription.", + "type": "string" + }, + "resourceGroupName": { + "description": "Azure Resource Group of the subscriber. The partner topic associated with the channel will be\r\ncreated under this resource group.", + "type": "string" + }, + "name": { + "description": "Name of the partner topic associated with the channel.", + "type": "string" + }, + "eventTypeInfo": { + "$ref": "#/definitions/EventTypeInfo", + "description": "Event Type Information for the partner topic. This information is provided by the publisher and can be used by the \r\nsubscriber to view different types of events that are published." + }, + "source": { + "description": "The source information is provided by the publisher to determine the scope or context from which the events\r\nare originating. This information can be used by the subscriber during the approval process of the\r\ncreated partner topic.", + "type": "string" + } + } + }, + "EventTypeInfo": { + "description": "The event type information for Channels.", + "type": "object", + "properties": { + "kind": { + "description": "The kind of event type used.", + "enum": [ + "Inline" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDefinitionKind", + "modelAsString": true + } + }, + "inlineEventTypes": { + "description": "A collection of inline event types for the resource. The inline event type keys are of type string which represents the name of the event.\r\nAn example of a valid inline event name is \"Contoso.OrderCreated\".\r\nThe inline event type values are of type InlineEventProperties and will contain additional information for every inline event type.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/InlineEventProperties" + } + } + } + }, + "ResourceMoveChangeHistory": { + "description": "The change history of the resource move.", + "type": "object", + "properties": { + "azureSubscriptionId": { + "description": "Azure subscription ID of the resource.", + "type": "string" + }, + "resourceGroupName": { + "description": "Azure Resource Group of the resource.", + "type": "string" + }, + "changedTimeUtc": { + "format": "date-time", + "description": "UTC timestamp of when the resource was changed.", + "type": "string" + } + } + }, + "InlineEventProperties": { + "description": "Additional information about every inline event.", + "type": "object", + "properties": { + "description": { + "description": "The description for the inline event.", + "type": "string" + }, + "documentationUrl": { + "description": "The documentationUrl for the inline event.", + "type": "string" + }, + "dataSchemaUrl": { + "description": "The dataSchemaUrl for the inline event.", + "type": "string" + } + } + }, + "WebhookPartnerDestinationProperties": { + "description": "Properties of a partner destination webhook.", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the partner destination.", + "type": "string" + }, + "endpointBaseUrl": { + "description": "The base URL that represents the endpoint of the partner destination.", + "type": "string" + }, + "clientAuthentication": { + "$ref": "#/definitions/PartnerClientAuthentication" + } + } + }, + "AzureADPartnerClientAuthenticationProperties": { + "description": "Properties of an Azure Active Directory Partner Client Authentication.", + "type": "object", + "properties": { + "azureActiveDirectoryTenantId": { + "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "azureActiveDirectoryApplicationIdOrUri": { + "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + } + } + }, + "AzureADPartnerClientAuthentication": { + "description": "Azure Active Directory Partner Client Authentication", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PartnerClientAuthentication" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureADPartnerClientAuthenticationProperties", + "description": "AzureAD ClientAuthentication Properties", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AzureAD" + }, + "PartnerClientAuthentication": { + "description": "Partner client authentication", + "required": [ + "clientAuthenticationType" + ], + "type": "object", + "properties": { + "clientAuthenticationType": { + "description": "Type of client authentication", + "default": "AzureAD", + "enum": [ + "AzureAD" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerClientAuthenticationType", + "modelAsString": true + } + } + }, + "discriminator": "clientAuthenticationType" + }, + "WebhookPartnerDestinationInfo": { + "description": "Information about the WebHook of the partner destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PartnerDestinationInfo" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebhookPartnerDestinationProperties", + "description": "WebHook Properties of the partner destination.", + "x-ms-client-flatten": true + }, + "resourceMoveChangeHistory": { + "description": "Change history of the resource move.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceMoveChangeHistory" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-discriminator-value": "WebHook" + }, + "PartnerDestinationInfo": { + "description": "Properties of the corresponding partner destination of a Channel.", + "required": [ + "endpointType" + ], + "type": "object", + "properties": { + "azureSubscriptionId": { + "description": "Azure subscription ID of the subscriber. The partner destination associated with the channel will be\r\ncreated under this Azure subscription.", + "type": "string" + }, + "resourceGroupName": { + "description": "Azure Resource Group of the subscriber. The partner destination associated with the channel will be\r\ncreated under this resource group.", + "type": "string" + }, + "name": { + "description": "Name of the partner destination associated with the channel.", + "type": "string" + }, + "endpointType": { + "description": "Type of the endpoint for the partner destination", + "default": "WebHook", + "enum": [ + "WebHook" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerEndpointType", + "modelAsString": true + } + }, + "endpointServiceContext": { + "description": "Additional context of the partner destination endpoint.", + "type": "string" + }, + "resourceMoveChangeHistory": { + "description": "Change history of the resource move.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceMoveChangeHistory" + }, + "x-ms-identifiers": [] + } + }, + "discriminator": "endpointType" + }, + "Channel": { + "description": "Channel info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ChannelProperties", + "description": "Properties of the Channel.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Channel resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "ChannelUpdateParameters": { + "description": "Properties of the Channel update.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ChannelUpdateParametersProperties", + "x-ms-client-flatten": true + } + } + }, + "ChannelUpdateParametersProperties": { + "description": "Properties of the channel update parameters.", + "type": "object", + "properties": { + "expirationTimeIfNotActivatedUtc": { + "format": "date-time", + "description": "Expiration time of the event channel. If this timer expires while the corresponding partner topic or partner destination is never activated,\r\nthe channel and corresponding partner topic or partner destination are deleted.", + "type": "string" + }, + "partnerDestinationInfo": { + "$ref": "#/definitions/PartnerUpdateDestinationInfo", + "description": "Partner destination properties which can be updated if the channel is of type PartnerDestination." + }, + "partnerTopicInfo": { + "$ref": "#/definitions/PartnerUpdateTopicInfo", + "description": "Partner topic properties which can be updated if the channel is of type PartnerTopic." + } + } + }, + "PartnerUpdateTopicInfo": { + "description": "Update properties for the corresponding partner topic of a channel.", + "type": "object", + "properties": { + "eventTypeInfo": { + "$ref": "#/definitions/EventTypeInfo", + "description": "Event type info for the partner topic" + } + } + }, + "WebhookUpdatePartnerDestinationInfo": { + "description": "Information about the update of the WebHook of the partner destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PartnerUpdateDestinationInfo" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebhookPartnerDestinationProperties", + "description": "WebHook Properties of the partner destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "WebHook" + }, + "PartnerUpdateDestinationInfo": { + "description": "Properties of the corresponding partner destination of a Channel.", + "required": [ + "endpointType" + ], + "type": "object", + "properties": { + "endpointType": { + "description": "Type of the endpoint for the partner destination", + "default": "WebHook", + "enum": [ + "WebHook" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerEndpointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "ChannelsListResult": { + "description": "Result of the List Channels operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Channels.", + "type": "array", + "items": { + "$ref": "#/definitions/Channel" + } + }, + "nextLink": { + "description": "A link for the next page of channels.", + "type": "string" + } + } + }, + "DomainProperties": { + "description": "Properties of the Event Grid Domain Resource.", + "type": "object", + "properties": { + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the Event Grid Domain Resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "description": "Endpoint for the Event Grid Domain Resource which is used for publishing the events.", + "type": "string", + "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the Event Grid Domain Resource.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "Information about the InputSchemaMapping which specified the info about mapping event payload." + }, + "metricResourceId": { + "description": "Metric resource id for the Event Grid Domain Resource.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled.\r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.", + "default": false, + "type": "boolean" + }, + "autoCreateTopicWithFirstSubscription": { + "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.", + "default": true, + "type": "boolean" + }, + "autoDeleteTopicWithLastSubscription": { + "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.", + "default": true, + "type": "boolean" + }, + "dataResidencyBoundary": { + "description": "Data Residency Boundary of the resource.", + "enum": [ + "WithinGeopair", + "WithinRegion" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyBoundary", + "modelAsString": true + } + } + } + }, + "ResourceSku": { + "description": "Describes an EventGrid Resource Sku.", + "type": "object", + "properties": { + "name": { + "description": "The Sku name of the resource. The possible values are: Basic or Premium.", + "default": "Basic", + "enum": [ + "Basic", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "Sku", + "modelAsString": true + } + } + } + }, + "IdentityInfo": { + "description": "The identity information for the resource.", + "type": "object", + "properties": { + "type": { + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string" + }, + "userAssignedIdentities": { + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\r\nThis property is currently not used and reserved for future usage.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + } + } + } + }, + "InboundIpRule": { + "type": "object", + "properties": { + "ipMask": { + "description": "IP Address in CIDR notation e.g., 10.0.0.0/8.", + "type": "string" + }, + "action": { + "description": "Action to perform based on the match or no match of the IpMask.", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "IpActionType", + "modelAsString": true + } + } + } + }, + "UserIdentityProperties": { + "description": "The information about the user identity.", + "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" + } + } + }, + "Resource": { + "description": "Definition of a Resource", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "groupIds": { + "description": "GroupIds from the private link service resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ConnectionState", + "description": "Details about the state of the connection." + }, + "provisioningState": { + "description": "Provisioning state of the Private Endpoint Connection.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "type": "object", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "type": "object", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PersistedConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + }, + "actionsRequired": { + "description": "Actions required (if any).", + "type": "string" + } + } + }, + "JsonInputSchemaMappingProperties": { + "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.", + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Id property of the Event Grid Event." + }, + "topic": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Topic property of the Event Grid Event." + }, + "eventTime": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the EventTime property of the Event Grid Event." + }, + "eventType": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the EventType property of the Event Grid Event." + }, + "subject": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the Subject property of the Event Grid Event." + }, + "dataVersion": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the DataVersion property of the Event Grid Event." + } + } + }, + "JsonField": { + "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + } + } + }, + "JsonFieldWithDefault": { + "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + }, + "defaultValue": { + "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.", + "type": "string" + } + } + }, + "JsonInputSchemaMapping": { + "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InputSchemaMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JsonInputSchemaMappingProperties", + "description": "JSON Properties of the input schema mapping", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Json" + }, + "InputSchemaMapping": { + "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.", + "required": [ + "inputSchemaMappingType" + ], + "type": "object", + "properties": { + "inputSchemaMappingType": { + "description": "Type of the custom mapping", + "enum": [ + "Json" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchemaMappingType", + "modelAsString": true + } + } + }, + "discriminator": "inputSchemaMappingType" + }, + "PrivateEndpointConnection": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true + } + } + }, + "TrackedResource": { + "description": "Definition of a Tracked Resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Domain": { + "description": "EventGrid Domain.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DomainProperties", + "description": "Properties of the Event Grid Domain resource.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The Sku pricing tier for the Event Grid Domain resource." + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the Event Grid Domain resource." + }, + "systemData": { + "description": "The system metadata relating to the Event Grid Domain resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "DomainUpdateParameters": { + "description": "Properties of the Domain update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the domains resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/DomainUpdateParameterProperties", + "description": "Properties of the resource.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The Sku pricing tier for the domain." + } + } + }, + "DomainUpdateParameterProperties": { + "description": "Information of domain update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.", + "type": "boolean" + }, + "autoCreateTopicWithFirstSubscription": { + "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.", + "type": "boolean" + }, + "autoDeleteTopicWithLastSubscription": { + "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.", + "type": "boolean" + }, + "dataResidencyBoundary": { + "description": "The data residency boundary for the domain.", + "enum": [ + "WithinGeopair", + "WithinRegion" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyBoundary", + "modelAsString": true + } + } + } + }, + "DomainsListResult": { + "description": "Result of the List Domains operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domains", + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "nextLink": { + "description": "A link for the next page of domains", + "type": "string" + } + } + }, + "DomainSharedAccessKeys": { + "description": "Shared access keys of the Domain.", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the domain.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the domain.", + "type": "string" + } + } + }, + "DomainRegenerateKeyRequest": { + "description": "Domain regenerate share access key request.", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2.", + "type": "string" + } + } + }, + "DomainTopicProperties": { + "description": "Properties of the Domain Topic.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the domain topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainTopicProvisioningState", + "modelAsString": true + } + } + } + }, + "DomainTopic": { + "description": "Domain Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DomainTopicProperties", + "description": "Properties of the Domain Topic.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Domain Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "DomainTopicsListResult": { + "description": "Result of the List Domain Topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of Domain Topics.", + "type": "array", + "items": { + "$ref": "#/definitions/DomainTopic" + } + }, + "nextLink": { + "description": "A link for the next page of domain topics.", + "type": "string" + } + } + }, + "EventChannelProperties": { + "description": "Properties of the Event Channel.", + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/EventChannelSource", + "description": "Source of the event channel. This represents a unique resource in the partner's resource model." + }, + "destination": { + "$ref": "#/definitions/EventChannelDestination", + "description": "Represents the destination of an event channel." + }, + "provisioningState": { + "description": "Provisioning state of the event channel.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EventChannelProvisioningState", + "modelAsString": true + } + }, + "partnerTopicReadinessState": { + "description": "The readiness state of the corresponding partner topic.", + "enum": [ + "NotActivatedByUserYet", + "ActivatedByUser", + "DeactivatedByUser", + "DeletedByUser" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PartnerTopicReadinessState", + "modelAsString": true + } + }, + "expirationTimeIfNotActivatedUtc": { + "format": "date-time", + "description": "Expiration time of the event channel. If this timer expires while the corresponding partner topic is never activated,\r\nthe event channel and corresponding partner topic are deleted.", + "type": "string" + }, + "filter": { + "$ref": "#/definitions/EventChannelFilter", + "description": "Information about the filter for the event channel." + }, + "partnerTopicFriendlyDescription": { + "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.", + "type": "string" + } + } + }, + "EventChannelSource": { + "description": "Properties of the source of an event channel.", + "type": "object", + "properties": { + "source": { + "description": "The identifier of the resource that's the source of the events.\r\nThis represents a unique resource in the partner's resource model.", + "type": "string" + } + } + }, + "EventChannelDestination": { + "description": "Properties of the destination of an event channel.", + "type": "object", + "properties": { + "azureSubscriptionId": { + "description": "Azure subscription ID of the customer creating the event channel. The partner topic\r\nassociated with the event channel will be created under this Azure subscription.", + "type": "string" + }, + "resourceGroup": { + "description": "Azure Resource Group of the customer creating the event channel. The partner topic\r\nassociated with the event channel will be created under this resource group.", + "type": "string" + }, + "partnerTopicName": { + "description": "Name of the partner topic associated with the event channel.", + "type": "string" + } + } + }, + "EventChannelFilter": { + "description": "Filter for the Event Channel.", + "type": "object", + "properties": { + "enableAdvancedFilteringOnArrays": { + "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. The default value is either false or null.", + "default": false, + "type": "boolean" + }, + "advancedFilters": { + "description": "An array of advanced filters that are used for filtering event channels.", + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedFilter" + }, + "x-ms-identifiers": [] + } + } + }, + "NumberInAdvancedFilter": { + "description": "NumberIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberIn" + }, + "NumberNotInAdvancedFilter": { + "description": "NumberNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + }, + "x-ms-discriminator-value": "NumberNotIn" + }, + "NumberLessThanAdvancedFilter": { + "description": "NumberLessThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThan" + }, + "NumberGreaterThanAdvancedFilter": { + "description": "NumberGreaterThan Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThan" + }, + "NumberLessThanOrEqualsAdvancedFilter": { + "description": "NumberLessThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberLessThanOrEquals" + }, + "NumberGreaterThanOrEqualsAdvancedFilter": { + "description": "NumberGreaterThanOrEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "format": "double", + "description": "The filter value.", + "type": "number" + } + }, + "x-ms-discriminator-value": "NumberGreaterThanOrEquals" + }, + "BoolEqualsAdvancedFilter": { + "description": "BoolEquals Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "value": { + "description": "The boolean filter value.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "BoolEquals" + }, + "StringInAdvancedFilter": { + "description": "StringIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringIn" + }, + "StringNotInAdvancedFilter": { + "description": "StringNotIn Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotIn" + }, + "StringBeginsWithAdvancedFilter": { + "description": "StringBeginsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringBeginsWith" + }, + "StringEndsWithAdvancedFilter": { + "description": "StringEndsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringEndsWith" + }, + "StringContainsAdvancedFilter": { + "description": "StringContains Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringContains" + }, + "NumberInRangeAdvancedFilter": { + "description": "NumberInRange Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + } + }, + "x-ms-discriminator-value": "NumberInRange" + }, + "NumberNotInRangeAdvancedFilter": { + "description": "NumberNotInRange Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "array", + "items": { + "format": "double", + "type": "number" + } + } + } + }, + "x-ms-discriminator-value": "NumberNotInRange" + }, + "StringNotBeginsWithAdvancedFilter": { + "description": "StringNotBeginsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotBeginsWith" + }, + "StringNotEndsWithAdvancedFilter": { + "description": "StringNotEndsWith Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotEndsWith" + }, + "StringNotContainsAdvancedFilter": { + "description": "StringNotContains Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": { + "values": { + "description": "The set of filter values.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "StringNotContains" + }, + "IsNullOrUndefinedAdvancedFilter": { + "description": "IsNullOrUndefined Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": {}, + "x-ms-discriminator-value": "IsNullOrUndefined" + }, + "IsNotNullAdvancedFilter": { + "description": "IsNotNull Advanced Filter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AdvancedFilter" + } + ], + "properties": {}, + "x-ms-discriminator-value": "IsNotNull" + }, + "AdvancedFilter": { + "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.", + "required": [ + "operatorType" + ], + "type": "object", + "properties": { + "operatorType": { + "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.", + "enum": [ + "NumberIn", + "NumberNotIn", + "NumberLessThan", + "NumberGreaterThan", + "NumberLessThanOrEquals", + "NumberGreaterThanOrEquals", + "BoolEquals", + "StringIn", + "StringNotIn", + "StringBeginsWith", + "StringEndsWith", + "StringContains", + "NumberInRange", + "NumberNotInRange", + "StringNotBeginsWith", + "StringNotEndsWith", + "StringNotContains", + "IsNullOrUndefined", + "IsNotNull" + ], + "type": "string", + "x-ms-enum": { + "name": "AdvancedFilterOperatorType", + "modelAsString": true + } + }, + "key": { + "description": "The field/property in the event based on which you want to filter.", + "type": "string" + } + }, + "discriminator": "operatorType" + }, + "EventChannel": { + "description": "Event Channel.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventChannelProperties", + "description": "Properties of the EventChannel.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Event Channel resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "EventChannelsListResult": { + "description": "Result of the List Event Channels operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Event Channels", + "type": "array", + "items": { + "$ref": "#/definitions/EventChannel" + } + }, + "nextLink": { + "description": "A link for the next page of event channels", + "type": "string" + } + } + }, + "EventSubscriptionProperties": { + "description": "Properties of the Event Subscription.", + "type": "object", + "properties": { + "topic": { + "description": "Name of the topic of the event subscription.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the event subscription.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed", + "AwaitingManualAction" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EventSubscriptionProvisioningState", + "modelAsString": true + } + }, + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "deliveryWithResourceIdentity": { + "$ref": "#/definitions/DeliveryWithResourceIdentity", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "filter": { + "$ref": "#/definitions/EventSubscriptionFilter", + "description": "Information about the filter for the event subscription." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Expiration time of the event subscription.", + "type": "string" + }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "default": "EventGridSchema", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, + "retryPolicy": { + "$ref": "#/definitions/RetryPolicy", + "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "deadLetterWithResourceIdentity": { + "$ref": "#/definitions/DeadLetterWithResourceIdentity", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "DeliveryWithResourceIdentity": { + "description": "Information about the delivery for an event subscription with resource identity.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/EventSubscriptionIdentity", + "description": "The identity to use when delivering events." + }, + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "EventSubscriptionFilter": { + "description": "Filter for the Event Subscription.", + "type": "object", + "properties": { + "subjectBeginsWith": { + "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events.\r\nWildcard characters are not supported in this path.", + "type": "string" + }, + "subjectEndsWith": { + "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.", + "type": "string" + }, + "includedEventTypes": { + "description": "A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.", + "type": "array", + "items": { + "type": "string" + } + }, + "isSubjectCaseSensitive": { + "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.", + "default": false, + "type": "boolean" + }, + "enableAdvancedFilteringOnArrays": { + "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value.", + "type": "boolean" + }, + "advancedFilters": { + "description": "An array of advanced filters that are used for filtering event subscriptions.", + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedFilter" + }, + "x-ms-identifiers": [] + } + } + }, + "RetryPolicy": { + "description": "Information about the retry policy for an event subscription.", + "type": "object", + "properties": { + "maxDeliveryAttempts": { + "format": "int32", + "description": "Maximum number of delivery retry attempts for events.", + "default": 30, + "type": "integer" + }, + "eventTimeToLiveInMinutes": { + "format": "int32", + "description": "Time To Live (in minutes) for events.", + "default": 1440, + "type": "integer" + } + } + }, + "DeadLetterWithResourceIdentity": { + "description": "Information about the deadletter destination with resource identity.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/EventSubscriptionIdentity", + "description": "The identity to use when dead-lettering events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "EventSubscriptionIdentity": { + "description": "The identity information with the event subscription.", + "type": "object", + "properties": { + "type": { + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "EventSubscriptionIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentity": { + "description": "The user identity associated with the resource.", + "type": "string" + } + } + }, + "WebHookEventSubscriptionDestinationProperties": { + "description": "Information about the webhook destination properties for an event subscription.", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "type": "string", + "x-ms-secret": true + }, + "endpointBaseUrl": { + "description": "The base URL that represents the endpoint of the destination of an event subscription.", + "type": "string", + "readOnly": true + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "default": 1, + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "default": 64, + "type": "integer" + }, + "azureActiveDirectoryTenantId": { + "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "azureActiveDirectoryApplicationIdOrUri": { + "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "StorageBlobDeadLetterDestinationProperties": { + "description": "Properties of the storage blob based dead letter destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events", + "type": "string" + }, + "blobContainerName": { + "description": "The name of the Storage blob container that is the destination of the deadletter events", + "type": "string" + } + } + }, + "StaticDeliveryAttributeMappingProperties": { + "description": "Properties of static delivery attribute mapping.", + "type": "object", + "properties": { + "value": { + "description": "Value of the delivery attribute.", + "type": "string" + }, + "isSecret": { + "description": "Boolean flag to tell if the attribute contains sensitive information .", + "type": "boolean", + "default": false + } + } + }, + "StaticDeliveryAttributeMapping": { + "description": "Static delivery attribute mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StaticDeliveryAttributeMappingProperties", + "description": "Properties of static delivery attribute mapping.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Static" + }, + "DynamicDeliveryAttributeMappingProperties": { + "description": "Properties of dynamic delivery attribute mapping.", + "type": "object", + "properties": { + "sourceField": { + "description": "JSON path in the event which contains attribute value.", + "type": "string" + } + } + }, + "DynamicDeliveryAttributeMapping": { + "description": "Dynamic delivery attribute mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DynamicDeliveryAttributeMappingProperties", + "description": "Properties of dynamic delivery attribute mapping.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Dynamic" + }, + "DeliveryAttributeMapping": { + "description": "Delivery attribute mapping details.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the delivery attribute or header.", + "type": "string" + }, + "type": { + "description": "Type of the delivery attribute or header name.", + "enum": [ + "Static", + "Dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "DeliveryAttributeMappingType", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, + "StorageBlobDeadLetterDestination": { + "description": "Information about the storage blob based dead letter destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeadLetterDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties", + "description": "The properties of the Storage Blob based deadletter destination", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageBlob" + }, + "WebHookEventSubscriptionDestination": { + "description": "Information about the webhook destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties", + "description": "WebHook Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "WebHook" + }, + "DeadLetterDestination": { + "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.", + "required": [ + "endpointType" + ], + "type": "object", + "properties": { + "endpointType": { + "description": "Type of the endpoint for the dead letter destination", + "enum": [ + "StorageBlob" + ], + "type": "string", + "x-ms-enum": { + "name": "DeadLetterEndPointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventHubEventSubscriptionDestinationProperties": { + "description": "The properties for a event hub destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "EventHubEventSubscriptionDestination": { + "description": "Information about the event hub destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties", + "description": "Event Hub Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "EventHub" + }, + "StorageQueueEventSubscriptionDestinationProperties": { + "description": "The properties for a storage queue destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.", + "type": "string" + }, + "queueName": { + "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.", + "type": "string" + }, + "queueMessageTimeToLiveInSeconds": { + "format": "int64", + "description": "Storage queue message time to live in seconds.", + "type": "integer" + } + } + }, + "StorageQueueEventSubscriptionDestination": { + "description": "Information about the storage queue destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties", + "description": "Storage Queue Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "StorageQueue" + }, + "HybridConnectionEventSubscriptionDestinationProperties": { + "description": "The properties for a hybrid connection destination.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "HybridConnectionEventSubscriptionDestination": { + "description": "Information about the HybridConnection destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties", + "description": "Hybrid connection Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "HybridConnection" + }, + "ServiceBusQueueEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "ServiceBusQueueEventSubscriptionDestination": { + "description": "Information about the service bus destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties", + "description": "Service Bus Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "ServiceBusQueue" + }, + "ServiceBusTopicEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus Topic destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "ServiceBusTopicEventSubscriptionDestination": { + "description": "Information about the service bus topic destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusTopicEventSubscriptionDestinationProperties", + "description": "Service Bus Topic Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "ServiceBusTopic" + }, + "AzureFunctionEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Azure Function destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription.", + "type": "string" + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "default": 1, + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "default": 64, + "type": "integer" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "AzureFunctionEventSubscriptionDestination": { + "description": "Information about the azure function destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties", + "description": "Azure Function Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "AzureFunction" + }, + "PartnerEventSubscriptionDestinationProperties": { + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription.", + "type": "string" + } + } + }, + "PartnerEventSubscriptionDestination": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerEventSubscriptionDestinationProperties", + "description": "Partner Destination Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "PartnerDestination" + }, + "EventSubscriptionDestination": { + "description": "Information about the destination for an event subscription.", + "required": [ + "endpointType" + ], + "type": "object", + "properties": { + "endpointType": { + "description": "Type of the endpoint for the event subscription destination.", + "enum": [ + "WebHook", + "EventHub", + "StorageQueue", + "HybridConnection", + "ServiceBusQueue", + "ServiceBusTopic", + "AzureFunction", + "PartnerDestination" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + } + } + }, + "discriminator": "endpointType" + }, + "EventSubscription": { + "description": "Event Subscription", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventSubscriptionProperties", + "description": "Properties of the event subscription.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Event Subscription resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "EventSubscriptionUpdateParameters": { + "description": "Properties of the Event Subscription update.", + "type": "object", + "properties": { + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "deliveryWithResourceIdentity": { + "$ref": "#/definitions/DeliveryWithResourceIdentity", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "filter": { + "$ref": "#/definitions/EventSubscriptionFilter", + "description": "Information about the filter for the event subscription." + }, + "labels": { + "description": "List of user defined labels.", + "type": "array", + "items": { + "type": "string" + } + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Information about the expiration time for the event subscription.", + "type": "string" + }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, + "retryPolicy": { + "$ref": "#/definitions/RetryPolicy", + "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + }, + "deadLetterWithResourceIdentity": { + "$ref": "#/definitions/DeadLetterWithResourceIdentity", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "EventSubscriptionFullUrl": { + "description": "Full endpoint url of an event subscription", + "type": "object", + "properties": { + "endpointUrl": { + "description": "The URL that represents the endpoint of the destination of an event subscription.", + "type": "string" + } + } + }, + "EventSubscriptionsListResult": { + "description": "Result of the List EventSubscriptions operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of EventSubscriptions", + "type": "array", + "items": { + "$ref": "#/definitions/EventSubscription" + } + }, + "nextLink": { + "description": "A link for the next page of event subscriptions", + "type": "string" + } + } + }, + "DeliveryAttributeListResult": { + "description": "Result of the Get delivery attributes operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of DeliveryAttributeMapping", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "OperationsListResult": { + "description": "Result of the List Operations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of operations", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + }, + "Operation": { + "description": "Represents an operation returned by the GetOperations request.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationInfo", + "description": "Display name of the operation." + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "This Boolean is used to determine if the operation is a data plane action or not.", + "type": "boolean" + }, + "properties": { + "description": "Properties of the operation.", + "type": "object", + "x-ms-client-flatten": true + } + } + }, + "OperationInfo": { + "description": "Information about an operation", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider", + "type": "string" + }, + "resource": { + "description": "Name of the resource type", + "type": "string" + }, + "operation": { + "description": "Name of the operation", + "type": "string" + }, + "description": { + "description": "Description of the operation", + "type": "string" + } + } + }, + "PartnerConfigurationProperties": { + "description": "Properties of the partner configuration.", + "type": "object", + "properties": { + "partnerAuthorization": { + "$ref": "#/definitions/PartnerAuthorization", + "description": "The details of authorized partners." + }, + "provisioningState": { + "description": "Provisioning state of the partner configuration.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerConfigurationProvisioningState", + "modelAsString": true + } + } + } + }, + "PartnerAuthorization": { + "description": "The partner authorization details.", + "type": "object", + "properties": { + "defaultMaximumExpirationTimeInDays": { + "format": "int32", + "description": "Time used to validate the authorization expiration time for each authorized partner. If DefaultMaximumExpirationTimeInDays is\r\nnot specified, the default is 7 days. Otherwise, allowed values are between 1 and 365 days.", + "type": "integer" + }, + "authorizedPartnersList": { + "description": "The list of authorized partners.", + "type": "array", + "items": { + "$ref": "#/definitions/Partner" + }, + "x-ms-identifiers": [] + } + } + }, + "Partner": { + "description": "Information about the partner.", + "type": "object", + "properties": { + "partnerRegistrationImmutableId": { + "format": "uuid", + "description": "The immutableId of the corresponding partner registration.", + "type": "string" + }, + "partnerName": { + "description": "The partner name.", + "type": "string" + }, + "authorizationExpirationTimeInUtc": { + "format": "date-time", + "description": "Expiration time of the partner authorization. If this timer expires, any request from this partner to create, update or delete resources in subscriber's\r\ncontext will fail. If specified, the allowed values are between 1 to the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration.\r\nIf not specified, the default value will be the value of defaultMaximumExpirationTimeInDays specified in PartnerConfiguration or 7 if this value is not specified.", + "type": "string" + } + } + }, + "PartnerConfiguration": { + "description": "Partner configuration information", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerConfigurationProperties", + "description": "Properties of the partner configuration.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to partner configuration resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "location": { + "description": "Location of the resource.", + "type": "string" + }, + "tags": { + "description": "Tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PartnerConfigurationUpdateParameters": { + "description": "Properties of the partner configuration update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the partner configuration resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/PartnerConfigurationUpdateParameterProperties", + "description": "Properties of the Topic resource.", + "x-ms-client-flatten": true + } + } + }, + "PartnerConfigurationUpdateParameterProperties": { + "description": "Information of partner configuration update parameter properties.", + "type": "object", + "properties": { + "defaultMaximumExpirationTimeInDays": { + "format": "int32", + "description": "The default time used to validate the maximum expiration time for each authorized partners in days. Allowed values ar between 1 and 365 days.", + "type": "integer" + } + } + }, + "PartnerConfigurationsListResult": { + "description": "Result of the List partner configurations operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of partner configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerConfiguration" + } + }, + "nextLink": { + "description": "A link for the next page of partner configurations.", + "type": "string" + } + } + }, + "PartnerDestinationProperties": { + "description": "Properties of the Partner Destination.", + "type": "object", + "properties": { + "partnerRegistrationImmutableId": { + "format": "uuid", + "description": "The immutable Id of the corresponding partner registration.", + "type": "string" + }, + "endpointServiceContext": { + "description": "Endpoint context associated with this partner destination.", + "type": "string" + }, + "expirationTimeIfNotActivatedUtc": { + "format": "date-time", + "description": "Expiration time of the partner destination. If this timer expires and the partner destination was never activated,\r\nthe partner destination and corresponding channel are deleted.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the partner destination.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerDestinationProvisioningState", + "modelAsString": true + } + }, + "activationState": { + "description": "Activation state of the partner destination.", + "enum": [ + "NeverActivated", + "Activated" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerDestinationActivationState", + "modelAsString": true + } + }, + "endpointBaseUrl": { + "description": "Endpoint Base URL of the partner destination", + "type": "string" + }, + "messageForActivation": { + "description": "Context or helpful message that can be used during the approval process.", + "type": "string" + } + } + }, + "PartnerDestination": { + "description": "Event Grid Partner Destination.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerDestinationProperties", + "description": "Properties of the Partner Destination.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Partner Destination resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "PartnerDestinationUpdateParameters": { + "description": "Properties of the Partner Destination that can be updated.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the Partner Destination resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PartnerDestinationsListResult": { + "description": "Result of the List Partner Destinations operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of partner destinations.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerDestination" + } + }, + "nextLink": { + "description": "A link for the next page of partner destinations.", + "type": "string" + } + } + }, + "PartnerNamespaceProperties": { + "description": "Properties of the partner namespace.", + "type": "object", + "properties": { + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the partner namespace.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PartnerNamespaceProvisioningState", + "modelAsString": true + } + }, + "partnerRegistrationFullyQualifiedId": { + "description": "The fully qualified ARM Id of the partner registration that should be associated with this partner namespace. This takes the following format:\r\n/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/partnerRegistrations/{partnerRegistrationName}.", + "type": "string" + }, + "endpoint": { + "description": "Endpoint for the partner namespace.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled.\r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the partner namespace.", + "default": false, + "type": "boolean" + }, + "partnerTopicRoutingMode": { + "description": "This determines if events published to this partner namespace should use the source attribute in the event payload\r\nor use the channel name in the header when matching to the partner topic. If none is specified, source attribute routing will be used to match the partner topic.", + "default": "SourceEventAttribute", + "enum": [ + "SourceEventAttribute", + "ChannelNameHeader" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerTopicRoutingMode", + "modelAsString": true + } + } + } + }, + "PartnerNamespace": { + "description": "EventGrid Partner Namespace.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerNamespaceProperties", + "description": "Properties of the Partner Namespace.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Partner Namespace resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "PartnerNamespaceUpdateParameters": { + "description": "Properties of the Partner Namespace update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the Partner Namespace.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/PartnerNamespaceUpdateParameterProperties", + "description": "Properties of the Partner Namespace.", + "x-ms-client-flatten": true + } + } + }, + "PartnerNamespaceUpdateParameterProperties": { + "description": "Information of Partner Namespace update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the partner namespace.", + "type": "boolean" + } + } + }, + "PartnerNamespacesListResult": { + "description": "Result of the List Partner Namespaces operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of partner namespaces.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerNamespace" + } + }, + "nextLink": { + "description": "A link for the next page of partner namespaces.", + "type": "string" + } + } + }, + "PartnerNamespaceSharedAccessKeys": { + "description": "Shared access keys of the partner namespace.", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the partner namespace.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the partner namespace.", + "type": "string" + } + } + }, + "PartnerNamespaceRegenerateKeyRequest": { + "description": "PartnerNamespace regenerate shared access key request.", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate (key1 or key2).", + "type": "string" + } + } + }, + "PartnerRegistrationProperties": { + "description": "Properties of the partner registration.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the partner registration.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PartnerRegistrationProvisioningState", + "modelAsString": true + } + }, + "partnerRegistrationImmutableId": { + "format": "uuid", + "description": "The immutableId of the corresponding partner registration.", + "type": "string" + }, + "partnerName": { + "description": "Official name of the partner name. For example: \"Contoso\".", + "type": "string" + }, + "partnerResourceTypeName": { + "description": "Name of the partner resource type.", + "type": "string" + }, + "partnerResourceTypeDisplayName": { + "description": "Display name of the partner resource type.", + "type": "string" + }, + "partnerResourceTypeDescription": { + "description": "Short description of the partner resource type. The length of this description should not exceed 256 characters.", + "type": "string" + }, + "longDescription": { + "description": "Long description for the custom scenarios and integration to be displayed in the portal if needed.\r\nLength of this description should not exceed 2048 characters.", + "type": "string" + }, + "partnerCustomerServiceNumber": { + "description": "The customer service number of the publisher. The expected phone format should start with a '+' sign \r\nfollowed by the country code. The remaining digits are then followed. Only digits and spaces are allowed and its\r\nlength cannot exceed 16 digits including country code. Examples of valid phone numbers are: +1 515 123 4567 and\r\n+966 7 5115 2471. Examples of invalid phone numbers are: +1 (515) 123-4567, 1 515 123 4567 and +966 121 5115 24 7 551 1234 43", + "type": "string" + }, + "partnerCustomerServiceExtension": { + "description": "The extension of the customer service number of the publisher. Only digits are allowed and number of digits should not exceed 10.", + "type": "string" + }, + "customerServiceUri": { + "description": "The extension of the customer service URI of the publisher.", + "type": "string" + }, + "setupUri": { + "description": "URI of the partner website that can be used by Azure customers to setup Event Grid\r\nintegration on an event source.", + "type": "string" + }, + "logoUri": { + "description": "URI of the logo.", + "type": "string" + }, + "visibilityState": { + "description": "Visibility state of the partner registration.", + "enum": [ + "Hidden", + "PublicPreview", + "GenerallyAvailable" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerRegistrationVisibilityState", + "modelAsString": true + } + }, + "authorizedAzureSubscriptionIds": { + "description": "List of Azure subscription Ids that are authorized to create a partner namespace\r\nassociated with this partner registration. This is an optional property. Creating\r\npartner namespaces is always permitted under the same Azure subscription as the one used\r\nfor creating the partner registration.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PartnerRegistration": { + "description": "Information about a partner registration.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerRegistrationProperties", + "description": "Properties of the partner registration.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Partner Registration resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "PartnerRegistrationUpdateParameters": { + "description": "Properties of the Partner Registration update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the partner registration resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "partnerTopicTypeName": { + "description": "Name of the partner topic type.", + "type": "string" + }, + "partnerTopicTypeDisplayName": { + "description": "Display name of the partner topic type.", + "type": "string" + }, + "partnerTopicTypeDescription": { + "description": "Description of the partner topic type.", + "type": "string" + }, + "setupUri": { + "description": "URI of the partner website that can be used by Azure customers to setup Event Grid\r\nintegration on an event source.", + "type": "string" + }, + "logoUri": { + "description": "URI of the partner logo.", + "type": "string" + }, + "authorizedAzureSubscriptionIds": { + "description": "List of IDs of Azure AD applications that are authorized to create a partner namespace\r\nassociated with this partner registration. This is an optional property. Creating\r\npartner namespaces is always permitted under the same Azure subscription as the one used\r\nfor creating the partner registration.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PartnerRegistrationsListResult": { + "description": "Result of the List Partner Registrations operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of partner registrations.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerRegistration" + } + }, + "nextLink": { + "description": "A link for the next page of partner registrations.", + "type": "string" + } + } + }, + "EventTypeProperties": { + "description": "Properties of the event type", + "type": "object", + "properties": { + "displayName": { + "description": "Display name of the event type.", + "type": "string" + }, + "description": { + "description": "Description of the event type.", + "type": "string" + }, + "schemaUrl": { + "description": "Url of the schema for this event type.", + "type": "string" + }, + "isInDefaultSet": { + "description": "IsInDefaultSet flag of the event type.", + "type": "boolean" + } + } + }, + "EventType": { + "description": "Event Type for a subject under a topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventTypeProperties", + "description": "Properties of the event type.", + "x-ms-client-flatten": true + } + } + }, + "PartnerTopicUpdateParameters": { + "description": "Properties of the Partner Topic update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the Partner Topic resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the Partner Topic resource." + } + } + }, + "PartnerTopicProperties": { + "description": "Properties of the Partner Topic.", + "type": "object", + "properties": { + "partnerRegistrationImmutableId": { + "format": "uuid", + "description": "The immutableId of the corresponding partner registration.", + "type": "string" + }, + "source": { + "description": "Source associated with this partner topic. This represents a unique partner resource.", + "type": "string" + }, + "eventTypeInfo": { + "$ref": "#/definitions/EventTypeInfo", + "description": "Event Type information from the corresponding event channel." + }, + "expirationTimeIfNotActivatedUtc": { + "format": "date-time", + "description": "Expiration time of the partner topic. If this timer expires while the partner topic is still never activated,\r\nthe partner topic and corresponding event channel are deleted.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning state of the partner topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PartnerTopicProvisioningState", + "modelAsString": true + } + }, + "activationState": { + "description": "Activation state of the partner topic.", + "enum": [ + "NeverActivated", + "Activated", + "Deactivated" + ], + "type": "string", + "x-ms-enum": { + "name": "PartnerTopicActivationState", + "modelAsString": true + } + }, + "partnerTopicFriendlyDescription": { + "description": "Friendly description about the topic. This can be set by the publisher/partner to show custom description for the customer partner topic.\r\nThis will be helpful to remove any ambiguity of the origin of creation of the partner topic for the customer.", + "type": "string" + }, + "messageForActivation": { + "description": "Context or helpful message that can be used during the approval process by the subscriber.", + "type": "string" + } + } + }, + "PartnerTopic": { + "description": "Event Grid Partner Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PartnerTopicProperties", + "description": "Properties of the Partner Topic.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Partner Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the Partner Topic resource." + } + } + }, + "PartnerTopicsListResult": { + "description": "Result of the List Partner Topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of partner topics.", + "type": "array", + "items": { + "$ref": "#/definitions/PartnerTopic" + } + }, + "nextLink": { + "description": "A link for the next page of partner topics.", + "type": "string" + } + } + }, + "EventTypesListResult": { + "description": "Result of the List Event Types operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of event types", + "type": "array", + "items": { + "$ref": "#/definitions/EventType" + } + } + } + }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of private endpoint connection resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "A link for the next page of private endpoint connection resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of the private link resource.", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string" + }, + "name": { + "description": "Name of the resource.", + "type": "string" + }, + "type": { + "description": "Type of the resource.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "A link for the next page of private link resources.", + "type": "string" + } + } + }, + "SystemTopicProperties": { + "description": "Properties of the System Topic.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the system topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true + } + }, + "source": { + "description": "Source for the system topic.", + "type": "string" + }, + "topicType": { + "description": "TopicType for the system topic.", + "type": "string" + }, + "metricResourceId": { + "description": "Metric resource id for the system topic.", + "type": "string", + "readOnly": true + } + } + }, + "SystemTopic": { + "description": "EventGrid System Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SystemTopicProperties", + "description": "Properties of the system topic.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to System Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + } + } + }, + "SystemTopicUpdateParameters": { + "description": "Properties of the System Topic update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the system topic.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Resource identity information." + } + } + }, + "SystemTopicsListResult": { + "description": "Result of the List System topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of system Topics.", + "type": "array", + "items": { + "$ref": "#/definitions/SystemTopic" + } + }, + "nextLink": { + "description": "A link for the next page of topics.", + "type": "string" + } + } + }, + "TopicProperties": { + "description": "Properties of the Topic.", + "type": "object", + "properties": { + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TopicProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "description": "Endpoint for the topic.", + "type": "string", + "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the topic.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema." + }, + "metricResourceId": { + "description": "Metric resource id for the topic.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.", + "default": false, + "type": "boolean" + }, + "dataResidencyBoundary": { + "description": "Data Residency Boundary of the resource.", + "enum": [ + "WithinGeopair", + "WithinRegion" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyBoundary", + "modelAsString": true + } + } + } + }, + "ExtendedLocation": { + "description": "Definition of an Extended Location", + "type": "object", + "properties": { + "name": { + "description": "Fully qualified name of the extended location.", + "type": "string" + }, + "type": { + "description": "Type of the extended location.", + "type": "string" + } + } + }, + "Topic": { + "description": "EventGrid Topic", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicProperties", + "description": "Properties of the topic.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The Sku pricing tier for the topic." + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + }, + "kind": { + "description": "Kind of the resource.", + "enum": [ + "Azure", + "AzureArc" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceKind", + "modelAsString": true + }, + "default": "Azure" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Extended location of the resource." + }, + "systemData": { + "description": "The system metadata relating to Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "TopicUpdateParameters": { + "description": "Properties of the Topic update", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the Topic resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Topic resource identity information." + }, + "properties": { + "$ref": "#/definitions/TopicUpdateParameterProperties", + "description": "Properties of the Topic resource.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The Sku pricing tier for the topic." + } + } + }, + "TopicUpdateParameterProperties": { + "description": "Information of topic update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + }, + "x-ms-identifiers": [] + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.", + "type": "boolean" + }, + "dataResidencyBoundary": { + "description": "The data residency boundary for the topic.", + "enum": [ + "WithinGeopair", + "WithinRegion" + ], + "type": "string", + "x-ms-enum": { + "name": "DataResidencyBoundary", + "modelAsString": true + } + } + } + }, + "TopicsListResult": { + "description": "Result of the List Topics operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of Topics", + "type": "array", + "items": { + "$ref": "#/definitions/Topic" + } + }, + "nextLink": { + "description": "A link for the next page of topics", + "type": "string" + } + } + }, + "TopicSharedAccessKeys": { + "description": "Shared access keys of the Topic", + "type": "object", + "properties": { + "key1": { + "description": "Shared access key1 for the topic.", + "type": "string" + }, + "key2": { + "description": "Shared access key2 for the topic.", + "type": "string" + } + } + }, + "TopicRegenerateKeyRequest": { + "description": "Topic regenerate share access key request", + "required": [ + "keyName" + ], + "type": "object", + "properties": { + "keyName": { + "description": "Key name to regenerate key1 or key2", + "type": "string" + } + } + }, + "ExtensionTopicProperties": { + "description": "Properties of the Extension Topic", + "type": "object", + "properties": { + "description": { + "description": "Description of the extension topic.", + "type": "string" + }, + "systemTopic": { + "description": "System topic resource id which is mapped to the source.", + "type": "string" + } + } + }, + "ExtensionTopic": { + "description": "Event grid Extension Topic. This is used for getting Event Grid related metrics for Azure resources.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExtensionTopicProperties", + "description": "Properties of the extension topic", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Extension Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "TopicTypesListResult": { + "description": "Result of the List Topic Types operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of topic types", + "type": "array", + "items": { + "$ref": "#/definitions/TopicTypeInfo" + } + } + } + }, + "TopicTypeProperties": { + "description": "Properties of a topic type.", + "type": "object", + "properties": { + "provider": { + "description": "Namespace of the provider of the topic type.", + "type": "string" + }, + "displayName": { + "description": "Display Name for the topic type.", + "type": "string" + }, + "description": { + "description": "Description of the topic type.", + "type": "string" + }, + "resourceRegionType": { + "description": "Region type of the resource.", + "enum": [ + "RegionalResource", + "GlobalResource" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceRegionType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the topic type", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "TopicTypeProvisioningState", + "modelAsString": true + } + }, + "supportedLocations": { + "description": "List of locations supported by this topic type.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceResourceFormat": { + "description": "Source resource format.", + "type": "string" + }, + "supportedScopesForSource": { + "description": "Supported source scopes.", + "type": "array", + "items": { + "enum": [ + "Resource", + "ResourceGroup", + "AzureSubscription", + "ManagementGroup" + ], + "type": "string" + } + } + } + }, + "TopicTypeInfo": { + "description": "Properties of a topic type info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TopicTypeProperties", + "description": "Properties of the topic type info", + "x-ms-client-flatten": true + } + } + }, + "VerifiedPartnerProperties": { + "description": "Properties of the verified partner.", + "type": "object", + "properties": { + "partnerRegistrationImmutableId": { + "format": "uuid", + "description": "ImmutableId of the corresponding partner registration.", + "type": "string" + }, + "organizationName": { + "description": "Official name of the Partner.", + "type": "string" + }, + "partnerDisplayName": { + "description": "Display name of the verified partner.", + "type": "string" + }, + "partnerTopicDetails": { + "$ref": "#/definitions/PartnerDetails", + "description": "Details of the partner topic scenario." + }, + "partnerDestinationDetails": { + "$ref": "#/definitions/PartnerDetails", + "description": "Details of the partner destination scenario." + }, + "provisioningState": { + "description": "Provisioning state of the verified partner.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "VerifiedPartnerProvisioningState", + "modelAsString": true + } + } + } + }, + "PartnerDetails": { + "description": "Information about the partner.", + "type": "object", + "properties": { + "description": { + "description": "This is short description about the partner. The length of this description should not exceed 256 characters.", + "type": "string" + }, + "longDescription": { + "description": "Long description for the partner's scenarios and integration.Length of this description should not exceed 2048 characters.", + "type": "string" + }, + "setupUri": { + "description": "URI of the partner website that can be used by Azure customers to setup Event Grid\r\nintegration on an event source.", + "type": "string" + } + } + }, + "VerifiedPartner": { + "description": "Verified partner information", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VerifiedPartnerProperties", + "description": "Properties of the verified partner.", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Verified Partner resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "VerifiedPartnersListResult": { + "description": "Result of the List verified partners operation", + "type": "object", + "properties": { + "value": { + "description": "A collection of verified partners.", + "type": "array", + "items": { + "$ref": "#/definitions/VerifiedPartner" + } + }, + "nextLink": { + "description": "A link for the next page of verified partners if any.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of the API to be used with the client request.", + "required": true, + "type": "string" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TopParameter": { + "name": "$top", + "in": "query", + "description": "The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.", + "required": false, + "type": "integer", + "format": "int32", + "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" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_CreateOrUpdate.json new file mode 100644 index 000000000000..159eb4682e97 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_CreateOrUpdate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "channelName": "exampleChannelName1", + "api-version": "2021-10-15-preview", + "channelInfo": { + "properties": { + "channelType": "PartnerTopic", + "partnerTopicInfo": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg2", + "name": "examplePartnerTopic1", + "source": "ContosoCorp.Accounts.User1" + }, + "messageForActivation": "Example message to approver", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "channelType": "PartnerTopic", + "partnerTopicInfo": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg2", + "name": "examplePartnerTopic1", + "source": "ContosoCorp.Accounts.User1" + }, + "messageForActivation": "Example message to approver", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1/changes/exampleChannelName1", + "name": "exampleChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/channels" + } + }, + "201": { + "body": { + "properties": { + "channelType": "PartnerTopic", + "partnerTopicInfo": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg2", + "name": "examplePartnerTopic1", + "source": "ContosoCorp.Accounts.User1" + }, + "messageForActivation": "Example message to approver", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1/changes/exampleChannelName1", + "name": "exampleChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/channels" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Delete.json new file mode 100644 index 000000000000..1a87cb3abd0c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "channelName": "exampleEventChannelName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Get.json new file mode 100644 index 000000000000..e6a0b2dddb9c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "channelName": "exampleChannelName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "channelType": "PartnerTopic", + "partnerTopicInfo": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg2", + "name": "examplePartnerTopic1", + "source": "ContosoCorp.Accounts.User1" + }, + "messageForActivation": "Example message to approver", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "readinessState": "NeverActivated", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1/changes/exampleChannelName1", + "name": "exampleChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/channels" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_GetFullUrl.json new file mode 100644 index 000000000000..69a4564059df --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_GetFullUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnernamespaces/examplenamespace", + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplenamespace", + "channelName": "examplechannel", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_ListByPartnerNamespace.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_ListByPartnerNamespace.json new file mode 100644 index 000000000000..5e44330fb80c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_ListByPartnerNamespace.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "channelType": "PartnerTopic", + "partnerTopicInfo": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg2", + "name": "examplePartnerTopic1", + "source": "ContosoCorp.Accounts.User1" + }, + "messageForActivation": "Example message to approver", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "readinessState": "NeverActivated", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1/changes/exampleChannelName1", + "name": "exampleChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/channels" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Update.json new file mode 100644 index 000000000000..8f3e20d5ffc8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Channels_Update.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "channelName": "exampleChannelName1", + "api-version": "2021-10-15-preview", + "channelUpdateParameters": { + "properties": { + "expirationTimeIfNotActivatedUtc": "2022-03-23T23:06:11.785Z" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..999d0494e2c9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/eventSubscriptions" + } + }, + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Delete.json new file mode 100644 index 000000000000..f0d44ad2b202 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Get.json new file mode 100644 index 000000000000..e89c2657a150 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/domains/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..eb2bb00a6639 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..52296a80e498 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_GetFullUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_List.json new file mode 100644 index 000000000000..72d3e42c3f27 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/domains/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Update.json new file mode 100644 index 000000000000..b35e185b22a6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainEventSubscriptions_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..88c810b6d520 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/domainTopics/eventSubscriptions" + } + }, + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/domainTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Delete.json new file mode 100644 index 000000000000..ee51e758beb5 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Get.json new file mode 100644 index 000000000000..e7cc8f8bce03 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/domains/domainTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..6dfca567a02a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..6ce9705dab1d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_GetFullUrl.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_List.json new file mode 100644 index 000000000000..36b13281bbea --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/domains/domainTopics/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Update.json new file mode 100644 index 000000000000..c68486394991 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopicEventSubscriptions_Update.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampleDomain1", + "topicName": "exampleDomainTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampleDomain1/domainTopics/exampleDomainTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/domains/domainTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..780f00dae9af --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_CreateOrUpdate.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1", + "name": "exampledomaintopic1", + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Delete.json new file mode 100644 index 000000000000..bccbbe1c3541 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "domainTopicName": "exampledomaintopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Get.json new file mode 100644 index 000000000000..61cf4406ca6b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "domainTopicName": "topic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1", + "name": "topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_ListByDomain.json new file mode 100644 index 000000000000..6a2a26038f6e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/DomainTopics_ListByDomain.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic1", + "name": "domainCli100topic1", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + }, + { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic2", + "name": "domainCli100topic2", + "properties": { + "provisioningState": "Succeeded" + }, + "type": "Microsoft.EventGrid/domains/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_CreateOrUpdate.json new file mode 100644 index 000000000000..67752512b874 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2021-10-15-preview", + "domainInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Delete.json new file mode 100644 index 000000000000..5bfce421f68c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Get.json new file mode 100644 index 000000000000..117c190c555e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListByResourceGroup.json new file mode 100644 index 000000000000..da6bba5c907b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListBySubscription.json new file mode 100644 index 000000000000..ac252600271b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + }, + { + "properties": { + "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2", + "location": "westcentralus", + "name": "exampledomain2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListSharedAccessKeys.json new file mode 100644 index 000000000000..cd03945c6b16 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_RegenerateKey.json new file mode 100644 index 000000000000..4fd24cefcda0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain2", + "api-version": "2021-10-15-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Update.json new file mode 100644 index 000000000000..18dc46114b85 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Domains_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "exampledomain1", + "api-version": "2021-10-15-preview", + "domainUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1", + "location": "westus2", + "name": "exampledomain1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/domains" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_CreateOrUpdate.json new file mode 100644 index 000000000000..8dbc0f6b0e11 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_CreateOrUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "eventChannelName": "exampleEventChannelName1", + "api-version": "2021-10-15-preview", + "eventChannelInfo": { + "properties": { + "source": { + "source": "ContosoCorp.Accounts.User1" + }, + "destination": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroup": "examplerg2", + "partnerTopicName": "examplePartnerTopic1" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "source": "ContosoCorp.Accounts.User1" + }, + "destination": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroup": "examplerg2", + "partnerTopicName": "examplePartnerTopic1" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/exampleEventChannelName1", + "name": "exampleEventChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Delete.json new file mode 100644 index 000000000000..f753a3e4e9aa --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "eventChannelName": "exampleEventChannelName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Get.json new file mode 100644 index 000000000000..2a39e2168f80 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "eventChannelName": "exampleEventChannelName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": { + "source": "ContosoCorp.Accounts.User1" + }, + "destination": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroup": "examplerg2", + "partnerTopicName": "examplePartnerTopic1" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/exampleEventChannelName1", + "name": "exampleEventChannelName1", + "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_ListByPartnerNamespace.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_ListByPartnerNamespace.json new file mode 100644 index 000000000000..e8f65cea87c3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventChannels_ListByPartnerNamespace.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "partnerNamespace123", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": { + "source": "ContosoCorp.Accounts.User1" + }, + "destination": { + "azureSubscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroup": "amh", + "partnerTopicName": "examplePartnerTopic1" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123/eventChannels/eventChannel1234", + "name": "eventChannel1234", + "type": "Microsoft.EventGrid/partnerNamespaces/eventChannels" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json new file mode 100644 index 000000000000..10f485927709 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_AzureFunctionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_AzureFunctionDestination.json new file mode 100644 index 000000000000..93ec9915f262 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_AzureFunctionDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "AzureFunction", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Web/sites/ContosoSite/funtions/ContosoFunc" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Web/sites/ContosoSite/funtions/ContosoFunc" + }, + "endpointType": "AzureFunction" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json new file mode 100644 index 000000000000..f06d1018af1d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json new file mode 100644 index 000000000000..11906ed85176 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "HybridConnection", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + }, + "endpointType": "HybridConnection" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusQueueDestination.json new file mode 100644 index 000000000000..96a8491ce8ad --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusQueueDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "ServiceBusQueue", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/queues/SBQ" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/queues/SBQ" + }, + "endpointType": "ServiceBusQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusTopicDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusTopicDestination.json new file mode 100644 index 000000000000..74e606da58cc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_ServiceBusTopicDestination.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "ServiceBusTopic", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/topics/SBT" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/topics/SBT" + }, + "endpointType": "ServiceBusTopic" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json new file mode 100644 index 000000000000..4e822d4776e6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "StorageQueue", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1", + "queueMessageTimeToLiveInSeconds": 300 + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1", + "queueMessageTimeToLiveInSeconds": 300 + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json new file mode 100644 index 000000000000..10f485927709 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json new file mode 100644 index 000000000000..4f9653395e5f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResource.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json new file mode 100644 index 000000000000..d9b8100e6a26 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json new file mode 100644 index 000000000000..0b8dd58f233c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_CreateOrUpdateForSubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForCustomTopic.json new file mode 100644 index 000000000000..c0275001fd7e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForCustomTopic.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResource.json new file mode 100644 index 000000000000..34c92ff3f9ca --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResource.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription10", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResourceGroup.json new file mode 100644 index 000000000000..c491299c36c5 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForResourceGroup.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForSubscription.json new file mode 100644 index 000000000000..c5ebc31f3462 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_DeleteForSubscription.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {}, + "200": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..025b7bfefde9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic.json new file mode 100644 index 000000000000..2a8867a7e17b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_AzureFunctionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_AzureFunctionDestination.json new file mode 100644 index 000000000000..594adc457ca8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_AzureFunctionDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Web/sites/ContosoSite/funtions/ContosoFunc" + }, + "endpointType": "AzureFunction" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_EventHubDestination.json new file mode 100644 index 000000000000..d90304bad70a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_EventHubDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_HybridConnectionDestination.json new file mode 100644 index 000000000000..c2f716fdf786 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_HybridConnectionDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + }, + "endpointType": "HybridConnection" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusQueueDestination.json new file mode 100644 index 000000000000..5033cf9abff3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusQueueDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/queues/SBQ" + }, + "endpointType": "ServiceBusQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusTopicDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusTopicDestination.json new file mode 100644 index 000000000000..f7dfa08f661c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_ServiceBusTopicDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/topics/SBT" + }, + "endpointType": "ServiceBusTopic" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_StorageQueueDestination.json new file mode 100644 index 000000000000..63df605a956d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_StorageQueueDestination.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1", + "queueMessageTimeToLiveInSeconds": 300 + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_WebhookDestination.json new file mode 100644 index 000000000000..2a8867a7e17b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForCustomTopic_WebhookDestination.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResource.json new file mode 100644 index 000000000000..305ab51f05d4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResource.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResourceGroup.json new file mode 100644 index 000000000000..868a56f81c22 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForSubscription.json new file mode 100644 index 000000000000..e8b07034207e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetForSubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json new file mode 100644 index 000000000000..02aa57788fb3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForCustomTopic.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResource.json new file mode 100644 index 000000000000..bceb4320d556 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResource.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json new file mode 100644 index 000000000000..b8054ebd0de0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForResourceGroup.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json new file mode 100644 index 000000000000..dcfccf56f4d7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_GetFullUrlForSubscription.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByDomainTopic.json new file mode 100644 index 000000000000..4dd4242f3a55 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByDomainTopic.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "domainName": "domain1", + "topicName": "topic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByResource.json new file mode 100644 index 000000000000..d0133437f3bf --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListByResource.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.EventGrid", + "resourceTypeName": "topics", + "resourceName": "exampletopic2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json new file mode 100644 index 000000000000..658d7ab0b99e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..6208a507b378 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicTypeName": "Microsoft.Resources.ResourceGroups", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscription.json new file mode 100644 index 000000000000..50bb613725ce --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4", + "name": "examplesubscription4", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..583e4bc5a6e4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "topicTypeName": "Microsoft.Resources.Subscriptions", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json new file mode 100644 index 000000000000..1c318a426cf4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json new file mode 100644 index 000000000000..9d66d1f9d15e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscription.json new file mode 100644 index 000000000000..7efb4597a5fc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json new file mode 100644 index 000000000000..91db8b09a5e6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "location": "westus2", + "topicTypeName": "Microsoft.EventHub.namespaces", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10", + "name": "examplesubscription10", + "type": "Microsoft.EventGrid/eventSubscriptions" + }, + { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": [ + "Finance", + "HR" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11", + "name": "examplesubscription11", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic.json new file mode 100644 index 000000000000..d9007791ea5b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_AzureFunctionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_AzureFunctionDestination.json new file mode 100644 index 000000000000..20dd99ce4faa --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_AzureFunctionDestination.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "AzureFunction", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Web/sites/ContosoSite/funtions/ContosoFunc" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Web/sites/ContosoSite/funtions/ContosoFunc" + }, + "endpointType": "AzureFunction" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_EventHubDestination.json new file mode 100644 index 000000000000..60ae1a6ba7fe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_EventHubDestination.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + }, + "endpointType": "EventHub" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_HybridConnectionDestination.json new file mode 100644 index 000000000000..6c774993b448 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_HybridConnectionDestination.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "HybridConnection", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1" + }, + "endpointType": "HybridConnection" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusQueueDestination.json new file mode 100644 index 000000000000..1b7b4537f1a8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusQueueDestination.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "ServiceBusQueue", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/queues/SBQ" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/queues/SBQ" + }, + "endpointType": "ServiceBusQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusTopicDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusTopicDestination.json new file mode 100644 index 000000000000..8705ac1cbf5b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_ServiceBusTopicDestination.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "ServiceBusTopic", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/topics/SBT" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ContosoNamespace/topics/SBT" + }, + "endpointType": "ServiceBusTopic" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_StorageQueueDestination.json new file mode 100644 index 000000000000..1f54869b351f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_StorageQueueDestination.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview", + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "eventSubscriptionName": "examplesubscription1", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "StorageQueue", + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1", + "queueMessageTimeToLiveInSeconds": 300 + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "queueName": "queue1", + "queueMessageTimeToLiveInSeconds": 300 + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "provisioningState": "Creating", + "labels": null, + "deadLetterDestination": { + "endpointType": "StorageBlob", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg", + "blobContainerName": "contosocontainer" + } + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_WebhookDestination.json new file mode 100644 index 000000000000..d9007791ea5b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForCustomTopic_WebhookDestination.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResource.json new file mode 100644 index 000000000000..7471b0046312 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResource.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResourceGroup.json new file mode 100644 index 000000000000..0df4e9775868 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForResourceGroup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg", + "eventSubscriptionName": "examplesubscription2", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "EventHub", + "properties": { + "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForSubscription.json new file mode 100644 index 000000000000..9b0eb45a55e1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/EventSubscriptions_UpdateForSubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "eventSubscriptionName": "examplesubscription3", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [], + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3", + "name": "examplesubscription3", + "type": "Microsoft.EventGrid/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/ExtensionTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/ExtensionTopics_Get.json new file mode 100644 index 000000000000..038d29515c03 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/ExtensionTopics_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default", + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "microsoft.storage", + "resourceTypeName": "storageaccounts", + "resourceName": "exampleResourceName", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Extension topic for /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default that can be used to obtain metrics", + "systemTopic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleResourceName-2a41650f-00dd-4790-b3ab-dabd12d227cb" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default", + "name": "default", + "type": "providers/Microsoft.EventGrid/extensionTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Operations_List.json new file mode 100644 index 000000000000..657399a3541b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Operations_List.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.EventGrid/register/action", + "display": { + "provider": "Microsoft Event Grid", + "resource": "EventGrid Resource Provider", + "operation": "Registers the EventGrid Resource Provider", + "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions." + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Write EventSubscription", + "description": "Create or update a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Read EventSubscription", + "description": "Read a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/eventSubscriptions/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "eventSubscriptions", + "operation": "Delete EventSubscription", + "description": "Delete a eventSubscription" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/write", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Write Topic", + "description": "Create or update a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/read", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Read Topic", + "description": "Read a topic" + }, + "origin": "UserAndSystem" + }, + { + "name": "Microsoft.EventGrid/topics/delete", + "display": { + "provider": "Microsoft Event Grid", + "resource": "topics", + "operation": "Delete Topic", + "description": "Delete a topic" + }, + "origin": "UserAndSystem" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_AuthorizePartner.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_AuthorizePartner.json new file mode 100644 index 000000000000..5bef4e04a635 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_AuthorizePartner.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview", + "partnerInfo": { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_CreateOrUpdate.json new file mode 100644 index 000000000000..926dba0c7e0e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_CreateOrUpdate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview", + "partnerConfigurationInfo": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + }, + "201": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Delete.json new file mode 100644 index 000000000000..8b43c7c1100f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Get.json new file mode 100644 index 000000000000..3e9b14507beb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListByResourceGroup.json new file mode 100644 index 000000000000..ea5ff357bcdc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListBySubscription.json new file mode 100644 index 000000000000..ab0fe3072d24 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_ListBySubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_UnauthorizePartner.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_UnauthorizePartner.json new file mode 100644 index 000000000000..1280b73fae83 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_UnauthorizePartner.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview", + "partnerInfo": { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 10, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Update.json new file mode 100644 index 000000000000..222abc059875 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerConfigurations_Update.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview", + "partnerConfigurationUpdateParameters": { + "tags": { + "tag1": "value11", + "tag2": "value22" + }, + "properties": { + "defaultMaximumExpirationTimeInDays": 100 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 100, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value11", + "tag2": "value22" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + }, + "201": { + "body": { + "properties": { + "partnerAuthorization": { + "defaultMaximumExpirationTimeInDays": 100, + "authorizedPartnersList": [ + { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "partnerName": "Contoso.Finance", + "authorizationExpirationTimeInUtc": "2022-01-28T01:20:55.142Z" + }, + { + "partnerRegistrationImmutableId": "5362bdb6-ce3e-4d0d-9a5b-3eb92c8aab38", + "partnerName": "fabrikam.HR", + "authorizationExpirationTimeInUtc": "2022-02-20T01:00:00.142Z" + } + ] + } + }, + "location": "global", + "tags": { + "tag1": "value11", + "tag2": "value22" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerConfigurations/default", + "name": "default", + "type": "Microsoft.EventGrid/partnerConfigurations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Activate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Activate.json new file mode 100644 index 000000000000..e26591b070d8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Activate.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerDestinationName": "examplePartnerDestination1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointServiceContext": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "Activated", + "endpointBaseUrl": "https://somepartnerhostname", + "messageForActivation": "Some message to the approver" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_CreateOrUpdate.json new file mode 100644 index 000000000000..e4d1d0f622b9 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_CreateOrUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview", + "partnerDestinationName": "examplePartnerDestinationName1", + "partnerDestination": { + "properties": { + "partnerRegistrationImmutableId": "0bd70ee2-7d95-447e-ab1f-c4f320019404", + "endpointServiceContext": "This is an example", + "expirationTimeIfNotActivatedUtc": "2022-03-14T19:33:43.430Z", + "endpointBaseUrl": "https://www.example/endpoint", + "messageForActivation": "Sample Activation message" + }, + "location": "westus2" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerRegistrationImmutableId": "0bd70ee2-7d95-447e-ab1f-c4f320019404", + "provisioningState": "Succeeded", + "endpointServiceContext": "string", + "expirationTimeIfNotActivatedUtc": "2022-03-14T19:33:43.430Z", + "activationState": "NeverActivated", + "endpointBaseUrl": "https://www.example/endpoint", + "messageForActivation": "Sample Activation message" + }, + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + }, + "201": { + "body": { + "properties": { + "partnerRegistrationImmutableId": "0bd70ee2-7d95-447e-ab1f-c4f320019404", + "provisioningState": "Succeeded", + "endpointServiceContext": "string", + "expirationTimeIfNotActivatedUtc": "2022-03-14T19:33:43.430Z", + "activationState": "NeverActivated", + "endpointBaseUrl": "https://www.example/endpoint", + "messageForActivation": "Sample Activation message" + }, + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Delete.json new file mode 100644 index 000000000000..721781244ffa --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerDestinationName": "examplePartnerDestinationName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Get.json new file mode 100644 index 000000000000..f2cda324e72f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerDestinationName": "examplePartnerDestinationName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpointServiceContext": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "endpointBaseUrl": "https://somepartnerhostname", + "messageForActivation": "Some message to the approver" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListByResourceGroup.json new file mode 100644 index 000000000000..026eb90bfc10 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListByResourceGroup.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpointServiceContext": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "endpointBaseUrl": "https://somepartnerhostname", + "messageForActivation": "Some message to the approver" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListBySubscription.json new file mode 100644 index 000000000000..5a17846b50ea --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_ListBySubscription.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpointServiceContext": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "endpointBaseUrl": "https://somepartnerhostname", + "messageForActivation": "Some message to the approver" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Update.json new file mode 100644 index 000000000000..578644e371fb --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerDestinations_Update.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerDestinationName": "examplePartnerDestinationName1", + "api-version": "2021-10-15-preview", + "partnerDestinationUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpointServiceContext": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "expirationTimeIfNotActivatedUtc": "2021-10-21T22:50:25.410433Z", + "endpointBaseUrl": "https://somepartnerhostname", + "messageForActivation": "Some message to the approver" + }, + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerDestinations/examplePartnerDestinationName1", + "name": "examplePartnerDestinationName1", + "type": "Microsoft.EventGrid/partnerDestinations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_CreateOrUpdate.json new file mode 100644 index 000000000000..931b4266ebdd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_CreateOrUpdate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview", + "partnerNamespaceInfo": { + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events" + }, + "location": "westus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1", + "name": "examplePartnerNamespaceName1", + "type": "Microsoft.EventGrid/partnerNamespaces" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Delete.json new file mode 100644 index 000000000000..317f5909a71c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Get.json new file mode 100644 index 000000000000..badf9ee49784 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events" + }, + "location": "Central US EUAP", + "tags": { + "key1": "value1", + "key2": "value2", + "key3": "value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1", + "name": "examplePartnerNamespaceName1", + "type": "Microsoft.EventGrid/partnerNamespaces" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListByResourceGroup.json new file mode 100644 index 000000000000..99a4d34e68e3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListByResourceGroup.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "endpoint": "https://partnernamespace123.centraluseuap-1.eventgrid.azure.net/api/events" + }, + "location": "Central US EUAP", + "tags": { + "key1": "value1", + "key2": "value2", + "key3": "value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123", + "name": "partnerNamespace123", + "type": "Microsoft.EventGrid/partnerNamespaces" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListBySubscription.json new file mode 100644 index 000000000000..510af3f01338 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListBySubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "endpoint": "https://partnernamespace123.centraluseuap-1.eventgrid.azure.net/api/events" + }, + "location": "Central US EUAP", + "tags": { + "key1": "value1", + "key2": "value2", + "key3": "value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerNamespaces/partnerNamespace123", + "name": "partnerNamespace123", + "type": "Microsoft.EventGrid/partnerNamespaces" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json new file mode 100644 index 000000000000..387d2902e3e7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_RegenerateKey.json new file mode 100644 index 000000000000..f0a19c93a576 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_RegenerateKey.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Update.json new file mode 100644 index 000000000000..fcf1df26646e --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerNamespaces_Update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerNamespaceName": "examplePartnerNamespaceName1", + "api-version": "2021-10-15-preview", + "partnerNamespaceUpdateParameters": { + "tags": { + "tag1": "value1" + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerRegistrationFullyQualifiedId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "endpoint": "https://examplePartnerNamespaceName1.centraluseuap-1.eventgrid.azure.net/api/events" + }, + "location": "Central US EUAP", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerNamespaces/examplePartnerNamespaceName1", + "name": "examplePartnerNamespaceName1", + "type": "Microsoft.EventGrid/partnerNamespaces" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_CreateOrUpdate.json new file mode 100644 index 000000000000..a6964c2e8abc --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_CreateOrUpdate.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerRegistrationName": "examplePartnerRegistrationName1", + "api-version": "2021-10-15-preview", + "partnerRegistrationInfo": { + "properties": { + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1", + "name": "examplePartnerRegistrationName1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + }, + "202": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1", + "name": "examplePartnerRegistrationName1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Delete.json new file mode 100644 index 000000000000..4e614ff95b07 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerRegistrationName": "examplePartnerRegistrationName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Get.json new file mode 100644 index 000000000000..cb0f306b87d3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerRegistrationName": "examplePartnerRegistrationName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "348566c8-1238-3a6c-83bb-6575d12fb00f" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1", + "name": "examplePartnerRegistrationName1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListByResourceGroup.json new file mode 100644 index 000000000000..9dbfc3b7f906 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListByResourceGroup.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "name": "ContosoCorpAccount1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListBySubscription.json new file mode 100644 index 000000000000..087f49db5ad8 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_ListBySubscription.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/setup.html", + "logoUri": "https://www.example.com/logo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1", + "key2": "Value2", + "key3": "Value3" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerRegistrations/ContosoCorpAccount1", + "name": "ContosoCorpAccount1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Update.json new file mode 100644 index 000000000000..1105f2bf7553 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerRegistrations_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerRegistrationName": "examplePartnerRegistrationName1", + "api-version": "2021-10-15-preview", + "partnerRegistrationUpdateParameters": { + "setupUri": "https://www.example.com/newsetup.html", + "logoUri": "https://www.example.com/newlogo.png" + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "partnerName": "ContosoCorp", + "partnerResourceTypeName": "ContosoCorp.Accounts", + "partnerResourceTypeDisplayName": "ContocoCorp Accounts DisplayName Text", + "partnerResourceTypeDescription": "ContocoCorp Accounts Description Text", + "setupUri": "https://www.example.com/newsetup.html", + "logoUri": "https://www.example.com/newlogo.png", + "visibilityState": "Hidden", + "authorizedAzureSubscriptionIds": [ + "d48566a8-2428-4a6c-8347-9675d09fb851" + ] + }, + "location": "global", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerRegistrations/examplePartnerRegistrationName1", + "name": "examplePartnerRegistrationName1", + "type": "Microsoft.EventGrid/partnerRegistrations" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..c5fccd3df7b7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + } + }, + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Delete.json new file mode 100644 index 000000000000..ad0e83768b4d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Get.json new file mode 100644 index 000000000000..84be682b5dc3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..77e18cf36dc6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..d0777bb6d954 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_GetFullUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json new file mode 100644 index 000000000000..c32cfdeff310 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_ListByPartnerTopic.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 10, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + }, + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Update.json new file mode 100644 index 000000000000..5f7885e06138 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopicEventSubscriptions_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/partnerTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Activate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Activate.json new file mode 100644 index 000000000000..394f6249b551 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Activate.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "Activated" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "name": "examplePartnerTopic1", + "type": "Microsoft.EventGrid/partnerTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..f8eea1473593 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_CreateOrUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopicName1", + "api-version": "2021-10-15-preview", + "partnerTopicInfo": { + "properties": { + "partnerRegistrationImmutableId": "6f541064-031d-4cc8-9ec3-a3b4fc0f7185", + "source": "ContosoCorp.Accounts.User1", + "expirationTimeIfNotActivatedUtc": "2022-03-23T23:06:13.109Z", + "partnerTopicFriendlyDescription": "Example description", + "messageForActivation": "Example message for activation" + }, + "location": "westus2" + }, + "tags": { + "tag1": "value1", + "tag2": "value2" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "partnerRegistrationImmutableId": "6f541064-031d-4cc8-9ec3-a3b4fc0f7185", + "expirationTimeIfNotActivatedUtc": "2022-03-23T23:06:13.109Z", + "partnerTopicFriendlyDescription": "Example description", + "messageForActivation": "Example message for activation" + }, + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopicName1", + "name": "examplePartnerTopicName1", + "type": "Microsoft.EventGrid/partnerTopics" + } + }, + "201": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated", + "partnerRegistrationImmutableId": "6f541064-031d-4cc8-9ec3-a3b4fc0f7185", + "expirationTimeIfNotActivatedUtc": "2022-03-23T23:06:13.109Z", + "partnerTopicFriendlyDescription": "Example description", + "messageForActivation": "Example message for activation" + }, + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopicName1", + "name": "examplePartnerTopicName1", + "type": "Microsoft.EventGrid/partnerTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Deactivate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Deactivate.json new file mode 100644 index 000000000000..afea122e4b99 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Deactivate.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "Deactivated" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "name": "examplePartnerTopic1", + "type": "Microsoft.EventGrid/partnerTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Delete.json new file mode 100644 index 000000000000..e8c6e4e350fe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopicName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Get.json new file mode 100644 index 000000000000..f2208a80ef21 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopicName1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopicName1", + "name": "examplePartnerTopicName1", + "type": "Microsoft.EventGrid/partnerTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListByResourceGroup.json new file mode 100644 index 000000000000..9e1a77ecfa59 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListByResourceGroup.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "name": "examplePartnerTopic1", + "type": "Microsoft.EventGrid/partnerTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListBySubscription.json new file mode 100644 index 000000000000..ae9c0fcf18a3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_ListBySubscription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "name": "examplePartnerTopic1", + "type": "Microsoft.EventGrid/partnerTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Update.json new file mode 100644 index 000000000000..3a97679450a6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PartnerTopics_Update.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "partnerTopicName": "examplePartnerTopicName1", + "api-version": "2021-10-15-preview", + "partnerTopicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "source": "ContosoCorp.Accounts.User1", + "provisioningState": "Succeeded", + "activationState": "NeverActivated" + }, + "location": "centraluseuap", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/amh/providers/Microsoft.EventGrid/partnerTopics/examplePartnerTopic1", + "name": "examplePartnerTopic1", + "type": "Microsoft.EventGrid/partnerTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..2accac833c6d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..2d3518ec72f4 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_ListByResource.json new file mode 100644 index 000000000000..a7dbdcd82f10 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_ListByResource.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Test", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..c3c4a5c7e73a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateEndpointConnections_Update.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "api-version": "2021-10-15-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5" + }, + "groupIds": [ + "topic" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "approving connection", + "actionsRequired": "None" + }, + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B", + "type": "Microsoft.EventGrid/topics/privateEndpointConnections" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_Get.json new file mode 100644 index 000000000000..89cc74f927c3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "privateLinkResourceName": "topic", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_ListByResource.json new file mode 100644 index 000000000000..337ed5b083b2 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/PrivateLinkResources_ListByResource.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "parentType": "topics", + "parentName": "exampletopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "topic", + "displayName": "Event Grid topic", + "requiredMembers": [ + "topic" + ], + "requiredZoneNames": [ + "privatelink.eventgrid.azure.net" + ] + }, + "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic", + "name": "topic", + "type": "Microsoft.EventGrid/topics/privateLinkResources" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..e853ff4bc9ab --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Delete.json new file mode 100644 index 000000000000..83e38292b43a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Get.json new file mode 100644 index 000000000000..12ab06a1428a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..7b06a14beebe --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..f00d826d0e99 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_GetFullUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json new file mode 100644 index 000000000000..4985ffd4f042 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "subjectBeginsWith": "", + "subjectEndsWith": "" + }, + "labels": [], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 10, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + }, + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription2", + "name": "examplesubscription2", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Update.json new file mode 100644 index 000000000000..27d3deaf785b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopicEventSubscriptions_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_CreateOrUpdate.json new file mode 100644 index 000000000000..22bec636514c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-10-15-preview", + "systemTopicInfo": { + "properties": { + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts" + }, + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Delete.json new file mode 100644 index 000000000000..a98c8fab2902 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Get.json new file mode 100644 index 000000000000..c3bfe612e077 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListByResourceGroup.json new file mode 100644 index 000000000000..34bb4264555b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa", + "name": "pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa", + "type": "Microsoft.EventGrid/systemTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListBySubscription.json new file mode 100644 index 000000000000..a17489968e05 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_ListBySubscription.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Update.json new file mode 100644 index 000000000000..3d2371dea0b1 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/SystemTopics_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "systemTopicName": "exampleSystemTopic1", + "api-version": "2021-10-15-preview", + "systemTopicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e", + "topicType": "microsoft.storage.storageaccounts", + "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e" + }, + "location": "centraluseuap", + "tags": null, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2", + "name": "exampleSystemTopic2", + "type": "Microsoft.EventGrid/systemTopics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_CreateOrUpdate.json new file mode 100644 index 000000000000..b9697704d658 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_CreateOrUpdate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionInfo": { + "properties": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/topics/eventSubscriptions" + } + }, + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix" + }, + "labels": null, + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/topics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Delete.json new file mode 100644 index 000000000000..35997cd1a0cd --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Get.json new file mode 100644 index 000000000000..2b5bbef7d0d0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/topics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetDeliveryAttributes.json new file mode 100644 index 000000000000..bbfe9edd8d59 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetDeliveryAttributes.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "header1", + "type": "Static", + "properties": { + "value": "NormalValue", + "isSecret": false + } + }, + { + "name": "header2", + "type": "Dynamic", + "properties": { + "sourceField": "data.foo" + } + }, + { + "name": "header3", + "type": "Static", + "properties": { + "value": "mySecretValue", + "isSecret": true + } + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetFullUrl.json new file mode 100644 index 000000000000..be0da455ba33 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_GetFullUrl.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "endpointUrl": "https://requestb.in/15ksip71" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_List.json new file mode 100644 index 000000000000..2f7d6f8a39a6 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "examplesubscription1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1", + "provisioningState": "Succeeded", + "destination": { + "properties": { + "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource", + "queueName": "que" + }, + "endpointType": "StorageQueue" + }, + "filter": { + "isSubjectCaseSensitive": false, + "subjectBeginsWith": "ExamplePrefix", + "subjectEndsWith": "ExampleSuffix", + "includedEventTypes": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobDeleted" + ] + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + } + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1/eventSubscriptions/examplesubscription1", + "name": "examplesubscription1", + "type": "Microsoft.EventGrid/topics/eventSubscriptions" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Update.json new file mode 100644 index 000000000000..298e9f0b2c35 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicEventSubscriptions_Update.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampleTopic1", + "eventSubscriptionName": "exampleEventSubscriptionName1", + "api-version": "2021-10-15-preview", + "eventSubscriptionUpdateParameters": { + "destination": { + "endpointType": "WebHook", + "properties": { + "endpointUrl": "https://requestb.in/15ksip71" + } + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ] + } + }, + "responses": { + "201": { + "body": { + "properties": { + "destination": { + "properties": { + "endpointBaseUrl": "https://requestb.in/15ksip71" + }, + "endpointType": "WebHook" + }, + "filter": { + "isSubjectCaseSensitive": true, + "subjectBeginsWith": "existingPrefix", + "subjectEndsWith": "newSuffix" + }, + "labels": [ + "label1", + "label2" + ], + "eventDeliverySchema": "EventGridSchema", + "retryPolicy": { + "maxDeliveryAttempts": 30, + "eventTimeToLiveInMinutes": 1440 + }, + "provisioningState": "Succeeded", + "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampleTopic1/eventSubscriptions/exampleEventSubscriptionName1", + "name": "exampleEventSubscriptionName1", + "type": "Microsoft.EventGrid/topics/eventSubscriptions" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_Get.json new file mode 100644 index 000000000000..ea90f20d943a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_List.json new file mode 100644 index 000000000000..80c18afd69d7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Microsoft EventHubs service events.", + "displayName": "EventHubs Namespace", + "provider": "Microsoft.Eventhub", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces", + "name": "Microsoft.Eventhub.Namespaces", + "type": "Microsoft.EventGrid/topicTypes" + }, + { + "properties": { + "description": "Microsoft Storage service events.", + "displayName": "Storage Accounts", + "provider": "Microsoft.Storage", + "provisioningState": "Succeeded", + "resourceRegionType": "RegionalResource" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts", + "name": "Microsoft.Storage.StorageAccounts", + "type": "Microsoft.EventGrid/topicTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_ListEventTypes.json new file mode 100644 index 000000000000..01668102fd71 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/TopicTypes_ListEventTypes.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "topicTypeName": "Microsoft.Storage.StorageAccounts", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "displayName": "Blob Created", + "description": "Raised when a blob is created.", + "schemaUrl": "tbd" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdate.json new file mode 100644 index 000000000000..7ad435fb705c --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2021-10-15-preview", + "topicInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdateForAzureArc.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdateForAzureArc.json new file mode 100644 index 000000000000..74ae0fb5bf5f --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_CreateOrUpdateForAzureArc.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2021-10-15-preview", + "topicInfo": { + "location": "westus2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "kind": "AzureArc", + "extendedLocation": { + "name": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.ExtendedLocation/CustomLocations/exampleCustomLocation", + "type": "CustomLocation" + }, + "properties": { + "inputSchema": "CloudEventSchemaV1_0" + } + } + }, + "responses": { + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "inputSchema": "CloudEventSchemaV1_0" + }, + "kind": "AzureArc", + "extendedLocation": { + "name": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.ExtendedLocation/CustomLocations/exampleCustomLocation", + "type": "CustomLocation" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Delete.json new file mode 100644 index 000000000000..297c8e26631b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg1", + "topicName": "exampletopic1", + "api-version": "2021-10-15-preview" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Get.json new file mode 100644 index 000000000000..3137b1b2612d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListByResourceGroup.json new file mode 100644 index 000000000000..dfc4e63c6c49 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListBySubscription.json new file mode 100644 index 000000000000..ea94e111bc6a --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + }, + { + "properties": { + "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2", + "location": "westcentralus", + "name": "exampletopic2", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListEventTypes.json new file mode 100644 index 000000000000..5c16949053f3 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListEventTypes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "providerNamespace": "Microsoft.Storage", + "resourceTypeName": "storageAccounts", + "resourceName": "ExampleStorageAccount", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Raised when a blob is created.", + "schemaUrl": "tbd", + "displayName": "Blob Created" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated", + "name": "Microsoft.Storage.BlobCreated", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + }, + { + "properties": { + "description": "Raised when a blob is deleted.", + "schemaUrl": "tbd", + "displayName": "Blob Deleted" + }, + "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted", + "name": "Microsoft.Storage.BlobDeleted", + "type": "Microsoft.EventGrid/topicTypes/eventTypes" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListSharedAccessKeys.json new file mode 100644 index 000000000000..ded3f23c9f48 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_ListSharedAccessKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_RegenerateKey.json new file mode 100644 index 000000000000..26f30b7b7e6b --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_RegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic2", + "api-version": "2021-10-15-preview", + "regenerateKeyRequest": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "testKey1Value", + "key2": "testKey2Value" + } + }, + "202": {} + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Update.json new file mode 100644 index 000000000000..165980bde39d --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/Topics_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4", + "resourceGroupName": "examplerg", + "topicName": "exampletopic1", + "api-version": "2021-10-15-preview", + "topicUpdateParameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + } + } + }, + "responses": { + "200": {}, + "201": { + "body": { + "properties": { + "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled", + "inboundIpRules": [ + { + "ipMask": "12.18.30.15", + "action": "Allow" + }, + { + "ipMask": "12.18.176.1", + "action": "Allow" + } + ] + }, + "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1", + "location": "westus2", + "name": "exampletopic1", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "type": "Microsoft.EventGrid/topics" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_Get.json new file mode 100644 index 000000000000..6f7cc4bdd0f0 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "verifiedPartnerName": "Contoso.Finance", + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "organizationName": "Contoso", + "partnerDisplayName": "Contoso - Finance Department", + "partnerTopicDetails": { + "description": "This is short description", + "longDescription": "This is really long long... long description", + "setupUri": "https://www.example.com/" + }, + "partnerDestinationDetails": { + "description": "This is custom description", + "longDescription": "This is long custom description", + "setupUri": "https://www.example.com/" + } + }, + "id": "/providers/Microsoft.EventGrid/verifiedPartners/Contoso.Finance", + "name": "Contoso.Finance", + "type": "Microsoft.EventGrid/verifiedPartners" + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_List.json new file mode 100644 index 000000000000..07bd368919a7 --- /dev/null +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/preview/2021-10-15-preview/examples/VerifiedPartners_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-15-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "partnerRegistrationImmutableId": "941892bc-f5d0-4d1c-8fb5-477570fc2b71", + "organizationName": "Contoso", + "partnerDisplayName": "Contoso - Finance Department", + "partnerTopicDetails": { + "description": "This is short description", + "longDescription": "This is really long long... long description", + "setupUri": "https://www.example.com/" + }, + "partnerDestinationDetails": { + "description": "This is custom description", + "longDescription": "This is long custom description", + "setupUri": "https://www.example.com/" + } + }, + "id": "/providers/Microsoft.EventGrid/verifiedPartners/Contoso.Finance", + "name": "Contoso.Finance", + "type": "Microsoft.EventGrid/verifiedPartners" + } + ] + } + } + } +} diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json index d4a9e134137a..910bc039f26f 100644 --- a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json +++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json @@ -2637,7 +2637,11 @@ "enum": [ "topics", "domains" - ] + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionsParentType", + "modelAsString": true + } }, { "name": "parentName", @@ -2707,7 +2711,11 @@ "enum": [ "topics", "domains" - ] + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionsParentType", + "modelAsString": true + } }, { "name": "parentName", @@ -2791,7 +2799,11 @@ "enum": [ "topics", "domains" - ] + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionsParentType", + "modelAsString": true + } }, { "name": "parentName", @@ -2862,7 +2874,11 @@ "enum": [ "topics", "domains" - ] + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionsParentType", + "modelAsString": true + } }, { "name": "parentName", diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md index 6cd7bee1be49..defc6a12b821 100644 --- a/specification/eventgrid/resource-manager/readme.go.md +++ b/specification/eventgrid/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-10-preview - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview @@ -36,6 +37,15 @@ batch: - tag: package-2017-09-preview - tag: package-2017-06-preview ``` +### Tag: package-2021-10-preview and go + +These settings apply only when `--tag=package-2021-10-preview --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-10-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-15-preview/$(namespace) +``` + ### Tag: package-2021-12 and go These settings apply only when `--tag=package-2021-12 --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 aa5e42612b55..a87188f48664 100644 --- a/specification/eventgrid/resource-manager/readme.java.md +++ b/specification/eventgrid/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-10-preview - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview @@ -29,6 +30,19 @@ batch: - tag: package-2018-05-preview - tag: package-2018-01 ``` +### Tag: package-2021-10-preview and java + +These settings apply only when `--tag=package-2021-10-preview --java` is specified on the command line. + +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2021-10-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.eventgrid.v2021_10_15_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2021_10_15_preview +regenerate-manager: true +generate-interface: true +``` ### Tag: package-2021-12 and java diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md index a8725a8f3a3a..a01a25551770 100644 --- a/specification/eventgrid/resource-manager/readme.md +++ b/specification/eventgrid/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Azure EventGrid API. ``` yaml openapi-type: arm -tag: package-2021-12 +tag: package-2021-10-preview +``` + +### Tag: package-2021-10-preview + +These settings apply only when `--tag=package-2021-10-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10-preview' +input-file: +- Microsoft.EventGrid/preview/2021-10-15-preview/EventGrid.json ``` ### Tag: package-2021-12 diff --git a/specification/eventgrid/resource-manager/readme.python.md b/specification/eventgrid/resource-manager/readme.python.md index ddacd2b0f8a2..4e9cddc0d1ad 100644 --- a/specification/eventgrid/resource-manager/readme.python.md +++ b/specification/eventgrid/resource-manager/readme.python.md @@ -6,7 +6,6 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat ``` yaml $(python) -python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.eventgrid @@ -15,12 +14,7 @@ package-version: 2.2.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid/azure/mgmt/eventgrid ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/eventgrid/azure-mgmt-eventgrid -``` diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md index dc87bc3e5b36..09bc223e94b5 100644 --- a/specification/eventgrid/resource-manager/readme.ruby.md +++ b/specification/eventgrid/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-10-preview - tag: package-2021-12 - tag: package-2021-06-preview - tag: package-2020-10-preview @@ -27,6 +28,16 @@ batch: - tag: package-2017-09-preview - tag: package-2017-06-preview ``` +### Tag: package-2021-10-preview and ruby +These settings apply only when `--tag=package-2021-10-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-10-preview' && $(ruby) + +namespace: "Azure::EventGrid::Mgmt::V2021_10_15_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib +``` + ### Tag: package-2021-12 and ruby These settings apply only when `--tag=package-2021-12 --ruby` is specified on the command line. Please also specify `--ruby-sdks-folder=`. diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json index c3c70fec0a0c..575b013842bc 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json @@ -60,6 +60,7 @@ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", "properties": { "defaultAction": "Deny", + "publicNetworkAccess": "Enabled", "virtualNetworkRules": [ { "subnet": { diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json index 4fa99e95009f..58e2288ff950 100644 --- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json +++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json @@ -12,7 +12,8 @@ "name": "default", "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet", "properties": { - "defaultAction": "Deny", + "defaultAction": "Allow", + "publicNetworkAccess": "Enabled", "virtualNetworkRules": [ { "subnet": { diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md index 5e9ec13e349f..5c8fb1ccd59f 100644 --- a/specification/eventhub/resource-manager/readme.md +++ b/specification/eventhub/resource-manager/readme.md @@ -181,9 +181,6 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net - - repo: azure-sdk-for-python - after_scripts: - - python ./scripts/multiapi_init_gen.py azure-mgmt-eventhub - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go diff --git a/specification/eventhub/resource-manager/readme.python.md b/specification/eventhub/resource-manager/readme.python.md index b0546daaa499..9b9b55341113 100644 --- a/specification/eventhub/resource-manager/readme.python.md +++ b/specification/eventhub/resource-manager/readme.python.md @@ -2,20 +2,7 @@ These settings apply only when `--python` is specified on the command line. -``` yaml !$(track2) -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - package-name: azure-mgmt-eventhub - package-version: 0.1.0 - clear-output-folder: true - no-namespace-folders: true -``` - -These settings apply only when `--track2` is specified on the command line. - -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-eventhub @@ -29,17 +16,7 @@ modelerfour: Generate all API versions currently shipped for this package -```yaml $(multiapi) && !$(track2) -batch: - - tag: package-2021-11 - - tag: package-2021-06-preview - - tag: package-2021-01-preview - - tag: package-2018-01-preview - - tag: package-2017-04 - - tag: package-2015-08 -``` - -```yaml $(multiapi) && $(track2) +```yaml $(multiapi) && $(python) clear-output-folder: true batch: - tag: package-2021-11 @@ -53,7 +30,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/eventhub/azure-mgmt-eventhub/azure/mgmt/eventhub/ -clear-output-folder: false perform-load: false ``` diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/customlocations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/customlocations.json new file mode 100644 index 000000000000..346b0ef3365b --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/customlocations.json @@ -0,0 +1,1207 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-08-31-preview", + "title": "customLocations", + "description": "The customLocations Rest API spec." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.ExtendedLocation/operations": { + "get": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_ListOperations", + "description": "Lists all available Custom Locations operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "#/definitions/customLocationOperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Custom Locations operations": { + "$ref": "./examples/CustomLocationsListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ExtendedLocation/customLocations": { + "get": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_ListBySubscription", + "summary": "Gets a list of Custom Locations in a subscription.", + "description": "Gets a list of Custom Locations in the specified subscription. The operation returns properties of each Custom Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Custom Locations by subscription": { + "$ref": "./examples/CustomLocationsListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations": { + "get": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_ListByResourceGroup", + "summary": "Gets a list of Custom Locations in the specified subscription and resource group.", + "description": "Gets a list of Custom Locations in the specified subscription and resource group. The operation returns properties of each Custom Location.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Custom Locations by resource group": { + "$ref": "./examples/CustomLocationsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}": { + "get": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_Get", + "summary": "Gets a Custom Location.", + "description": "Gets the details of the customLocation with a specified resource group and name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Custom Location": { + "$ref": "./examples/CustomLocationsGet.json" + } + } + }, + "put": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_CreateOrUpdate", + "summary": "Creates or updates a Custom Location.", + "description": "Creates or updates a Custom Location in the specified Subscription and Resource Group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customLocation" + }, + "description": "Parameters supplied to create or update a Custom Location." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/customLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/Update Custom Location": { + "$ref": "./examples/CustomLocationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_Delete", + "summary": "Deletes a Custom Location.", + "description": "Deletes the Custom Location with the specified Resource Name, Resource Group, and Subscription Id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "NoContent. The response indicates the customLocation resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Delete Custom Location": { + "$ref": "./examples/CustomLocationsDelete.json" + } + } + }, + "patch": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_Update", + "summary": "Updates a Custom Location.", + "description": "Updates a Custom Location with the specified Resource Name in the specified Resource Group and Subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/patchableCustomLocations" + }, + "description": "The updatable fields of an existing Custom Location." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Custom Location": { + "$ref": "./examples/CustomLocationsPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/enabledResourceTypes": { + "get": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_ListEnabledResourceTypes", + "summary": "Gets the list of Enabled Resource Types.", + "description": "Gets the list of the Enabled Resource Types.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnabledResourceTypesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Custom Location": { + "$ref": "./examples/CustomLocationsListEnabledResourceTypes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/findTargetResourceGroup": { + "post": { + "tags": [ + "customLocations" + ], + "operationId": "CustomLocations_FindTargetResourceGroup", + "summary": "Gets matching target resource group for resource sync.", + "description": "Returns the target resource group associated with the resource sync rules of the Custom Location that match the rules passed in with the Find Target Resource Group Request.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/customLocationFindTargetResourceGroupProperties" + }, + "description": "Parameters of the find target resource group request." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/customLocationFindTargetResourceGroupResult" + } + }, + "204": { + "description": "NoContent. The response indicates there was no matching target resource group for resource sync." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Post Custom Location Find Target Resource Group": { + "$ref": "./examples/CustomLocationsFindTargetResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/resourceSyncRules": { + "get": { + "tags": [ + "resourceSyncRules" + ], + "operationId": "ResourceSyncRules_ListByCustomLocationID", + "summary": "Lists all Resource Sync Rules in a Custom Location.", + "description": "Gets a list of Resource Sync Rules in the specified subscription. The operation returns properties of each Resource Sync Rule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/resourceSyncRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Resource Sync Rules by subscription": { + "$ref": "./examples/ResourceSyncRulesListByCustomLocationID.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ExtendedLocation/customLocations/{resourceName}/resourceSyncRules/{childResourceName}": { + "get": { + "tags": [ + "resourceSyncRules" + ], + "operationId": "ResourceSyncRules_Get", + "summary": "Gets a Resource Sync Rule.", + "description": "Gets the details of the resourceSyncRule with a specified resource group, subscription id Custom Location resource name and Resource Sync Rule name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ChildResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/resourceSyncRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Custom Location": { + "$ref": "./examples/ResourceSyncRulesGet.json" + } + } + }, + "put": { + "tags": [ + "resourceSyncRules" + ], + "operationId": "ResourceSyncRules_CreateOrUpdate", + "summary": "Creates or updates a Resource Sync Rule.", + "description": "Creates or updates a Resource Sync Rule in the parent Custom Location, Subscription Id and Resource Group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ChildResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/resourceSyncRule" + }, + "description": "Parameters supplied to create or update a Resource Sync Rule." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/resourceSyncRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/resourceSyncRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create/Update Resource Sync Rule": { + "$ref": "./examples/ResourceSyncRulesCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "resourceSyncRules" + ], + "operationId": "ResourceSyncRules_Delete", + "summary": "Deletes a Resource Sync Rule.", + "description": "Deletes the Resource Sync Rule with the specified Resource Sync Rule Name, Custom Location Resource Name, Resource Group, and Subscription Id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ChildResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the delete operation is successful." + }, + "204": { + "description": "NoContent. The response indicates the resourceSyncRule resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Resource Sync Rule": { + "$ref": "./examples/ResourceSyncRulesDelete.json" + } + } + }, + "patch": { + "tags": [ + "resourceSyncRules" + ], + "operationId": "ResourceSyncRules_Update", + "summary": "Updates a Resource Sync Rule.", + "description": "Updates a Resource Sync Rule with the specified Resource Sync Rule name in the specified Resource Group, Subscription and Custom Location name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ChildResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/patchableResourceSyncRule" + }, + "description": "The updatable fields of an existing Resource Sync Rule." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/resourceSyncRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Update Resource Sync Rule": { + "$ref": "./examples/ResourceSyncRulesPatch.json" + } + } + } + } + }, + "parameters": { + "ChildResourceNameParameter": { + "name": "childResourceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "Resource Sync Rule name." + }, + "EnabledResourceTypeNameParameter": { + "name": "enabledResourceTypeName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "Custom Locations Enabled Resource Type name." + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 63, + "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", + "description": "Custom Locations name." + } + }, + "definitions": { + "EnabledResourceType": { + "description": "EnabledResourceType definition.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnabledResourceTypeProperties", + "description": "The set of properties for EnabledResourceType specific to a Custom Location", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "EnabledResourceTypeProperties": { + "description": "Properties for EnabledResourceType of a custom location.", + "type": "object", + "properties": { + "clusterExtensionId": { + "description": "Cluster Extension ID", + "type": "string" + }, + "extensionType": { + "description": "Cluster Extension Type", + "type": "string" + }, + "typesMetadata": { + "description": "Metadata of the Resource Type", + "type": "array", + "items": { + "description": "Metadata of the Resource Type.", + "type": "object", + "properties": { + "apiVersion": { + "description": "Api Version of Resource Type", + "type": "string" + }, + "resourceProviderNamespace": { + "description": "Resource Provider Namespace of Resource Type", + "type": "string" + }, + "resourceType": { + "description": "Resource Type", + "type": "string" + } + } + } + } + } + }, + "EnabledResourceTypesListResult": { + "description": "List of EnabledResourceTypes definition.", + "type": "object", + "properties": { + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of EnabledResourceTypes available for a customLocation.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EnabledResourceType" + } + } + } + }, + "Identity": { + "description": "Identity for the resource.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The identity type.", + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + } + } + }, + "customLocation": { + "description": "Custom Locations definition.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "Identity for the resource." + }, + "properties": { + "$ref": "#/definitions/customLocationProperties", + "description": "The set of properties specific to a Custom Location", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "customLocationFindTargetResourceGroupProperties": { + "description": "The Find Target Resource Group operation request.", + "type": "object", + "properties": { + "labels": { + "description": "Labels of the custom resource, this is a map of {key,value} pairs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "customLocationFindTargetResourceGroupResult": { + "description": "The Find Target Resource Group operation response.", + "type": "object", + "properties": { + "targetResourceGroup": { + "description": "The target resource group of matching resource sync rule. The labels from the request will be used to find out matching resource sync rule against the selector property of the resource sync rule. The one with highest priority will be returned if there are multiple matching rules.", + "type": "string", + "readOnly": true + } + } + }, + "customLocationListResult": { + "description": "The List Custom Locations operation response.", + "type": "object", + "properties": { + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of Custom Locations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/customLocation" + } + } + } + }, + "customLocationOperation": { + "description": "Custom Locations operation.", + "type": "object", + "properties": { + "display": { + "$ref": "#/definitions/customLocationOperationValueDisplay", + "description": "Describes the properties of a Custom Locations Operation Value Display.", + "x-ms-client-flatten": true + }, + "isDataAction": { + "description": "Is this Operation a data plane operation", + "type": "boolean", + "readOnly": true + }, + "name": { + "description": "The name of the compute operation.", + "type": "string", + "readOnly": true + }, + "origin": { + "description": "The origin of the compute operation.", + "type": "string", + "readOnly": true + } + } + }, + "customLocationOperationValueDisplay": { + "description": "Describes the properties of a Custom Locations Operation Value Display.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The display name of the compute operation.", + "type": "string", + "readOnly": true + }, + "provider": { + "description": "The resource provider for the operation.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The display name of the resource the operation applies to.", + "type": "string", + "readOnly": true + } + } + }, + "customLocationOperationsList": { + "description": "Lists of Custom Locations operations.", + "type": "object", + "required": [ + "value" + ], + "properties": { + "nextLink": { + "description": "Next page of operations.", + "type": "string" + }, + "value": { + "description": "Array of customLocationOperation", + "type": "array", + "items": { + "$ref": "#/definitions/customLocationOperation" + } + } + } + }, + "customLocationProperties": { + "description": "Properties for a custom location.", + "type": "object", + "properties": { + "authentication": { + "description": "This is optional input that contains the authentication that should be used to generate the namespace.", + "type": "object", + "properties": { + "type": { + "description": "The type of the Custom Locations authentication", + "type": "string" + }, + "value": { + "description": "The kubeconfig value.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "clusterExtensionIds": { + "description": "Contains the reference to the add-on that contains charts to deploy CRDs and operators.", + "type": "array", + "items": { + "type": "string" + } + }, + "displayName": { + "description": "Display name for the Custom Locations location.", + "type": "string" + }, + "hostResourceId": { + "description": "Connected Cluster or AKS Cluster. The Custom Locations RP will perform a checkAccess API for listAdminCredentials permissions.", + "type": "string" + }, + "hostType": { + "description": "Type of host the Custom Locations is referencing (Kubernetes, etc...).", + "type": "string", + "enum": [ + "Kubernetes" + ], + "x-ms-enum": { + "name": "HostType", + "modelAsString": true + } + }, + "namespace": { + "description": "Kubernetes namespace that will be created on the specified cluster.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning State for the Custom Location.", + "type": "string" + } + } + }, + "matchExpressionsList": { + "description": "Resource Sync Rules matchExpression property definition.", + "type": "array", + "items": { + "$ref": "#/definitions/matchExpressionsProperties", + "description": "The list of matchExpressions." + }, + "x-ms-identifiers": [] + }, + "matchExpressionsProperties": { + "description": "Resource Sync Rules matchExpression property definition.", + "type": "object", + "properties": { + "key": { + "description": "Key is the label key that the selector applies to.", + "type": "string" + }, + "operator": { + "description": "The Operator field represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.", + "type": "string" + }, + "values": { + "description": "The label value", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "patchableCustomLocations": { + "description": "The Custom Locations patchable resource definition.", + "type": "object", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "Identity for the resource." + }, + "properties": { + "$ref": "#/definitions/customLocationProperties", + "description": "The Custom Locations patchable properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "patchableResourceSyncRule": { + "description": "The Resource Sync Rules patchable resource definition.", + "type": "object", + "x-ms-azure-resource": true, + "x-ms-client-flatten": true, + "properties": { + "properties": { + "$ref": "#/definitions/resourceSyncRuleProperties", + "description": "The Resource Sync Rules patchable properties.", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Resource tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "resourceSyncRule": { + "description": "Resource Sync Rules definition.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/resourceSyncRuleProperties", + "description": "The set of properties specific to a Resource Sync Rule", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "resourceSyncRuleListResult": { + "description": "The List Resource Sync Rules operation response.", + "type": "object", + "properties": { + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of Resource Sync Rules.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/resourceSyncRule" + } + } + } + }, + "resourceSyncRuleProperties": { + "description": "Properties for a resource sync rule. For an unmapped custom resource, its labels will be used to find out matching resource sync rules using the selector property of the resource sync rule. If this resource sync rule has highest priority among all matching rules, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule.", + "type": "object", + "properties": { + "priority": { + "description": "Priority represents a priority of the Resource Sync Rule", + "type": "integer", + "format": "int32" + }, + "provisioningState": { + "description": "Provisioning State for the Resource Sync Rule.", + "type": "string", + "readOnly": true + }, + "selector": { + "description": "A label selector is composed of two parts, matchLabels and matchExpressions. The first part, matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'. The second part, matchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist. All of the requirements, from both matchLabels and matchExpressions must all be satisfied in order to match.", + "type": "object", + "properties": { + "matchExpressions": { + "$ref": "#/definitions/matchExpressionsList", + "description": "MatchExpressions is a list of resource selector requirements. Valid operators include In, NotIn, Exists, and DoesNotExist. The values set must be non-empty in the case of In and NotIn. The values set must be empty in the case of Exists and DoesNotExist.", + "x-ms-client-flatten": true + }, + "matchLabels": { + "description": "MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is 'key', the operator is 'In', and the values array contains only 'value'.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "targetResourceGroup": { + "description": "For an unmapped custom resource, its labels will be used to find matching resource sync rules. If this resource sync rule is one of the matching rules with highest priority, then the unmapped custom resource will be projected to the target resource group associated with this resource sync rule. The user creating this resource sync rule should have write permissions on the target resource group and this write permission will be validated when creating the resource sync rule.", + "type": "string" + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsCreate_Update.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsCreate_Update.json new file mode 100644 index 000000000000..017258961ff8 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsCreate_Update.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "parameters": { + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "clusterExtensionIds": [ + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kubernetes/connectedCluster/someCluster/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig", + "value": "" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsDelete.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsDelete.json new file mode 100644 index 000000000000..c5477ab907b4 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsFindTargetResourceGroup.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsFindTargetResourceGroup.json new file mode 100644 index 000000000000..ff246f118a71 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsFindTargetResourceGroup.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "parameters": { + "labels": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/target-resource-group/" + } + }, + "204": {} + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsGet.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsGet.json new file mode 100644 index 000000000000..efb6d65b2e21 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListByResourceGroup.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListByResourceGroup.json new file mode 100644 index 000000000000..133aa56016e6 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListByResourceGroup.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/", + "name": "customLocation02", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02", + "namespace": "namespace02", + "displayName": "customLocationLocation02", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListBySubscription.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListBySubscription.json new file mode 100644 index 000000000000..2be4460c573a --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListBySubscription.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/", + "name": "customLocation02", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02", + "namespace": "namespace02", + "displayName": "customLocationLocation02", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster02/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListEnabledResourceTypes.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListEnabledResourceTypes.json new file mode 100644 index 000000000000..1d8af36d5de0 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListEnabledResourceTypes.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/enabledResourceTypes/d016ecf26dae90594806aca3c1a6326c668357037f68103587edf2e657824737", + "name": "d016ecf26dae90594806aca3c1a6326c668357037f68103587edf2e657824737", + "type": "Microsoft.ExtendedLocation/customLocations/enabledResourceTypes", + "properties": { + "clusterExtensionId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/cldfe2econnectedcluster/providers/Microsoft.KubernetesConfiguration/extensions/vmware-extension", + "extensionType": "arc-vmware", + "typesMetadata": [ + { + "apiVersion": "2020-01-01-preview", + "resourceType": "virtualMachines", + "resourceProviderNamespace": "Microsoft.VMware" + }, + { + "apiVersion": "2020-01-22-preview", + "resourceType": "virtualmachines", + "resourceProviderNamespace": "Microsoft.VMware" + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/enabledResourceTypes/266e9d31e5be6be1e919574e25780d5783586d502f0b2cc422e0a228a34e00a6", + "name": "266e9d31e5be6be1e919574e25780d5783586d502f0b2cc422e0a228a34e00a6", + "type": "Microsoft.ExtendedLocation/customLocations/enabledResourceTypes", + "properties": { + "clusterExtensionId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/cldfe2econnectedcluster/providers/Microsoft.KubernetesConfiguration/extensions/cassandra-extension", + "extensionType": "cassandradatacentersoperator", + "typesMetadata": [ + { + "apiVersion": "2020-01-01-preview", + "resourceType": "cassandraDataCenters", + "resourceProviderNamespace": "Microsoft.Cassandra" + }, + { + "apiVersion": "2020-01-22-preview", + "resourceType": "cassandrabackups", + "resourceProviderNamespace": "Microsoft.Cassandra" + } + ] + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + ] + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListOperations.json new file mode 100644 index 000000000000..059109b429ac --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsListOperations.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ExtendedLocation/operations/read", + "display": { + "description": "Gets list of Available Operations for Custom Locations", + "operation": "List Available Operations for Custom Locations", + "provider": "Microsoft.ExtendedLocation", + "resource": "Operations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/register/action", + "display": { + "description": "Registers the subscription for Custom Location resource provider and enables the creation of Custom Location.", + "operation": "Registers the Custom Location Resource Provider", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations Resource Provider" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/unregister/action", + "display": { + "description": "UnRegisters the subscription for Custom Location resource provider and disables the creation of Custom Location.", + "operation": "UnRegisters the Custom Location Resource Provider", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations Resource Provider" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/read", + "display": { + "description": "Gets an Custom Location resource", + "operation": "Get Custom Location", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/write", + "display": { + "description": "Creates or Updates Custom Location resource", + "operation": "Create or Update Custom Location", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/deploy/action", + "display": { + "description": "Deploy permissions to a Custom Location resource", + "operation": "Deploy permissions to Custom Location", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/delete", + "display": { + "description": "Deletes Custom Location resource", + "operation": "Delete Custom Location", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/enabledresourcetypes/read", + "display": { + "description": "Gets EnabledResourceTypes for a Custom Location resource", + "operation": "Get EnabledResourceTypes for Custom Location", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Locations" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/locations/operationsstatus/read", + "display": { + "description": "Get result of Custom Location operation", + "operation": "Get status of Custom Location operation", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Location Operation Status" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/locations/operationresults/read", + "display": { + "description": "Get result of Custom Location operation", + "operation": "Get the status of Custom Location operation", + "provider": "Microsoft.ExtendedLocation", + "resource": "Custom Location Operation Result" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules/read", + "display": { + "description": "Gets a Resource Sync Rule resource", + "operation": "Get Resource Sync Rule", + "provider": "Microsoft.ExtendedLocation", + "resource": "Resource Sync Rules" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules/write", + "display": { + "description": "Creates or Updates a Resource Sync Rule resource", + "operation": "Create or Update Resource Sync Rule", + "provider": "Microsoft.ExtendedLocation", + "resource": "Resource Sync Rules" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules/delete", + "display": { + "description": "Deletes Resource Sync Rule resource", + "operation": "Delete Resource Sync Rule", + "provider": "Microsoft.ExtendedLocation", + "resource": "Resource Sync Rules" + }, + "origin": "user,system", + "isDataAction": false + }, + { + "name": "Microsoft.ExtendedLocation/customLocations/findTargetResourceGroup/action", + "display": { + "description": "Evaluate Labels Against Resource Sync Rules to Get Target Resource Group", + "operation": "Find Target Resource Group Action", + "provider": "Microsoft.ExtendedLocation", + "resource": "Resource Sync Rules" + }, + "origin": "user,system", + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsPatch.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsPatch.json new file mode 100644 index 000000000000..40ddf3fb80eb --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/CustomLocationsPatch.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "parameters": { + "properties": { + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension", + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/barExtension" + ] + }, + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "tier": "testing", + "archv3": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/customLocation01", + "name": "customLocation01", + "type": "Microsoft.ExtendedLocation/customLocations", + "location": "West US", + "tags": { + "tier": "testing", + "archv3": "" + }, + "properties": { + "hostResourceId": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01", + "namespace": "namespace01", + "displayName": "customLocationLocation01", + "provisioningState": "Succeeded", + "clusterExtensionIds": [ + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/fooExtension", + "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ContainerService/managedClusters/cluster01/Microsoft.KubernetesConfiguration/clusterExtensions/barExtension" + ], + "authentication": { + "type": "KubeConfig" + } + }, + "identity": { + "type": "SystemAssigned", + "principalId": "11111111-1111-1111-1111-111111111111", + "tenantId": "111111-1111-1111-1111-111111111111" + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesCreate_Update.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesCreate_Update.json new file mode 100644 index 000000000000..53250b12c0da --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesCreate_Update.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "childResourceName": "resourceSyncRule01", + "parameters": { + "location": "West US", + "properties": { + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/resourcesyncrules/resourceSyncRule01", + "name": "resourceSyncRule01", + "location": "West US", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-15T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-15T18:53:29.0928001Z" + }, + "properties": { + "provisioningState": "Succeeded", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/resourcesyncrules/resourceSyncRule01", + "name": "resourceSyncRule01", + "location": "West US", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-16T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-16T18:53:29.0928001Z" + }, + "properties": { + "provisioningState": "Creating", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesDelete.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesDelete.json new file mode 100644 index 000000000000..02ee2e711c71 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "childResourceName": "resourceSyncRule01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesGet.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesGet.json new file mode 100644 index 000000000000..e3a76e0678ff --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "childResourceName": "resourceSyncRule01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/resourceSyncRules/resourceSyncRule01", + "name": "resourceSyncRule01", + "location": "West US", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + }, + "properties": { + "provisioningState": "Succeeded", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesListByCustomLocationID.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesListByCustomLocationID.json new file mode 100644 index 000000000000..034ff3f89486 --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesListByCustomLocationID.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/resourcesyncrules", + "name": "resourceSyncRule01", + "location": "West US", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-16T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-16T18:53:29.0928001Z" + }, + "properties": { + "provisioningState": "Succeeded", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + } + }, + { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/", + "name": "resourceSyncRule02", + "location": "West US", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-04-24T18:53:29.0928001Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-04-24T18:53:29.0928001Z" + }, + "properties": { + "provisioningState": "Succeeded", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/amalladi-df-test/", + "priority": 999, + "selector": { + "matchLabels": { + "key5": "value5" + }, + "matchExpressions": [ + { + "key": "key8", + "operator": "In", + "values": [ + "value8" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesPatch.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesPatch.json new file mode 100644 index 000000000000..5d912a1fc86c --- /dev/null +++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-08-31-preview/examples/ResourceSyncRulesPatch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-08-31-preview", + "subscriptionId": "11111111-2222-3333-4444-555555555555", + "resourceGroupName": "testresourcegroup", + "resourceName": "customLocation01", + "childResourceName": "resourceSyncRule01", + "parameters": { + "properties": { + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/" + }, + "tags": { + "tier": "testing" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testresourcegroup/providers/Microsoft.ExtendedLocation/customLocations/customLocation01/resourceSyncRules/resourceSyncRule01", + "name": "resourceSyncRule01", + "type": "Microsoft.ExtendedLocation/customLocations/resourceSyncRules", + "location": "West US", + "tags": { + "tier": "testing" + }, + "properties": { + "provisioningState": "Patching", + "targetResourceGroup": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/testrg/", + "priority": 999, + "selector": { + "matchLabels": { + "key1": "value1" + }, + "matchExpressions": [ + { + "key": "key4", + "operator": "In", + "values": [ + "value4" + ] + } + ] + } + }, + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-07-16T23:17:11.7353229Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-07-16T23:28:00.5870852Z" + } + } + } + } +} diff --git a/specification/extendedlocation/resource-manager/readme.go.md b/specification/extendedlocation/resource-manager/readme.go.md index d6bfd800657c..e4844ec60b14 100644 --- a/specification/extendedlocation/resource-manager/readme.go.md +++ b/specification/extendedlocation/resource-manager/readme.go.md @@ -22,6 +22,7 @@ azure-arm: true batch: - tag: package-2021-03-15-preview - tag: package-2021-08-15 + - tag: package-2021-08-31-preview ``` ### Tag: package-2021-03-15-preview and go @@ -42,4 +43,14 @@ Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2021-08-31-preview' && $(go) +namespace: extendedlocation +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-08-31-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/extendedlocation/resource-manager/readme.md b/specification/extendedlocation/resource-manager/readme.md index d9b3ef3dac50..ea3a8692e39e 100644 --- a/specification/extendedlocation/resource-manager/readme.md +++ b/specification/extendedlocation/resource-manager/readme.md @@ -47,6 +47,16 @@ input-file: - Microsoft.ExtendedLocation/stable/2021-08-15/customlocations.json ``` + +### Tag: package-2021-08-31-preview + +These settings apply only when `--tag=package-2021-08-31-preview` is specified on the command line. + +```yaml $(tag) == 'package-2021-08-31-preview' +input-file: + - Microsoft.ExtendedLocation/preview/2021-08-31-preview/customlocations.json +``` + --- # Code Generation diff --git a/specification/extendedlocation/resource-manager/readme.python.md b/specification/extendedlocation/resource-manager/readme.python.md index 9a1b330af6a6..7b2b015a590e 100644 --- a/specification/extendedlocation/resource-manager/readme.python.md +++ b/specification/extendedlocation/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-extendedlocation @@ -12,17 +12,17 @@ no-namespace-folders: true ### Python multi-api -``` yaml $(python) && $(multiapi) && $(track2) +``` yaml $(python) && $(multiapi) clear-output-folder: true batch: - tag: package-2021-03-15-preview - tag: package-2021-08-15 + - tag: package-2021-08-31-preview - multiapiscript: true ``` ```yaml $(multiapiscript) output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/ -clear-output-folder: false perform-load: false ``` @@ -45,3 +45,13 @@ Please also specify `--python-sdks-folder=`. + +```yaml $(tag) == 'package-2021-08-31-preview' && $(python) +namespace: azure.mgmt.extendedlocation.v2021_08_31_preview +output-folder: $(python-sdks-folder)/extendedlocation/azure-mgmt-extendedlocation/azure/mgmt/extendedlocation/v2021_08_31_preview +``` diff --git a/specification/extendedlocation/resource-manager/readme.ruby.md b/specification/extendedlocation/resource-manager/readme.ruby.md index 79783f2fde29..e0cb923d4c54 100644 --- a/specification/extendedlocation/resource-manager/readme.ruby.md +++ b/specification/extendedlocation/resource-manager/readme.ruby.md @@ -26,4 +26,14 @@ Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2021-08-31-preview' && $(ruby) +namespace: Azure::ExtendedLocation::Mgmt::V2021_08_31_preview +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_extended_location/lib ``` \ No newline at end of file diff --git a/specification/extendedlocation/resource-manager/readme.typescript.md b/specification/extendedlocation/resource-manager/readme.typescript.md index fabade510e9f..d8074bf9c6bb 100644 --- a/specification/extendedlocation/resource-manager/readme.typescript.md +++ b/specification/extendedlocation/resource-manager/readme.typescript.md @@ -4,6 +4,7 @@ These settings apply only when `--typescript` is specified on the command line. Please also specify `--typescript-sdks-folder=`. ```yaml $(typescript) +title: CustomLocationsManagementClient typescript: azure-arm: true package-name: "@azure/arm-extendedlocation" diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Delete.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Delete.json new file mode 100644 index 000000000000..3e4a605a4c8b --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "fluidRelayContainerName": "myFluidRelayContainer", + "api-version": "2022-02-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Get.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Get.json new file mode 100644 index 000000000000..84a8abeafb50 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "fluidRelayContainerName": "myFluidRelayContainer", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer/fluidRelayContainers/myFluidRelayContainer", + "name": "myFluidRelayContainer", + "type": "Microsoft.FluidRelay/fluidRelayServers/fluidRelayContainers", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "frsContainerId": "xxxx-yyyy-xxxxx-yyyy", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_ListByFluidRelayServer.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_ListByFluidRelayServer.json new file mode 100644 index 000000000000..32820e4e1f5e --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayContainers_ListByFluidRelayServer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer/fluidRelayContainers/myFluidRelayContainer", + "name": "myFluidRelayContainer", + "type": "Microsoft.FluidRelay/fluidRelayServers/fluidRelayContainers", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "frsContainerId": "xxxx-yyyy-xxxxx-yyyy", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServerOperations.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServerOperations.json new file mode 100644 index 000000000000..9f6c6154c782 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServerOperations.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.FluidRelay/fluidRelayServers/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.FluidRelay", + "resource": "fluidRelayServers", + "operation": "Get/List fluid relay server resources", + "description": "Read fluid relay server" + } + }, + { + "name": "Microsoft.FluidRelay/fluidRelayServers/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.FluidRelay", + "resource": "fluidRelayServers", + "operation": "Create/Update fluid relay server resources", + "description": "Write fluid relay server" + } + }, + { + "name": "Microsoft.FluidRelay/fluidRelayServers/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.FluidRelay", + "resource": "fluidRelayServers", + "operation": "Delete fluid relay server resources", + "description": "Delete fluid relay server" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateOrUpdate.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateOrUpdate.json new file mode 100644 index 000000000000..f8e117bbf59f --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15", + "resource": { + "location": "west-us", + "identity": { + "type": "SystemAssigned" + }, + "tags": { + "Category": "sales" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateWithAmi.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateWithAmi.json new file mode 100644 index 000000000000..0199f80fe593 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_CreateWithAmi.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15", + "resource": { + "location": "west-us", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}, + "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {} + } + }, + "tags": { + "Category": "sales" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + }, + "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Delete.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Delete.json new file mode 100644 index 000000000000..d990f75d7d6f --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Get.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Get.json new file mode 100644 index 000000000000..11f0fe7f2973 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_GetKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_GetKeys.json new file mode 100644 index 000000000000..5ad6b974b0c3 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_GetKeys.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "key1": "xxx-xxxx-xxxxx-xxxx", + "key2": "yyy-yyyy-yyyyy-yyyy" + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListByResourceGroup.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListByResourceGroup.json new file mode 100644 index 000000000000..aacd64140139 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListBySubscription.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListBySubscription.json new file mode 100644 index 000000000000..03e0de527a6b --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_ListBySubscription.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "api-version": "2022-02-15" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_RegenerateKeys.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_RegenerateKeys.json new file mode 100644 index 000000000000..764cda0d3677 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_RegenerateKeys.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15", + "parameters": { + "keyName": "key1" + } + }, + "responses": { + "200": { + "body": { + "key1": "xxx-xxxx-xxxxx-xxxx", + "key2": "yyy-yyyy-yyyyy-yyyy" + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Update.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Update.json new file mode 100644 index 000000000000..f2f3fedd5355 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/examples/FluidRelayServers_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "xxxx-xxxx-xxxx-xxxx", + "resourceGroup": "myResourceGroup", + "fluidRelayServerName": "myFluidRelayServer", + "api-version": "2022-02-15", + "location": "west-us", + "resource": { + "tags": { + "Category": "sales" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxx-xxxx-xxxx-xxxx/resourceGroups/myResourceGroup/Microsoft.FluidRelay/fluidRelayServers/myFluidRelayServer", + "name": "myFluidRelayServer", + "type": "Microsoft.FluidRelay/fluidRelayServers", + "location": "west-us", + "properties": { + "frsTenantId": "yyyy-yyyy-yyyyy-yyyy", + "fluidRelayEndpoints": { + "ordererEndpoints": [ + "https://www.contoso.org/orderer" + ], + "storageEndpoints": [ + "https://www.contoso.org/storage" + ] + }, + "provisioningState": "Succeeded" + }, + "tags": { + "Category": "sales" + } + } + } + } +} diff --git a/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/fluidrelay.json b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/fluidrelay.json new file mode 100644 index 000000000000..4ff372163c94 --- /dev/null +++ b/specification/fluidrelay/resource-manager/Microsoft.FluidRelay/stable/2022-02-15/fluidrelay.json @@ -0,0 +1,948 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Fluid Relay", + "version": "2022-02-15" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.FluidRelay/operations": { + "get": { + "tags": [ + "FluidRelayOperations" + ], + "summary": "List all operations provided by Microsoft.FluidRelay.", + "operationId": "FluidRelayOperations_List", + "x-ms-examples": { + "List Fluid Relay server operations": { + "$ref": "./examples/FluidRelayServerOperations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed synchronously.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{fluidRelayServerName}": { + "get": { + "operationId": "FluidRelayServers_Get", + "tags": [ + "FluidRelayServers" + ], + "summary": "Get a Fluid Relay server.", + "x-ms-examples": { + "Get Fluid Relay server details": { + "$ref": "./examples/FluidRelayServers_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServer" + }, + "description": "Request completed synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + }, + "put": { + "operationId": "FluidRelayServers_CreateOrUpdate", + "tags": [ + "FluidRelayServers" + ], + "summary": "Create or Update a Fluid Relay server.", + "x-ms-examples": { + "Create a Fluid Relay server": { + "$ref": "./examples/FluidRelayServers_CreateOrUpdate.json" + }, + "Create a Fluid Relay server with AMI": { + "$ref": "./examples/FluidRelayServers_CreateWithAmi.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluidRelayServer" + }, + "description": "The details of the Fluid Relay server resource." + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServer" + }, + "description": "Request completed synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + }, + "patch": { + "operationId": "FluidRelayServers_Update", + "tags": [ + "FluidRelayServers" + ], + "summary": "Update a Fluid Relay server.", + "x-ms-examples": { + "Update a Fluid Relay server": { + "$ref": "./examples/FluidRelayServers_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "resource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluidRelayServerUpdate" + }, + "description": "The details of the Fluid Relay server resource included in update calls." + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServer" + }, + "description": "Request Completed Synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + }, + "delete": { + "operationId": "FluidRelayServers_Delete", + "tags": [ + "FluidRelayServers" + ], + "summary": "Delete a Fluid Relay server.", + "x-ms-examples": { + "Delete a Fluid Relay server": { + "$ref": "./examples/FluidRelayServers_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed Synchronously." + }, + "204": { + "description": "Request completed Synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{fluidRelayServerName}/regenerateKey": { + "post": { + "operationId": "FluidRelayServers_RegenerateKey", + "summary": "Regenerate the primary or secondary key for this server.", + "x-ms-examples": { + "Regenerate keys for a Fluid Relay server": { + "$ref": "./examples/FluidRelayServers_RegenerateKeys.json" + } + }, + "tags": [ + "FluidRelayServers" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyRequest" + }, + "description": "The details of which keys to generate." + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServerKeys" + }, + "description": "Request Completed Synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{fluidRelayServerName}/getKeys": { + "post": { + "operationId": "FluidRelayServers_GetKeys", + "summary": "Get primary and secondary key for this server.", + "x-ms-examples": { + "Get keys for a Fluid Relay server": { + "$ref": "./examples/FluidRelayServers_GetKeys.json" + } + }, + "tags": [ + "FluidRelayServers" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServerKeys" + }, + "description": "Request Completed Synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.FluidRelay/fluidRelayServers": { + "get": { + "operationId": "FluidRelayServers_ListBySubscription", + "summary": "List all Fluid Relay servers in a subscription.", + "x-ms-examples": { + "List all Fluid Relay servers in a subscription": { + "$ref": "./examples/FluidRelayServers_ListBySubscription.json" + } + }, + "tags": [ + "FluidRelayServers" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServerList" + }, + "description": "Paged response" + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers": { + "get": { + "operationId": "FluidRelayServers_ListByResourceGroup", + "tags": [ + "FluidRelayServers" + ], + "summary": "List all Fluid Relay servers in a resource group.", + "x-ms-examples": { + "List all Fluid Relay servers in a resource group": { + "$ref": "./examples/FluidRelayServers_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayServerList" + }, + "description": "Paged response" + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{fluidRelayServerName}/fluidRelayContainers/{fluidRelayContainerName}": { + "get": { + "operationId": "FluidRelayContainers_Get", + "tags": [ + "FluidRelayContainers" + ], + "summary": "Get a Fluid Relay container.", + "x-ms-examples": { + "Get Fluid Relay container details": { + "$ref": "./examples/FluidRelayContainers_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "#/parameters/FluidRelayContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayContainer" + }, + "description": "Request completed synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + }, + "delete": { + "operationId": "FluidRelayContainers_Delete", + "tags": [ + "FluidRelayContainers" + ], + "summary": "Delete a Fluid Relay container.", + "x-ms-examples": { + "Delete a Fluid Relay container": { + "$ref": "./examples/FluidRelayContainers_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "#/parameters/FluidRelayContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed Synchronously." + }, + "204": { + "description": "Request completed Synchronously." + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.FluidRelay/fluidRelayServers/{fluidRelayServerName}/fluidRelayContainers": { + "get": { + "operationId": "FluidRelayContainers_ListByFluidRelayServers", + "tags": [ + "FluidRelayContainers" + ], + "summary": "List all Fluid Relay containers which are children of a given Fluid Relay server.", + "x-ms-examples": { + "List all Fluid Relay containers in a Fluid Relay server": { + "$ref": "./examples/FluidRelayContainers_ListByFluidRelayServer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/FluidRelayServerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/FluidRelayContainerList" + }, + "description": "Paged response" + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "Error in operation." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Service provider: Microsoft.FluidRelay", + "type": "string" + }, + "resource": { + "description": "Type on which the operation is performed, e.g., 'servers'.", + "type": "string" + }, + "operation": { + "description": "Operation type, e.g., read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation, e.g., 'Write confluent'.", + "type": "string" + } + } + }, + "OperationResult": { + "description": "A FluidRelay REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + } + }, + "OperationListResult": { + "description": "Result of GET request to list FluidRelay operations.", + "type": "object", + "properties": { + "value": { + "description": "List of FluidRelay operations supported by the Microsoft.FluidRelay provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + } + } + }, + "FluidRelayServerUpdate": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": false, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The type of identity used for the resource." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives" + } + }, + "description": "The updatable properties of a Fluid Relay server" + }, + "FluidRelayServerList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FluidRelayServer" + }, + "description": "A sequence of FluidRelay servers.", + "x-adl-name": "FluidRelayServer[]" + }, + "nextLink": { + "type": "string", + "description": "A link to the next page of results, if any." + } + }, + "description": "Paged response", + "required": [ + "value" + ], + "x-adl-name": "Page" + }, + "FluidRelayContainerList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FluidRelayContainer" + }, + "description": "A sequence of FluidRelay containers.", + "x-adl-name": "FluidRelayContainer[]" + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "A link to the next page of results, if any." + } + }, + "description": "Paged response" + }, + "FluidRelayServer": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FluidRelayServerProperties", + "description": "The resource-specific properties for this resource.", + "readOnly": false, + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System meta data for this resource, including creation and modification information.", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The type of identity used for the resource." + } + }, + "description": "A FluidRelay Server.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ] + }, + "FluidRelayContainer": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FluidRelayContainerProperties", + "description": "The resource-specific properties for this resource.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "System meta data for this resource, including creation and modification information.", + "readOnly": true + } + }, + "description": "A FluidRelay Container.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "FluidRelayServerKeys": { + "type": "object", + "properties": { + "key1": { + "type": "string", + "format": "password", + "description": "The primary key for this server", + "readOnly": true + }, + "key2": { + "type": "string", + "format": "password", + "description": "The secondary key for this server", + "readOnly": true + } + }, + "description": "The set of available keys for this server." + }, + "RegenerateKeyRequest": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "enum": [ + "key1", + "key2" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "KeyName" + }, + "x-adl-name": "key1 | key2", + "description": "The key to regenerate." + } + }, + "description": "Specifies which key should be generated.", + "required": [ + "keyName" + ] + }, + "Identity": { + "description": "Identity for the resource.", + "type": "object", + "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": { + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + }, + "type": "string", + "description": "The identity type." + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", + "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." + } + } + }, + "FluidRelayServerProperties": { + "type": "object", + "properties": { + "frsTenantId": { + "type": "string", + "description": "The Fluid tenantId for this server", + "readOnly": true + }, + "fluidRelayEndpoints": { + "$ref": "#/definitions/FluidRelayEndpoints", + "description": "The Fluid Relay Service endpoints for this server.", + "readOnly": true + }, + "provisioningState": { + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "description": "Provision states for FluidRelay RP", + "title": "ProvisioningState", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "description": "The properties of a Fluid Relay Service resource." + }, + "FluidRelayContainerProperties": { + "type": "object", + "properties": { + "frsTenantId": { + "type": "string", + "description": "The Fluid tenantId for this container", + "readOnly": true + }, + "frsContainerId": { + "type": "string", + "description": "The frsContainerId for this container", + "readOnly": true + }, + "provisioningState": { + "readOnly": true, + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "description": "Provision states for FluidRelay RP", + "title": "ProvisioningState", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "description": "The properties of a Fluid Relay Container resource." + }, + "FluidRelayEndpoints": { + "type": "object", + "properties": { + "ordererEndpoints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Fluid Relay Orderer endpoints.", + "readOnly": true + }, + "storageEndpoints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Fluid Relay storage endpoints.", + "readOnly": true + } + }, + "description": "The Fluid Relay endpoints for this server" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "type": "string", + "required": true, + "description": "The subscription id (GUID) for this resource." + }, + "ResourceGroup": { + "name": "resourceGroup", + "in": "path", + "type": "string", + "required": true, + "description": "The resource group containing the resource.", + "x-ms-parameter-location": "method" + }, + "FluidRelayServerName": { + "name": "fluidRelayServerName", + "in": "path", + "type": "string", + "required": true, + "description": "The Fluid Relay server resource name.", + "x-ms-parameter-location": "method" + }, + "FluidRelayContainerName": { + "name": "fluidRelayContainerName", + "in": "path", + "type": "string", + "required": true, + "description": "The Fluid Relay container resource name.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/fluidrelay/resource-manager/readme.md b/specification/fluidrelay/resource-manager/readme.md index d2e70fa42dcc..2eaa0fc8cad9 100644 --- a/specification/fluidrelay/resource-manager/readme.md +++ b/specification/fluidrelay/resource-manager/readme.md @@ -67,6 +67,15 @@ input-file: - Microsoft.FluidRelay/preview/2021-09-10-preview/fluidrelay.json ``` +### Tag: package-2022-02-15 + +These settings apply only when `--tag=package-2022-02-15` is specified on the command line. + +```yaml $(tag) == 'package-2022-02-15' +input-file: + - Microsoft.FluidRelay/stable/2022-02-15/fluidrelay.json +``` + --- # Code Generation diff --git a/specification/fluidrelay/resource-manager/readme.python.md b/specification/fluidrelay/resource-manager/readme.python.md index 8d8959856cf3..ae78d75aa570 100644 --- a/specification/fluidrelay/resource-manager/readme.python.md +++ b/specification/fluidrelay/resource-manager/readme.python.md @@ -3,21 +3,17 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-fluidrelay -no-namespace-folders: true +namespace: azure.mgmt.fluidrelay package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/fluidrelay/azure-mgmt-fluidrelay/azure/mgmt/fluidrelay ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/fluidrelay/azure-mgmt-fluidrelay -``` diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-11-01/network.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-11-01/network.json index c78f3f854821..a956ee683b89 100644 --- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-11-01/network.json +++ b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-11-01/network.json @@ -76,7 +76,7 @@ "properties": { "status": { "type": "string", - "description": "Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'.", + "description": "Status of the Azure async operation.", "enum": [ "InProgress", "Succeeded", diff --git a/specification/frontdoor/resource-manager/readme.python.md b/specification/frontdoor/resource-manager/readme.python.md index bc5e26c8a89d..785423ade822 100644 --- a/specification/frontdoor/resource-manager/readme.python.md +++ b/specification/frontdoor/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.frontdoor @@ -14,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/network/azure-mgmt-frontdoor/azure/mgmt/frontdoor ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/network/azure-mgmt-frontdoor -``` diff --git a/specification/guestconfiguration/resource-manager/readme.python.md b/specification/guestconfiguration/resource-manager/readme.python.md index bd040ac8456d..ec59e359e288 100644 --- a/specification/guestconfiguration/resource-manager/readme.python.md +++ b/specification/guestconfiguration/resource-manager/readme.python.md @@ -5,7 +5,6 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.hanaonazure @@ -13,11 +13,7 @@ clear-output-folder: true package-version: 1.0.0b1 ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure/azure/mgmt/hanaonazure ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/hanaonazure/azure-mgmt-hanaonazure -``` diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.go.md b/specification/hardwaresecuritymodules/resource-manager/readme.go.md index 23e80857e3aa..97e4407055e2 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.go.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.go.md @@ -21,9 +21,19 @@ azure-arm: true ```yaml $(go) && $(multiapi) batch: + - tag: package-2021-11 - tag: package-2018-10 ``` +### Tag: package-2021-11 and go + +These settings apply only when `--tag=package-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag)=='package-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-30/$(namespace) +``` + ### Tag: package-2018-10 and go These settings apply only when `--tag=package-2018-10 --go` is specified on the command line. diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.md b/specification/hardwaresecuritymodules/resource-manager/readme.md index 008c32e5ed70..1d27b87838c9 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.md @@ -62,6 +62,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-cli-extensions + - repo: azure-sdk-for-python-track2 - repo: azure-resource-manager-schemas - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.python.md b/specification/hardwaresecuritymodules/resource-manager/readme.python.md index 3c0fe4da6616..c30eaad4f126 100644 --- a/specification/hardwaresecuritymodules/resource-manager/readme.python.md +++ b/specification/hardwaresecuritymodules/resource-manager/readme.python.md @@ -4,22 +4,15 @@ 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 - namespace: azure.mgmt.hardwaresecuritymodules - package-name: azure-mgmt-hardwaresecuritymodules - package-version: 2019-05-01 - clear-output-folder: true +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.hardwaresecuritymodules +package-name: azure-mgmt-hardwaresecuritymodules +package-version: 2019-05-01 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/azure/mgmt/hardwaresecuritymodules -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/hardwaresecuritymodules/azure-mgmt-hardwaresecuritymodules/azure/mgmt/hardwaresecuritymodules ``` \ No newline at end of file diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.typescript.md b/specification/hardwaresecuritymodules/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..abd88dcebf26 --- /dev/null +++ b/specification/hardwaresecuritymodules/resource-manager/readme.typescript.md @@ -0,0 +1,12 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-hardwaresecuritymodules" + output-folder: "$(typescript-sdks-folder)/sdk/hardwaresecuritymodules/arm-hardwaresecuritymodules" + generate-metadata: true +``` diff --git a/specification/hdinsight/resource-manager/readme.python.md b/specification/hdinsight/resource-manager/readme.python.md index dd3b1248b22c..ff4f93783606 100644 --- a/specification/hdinsight/resource-manager/readme.python.md +++ b/specification/hdinsight/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.hdinsight @@ -14,16 +13,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hdinsight/azure-mgmt-hdinsight/azure/mgmt/hdinsight ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/hdinsight/azure-mgmt-hdinsight -``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true -``` \ No newline at end of file +``` diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/CheckNameAvailabilityPost.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/CheckNameAvailabilityPost.json new file mode 100644 index 000000000000..725b2f829c98 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/CheckNameAvailabilityPost.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "checkNameAvailabilityInputs": { + "type": "Microsoft.HealthcareApis/services", + "name": "serviceName" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Service name is not available." + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationResultsGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationResultsGet.json new file mode 100644 index 000000000000..c663814da198 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationResultsGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "locationName": "westus", + "operationResultId": "exampleid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HealthcareApis/locations/westus/operationresults/exampleid", + "name": "servicename", + "status": "Requested", + "startTime": "2019-01-21T06:03:30.2716301Z", + "endTime": "2019-01-21T06:04:12.3413202Z", + "properties": {} + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationsList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationsList.json new file mode 100644 index 000000000000..3a24f908bc4f --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/OperationsList.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HealthcareApis/services/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/services/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/locations/operationresults/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operationresults", + "operation": "read", + "description": "Get the status of an asynchronous operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/dicomservices/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/dicomservices/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/dicomservices/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/iotconnectors/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/iotconnectors/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/iotconnectors/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/fhirservices/read", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/fhirservices/write", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/workspaces/fhirservices/delete", + "display": {}, + "origin": "user,system" + }, + { + "name": "Microsoft.HealthcareApis/checkNameAvailability/post", + "display": {}, + "origin": "user" + }, + { + "name": "Microsoft.HealthcareApis/Operations/read", + "display": { + "provider": "Microsoft.HealthcareApis", + "resource": "operations", + "operation": "read", + "description": "Get the list of operations supported by this Resource Provider." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Create.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Create.json new file mode 100644 index 000000000000..bf77effd409f --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Create.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "dicomServiceName": "blue", + "api-version": "2021-11-01", + "dicomservice": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": null + } + } + }, + "201": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Creating", + "serviceUrl": null + } + } + }, + "202": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Accepted", + "serviceUrl": null + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Delete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Delete.json new file mode 100644 index 000000000000..dc72a7801b27 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "dicomServiceName": "blue", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Get.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Get.json new file mode 100644 index 000000000000..ab4bf76095e6 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "dicomServiceName": "blue", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": "https://workspace1-blue.dicom.azurehealthcareapis.com" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_List.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_List.json new file mode 100644 index 000000000000..fe0c1faa6abb --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": "https://workspace1-blue.dicom.azurehealthcareapis.com" + } + }, + { + "name": "red", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/red", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": "https://workspace1-red.dicom.azurehealthcareapis.com" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Patch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Patch.json new file mode 100644 index 000000000000..40c1e97b51d7 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/dicomservices/DicomServices_Patch.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "dicomServiceName": "blue", + "api-version": "2021-11-01", + "dicomservicePatchResource": { + "tags": { + "tagKey": "tagValue" + } + } + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": "https://workspace1-blue.dicom.azurehealthcareapis.com" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/westus/operationresults/f7eb8g4f1ncj3jgk6bg8jlqf8?api-version=2021-11-01" + }, + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/dicomservices/blue", + "type": "Microsoft.HealthcareApis/workspaces/dicomservices", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audiences": [ + "https://azurehealthcareapis.com/", + "https://azurehealthcareapis.com" + ] + }, + "provisioningState": "Succeeded", + "serviceUrl": "https://workspace1-blue.dicom.azurehealthcareapis.com" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Create.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Create.json new file mode 100644 index 000000000000..6fd47b5cb961 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Create.json @@ -0,0 +1,223 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "fhirServiceName": "fhirservice1", + "api-version": "2021-11-01", + "fhirservice": { + "location": "westus", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "kind": "fhir-R4", + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "acrConfiguration": { + "loginServers": [ + "test1.azurecr.io" + ] + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "kind": "fhir-R4", + "etag": "etagvalue", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "eventState": "Disabled", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "kind": "fhir-R4", + "etag": "etagvalue", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "eventState": "Disabled", + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "location": "westus", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "kind": "fhir-R4", + "etag": "etagvalue", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "eventState": "Disabled", + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Delete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Delete.json new file mode 100644 index 000000000000..6198ca52e3d5 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "fhirServiceName": "fhirservice1", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Get.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Get.json new file mode 100644 index 000000000000..b0ff5a6fc8c6 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "fhirServiceName": "fhirservices1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "fhirservices1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservices1", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "properties": { + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_List.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_List.json new file mode 100644 index 000000000000..219ede361d36 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "properties": { + "provisioningState": "Creating" + } + }, + { + "name": "fhirservice2", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice2", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "properties": { + "provisioningState": "Creating" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Patch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Patch.json new file mode 100644 index 000000000000..e6bf1bbb55c1 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/fhirservices/FhirServices_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "fhirServiceName": "fhirservice1", + "api-version": "2021-11-01", + "fhirservicePatchResource": { + "tags": { + "tagKey": "tagValue" + } + } + }, + "responses": { + "200": { + "body": { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/westus/operationresults/f7eb8g4f1ncj3jgk6bg8jlqf8?api-version=2021-11-01" + }, + "body": { + "name": "fhirservice1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirservices/fhirservice1", + "type": "Microsoft.HealthcareApis/workspaces/fhirservices", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Create.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Create.json new file mode 100644 index 000000000000..ab84295db6eb --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Create.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "api-version": "2021-11-01", + "iotConnector": { + "location": "westus", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + }, + "201": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Creating", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + }, + "202": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Accepted", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Delete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Delete.json new file mode 100644 index 000000000000..635af9a0fea8 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Get.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Get.json new file mode 100644 index 000000000000..5e09a49a607f --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Get.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Creating", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_List.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_List.json new file mode 100644 index 000000000000..2076077d9b72 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_List.json @@ -0,0 +1,121 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Creating", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + }, + { + "name": "red", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/red", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f6ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Suceeded", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "steps", + "typeMatchExpression": "$..[?(@steps)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.steps", + "valueName": "steps" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-27T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-27T19:26:24.072Z" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Patch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Patch.json new file mode 100644 index 000000000000..4f83c2c69933 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_Patch.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "api-version": "2021-11-01", + "iotConnectorPatchResource": { + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/westus/operationresults/f7eb8g4f1ncj3jgk6bg8jlqf8?api-version=2021-11-01" + }, + "body": { + "name": "blue", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "tags": { + "additionalProp1": "string", + "additionalProp2": "string", + "additionalProp3": "string" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Accepted", + "ingestionEndpointConfiguration": { + "eventHubName": "MyEventHubName", + "consumerGroup": "ConsumerGroupA", + "fullyQualifiedEventHubNamespace": "myeventhub.servicesbus.windows.net" + }, + "deviceMapping": { + "content": { + "templateType": "CollectionContent", + "template": [ + { + "templateType": "JsonPathContent", + "template": { + "typeName": "heartrate", + "typeMatchExpression": "$..[?(@heartrate)]", + "deviceIdExpression": "$.deviceid", + "timestampExpression": "$.measurementdatetime", + "values": [ + { + "required": "true", + "valueExpression": "$.heartrate", + "valueName": "hr" + } + ] + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Create.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Create.json new file mode 100644 index 000000000000..95d8ad0d67b7 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Create.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "fhirDestinationName": "dest1", + "api-version": "2021-11-01", + "iotFhirDestination": { + "location": "westus", + "properties": { + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "dest1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest1", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "West US 2", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "properties": { + "provisioningState": "Succeeded", + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + }, + "201": { + "body": { + "name": "dest1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest1", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "West US 2", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "properties": { + "provisioningState": "Creating", + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + }, + "202": { + "body": { + "name": "dest1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest1", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "West US 2", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "properties": { + "provisioningState": "Accepted", + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Delete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Delete.json new file mode 100644 index 000000000000..7b819fe90d0c --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "fhirDestinationName": "dest1", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Get.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Get.json new file mode 100644 index 000000000000..f0a1310271bf --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_Get.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "fhirDestinationName": "dest1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "dest1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest1", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "properties": { + "provisioningState": "Suceeded", + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_List.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_List.json new file mode 100644 index 000000000000..106e092bb3ae --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/iotconnectors/iotconnector_fhirdestination_List.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "iotConnectorName": "blue", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "dest1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest1", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "westus", + "etag": "00000000-0000-0000-f5ac-912ca49e01d6", + "properties": { + "provisioningState": "Succeeded", + "resourceIdentityResolutionType": "Create", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-28T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-28T19:26:24.072Z" + } + }, + { + "name": "dest2", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1/iotconnectors/blue/fhirdestinations/dest2", + "type": "Microsoft.HealthcareApis/workspaces/iotconnectors/fhirdestinations", + "location": "westus", + "etag": "00000000-0000-0000-f6ac-912ca49e01d6", + "properties": { + "provisioningState": "Suceeded", + "resourceIdentityResolutionType": "Lookup", + "fhirServiceResourceId": "subscriptions/11111111-2222-3333-4444-555566667777/resourceGroups/myrg/providers/Microsoft.HealthcareApis/workspaces/myworkspace/fhirservices/myfhirservice", + "fhirMapping": { + "content": { + "templateType": "CollectionFhirTemplate", + "template": [ + { + "templateType": "CodeValueFhir", + "template": { + "codes": [ + { + "code": "8867-4", + "system": "http://loinc.org", + "display": "Heart rate" + } + ], + "periodInterval": 60, + "typeName": "heartrate", + "value": { + "defaultPeriod": 5000, + "unit": "count/min", + "valueName": "hr", + "valueType": "SampledData" + } + } + } + ] + } + } + }, + "systemData": { + "createdBy": "string", + "createdAt": "2021-01-27T19:26:24.072Z", + "lastModifiedBy": "string", + "lastModifiedAt": "2021-01-27T19:26:24.072Z" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourceGet.json new file mode 100644 index 000000000000..b3e4926c9d2a --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourceGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "groupName": "fhir" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateLinkResources/fhir", + "name": "fhir", + "type": "Microsoft.HealthcareApis/services/privateLinkResources", + "properties": { + "groupId": "fhir", + "requiredMembers": [ + "fhir" + ], + "requiredZoneNames": [ + "privatelink.azurehealthcareapis.com" + ] + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourcesListByService.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourcesListByService.json new file mode 100644 index 000000000000..122202277d2e --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/PrivateLinkResourcesListByService.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateLinkResources/fhir", + "name": "fhir", + "type": "Microsoft.HealthcareApis/services/privateLinkResources", + "properties": { + "groupId": "fhir", + "requiredMembers": [ + "fhir" + ], + "requiredZoneNames": [ + "privatelink.azurehealthcareapis.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreate.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreate.json new file mode 100644 index 000000000000..65627117bfdd --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreate.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2021-11-01", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US 2", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "exportConfiguration": { + "storageAccountName": "existingStorageAccount" + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + }, + "identity": { + "principalId": "03fe6ae0-952c-4e4b-954b-cc0364dd252e", + "tenantId": "72f988bf-86f1-41af-91ab-2d8cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreateMinimum.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreateMinimum.json new file mode 100644 index 000000000000..a9380becc5ee --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreateMinimum.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceName": "service2", + "resourceGroupName": "rg1", + "api-version": "2021-11-01", + "subscriptionId": "subid", + "serviceDescription": { + "location": "westus2", + "tags": {}, + "kind": "fhir-R4", + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000 + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating", + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service2", + "name": "service2", + "type": "Microsoft.HealthcareApis/services", + "etag": "etagvalue", + "location": "westus2", + "kind": "fhir-R4", + "tags": {}, + "properties": { + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": null + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": false + }, + "corsConfiguration": { + "origins": [], + "headers": [], + "methods": [], + "maxAge": null, + "allowCredentials": false + }, + "provisioningState": "Creating", + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreatePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreatePrivateEndpointConnection.json new file mode 100644 index 000000000000..71f4668c3521 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceCreatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDelete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDelete.json new file mode 100644 index 000000000000..f3b055157a6d --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2021-11-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDeletePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..5f03abfe6699 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGet.json new file mode 100644 index 000000000000..360a0602b04d --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2021-11-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGetPrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..d597b49c5dd4 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceList.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceList.json new file mode 100644 index 000000000000..4dd72a7bd309 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etag", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": "https://host/subscriptions/subid/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListByResourceGroup.json new file mode 100644 index 000000000000..28ae8693a875 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListByResourceGroup.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/dddb8dcb-effb-4290-bb47-ce1e8440c729", + "name": "service1", + "location": "westus", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "tags": {}, + "etag": "etagvalue", + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + ], + "nextLink": "https://host/subscriptions/subid/resourceGroups/rgname/providers/Microsoft.HealthcareApis/services?api-version=2018-08-20-preview&%24skipToken=e30%3d" + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListPrivateEndpointConnections.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListPrivateEndpointConnections.json new file mode 100644 index 000000000000..9d11fa32dea8 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServiceListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "rgname", + "resourceName": "service1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/services/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServicePatch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServicePatch.json new file mode 100644 index 000000000000..bf2b949a4a98 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/legacy/ServicePatch.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "resourceName": "service1", + "resourceGroupName": "rg1", + "api-version": "2021-11-01", + "subscriptionId": "subid", + "servicePatchDescription": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/services/service1", + "name": "service1", + "location": "West US", + "type": "Microsoft.HealthcareApis/services", + "kind": "fhir-R4", + "etag": "etagvalue", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Creating", + "accessPolicies": [ + { + "objectId": "c487e7d1-3210-41a3-8ccc-e9372b78da47" + }, + { + "objectId": "5b307da8-43d4-492b-8b66-b0294ade872f" + } + ], + "cosmosDbConfiguration": { + "offerThroughput": 1000, + "keyVaultKeyUri": "https://my-vault.vault.azure.net/keys/my-key" + }, + "authenticationConfiguration": { + "authority": "https://login.microsoftonline.com/abfde7b2-df0f-47e6-aabf-2462b07508dc", + "audience": "https://azurehealthcareapis.com", + "smartProxyEnabled": true + }, + "corsConfiguration": { + "origins": [ + "*" + ], + "headers": [ + "*" + ], + "methods": [ + "DELETE", + "GET", + "OPTIONS", + "PATCH", + "POST", + "PUT" + ], + "maxAge": 1440, + "allowCredentials": false + }, + "privateEndpointConnections": [], + "publicNetworkAccess": "Disabled" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/PrivateLinkResourcesListByWorkspace.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/PrivateLinkResourcesListByWorkspace.json new file mode 100644 index 000000000000..6affbf4a4d9f --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/PrivateLinkResourcesListByWorkspace.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/workspaces/workspace1/privateLinkResources/healthcareworkspace", + "name": "healthcareworkspace", + "type": "Microsoft.HealthcareApis/workspaces/privateLinkResources", + "properties": { + "groupId": "healthcareworkspace", + "requiredMembers": [ + "fhirservices", + "dicomservices" + ], + "requiredZoneNames": [ + "privatelink.fhir.azurehealthcareapis.com", + "privatelink.dicom.azurehealthcareapis.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceCreatePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceCreatePrivateEndpointConnection.json new file mode 100644 index 000000000000..384d7257bebc --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceCreatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "myConnection", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/workspaces/workspace1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/workspaces/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceDeletePrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..24fac7786aec --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceGetPrivateEndpointConnection.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..8f3eb66778f2 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceGetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "myConnection" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/workspaces/workspace1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/workspaces/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceListPrivateEndpointConnections.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceListPrivateEndpointConnections.json new file mode 100644 index 000000000000..ce57db39cf94 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspaceListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/workspaces/workspace1/privateEndpointConnections/myConnection", + "name": "myConnection", + "type": "Microsoft.HealthcareApis/workspaces/privateEndpointConnections", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspacePrivateLinkResourceGet.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspacePrivateLinkResourceGet.json new file mode 100644 index 000000000000..3e9b111e5d8c --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/privatelink/WorkspacePrivateLinkResourceGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "groupName": "healthcareworkspace" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HealthcareApis/workspaces/workspace1/privateLinkResources/fhir", + "name": "fhir", + "type": "Microsoft.HealthcareApis/workspaces/privateLinkResources", + "properties": { + "groupId": "healthcareworkspace", + "requiredMembers": [ + "fhirservices", + "dicomservices" + ], + "requiredZoneNames": [ + "privatelink.fhir.azurehealthcareapis.com", + "privatelink.dicom.azurehealthcareapis.com" + ] + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Create.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Create.json new file mode 100644 index 000000000000..2e48e660f90e --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Create.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01", + "workspace": { + "location": "westus", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "properties": { + "provisioningState": "Creating" + } + } + }, + "202": { + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "properties": { + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Delete.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Delete.json new file mode 100644 index 000000000000..5d02a170c01a --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Get.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Get.json new file mode 100644 index 000000000000..0207ca519a39 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "properties": { + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListByResourceGroup.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListByResourceGroup.json new file mode 100644 index 000000000000..576a7c466a54 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListByResourceGroup.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "eastus", + "properties": { + "provisioningState": "Creating" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListBySubscription.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListBySubscription.json new file mode 100644 index 000000000000..66a88eea7432 --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_ListBySubscription.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "string", + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "eastus", + "properties": { + "provisioningState": "Creating" + } + } + ] + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Patch.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Patch.json new file mode 100644 index 000000000000..109df62d8aba --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/examples/workspaces/Workspaces_Patch.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testRG", + "workspaceName": "workspace1", + "api-version": "2021-11-01", + "workspacePatchResource": { + "tags": { + "tagKey": "tagValue" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/westus/operationresults/f7eb8g4f1ncj3jgk6bg8jlqf8?api-version=2021-11-01" + }, + "body": { + "name": "workspace1", + "id": "/subscriptions/subid/resourceGroups/testRG/providers/Microsoft.HealthcareApis/workspaces/workspace1", + "type": "Microsoft.HealthcareApis/workspaces", + "location": "westus", + "tags": { + "tagKey": "tagValue" + }, + "properties": { + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/healthcare-apis.json b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/healthcare-apis.json new file mode 100644 index 000000000000..e7462f9e3c4e --- /dev/null +++ b/specification/healthcareapis/resource-manager/Microsoft.HealthcareApis/stable/2021-11-01/healthcare-apis.json @@ -0,0 +1,4084 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01", + "title": "HealthcareApisClient", + "description": "Use this API to manage Microsoft HealthcareApis services in your Azure subscription." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}": { + "get": { + "tags": [ + "Resource" + ], + "description": "Get the metadata of a service instance.", + "operationId": "Services_Get", + "x-ms-examples": { + "Get metadata": { + "$ref": "./examples/legacy/ServiceGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the service instance.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "Resource" + ], + "description": "Create or update the metadata of a service instance.", + "operationId": "Services_CreateOrUpdate", + "x-ms-examples": { + "Create or Update a service with all parameters": { + "$ref": "./examples/legacy/ServiceCreate.json" + }, + "Create or Update a service with minimum parameters": { + "$ref": "./examples/legacy/ServiceCreateMinimum.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "serviceDescription", + "in": "body", + "description": "The service instance metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is being updated; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "201": { + "description": "Created - Put request accepted and a new resource was created; the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "patch": { + "tags": [ + "Resource" + ], + "description": "Update the metadata of a service instance.", + "operationId": "Services_Update", + "x-ms-examples": { + "Patch service": { + "$ref": "./examples/legacy/ServicePatch.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "name": "servicePatchDescription", + "in": "body", + "description": "The service instance metadata and security metadata.", + "required": true, + "schema": { + "$ref": "#/definitions/ServicesPatchDescription" + } + } + ], + "responses": { + "200": { + "description": "The tags for the resource were updated successfully.", + "schema": { + "$ref": "#/definitions/ServicesDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "Resource" + ], + "description": "Delete a service instance.", + "operationId": "Services_Delete", + "x-ms-examples": { + "Delete service": { + "$ref": "./examples/legacy/ServiceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "202": { + "description": "Accepted - Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a subscription.", + "operationId": "Services_List", + "x-ms-examples": { + "List all services in subscription": { + "$ref": "./examples/legacy/ServiceList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the subscription.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services": { + "get": { + "tags": [ + "Collection" + ], + "description": "Get all the service instances in a resource group.", + "operationId": "Services_ListByResourceGroup", + "x-ms-examples": { + "List all services in resource group": { + "$ref": "./examples/legacy/ServiceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the service instances in the resource group.", + "schema": { + "$ref": "#/definitions/ServicesDescriptionListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability": { + "post": { + "tags": [ + "Proxy" + ], + "description": "Check if a service instance name is available.", + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "Check name availability": { + "$ref": "./examples/CheckNameAvailabilityPost.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "checkNameAvailabilityInputs", + "in": "body", + "description": "Set the name parameter in the CheckNameAvailabilityParameters structure to the name of the service instance to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the service name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/ServicesNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_ListByService", + "description": "Lists all private endpoint connections for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_List": { + "$ref": "./examples/legacy/ServiceListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_GetConnection": { + "$ref": "./examples/legacy/ServiceGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of the specified private endpoint connection associated with the service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/legacy/ServiceCreatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "No Content - The private endpoint connection does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/legacy/ServiceDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByService", + "description": "Gets the private link resources that need to be created for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResultDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListGroupIds": { + "$ref": "./examples/legacy/PrivateLinkResourcesListByService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_Get", + "description": "Gets a private link resource that need to be created for a service.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/legacy/PrivateLinkResourceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available workspaces under the specified subscription.", + "operationId": "Workspaces_ListBySubscription", + "x-ms-examples": { + "Get workspaces by subscription": { + "$ref": "./examples/workspaces/Workspaces_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the workspaces in the subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Lists all the available workspaces under the specified resource group.", + "operationId": "Workspaces_ListByResourceGroup", + "x-ms-examples": { + "Get workspaces by resource group": { + "$ref": "./examples/workspaces/Workspaces_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the workspaces in the resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspaces" + ], + "description": "Gets the properties of the specified workspace.", + "operationId": "Workspaces_Get", + "x-ms-examples": { + "Get workspace": { + "$ref": "./examples/workspaces/Workspaces_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "Workspaces" + ], + "description": "Creates or updates a workspace resource with the specified parameters.", + "operationId": "Workspaces_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a workspace": { + "$ref": "./examples/workspaces/Workspaces_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "workspace", + "description": "The parameters for creating or updating a healthcare workspace.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Created - Put request accepted and an existing resource is being created asynchronously.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "Accepted - Put request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "patch": { + "tags": [ + "Workspaces" + ], + "description": "Patch workspace details.", + "operationId": "Workspaces_Update", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a workspace": { + "$ref": "./examples/workspaces/Workspaces_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "workspacePatchResource", + "description": "The parameters for updating a specified workspace.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/WorkspacePatchResource" + } + } + ], + "responses": { + "200": { + "description": "Updated - Patch request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "202": { + "description": "Accepted - Patch request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "Workspaces" + ], + "description": "Deletes a specified workspace.", + "operationId": "Workspaces_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a workspace": { + "$ref": "./examples/workspaces/Workspaces_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "Resource deleted." + }, + "202": { + "description": "Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/dicomservices": { + "get": { + "tags": [ + "DicomServices" + ], + "description": "Lists all DICOM Services for the given workspace", + "operationId": "DicomServices_ListByWorkspace", + "x-ms-examples": { + "List dicomservices": { + "$ref": "./examples/dicomservices/DicomServices_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "List of DICOM Services.", + "schema": { + "$ref": "#/definitions/DicomServiceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/dicomservices/{dicomServiceName}": { + "get": { + "tags": [ + "DicomServices" + ], + "description": "Gets the properties of the specified DICOM Service.", + "operationId": "DicomServices_Get", + "x-ms-examples": { + "Get a dicomservice": { + "$ref": "./examples/dicomservices/DicomServices_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/dicomServiceName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "DicomServices" + ], + "description": "Creates or updates a DICOM Service resource with the specified parameters.", + "operationId": "DicomServices_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a Dicom Service": { + "$ref": "./examples/dicomservices/DicomServices_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/dicomServiceName" + }, + { + "name": "dicomservice", + "description": "The parameters for creating or updating a Dicom Service resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DicomService" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "201": { + "description": "Created - Put request accepted and an existing resource is being created asynchronously.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "202": { + "description": "Accepted - Put request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "patch": { + "tags": [ + "DicomServices" + ], + "description": "Patch DICOM Service details.", + "operationId": "DicomServices_Update", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a dicomservice": { + "$ref": "./examples/dicomservices/DicomServices_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/dicomServiceName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "dicomservicePatchResource", + "description": "The parameters for updating a Dicom Service.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DicomServicePatchResource" + } + } + ], + "responses": { + "200": { + "description": "Updated - Patch request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "202": { + "description": "Accepted - Patch request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/DicomService" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "DicomServices" + ], + "description": "Deletes a DICOM Service.", + "operationId": "DicomServices_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a dicomservice": { + "$ref": "./examples/dicomservices/DicomServices_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/dicomServiceName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "Resource deleted." + }, + "202": { + "description": "Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/iotconnectors": { + "get": { + "tags": [ + "IotConnectors" + ], + "description": "Lists all IoT Connectors for the given workspace", + "operationId": "IotConnectors_ListByWorkspace", + "x-ms-examples": { + "List iotconnectors": { + "$ref": "./examples/iotconnectors/iotconnector_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "List of IoT Connectors.", + "schema": { + "$ref": "#/definitions/IotConnectorCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/iotconnectors/{iotConnectorName}": { + "get": { + "tags": [ + "IotConnectors" + ], + "description": "Gets the properties of the specified IoT Connector.", + "operationId": "IotConnectors_Get", + "x-ms-examples": { + "Get an IoT Connector": { + "$ref": "./examples/iotconnectors/iotconnector_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "IotConnectors" + ], + "description": "Creates or updates an IoT Connector resource with the specified parameters.", + "operationId": "IotConnectors_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create an IoT Connector": { + "$ref": "./examples/iotconnectors/iotconnector_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "name": "iotConnector", + "description": "The parameters for creating or updating an IoT Connectors resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IotConnector" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "201": { + "description": "Created - Put request accepted and an existing resource is being created asynchronously.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "202": { + "description": "Accepted - Put request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "patch": { + "tags": [ + "IotConnectors" + ], + "description": "Patch an IoT Connector.", + "operationId": "IotConnectors_Update", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch an IoT Connector": { + "$ref": "./examples/iotconnectors/iotconnector_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "iotConnectorPatchResource", + "description": "The parameters for updating an IoT Connector.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IotConnectorPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Updated - Patch request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "202": { + "description": "Accepted - Patch request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/IotConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "IotConnectors" + ], + "description": "Deletes an IoT Connector.", + "operationId": "IotConnectors_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete an IoT Connector": { + "$ref": "./examples/iotconnectors/iotconnector_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "Resource deleted." + }, + "202": { + "description": "Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/iotconnectors/{iotConnectorName}/fhirdestinations": { + "get": { + "tags": [ + "IotConnectors" + ], + "description": "Lists all FHIR destinations for the given IoT Connector", + "operationId": "FhirDestinations_ListByIotConnector", + "x-ms-examples": { + "List IoT Connectors": { + "$ref": "./examples/iotconnectors/iotconnector_fhirdestination_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + } + ], + "responses": { + "200": { + "description": "List of IoT Connector FHIR destinations.", + "schema": { + "$ref": "#/definitions/IotFhirDestinationCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/iotconnectors/{iotConnectorName}/fhirdestinations/{fhirDestinationName}": { + "get": { + "tags": [ + "IotConnectors" + ], + "description": "Gets the properties of the specified Iot Connector FHIR destination.", + "operationId": "IotConnectorFhirDestination_Get", + "x-ms-examples": { + "Get an IoT Connector destination": { + "$ref": "./examples/iotconnectors/iotconnector_fhirdestination_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "$ref": "#/parameters/fhirDestinationName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/IotFhirDestination" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "IotConnectors" + ], + "description": "Creates or updates an IoT Connector FHIR destination resource with the specified parameters.", + "operationId": "IotConnectorFhirDestination_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update an Iot Connector FHIR destination": { + "$ref": "./examples/iotconnectors/iotconnector_fhirdestination_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "$ref": "#/parameters/fhirDestinationName" + }, + { + "name": "iotFhirDestination", + "description": "The parameters for creating or updating an IoT Connector FHIR destination resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IotFhirDestination" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/IotFhirDestination" + } + }, + "201": { + "description": "Created - Put request accepted and an existing resource is being created asynchronously.", + "schema": { + "$ref": "#/definitions/IotFhirDestination" + } + }, + "202": { + "description": "Accepted - Put request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/IotFhirDestination" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "IotConnectors" + ], + "description": "Deletes an IoT Connector FHIR destination.", + "operationId": "IotConnectorFhirDestination_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete an IoT Connector destination": { + "$ref": "./examples/iotconnectors/iotconnector_fhirdestination_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/iotConnectorName" + }, + { + "$ref": "#/parameters/fhirDestinationName" + } + ], + "responses": { + "200": { + "description": "Resource deleted." + }, + "202": { + "description": "Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/fhirservices": { + "get": { + "tags": [ + "FhirServices" + ], + "description": "Lists all FHIR Services for the given workspace", + "operationId": "FhirServices_ListByWorkspace", + "x-ms-examples": { + "List fhirservices": { + "$ref": "./examples/fhirservices/FhirServices_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "List of FHIR Services.", + "schema": { + "$ref": "#/definitions/FhirServiceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/fhirservices/{fhirServiceName}": { + "get": { + "tags": [ + "FhirServices" + ], + "description": "Gets the properties of the specified FHIR Service.", + "operationId": "FhirServices_Get", + "x-ms-examples": { + "Get a Fhir Service": { + "$ref": "./examples/fhirservices/FhirServices_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/fhirServiceName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "put": { + "tags": [ + "FhirServices" + ], + "description": "Creates or updates a FHIR Service resource with the specified parameters.", + "operationId": "FhirServices_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a Fhir Service": { + "$ref": "./examples/fhirservices/FhirServices_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "#/parameters/fhirServiceName" + }, + { + "name": "fhirservice", + "description": "The parameters for creating or updating a Fhir Service resource.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FhirService" + } + } + ], + "responses": { + "200": { + "description": "Updated - Put request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "201": { + "description": "Created - Put request accepted and an existing resource is being created asynchronously.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "202": { + "description": "Accepted - Put request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "patch": { + "tags": [ + "FhirServices" + ], + "description": "Patch FHIR Service details.", + "operationId": "FhirServices_Update", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a Fhir Service": { + "$ref": "./examples/fhirservices/FhirServices_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/fhirServiceName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "fhirservicePatchResource", + "description": "The parameters for updating a Fhir Service.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FhirServicePatchResource" + } + } + ], + "responses": { + "200": { + "description": "Updated - Patch request accepted and an existing resource is updated.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "202": { + "description": "Accepted - Patch request accepted and an existing resource is being updated asynchronously.", + "schema": { + "$ref": "#/definitions/FhirService" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + }, + "delete": { + "tags": [ + "FhirServices" + ], + "description": "Deletes a FHIR Service.", + "operationId": "FhirServices_Delete", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Fhir Service": { + "$ref": "./examples/fhirservices/FhirServices_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/fhirServiceName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "Resource deleted." + }, + "202": { + "description": "Delete request accepted; the operation will complete asynchronously." + }, + "204": { + "description": "The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "WorkspacePrivateEndpointConnections_ListByWorkspace", + "description": "Lists all private endpoint connections for a workspace.", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateEndpointConnection_List": { + "$ref": "./examples/privatelink/WorkspaceListPrivateEndpointConnections.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "WorkspacePrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the workspace.", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateEndpointConnection_GetConnection": { + "$ref": "./examples/privatelink/WorkspaceGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "operationId": "WorkspacePrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of the specified private endpoint connection associated with the workspace.", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/privatelink/WorkspaceCreatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WorkspacePrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection.", + "operationId": "WorkspacePrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly." + }, + "202": { + "description": "The request was successful; the operation will complete asynchronously." + }, + "204": { + "description": "No Content - The private endpoint connection does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateEndpointConnections_Delete": { + "$ref": "./examples/privatelink/WorkspaceDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "WorkspacePrivateLinkResources_ListByWorkspace", + "description": "Gets the private link resources that need to be created for a workspace.", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResultDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateLinkResources_ListGroupIds": { + "$ref": "./examples/privatelink/PrivateLinkResourcesListByWorkspace.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/workspaces/{workspaceName}/privateLinkResources/{groupName}": { + "get": { + "tags": [ + "WorkspacePrivateLinkResources" + ], + "operationId": "WorkspacePrivateLinkResources_Get", + "description": "Gets a private link resource that need to be created for a workspace.", + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/workspaceName" + }, + { + "name": "groupName", + "in": "path", + "description": "The name of the private link resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "WorkspacePrivateLinkResources_Get": { + "$ref": "./examples/privatelink/WorkspacePrivateLinkResourceGet.json" + } + } + } + }, + "/providers/Microsoft.HealthcareApis/operations": { + "get": { + "tags": [ + "Proxy" + ], + "description": "Lists all of the available operations supported by Microsoft Healthcare resource provider.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/OperationsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ListOperations" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}": { + "get": { + "tags": [ + "Proxy" + ], + "description": "Get the operation result for a long running operation.", + "operationId": "OperationResults_Get", + "x-ms-examples": { + "Get operation result": { + "$ref": "./examples/OperationResultsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersion" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "$ref": "#/parameters/operationResultId" + } + ], + "responses": { + "200": { + "description": "The body contains all of the properties of the operation result.", + "schema": { + "$ref": "#/definitions/OperationResultsDescription" + } + }, + "default": { + "description": "Default error response", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + } + }, + "definitions": { + "ServicesProperties": { + "description": "The properties of a service instance.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + }, + "accessPolicies": { + "$ref": "#/definitions/ServiceAccessPoliciesInfo", + "description": "The access policies of the service instance." + }, + "cosmosDbConfiguration": { + "$ref": "#/definitions/ServiceCosmosDbConfigurationInfo", + "description": "The settings for the Cosmos DB database backing the service." + }, + "authenticationConfiguration": { + "$ref": "#/definitions/ServiceAuthenticationConfigurationInfo", + "description": "The authentication configuration for the service instance." + }, + "corsConfiguration": { + "$ref": "#/definitions/ServiceCorsConfigurationInfo", + "description": "The settings for the CORS configuration of the service instance." + }, + "exportConfiguration": { + "$ref": "#/definitions/ServiceExportConfigurationInfo", + "description": "The settings for the export operation of the service instance." + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "acrConfiguration": { + "$ref": "#/definitions/ServiceAcrConfigurationInfo", + "description": "The azure container registry settings used for convert data operation of the service instance." + } + } + }, + "ServiceAccessPoliciesInfo": { + "description": "The access policies of the service instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAccessPolicyEntry" + } + }, + "ServiceAccessPolicyEntry": { + "description": "An access policy entry.", + "properties": { + "objectId": { + "description": "An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.", + "type": "string", + "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" + } + }, + "required": [ + "objectId" + ] + }, + "ServiceCosmosDbConfigurationInfo": { + "description": "The settings for the Cosmos DB database backing the service.", + "type": "object", + "properties": { + "offerThroughput": { + "type": "integer", + "description": "The provisioned throughput for the backing database.", + "readOnly": false, + "minimum": 400, + "maximum": 10000 + }, + "keyVaultKeyUri": { + "type": "string", + "description": "The URI of the customer-managed key for the backing database.", + "readOnly": false + } + } + }, + "ServiceAuthenticationConfigurationInfo": { + "description": "Authentication configuration information", + "type": "object", + "properties": { + "authority": { + "type": "string", + "description": "The authority url for the service", + "readOnly": false + }, + "audience": { + "type": "string", + "description": "The audience url for the service", + "readOnly": false + }, + "smartProxyEnabled": { + "type": "boolean", + "description": "If the SMART on FHIR proxy is enabled", + "readOnly": false + } + } + }, + "ServiceCorsConfigurationInfo": { + "description": "The settings for the CORS configuration of the service instance.", + "type": "object", + "properties": { + "origins": { + "type": "array", + "description": "The origins to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationOriginEntry" + } + }, + "headers": { + "type": "array", + "description": "The headers to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationHeaderEntry" + } + }, + "methods": { + "type": "array", + "description": "The methods to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceCorsConfigurationMethodEntry" + } + }, + "maxAge": { + "type": "integer", + "description": "The max age to be allowed via CORS.", + "readOnly": false, + "minimum": 0, + "maximum": 99999 + }, + "allowCredentials": { + "type": "boolean", + "description": "If credentials are allowed via CORS.", + "readOnly": false + } + } + }, + "ServiceExportConfigurationInfo": { + "description": "Export operation configuration information", + "type": "object", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The name of the default export storage account.", + "readOnly": false + } + } + }, + "ServiceAcrConfigurationInfo": { + "description": "Azure container registry configuration information", + "type": "object", + "properties": { + "loginServers": { + "type": "array", + "description": "The list of the ACR login servers.", + "readOnly": false, + "items": { + "type": "string" + } + }, + "ociArtifacts": { + "type": "array", + "description": "The list of Open Container Initiative (OCI) artifacts.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceOciArtifactEntry" + }, + "x-ms-identifiers": [] + } + } + }, + "ServiceCorsConfigurationOriginEntry": { + "description": "An origin for CORS.", + "type": "string", + "pattern": "^(?:(?:(?:[hH][tT][tT][pP](?:[sS]|))\\:\\/\\/(?:[a-zA-Z0-9-]+[.]?)+(?:\\:[0-9]{1,5})?|[*]))$" + }, + "ServiceCorsConfigurationHeaderEntry": { + "description": "A header for CORS.", + "type": "string" + }, + "ServiceCorsConfigurationMethodEntry": { + "description": "A method for CORS.", + "type": "string" + }, + "ServicesDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": false, + "description": "The common properties of a service.", + "$ref": "#/definitions/ServicesProperties" + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ServicesResource" + } + ] + }, + "ServicesPatchDescription": { + "description": "The description of the service.", + "type": "object", + "properties": { + "tags": { + "description": "Instance tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ServicesPropertiesUpdateParameters", + "description": "The properties for updating a service instance.", + "x-ms-client-flatten": true + } + } + }, + "ServicesResource": { + "description": "The common properties of a service.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "kind": { + "readOnly": false, + "type": "string", + "description": "The kind of the service.", + "enum": [ + "fhir", + "fhir-Stu3", + "fhir-R4" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": false + } + }, + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "etag": { + "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", + "type": "string" + }, + "identity": { + "type": "object", + "description": "Setting indicating whether the service has a managed identity associated with it.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of the resource." + }, + "type": { + "description": "Type of identity being specified, currently SystemAssigned and None are allowed.", + "type": "string", + "enum": [ + "SystemAssigned", + "None" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } + } + } + } + }, + "x-ms-azure-resource": true, + "required": [ + "location", + "kind" + ] + }, + "ServicesDescriptionListResult": { + "description": "A list of service description objects with a next link.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of service description objects.", + "type": "string" + }, + "value": { + "description": "A list of service description objects.", + "type": "array", + "items": { + "$ref": "#/definitions/ServicesDescription" + } + } + } + }, + "ServicesPropertiesUpdateParameters": { + "description": "The properties for updating a service instance.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the service instance to check.", + "type": "string" + }, + "type": { + "description": "The fully qualified resource type which includes provider namespace.", + "type": "string" + } + }, + "required": [ + "name", + "type" + ] + }, + "ServicesNameAvailabilityInfo": { + "description": "The properties indicating whether a given service name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ServiceNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionDescription": { + "type": "object", + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateLinkResourceDescription": { + "type": "object", + "properties": { + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionListResultDescription": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionDescription" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResourceListResultDescription": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResourceDescription" + } + } + }, + "description": "A list of private link resources" + }, + "Error": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "description": "Error details", + "$ref": "#/definitions/ErrorDetailsInternal" + } + } + }, + "ErrorDetails": { + "description": "Error details.", + "type": "object", + "properties": { + "error": { + "description": "Error details", + "$ref": "#/definitions/ErrorDetailsInternal" + } + } + }, + "ErrorDetailsInternal": { + "description": "Error details.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "ListOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationDetail" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Service REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "readOnly": true, + "type": "string", + "description": "Default value is 'user,system'." + }, + "actionType": { + "description": "Enum. Indicates the action type. \"Internal\" refers to actions that are for internal only APIs.", + "type": "string", + "readOnly": true, + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft.HealthcareApis" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: Services" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "OperationResultsDescription": { + "description": "The properties indicating the operation result of an operation on a service.", + "type": "object", + "properties": { + "id": { + "description": "The ID of the operation returned.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the operation result.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the operation being performed.", + "enum": [ + "Canceled", + "Succeeded", + "Failed", + "Requested", + "Running" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "OperationResultStatus", + "modelAsString": true + } + }, + "startTime": { + "description": "The time that the operation was started.", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "The time that the operation finished.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "description": "Additional properties of the operation result.", + "type": "object" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specifications of the operation" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [] + }, + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric", + "type": "string" + }, + "unit": { + "description": "Unit that makes sense for the metric", + "type": "string" + }, + "category": { + "description": "Name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "Supported aggregation types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types", + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + } + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published.", + "type": "boolean" + }, + "dimensions": { + "description": "Dimensions of the metric", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "x-ms-identifiers": [] + }, + "sourceMdmNamespace": { + "description": "Name of the MDM namespace. Optional.", + "type": "string" + } + } + }, + "MetricDimension": { + "description": "Specifications of the Dimension of metrics", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "Whether this dimension should be included for the Shoebox export scenario", + "type": "boolean" + } + } + }, + "ProvisioningState": { + "description": "The provisioning state.", + "enum": [ + "Deleting", + "Succeeded", + "Creating", + "Accepted", + "Verifying", + "Updating", + "Failed", + "Canceled", + "Deprovisioned", + "Moving", + "Suspended", + "Warned", + "SystemMaintenance" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "ResourceTags": { + "type": "object", + "description": "List of key value pairs that describe the resource. This will overwrite the existing tags.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + } + }, + "ResourceCore": { + "type": "object", + "description": "The common properties for any resource, tracked or proxy.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name.", + "pattern": "^[a-z0-9][a-z0-9-]{1,21}[a-z0-9]$" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "etag": { + "description": "An etag associated with the resource, used for optimistic concurrency when editing it.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "LocationBasedResource": { + "type": "object", + "description": "The common properties for any location based resource, tracked or proxy.", + "allOf": [ + { + "$ref": "#/definitions/ResourceCore" + } + ], + "properties": { + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "TaggedResource": { + "type": "object", + "description": "The common properties of tracked resources in the service.", + "allOf": [ + { + "$ref": "#/definitions/ResourceTags" + }, + { + "$ref": "#/definitions/LocationBasedResource" + } + ], + "x-ms-azure-resource": true + }, + "ServiceManagedIdentity": { + "type": "object", + "description": "Managed service identity (system assigned and/or user assigned identities)", + "properties": { + "identity": { + "type": "object", + "description": "Setting indicating whether the service has a managed identity associated with it.", + "properties": { + "type": { + "description": "Type of identity being specified, currently SystemAssigned and None are allowed.", + "type": "string", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "x-ms-enum": { + "name": "ServiceManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "format": "uuid", + "type": "string", + "description": "The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity." + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentities" + } + }, + "required": [ + "type" + ] + } + } + }, + "UserAssignedIdentity": { + "type": "object", + "description": "User assigned identity properties", + "properties": { + "principalId": { + "description": "The principal ID of the assigned identity.", + "format": "uuid", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the assigned identity.", + "format": "uuid", + "type": "string", + "readOnly": true + } + } + }, + "UserAssignedIdentities": { + "title": "User-Assigned Identities", + "description": "The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "Workspace": { + "type": "object", + "description": "Workspace resource.", + "allOf": [ + { + "$ref": "#/definitions/TaggedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": false, + "type": "object", + "description": "Workspaces resource specific properties.", + "x-ms-azure-resource": true, + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "$ref": "#/definitions/ResourcePublicNetworkAccess" + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + } + }, + "WorkspacePatchResource": { + "type": "object", + "description": "Workspace patch properties", + "allOf": [ + { + "$ref": "#/definitions/ResourceTags" + } + ] + }, + "WorkspaceList": { + "description": "Collection of workspace object with a next link", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page.", + "type": "string" + }, + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Workspace" + } + } + } + }, + "DicomService": { + "type": "object", + "description": "The description of Dicom Service", + "allOf": [ + { + "$ref": "#/definitions/TaggedResource" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ], + "properties": { + "properties": { + "description": "Dicom Service configuration.", + "$ref": "#/definitions/DicomServiceProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + } + }, + "DicomServicePatchResource": { + "type": "object", + "description": "Dicom Service patch properties", + "allOf": [ + { + "$ref": "#/definitions/ResourceTags" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ] + }, + "DicomServiceCollection": { + "description": "The collection of Dicom Services.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Dicom Services.", + "type": "string" + }, + "value": { + "description": "The list of Dicom Services.", + "type": "array", + "items": { + "$ref": "#/definitions/DicomService" + } + } + } + }, + "DicomServiceProperties": { + "description": "Dicom Service properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + }, + "authenticationConfiguration": { + "description": "Dicom Service authentication configuration.", + "$ref": "#/definitions/DicomServiceAuthenticationConfiguration" + }, + "serviceUrl": { + "description": "The url of the Dicom Services.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "$ref": "#/definitions/ResourcePublicNetworkAccess" + } + } + }, + "DicomServiceAuthenticationConfiguration": { + "description": "Authentication configuration information", + "type": "object", + "properties": { + "authority": { + "type": "string", + "description": "The authority url for the service", + "readOnly": true + }, + "audiences": { + "type": "array", + "description": "The audiences for the service", + "items": { + "$ref": "#/definitions/DicomAudience" + }, + "readOnly": true + } + } + }, + "DicomAudience": { + "description": "The audience for Dicom Service", + "type": "string", + "readOnly": true + }, + "IotConnector": { + "type": "object", + "description": "IoT Connector definition.", + "allOf": [ + { + "$ref": "#/definitions/TaggedResource" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ], + "properties": { + "properties": { + "description": "IoT Connector configuration.", + "$ref": "#/definitions/IotConnectorProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + } + }, + "IotConnectorPatchResource": { + "type": "object", + "description": "Iot Connector patch properties", + "allOf": [ + { + "$ref": "#/definitions/ResourceTags" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ] + }, + "IotConnectorCollection": { + "description": "A collection of IoT Connectors.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of IoT Connectors.", + "type": "string" + }, + "value": { + "description": "The list of IoT Connectors.", + "type": "array", + "items": { + "$ref": "#/definitions/IotConnector" + } + } + } + }, + "IotConnectorProperties": { + "description": "IoT Connector properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + }, + "ingestionEndpointConfiguration": { + "description": "Source configuration.", + "$ref": "#/definitions/IotEventHubIngestionEndpointConfiguration" + }, + "deviceMapping": { + "description": "Device Mappings.", + "$ref": "#/definitions/IotMappingProperties" + } + } + }, + "IotEventHubIngestionEndpointConfiguration": { + "type": "object", + "properties": { + "eventHubName": { + "type": "string", + "description": "Event Hub name to connect to." + }, + "consumerGroup": { + "type": "string", + "description": "Consumer group of the event hub to connected to." + }, + "fullyQualifiedEventHubNamespace": { + "type": "string", + "description": "Fully qualified namespace of the Event Hub to connect to." + } + }, + "description": "Event Hub ingestion endpoint configuration" + }, + "IotMappingProperties": { + "description": "The mapping content.", + "type": "object", + "properties": { + "content": { + "description": "The mapping.", + "type": "object" + } + } + }, + "IotIdentityResolutionType": { + "description": "The type of IoT identity resolution to use with the destination.", + "enum": [ + "Create", + "Lookup" + ], + "type": "string", + "x-ms-enum": { + "name": "IotIdentityResolutionType", + "modelAsString": true + } + }, + "IotDestinationProperties": { + "type": "object", + "description": "Common IoT Connector destination properties.", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState", + "x-ms-client-flatten": true + } + } + }, + "IotFhirDestinationProperties": { + "required": [ + "resourceIdentityResolutionType", + "fhirServiceResourceId", + "fhirMapping" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IotDestinationProperties" + } + ], + "description": "IoT Connector destination properties for an Azure FHIR service.", + "properties": { + "resourceIdentityResolutionType": { + "description": "Determines how resource identity is resolved on the destination.", + "$ref": "#/definitions/IotIdentityResolutionType" + }, + "fhirServiceResourceId": { + "type": "string", + "description": "Fully qualified resource id of the FHIR service to connect to." + }, + "fhirMapping": { + "description": "FHIR Mappings", + "$ref": "#/definitions/IotMappingProperties" + } + } + }, + "IotFhirDestination": { + "required": [ + "properties" + ], + "type": "object", + "description": "IoT Connector FHIR destination definition.", + "allOf": [ + { + "$ref": "#/definitions/LocationBasedResource" + } + ], + "properties": { + "properties": { + "description": "IoT FHIR Destination settings.", + "$ref": "#/definitions/IotFhirDestinationProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + } + }, + "IotFhirDestinationCollection": { + "description": "A collection of IoT Connector FHIR destinations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of IoT FHIR destinations.", + "type": "string" + }, + "value": { + "description": "The list of IoT Connector FHIR destinations.", + "type": "array", + "items": { + "$ref": "#/definitions/IotFhirDestination" + } + } + } + }, + "FhirServiceCollection": { + "description": "A collection of Fhir services.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Fhir Services.", + "type": "string" + }, + "value": { + "description": "The list of Fhir Services.", + "type": "array", + "items": { + "$ref": "#/definitions/FhirService" + } + } + } + }, + "FhirService": { + "type": "object", + "description": "The description of Fhir Service", + "allOf": [ + { + "$ref": "#/definitions/TaggedResource" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ], + "properties": { + "kind": { + "readOnly": false, + "type": "string", + "description": "The kind of the service.", + "enum": [ + "fhir-Stu3", + "fhir-R4" + ], + "x-ms-enum": { + "name": "fhirServiceKind", + "modelAsString": true + } + }, + "properties": { + "description": "Fhir Service configuration.", + "$ref": "#/definitions/FhirServiceProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "#/definitions/systemData" + } + } + }, + "FhirServicePatchResource": { + "type": "object", + "description": "FhirService patch properties", + "allOf": [ + { + "$ref": "#/definitions/ResourceTags" + }, + { + "$ref": "#/definitions/ServiceManagedIdentity" + } + ] + }, + "FhirServiceProperties": { + "description": "Fhir Service properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + }, + "accessPolicies": { + "description": "Fhir Service access policies.", + "$ref": "#/definitions/FhirServiceAccessPolicies" + }, + "acrConfiguration": { + "description": "Fhir Service Azure container registry configuration.", + "$ref": "#/definitions/FhirServiceAcrConfiguration" + }, + "authenticationConfiguration": { + "description": "Fhir Service authentication configuration.", + "$ref": "#/definitions/FhirServiceAuthenticationConfiguration" + }, + "corsConfiguration": { + "description": "Fhir Service Cors configuration.", + "$ref": "#/definitions/FhirServiceCorsConfiguration" + }, + "exportConfiguration": { + "description": "Fhir Service export configuration.", + "$ref": "#/definitions/FhirServiceExportConfiguration" + }, + "privateEndpointConnections": { + "description": "The list of private endpoint connections that are set up for this resource.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "$ref": "#/definitions/ResourcePublicNetworkAccess" + }, + "eventState": { + "description": "Fhir Service event support status.", + "$ref": "#/definitions/ResourceEventState" + }, + "resourceVersionPolicyConfiguration": { + "description": "Determines tracking of history for resources.", + "$ref": "#/definitions/ResourceVersionPolicyConfiguration" + } + } + }, + "ResourceVersionPolicyConfiguration": { + "description": "The settings for history tracking for FHIR resources.", + "type": "object", + "properties": { + "default": { + "description": "The default value for tracking history across all resources.", + "$ref": "#/definitions/FhirResourceVersionPolicy" + }, + "resourceTypeOverrides": { + "description": "A list of FHIR Resources and their version policy overrides.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FhirResourceVersionPolicy" + } + } + } + }, + "FhirResourceVersionPolicy": { + "type": "string", + "description": "Controls how resources are versioned on the FHIR service", + "enum": [ + "no-version", + "versioned", + "versioned-update" + ], + "x-ms-enum": { + "name": "FhirResourceVersionPolicy", + "modelAsString": true + } + }, + "FhirServiceAccessPolicies": { + "description": "The access policies of the service instance.", + "type": "array", + "items": { + "$ref": "#/definitions/FhirServiceAccessPolicyEntry" + } + }, + "FhirServiceAccessPolicyEntry": { + "type": "object", + "description": "An access policy entry.", + "properties": { + "objectId": { + "description": "An Azure AD object ID (User or Apps) that is allowed access to the FHIR service.", + "type": "string", + "pattern": "^(([0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}){1})+$" + } + }, + "required": [ + "objectId" + ] + }, + "FhirServiceAcrConfiguration": { + "description": "Azure container registry configuration information", + "type": "object", + "properties": { + "loginServers": { + "type": "array", + "description": "The list of the Azure container registry login servers.", + "readOnly": false, + "items": { + "type": "string" + } + }, + "ociArtifacts": { + "type": "array", + "description": "The list of Open Container Initiative (OCI) artifacts.", + "readOnly": false, + "items": { + "$ref": "#/definitions/ServiceOciArtifactEntry" + }, + "x-ms-identifiers": [] + } + } + }, + "FhirServiceAuthenticationConfiguration": { + "description": "Authentication configuration information", + "type": "object", + "properties": { + "authority": { + "type": "string", + "description": "The authority url for the service", + "readOnly": false + }, + "audience": { + "type": "string", + "description": "The audience url for the service", + "readOnly": false + }, + "smartProxyEnabled": { + "type": "boolean", + "description": "If the SMART on FHIR proxy is enabled", + "readOnly": false + } + } + }, + "FhirServiceCorsConfiguration": { + "description": "The settings for the CORS configuration of the service instance.", + "type": "object", + "properties": { + "origins": { + "type": "array", + "description": "The origins to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/CorsConfigurationOriginEntry" + } + }, + "headers": { + "type": "array", + "description": "The headers to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/CorsConfigurationHeaderEntry" + } + }, + "methods": { + "type": "array", + "description": "The methods to be allowed via CORS.", + "readOnly": false, + "items": { + "$ref": "#/definitions/CorsConfigurationMethodEntry" + } + }, + "maxAge": { + "type": "integer", + "format": "int32", + "description": "The max age to be allowed via CORS.", + "readOnly": false, + "minimum": 0, + "maximum": 99999 + }, + "allowCredentials": { + "type": "boolean", + "description": "If credentials are allowed via CORS.", + "readOnly": false + } + } + }, + "CorsConfigurationOriginEntry": { + "description": "An origin for CORS.", + "type": "string", + "pattern": "^(?:(?:(?:[hH][tT][tT][pP](?:[sS]|))\\:\\/\\/(?:[a-zA-Z0-9-]+[.]?)+(?:\\:[0-9]{1,5})?|[*]))$" + }, + "CorsConfigurationHeaderEntry": { + "description": "A header for CORS.", + "type": "string" + }, + "CorsConfigurationMethodEntry": { + "description": "A method for CORS.", + "type": "string" + }, + "ServiceOciArtifactEntry": { + "description": "An Open Container Initiative (OCI) artifact.", + "type": "object", + "properties": { + "loginServer": { + "description": "The Azure Container Registry login server.", + "type": "string" + }, + "imageName": { + "description": "The artifact name.", + "type": "string" + }, + "digest": { + "description": "The artifact digest.", + "type": "string" + } + } + }, + "FhirServiceExportConfiguration": { + "description": "Export operation configuration information", + "type": "object", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The name of the default export storage account.", + "readOnly": false + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "ResourcePublicNetworkAccess": { + "description": "Control permission for data plane traffic coming from public networks while private endpoint is enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "readOnly": true + }, + "PrivateEndpointConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "ResourceEventState": { + "type": "string", + "description": "Indicates the current status of event support for the resource.", + "enum": [ + "Disabled", + "Enabled", + "Updating" + ], + "x-ms-enum": { + "name": "ServiceEventState", + "modelAsString": true + }, + "readOnly": true + } + }, + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription identifier.", + "required": true, + "type": "string" + }, + "apiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group that contains the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The location of the operation.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationResultId": { + "name": "operationResultId", + "in": "path", + "description": "The ID of the operation result to get.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "workspaceName": { + "name": "workspaceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of workspace resource.", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "dicomServiceName": { + "name": "dicomServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of DICOM Service resource.", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "iotConnectorName": { + "name": "iotConnectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of IoT Connector resource.", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "fhirDestinationName": { + "name": "fhirDestinationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of IoT Connector FHIR destination resource.", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "fhirServiceName": { + "name": "fhirServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of FHIR Service resource.", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the service instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "minLength": 3, + "maxLength": 24 + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + } + } +} diff --git a/specification/healthcareapis/resource-manager/readme.go.md b/specification/healthcareapis/resource-manager/readme.go.md index 6bf8f83b774e..f3b587999047 100644 --- a/specification/healthcareapis/resource-manager/readme.go.md +++ b/specification/healthcareapis/resource-manager/readme.go.md @@ -21,12 +21,41 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-11 + - tag: package-preview-2021-06 - tag: package-2020-03-30 - tag: package-2020-03 - tag: package-2019-09 - tag: package-2018-08-preview ``` +### Tag: package-2021-11 and go + +These settings apply only when `--tag=package-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-01/$(namespace) +``` + +### Tag: package-preview-2021-06 and go + +These settings apply only when `--tag=package-preview-2021-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-06' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace) + +directive: + - from: healthcare-apis.json + where: $.definitions.ServicesProperties.properties.provisioningState + transform: >- + return { + "description": "The provisioning state.", + "$ref": "#/definitions/ProvisioningState" + } +``` + ### Tag: package-2020-03-30 and go These settings apply only when `--tag=package-2020-03-30 --go` is specified on the command line. @@ -61,4 +90,4 @@ Please also specify `--go-sdk-folder=`. Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. -``` yaml $(python) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.healthcareapis @@ -13,11 +13,7 @@ clear-output-folder: true package-version: 1.0.0b1 ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/healthcareapis/azure-mgmt-healthcareapis/azure/mgmt/healthcareapis ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/healthcareapis/azure-mgmt-healthcareapis -``` diff --git a/specification/hybridcompute/resource-manager/readme.python.md b/specification/hybridcompute/resource-manager/readme.python.md index d932975f6ab8..df69f5fe5df1 100644 --- a/specification/hybridcompute/resource-manager/readme.python.md +++ b/specification/hybridcompute/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.hybridcompute @@ -13,16 +13,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute -``` -``` yaml $(python) && $(track2) +``` yaml $(python) directive: - remove-operation: - Machines_Reconnect diff --git a/specification/hybridconnectivity/resource-manager/readme.md b/specification/hybridconnectivity/resource-manager/readme.md index a7c986f34fc0..dd8f9990b569 100644 --- a/specification/hybridconnectivity/resource-manager/readme.md +++ b/specification/hybridconnectivity/resource-manager/readme.md @@ -52,7 +52,6 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net - repo: azure-sdk-for-python-track2 - - repo: azure-sdk-for-python - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 diff --git a/specification/hybridconnectivity/resource-manager/readme.python.md b/specification/hybridconnectivity/resource-manager/readme.python.md index 5cf6d5378b3e..e375b3f63d68 100644 --- a/specification/hybridconnectivity/resource-manager/readme.python.md +++ b/specification/hybridconnectivity/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-hybridconnectivity -no-namespace-folders: true +namespace: azure.mgmt.hybridconnectivity package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hybridconnectivity/azure-mgmt-hybridconnectivity/azure/mgmt/hybridconnectivity ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/hybridconnectivity/azure-mgmt-hybridconnectivity -``` diff --git a/specification/hybridkubernetes/resource-manager/readme.python.md b/specification/hybridkubernetes/resource-manager/readme.python.md index 8bb6e85d5816..188efb2cb731 100644 --- a/specification/hybridkubernetes/resource-manager/readme.python.md +++ b/specification/hybridkubernetes/resource-manager/readme.python.md @@ -4,20 +4,16 @@ 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) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-hybridkubernetes -no-namespace-folders: true +namespace: azure.mgmt.hybridkubernetes package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes/azure/mgmt/hybridkubernetes ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/hybridkubernetes/azure-mgmt-hybridkubernetes -``` diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/common.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/common.json new file mode 100644 index 000000000000..84d8c872a099 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/common.json @@ -0,0 +1,268 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The definitions in this swagger specification will be used to manage the Hybrid Network resources.", + "version": "2022-01-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": {}, + "definitions": { + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another sub resource.", + "x-ms-azure-resource": true + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Unknown", + "Succeeded", + "Accepted", + "Deleting", + "Failed", + "Canceled", + "Deleted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "VendorProvisioningState": { + "type": "string", + "description": "The current vendor provisioning state.", + "enum": [ + "Unknown", + "NotProvisioned", + "Provisioning", + "Provisioned", + "Deprovisioned", + "UserDataValidationFailed" + ], + "x-ms-enum": { + "name": "VendorProvisioningState", + "modelAsString": true + } + }, + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "NetworkInterface": { + "type": "object", + "description": "Network interface properties.", + "properties": { + "networkInterfaceName": { + "type": "string", + "description": "The name of the network interface." + }, + "macAddress": { + "type": "string", + "description": "The MAC address of the network interface." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "A list of IP configurations of the network interface." + }, + "vmSwitchType": { + "type": "string", + "description": "The type of the VM switch.", + "enum": [ + "Unknown", + "Management", + "Wan", + "Lan" + ], + "x-ms-enum": { + "name": "VMSwitchType", + "modelAsString": true + } + } + } + }, + "NetworkInterfaceIPConfiguration": { + "type": "object", + "description": "Network interface IP configuration properties.", + "properties": { + "ipAllocationMethod": { + "type": "string", + "description": "IP address allocation method.", + "enum": [ + "Unknown", + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "IPAllocationMethod", + "modelAsString": true + } + }, + "ipAddress": { + "type": "string", + "description": "The value of the IP address." + }, + "subnet": { + "type": "string", + "description": "The value of the subnet." + }, + "gateway": { + "type": "string", + "description": "The value of the gateway." + }, + "ipVersion": { + "type": "string", + "description": "IP address version.", + "enum": [ + "Unknown", + "IPv4" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "dnsServers": { + "type": "array", + "description": "The list of DNS servers IP addresses.", + "items": { + "type": "string" + } + } + } + }, + "UserDataTemplate": { + "type": "object", + "description": "The user data template." + }, + "UserDataParameters": { + "type": "object", + "description": "The user data parameters." + }, + "ManagedApplicationParameters": { + "type": "object", + "description": "The parameters for the managed application." + }, + "SkuType": { + "type": "string", + "description": "Sku type.", + "enum": [ + "Unknown", + "EvolvedPacketCore", + "SDWAN", + "Firewall" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": true + } + }, + "OsProfile": { + "type": "object", + "properties": { + "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)." + }, + "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)." + }, + "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)" + }, + "customDataRequired": { + "type": "boolean", + "default": true, + "description": "Indicates if custom data is required to deploy this role." + } + }, + "description": "Specifies the operating system settings for the role instance." + }, + "LinuxConfiguration": { + "type": "object", + "properties": { + "ssh": { + "$ref": "#/definitions/SshConfiguration", + "description": "Specifies the ssh key configuration for a Linux OS." + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine." + }, + "SshConfiguration": { + "type": "object", + "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" + }, + "SshPublicKey": { + "type": "object", + "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." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/device.json new file mode 100644 index 000000000000..9470967023e4 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/device.json @@ -0,0 +1,499 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the Hybrid Network device.", + "version": "2022-01-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.HybridNetwork/devices/{deviceName}": { + "delete": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Delete", + "description": "Deletes the specified device.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the device resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is successful." + }, + "202": { + "description": "Accepted. Sets the provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request is successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete device resource": { + "$ref": "./examples/DeviceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_Get", + "description": "Gets information about the specified device.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the device resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting device resource.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get device resource": { + "$ref": "./examples/DeviceGet.json" + } + } + }, + "put": { + "tags": [ + "Devices" + ], + "operationId": "Devices_CreateOrUpdate", + "description": "Creates or updates a device.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the device resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Device" + }, + "description": "Parameters supplied to the create or update device operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Creation or update is successful.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "201": { + "description": "Creation or update is successful. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update device": { + "$ref": "./examples/DeviceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Devices" + ], + "operationId": "Devices_UpdateTags", + "description": "Updates device tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the device resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update device tags operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update is successful. The operation returns the resulting device resource.", + "schema": { + "$ref": "#/definitions/Device" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update hybrid network device tags": { + "$ref": "./examples/DeviceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/devices": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListBySubscription", + "description": "Lists all the devices in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of device resources.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all devices in a subscription.": { + "$ref": "./examples/DeviceListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/devices": { + "get": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListByResourceGroup", + "description": "Lists all the device resource in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of device resources.", + "schema": { + "$ref": "#/definitions/DeviceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all devices in resource group": { + "$ref": "./examples/DeviceListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/devices/{deviceName}/listRegistrationKey": { + "post": { + "tags": [ + "Devices" + ], + "operationId": "Devices_ListRegistrationKey", + "description": "List the registration key for the device.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "deviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the device resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The registration key information for the device.", + "schema": { + "$ref": "#/definitions/DeviceRegistrationKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get device registration key": { + "$ref": "./examples/DeviceListRegistrationKey.json" + } + } + } + } + }, + "definitions": { + "Device": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevicePropertiesFormat", + "description": "Device properties." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Device resource." + }, + "AzureStackEdgeFormat": { + "description": "The reference to the Azure stack edge device.", + "required": [ + "azureStackEdge" + ], + "x-ms-discriminator-value": "AzureStackEdge", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevicePropertiesFormat" + } + ], + "properties": { + "azureStackEdge": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the Azure stack edge device." + } + } + }, + "DevicePropertiesFormat": { + "type": "object", + "description": "Device properties.", + "required": [ + "deviceType" + ], + "discriminator": "deviceType", + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The current device status.", + "enum": [ + "Unknown", + "NotRegistered", + "Registered", + "Deleted" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the device resource." + }, + "deviceType": { + "type": "string", + "description": "The type of the device.", + "enum": [ + "Unknown", + "AzureStackEdge" + ], + "x-ms-enum": { + "name": "DeviceType", + "modelAsString": true + } + }, + "networkFunctions": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "description": "The list of network functions deployed on the device." + } + } + }, + "DeviceRegistrationKey": { + "type": "object", + "description": "The device registration key.", + "properties": { + "registrationKey": { + "readOnly": true, + "type": "string", + "description": "The registration key for the device." + } + } + }, + "DeviceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Device" + }, + "description": "A list of devices." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for devices API service call." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceCreate.json new file mode 100644 index 000000000000..04ae9b857417 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice", + "parameters": { + "location": "eastus", + "properties": { + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": null + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Accepted", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": null + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceDelete.json new file mode 100644 index 000000000000..e6c168ef1ae7 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceGet.json new file mode 100644 index 000000000000..ec9f069491ae --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListByResourceGroup.json new file mode 100644 index 000000000000..bf245958a710 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListByResourceGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceGroupName": "rg1", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestVirtualNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListBySubscription.json new file mode 100644 index 000000000000..4f02350d50e6 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListBySubscription.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" + } + ] + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListRegistrationKey.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListRegistrationKey.json new file mode 100644 index 000000000000..8e21b823d658 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceListRegistrationKey.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice" + }, + "responses": { + "200": { + "body": { + "registrationKey": "TestRegistartionKey" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceUpdateTags.json new file mode 100644 index 000000000000..b15acefcfbd2 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/DeviceUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "deviceName": "TestDevice", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/devices/TestDevice", + "name": "TestDevice", + "type": "Microsoft.HybridNetwork/devices", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "status": "NotRegistered", + "provisioningState": "Succeeded", + "deviceType": "AzureStackEdge", + "azureStackEdge": { + "id": "/subscriptions/subid1/resourcegroups/rg2/providers/Microsoft.DataboxEdge/DataboxEdgeDevices/TestDataboxEdgeDeviceName" + }, + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/TestNetworkFunction" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/GetOperations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..b3bf23891f73 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/GetOperations.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2022-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.HybridNetwork/nfs/read", + "display": { + "provider": "Microsoft Hybrid Network", + "resource": "Nf", + "operation": "Get Nf", + "description": "Gets Nf" + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionCreate.json new file mode 100644 index 000000000000..792409db280d --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionCreate.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf", + "parameters": { + "location": "eastus", + "properties": { + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Accepted", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionDelete.json new file mode 100644 index 000000000000..f2fffcbcd868 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionGet.json new file mode 100644 index 000000000000..03dcac9f58e5 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListByResourceGroup.json new file mode 100644 index 000000000000..37a9ffa301ce --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListBySubscription.json new file mode 100644 index 000000000000..68a97f830bc4 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionListBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuDetailsGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuDetailsGet.json new file mode 100644 index 000000000000..3bfda89714db --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuDetailsGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "testVendor", + "vendorSkuName": "testSku" + }, + "responses": { + "200": { + "body": { + "skuType": "SDWAN", + "value": [ + { + "roleName": "testRole", + "userDataTemplate": {}, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuListByVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuListByVendor.json new file mode 100644 index 000000000000..8a5d30cbb4ab --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionSkuListByVendor.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "testVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "skuName": "testSku", + "skuType": "SDWAN" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionUpdateTags.json new file mode 100644 index 000000000000..20faa7ade597 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionUpdateTags.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNf", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/networkFunctions/testNf", + "name": "testNf", + "type": "Microsoft.HybridNetwork/networkFunctions", + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "device": { + "id": "/subscriptions/subid/resourcegroups/rg/providers/Microsoft.HybridNetwork/devices/testDevice" + }, + "skuName": "testSku", + "skuType": "SDWAN", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "vendorProvisioningState": "NotProvisioned", + "managedApplication": { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applications/testServiceKey" + }, + "managedApplicationParameters": {}, + "networkFunctionUserConfigurations": [ + { + "roleName": "testRole", + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionVendorAndSkuListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionVendorAndSkuListBySubscription.json new file mode 100644 index 000000000000..8764807e304c --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionVendorAndSkuListBySubscription.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "vendorName": "testVendor", + "skuList": [ + { + "skuName": "testSku", + "skuType": "SDWAN" + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionsExecuteRequest.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionsExecuteRequest.json new file mode 100644 index 000000000000..6915f4e10738 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/NetworkFunctionsExecuteRequest.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "networkFunctionName": "testNetworkfunction", + "parameters": { + "serviceEndpoint": "serviceEndpoint", + "requestMetadata": { + "relativePath": "/simProfiles/testSimProfile", + "httpMethod": "Post", + "serializedBody": "{\"subscriptionProfile\":\"ChantestSubscription15\",\"permanentKey\":\"00112233445566778899AABBCCDDEEFF\",\"opcOperatorCode\":\"63bfa50ee6523365ff14c1f45f88737d\",\"staticIpAddresses\":{\"internet\":{\"ipv4Addr\":\"198.51.100.1\",\"ipv6Prefix\":\"2001:db8:abcd:12::0/64\"},\"another_network\":{\"ipv6Prefix\":\"2001:111:cdef:22::0/64\"}}}", + "apiVersion": "apiVersionQueryString" + } + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceGet.json new file mode 100644 index 000000000000..50bfe5d71cbc --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": { + "body": { + "name": "mrm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/mrm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Running" + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json new file mode 100644 index 000000000000..b085091da761 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceListByVendorNetworkFunction.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "mrm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/mrm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Running" + } + }, + { + "name": "msm", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey/roleInstances/msm", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions/roleInstances", + "properties": { + "operationalState": "Stopped" + } + } + ], + "nextLink": "string" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceRestart.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceRestart.json new file mode 100644 index 000000000000..152d4b0d2734 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceRestart.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStart.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStart.json new file mode 100644 index 000000000000..152d4b0d2734 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStart.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStop.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStop.json new file mode 100644 index 000000000000..152d4b0d2734 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/RoleInstanceStop.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "roleInstanceName": "mrm" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorCreate.json new file mode 100644 index 000000000000..3da973f07083 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorCreate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorDelete.json new file mode 100644 index 000000000000..818c3666f819 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorGet.json new file mode 100644 index 000000000000..6eec8f13b7ab --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": { + "body": { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/skus/TestVendorSku" + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorListBySubscription.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorListBySubscription.json new file mode 100644 index 000000000000..b080f4a481f9 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestVendor", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestVendorSku1" + } + ] + } + }, + { + "name": "TestVendor2", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor2", + "type": "Microsoft.HybridNetwork/vendors", + "properties": { + "provisioningState": "Succeeded", + "skus": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestVendorSku2" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfCreate.json new file mode 100644 index 000000000000..92ec4ac5913d --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfCreate.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey", + "parameters": { + "properties": { + "skuType": "SDWAN", + "vendorProvisioningState": "Provisioning", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Accepted", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfGet.json new file mode 100644 index 000000000000..e7f9b79c3b78 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfGet.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor", + "serviceKey": "testServiceKey" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "testServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfListByVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfListByVendor.json new file mode 100644 index 000000000000..afe41d46eb27 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorNfListByVendor.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "locationName": "eastus", + "vendorName": "testVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/locations/eastus/vendors/testVendor/networkFunctions/testServiceKey", + "name": "TestServiceKey", + "type": "Microsoft.HybridNetwork/locations/vendors/networkFunctions", + "properties": { + "provisioningState": "Succeeded", + "vendorProvisioningState": "Provisioning", + "skuName": "testSku", + "skuType": "SDWAN", + "networkFunctionVendorConfigurations": [ + { + "roleName": "testRole", + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "userDataParameters": {}, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "DC-97-F8-79-16-7D", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuCreate.json new file mode 100644 index 000000000000..d3439eb5a053 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuCreate.json @@ -0,0 +1,283 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "parameters": { + "properties": { + "deploymentMode": "PrivateEdgeZone", + "networkFunctionType": "VirtualNetworkFunction", + "preview": true, + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": { + "uri": "https://contoso.net/link/vnd.vhd?sp=rl&st=2020-10-08T20:38:19Z&se=2020-12-09T19:38:00Z&sv=2019-12-12&sr=b&sig=7BM2f4yOw%3D" + } + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "Wan", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "Management", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + }, + "201": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Accepted", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuDelete.json new file mode 100644 index 000000000000..0fd7b0b61baa --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuGet.json new file mode 100644 index 000000000000..e19d463988ca --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuGet.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": { + "body": { + "name": "TestSku", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListByVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListByVendor.json new file mode 100644 index 000000000000..b90e31c95009 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListByVendor.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestSku1", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku1", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + }, + { + "name": "TestSku2", + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku2", + "type": "Microsoft.HybridNetwork/vendors/vendorskus", + "properties": { + "deploymentMode": "PrivateEdgeZone", + "preview": true, + "provisioningState": "Succeeded", + "managedApplicationTemplate": {}, + "networkFunctionTemplate": { + "networkFunctionRoleConfigurations": [ + { + "roleName": "test", + "roleType": "VirtualMachine", + "virtualMachineSize": "Standard_D3_v2", + "storageProfile": { + "imageReference": { + "publisher": "Canonical", + "offer": "UbuntuServer", + "sku": "18.04-LTS", + "version": "18.04.201804262" + }, + "osDisk": { + "osType": "Linux", + "name": "vhdName", + "diskSizeGB": 30, + "vhd": {} + }, + "dataDisks": [ + { + "createOption": "Empty", + "name": "DataDisk1", + "diskSizeGB": 10 + } + ] + }, + "osProfile": { + "adminUsername": "dummyuser", + "linuxConfiguration": { + "ssh": { + "publicKeys": [ + { + "path": "home/user/.ssh/authorized_keys", + "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAwrr66r8n6B8Y0zMF3dOpXEapIQD9DiYQ6D6/zwor9o39jSkHNiMMER/GETBbzP83LOcekm02aRjo55ArO7gPPVvCXbrirJu9pkm4AC4BBre5xSLS= user@constoso-DSH" + } + ] + } + }, + "customData": "base-64 encoded string of custom data" + }, + "customProfile": { + "metadataConfigurationPath": "/var/logs/network.cfg" + }, + "networkInterfaces": [ + { + "networkInterfaceName": "nic1", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + }, + { + "networkInterfaceName": "nic2", + "macAddress": "", + "vmSwitchType": "", + "ipConfigurations": [ + { + "ipAllocationMethod": "Dynamic", + "ipAddress": "", + "subnet": "", + "gateway": "", + "ipVersion": "IPv4", + "dnsServers": null + } + ] + } + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListCredential.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListCredential.json new file mode 100644 index 000000000000..3f1d260aa263 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuListCredential.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": { + "body": { + "username": "dummyuser", + "acrToken": "dummytoken", + "expiry": "2022-06-07T18:01:41.334+00:00", + "acrServerUrl": "test.azurecr.io", + "repositories": [ + "" + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewCreate.json new file mode 100644 index 000000000000..7bce0fb168c2 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewCreate.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewDelete.json new file mode 100644 index 000000000000..442be5495c21 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewGet.json new file mode 100644 index 000000000000..02ab9ad94d6f --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewGet.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku", + "previewSubscription": "previewSub" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub", + "name": "previewSub", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewListBySku.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewListBySku.json new file mode 100644 index 000000000000..232cfa79869b --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/examples/VendorSkuPreviewListBySku.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "subid", + "vendorName": "TestVendor", + "skuName": "TestSku" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub1", + "name": "previewSub1", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + }, + { + "id": "/subscriptions/subid/providers/Microsoft.HybridNetwork/vendors/TestVendor/vendorskus/TestSku/previewsubscriptions/previewSub2", + "name": "previewSub2", + "type": "Microsoft.HybridNetwork/vendors/vendorskus/previewsubscriptions" + } + ] + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunction.json new file mode 100644 index 000000000000..5a60eb20ebd0 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunction.json @@ -0,0 +1,582 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the network function deployment in a Hybrid Network resource provider.", + "version": "2022-01-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.HybridNetwork/networkFunctions/{networkFunctionName}": { + "delete": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_Delete", + "description": "Deletes the specified network function resource. This operation can take up to 1 hour to complete. This is expected service behavior.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "description": "The name of the network function.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation." + }, + "204": { + "description": "Request is successful. Resource with the specified name does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete network function resource": { + "$ref": "./examples/NetworkFunctionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_Get", + "description": "Gets information about the specified network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network function resource." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation is successful. The operation returns the resulting network function resource.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network function resource": { + "$ref": "./examples/NetworkFunctionGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_CreateOrUpdate", + "description": "Creates or updates a network function resource. This operation can take up to 6 hours to complete. This is expected service behavior.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkFunction" + }, + "description": "Parameters supplied in the body to the create or update network function operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation is completed successfully.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "201": { + "description": "Created or Updated. The header contains 'Azure-AsyncOperation' header pointing to an operation resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create network function resource": { + "$ref": "./examples/NetworkFunctionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_UpdateTags", + "description": "Updates the tags for the network function resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "Resource name for the network function resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to the update network function tags operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update is completed successfully. The operation returns the resulting network function resource.", + "schema": { + "$ref": "#/definitions/NetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update tags for network function resource": { + "$ref": "./examples/NetworkFunctionUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctions": { + "get": { + "description": "Lists all the network functions in a subscription.", + "operationId": "NetworkFunctions_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function resources.", + "schema": { + "$ref": "#/definitions/NetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "NetworkFunctions" + ], + "x-ms-examples": { + "List all network function resources in subscription.": { + "$ref": "./examples/NetworkFunctionListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/networkFunctions": { + "get": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_ListByResourceGroup", + "description": "Lists all the network function resources in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function resources.", + "schema": { + "$ref": "#/definitions/NetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List network function in resource group": { + "$ref": "./examples/NetworkFunctionListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/networkFunctions/{networkFunctionName}/executeRequest": { + "post": { + "tags": [ + "NetworkFunctions" + ], + "operationId": "NetworkFunctions_ExecuteRequest", + "description": "Execute a request to services on a network function.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "networkFunctionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network function." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExecuteRequestParameters" + }, + "description": "Payload for execute request post call." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Send request to network function services": { + "$ref": "./examples/NetworkFunctionsExecuteRequest.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "NetworkFunction": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkFunctionPropertiesFormat", + "description": "Network function properties." + }, + "etag": { + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Network function resource response." + }, + "NetworkFunctionPropertiesFormat": { + "type": "object", + "description": "Network function properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network function resource." + }, + "device": { + "$ref": "./common.json#/definitions/SubResource", + "description": "The reference to the device resource. Once set, it cannot be updated." + }, + "skuName": { + "type": "string", + "description": "The sku name for the network function. Once set, it cannot be updated." + }, + "skuType": { + "readOnly": true, + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type for the network function." + }, + "vendorName": { + "type": "string", + "description": "The vendor name for the network function. Once set, it cannot be updated." + }, + "serviceKey": { + "type": "string", + "readOnly": true, + "description": "The service key for the network function resource." + }, + "vendorProvisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "The vendor provisioning state for the network function resource." + }, + "managedApplication": { + "readOnly": true, + "$ref": "./common.json#/definitions/SubResource", + "description": "The resource URI of the managed application." + }, + "managedApplicationParameters": { + "$ref": "./common.json#/definitions/ManagedApplicationParameters", + "description": "The parameters for the managed application." + }, + "networkFunctionContainerConfigurations": { + "type": "object", + "description": "The network function container configurations from the user." + }, + "networkFunctionUserConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionUserConfiguration" + }, + "description": "The network function configurations from the user." + } + } + }, + "NetworkFunctionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunction" + }, + "description": "A list of network function resources in a subscription or resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for network function API service call." + }, + "NetworkFunctionUserConfiguration": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user data parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + }, + "osProfile": { + "type": "object", + "properties": { + "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)" + } + }, + "description": "Specifies the operating system settings for the role instance." + } + }, + "description": "The network function user configuration." + }, + "ExecuteRequestParameters": { + "type": "object", + "properties": { + "serviceEndpoint": { + "type": "string", + "description": "The endpoint of service to call." + }, + "requestMetadata": { + "$ref": "#/definitions/RequestMetadata", + "description": "The request metadata." + } + }, + "required": [ + "serviceEndpoint", + "requestMetadata" + ], + "description": "Payload for execute request post call." + }, + "RequestMetadata": { + "type": "object", + "properties": { + "relativePath": { + "type": "string", + "description": "The relative path of the request." + }, + "httpMethod": { + "type": "string", + "description": "The http method of the request.", + "enum": [ + "Unknown", + "Post", + "Put", + "Get", + "Patch", + "Delete" + ], + "x-ms-enum": { + "name": "HttpMethod", + "modelAsString": true + } + }, + "serializedBody": { + "type": "string", + "description": "The serialized body of the request." + }, + "apiVersion": { + "type": "string", + "description": "The api version of the request." + } + }, + "required": [ + "relativePath", + "httpMethod", + "serializedBody" + ], + "description": "Request metadata of execute request post call payload." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunctionVendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunctionVendor.json new file mode 100644 index 000000000000..d100cca45c8a --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunctionVendor.json @@ -0,0 +1,303 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the network function vendor in a Hybrid Network resource provider.", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctionVendors": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "networkFunctionVendors_List", + "description": "Lists all the available vendor and sku information.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of vendors with available sku information.", + "schema": { + "$ref": "#/definitions/NetworkFunctionVendorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List vendors and skus by subscription.": { + "$ref": "./examples/NetworkFunctionVendorAndSkuListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctionVendors/{vendorName}/vendorSkus": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "NetworkFunctionVendorSkus_ListByVendor", + "description": "Lists all network function vendor sku details in a vendor.", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of network function vendor skus.", + "schema": { + "$ref": "#/definitions/NetworkFunctionSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List vendors and skus.": { + "$ref": "./examples/NetworkFunctionSkuListByVendor.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/networkFunctionVendors/{vendorName}/vendorSkus/{vendorSkuName}": { + "get": { + "tags": [ + "networkFunctionVendors" + ], + "operationId": "networkFunctionVendorSkus_ListBySku", + "description": "Lists information about network function vendor sku details.", + "parameters": [ + { + "name": "vendorName", + "description": "The name of the network function vendor.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "vendorSkuName", + "description": "The name of the network function sku.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting network function vendor sku details.", + "schema": { + "$ref": "#/definitions/NetworkFunctionSkuDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get network function sku details": { + "$ref": "./examples/NetworkFunctionSkuDetailsGet.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SkuOverview": { + "type": "object", + "properties": { + "skuName": { + "type": "string", + "description": "The vendor sku name." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The vendor sku type." + } + }, + "description": "The network function sku overview." + }, + "NetworkFunctionSkuDetails": { + "type": "object", + "properties": { + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The network function sku type." + }, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionSkuRoleDetails" + }, + "description": "The network function sku role details." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The network function sku details." + }, + "VendorDetails": { + "type": "object", + "properties": { + "vendorName": { + "type": "string", + "description": "The network function vendor name." + }, + "skuList": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The network function sku list." + } + }, + "description": "The network function vendor details." + }, + "NetworkFunctionVendor": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorDetails", + "description": "Vendors of Hybrid Network service provider." + } + }, + "description": "The network function vendor." + }, + "NetworkFunctionVendorListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendor" + }, + "description": "A list of available network function vendors and skus." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "The network function vendor list result." + }, + "NetworkFunctionSkuRoleDetails": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "userDataTemplate": { + "$ref": "./common.json#/definitions/UserDataTemplate", + "description": "The user data template for customers." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user parameters for customers." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configuration." + } + }, + "description": "The network function user configuration." + }, + "NetworkFunctionSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuOverview" + }, + "description": "The network function vendor sku overview properties." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "A list of available network function skus." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/operation.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/operation.json new file mode 100644 index 000000000000..40318c2135d8 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/operation.json @@ -0,0 +1,74 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the operations.", + "version": "2022-01-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": { + "/providers/Microsoft.HybridNetwork/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of the operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Returns a list of operations.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendor.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendor.json new file mode 100644 index 000000000000..b88e0a8aa493 --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendor.json @@ -0,0 +1,1219 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used by vendors to on-board offerings and manage network functions.", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}": { + "delete": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_Delete", + "description": "Deletes the specified vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful." + }, + "202": { + "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request is successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete vendor resource": { + "$ref": "./examples/VendorDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_Get", + "description": "Gets information about the specified vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor resource.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vendor resource": { + "$ref": "./examples/VendorGet.json" + } + } + }, + "put": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_CreateOrUpdate", + "description": "Creates or updates a vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/Vendor" + }, + "description": "Parameters supplied to the create vendor operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "201": { + "description": "Created. The header contains 'Azure-AsyncOperation' header pointing to an operations resource. The operation URI can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/Vendor" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Vendor resource": { + "$ref": "./examples/VendorCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors": { + "get": { + "tags": [ + "Vendors" + ], + "operationId": "Vendors_ListBySubscription", + "description": "Lists all the vendors in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of vendor resources.", + "schema": { + "$ref": "#/definitions/VendorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all vendor resources in subscription": { + "$ref": "./examples/VendorListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}": { + "delete": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_Delete", + "description": "Deletes the specified sku. This operation can take up to 2 hours to complete. This is expected service behavior.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Request is successful." + }, + "202": { + "description": "Accepted. Sets provisioningState to 'Deleting' until the operation is completed. Returns an operation URI that can be queried to find the current state of the operation." + }, + "204": { + "description": "Request is successful. Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete the sku of vendor resource": { + "$ref": "./examples/VendorSkuDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_Get", + "description": "Gets information about the specified sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the sku of vendor resource": { + "$ref": "./examples/VendorSkuGet.json" + } + } + }, + "put": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_CreateOrUpdate", + "description": "Creates or updates a sku. This operation can take up to 2 hours to complete. This is expected service behavior.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VendorSku" + }, + "description": "Parameters supplied to the create or update sku operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Creation or update is successful. The operation returns the resulting vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "201": { + "description": "Created. The operation returns the resulting vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/VendorSku" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update the sku of vendor resource": { + "$ref": "./examples/VendorSkuCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus": { + "get": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_List", + "description": "Lists all the skus of a vendor.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns a list of vendor sku resources.", + "schema": { + "$ref": "#/definitions/VendorSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the vendor skus of vendor resource": { + "$ref": "./examples/VendorSkuListByVendor.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}/listCredential": { + "post": { + "tags": [ + "VendorSkus" + ], + "operationId": "VendorSkus_ListCredential", + "description": "Generate credentials for publishing SKU images.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operations returns the credential for publishing SKU images.", + "schema": { + "$ref": "#/definitions/SkuCredential" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Generate a credential for vendor sku": { + "$ref": "./examples/VendorSkuListCredential.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}/previewSubscriptions": { + "get": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_List", + "description": "Lists all the preview information of a vendor sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the sku." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscriptionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all preview subscriptions of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewListBySku.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/vendors/{vendorName}/vendorSkus/{skuName}/previewSubscriptions/{previewSubscription}": { + "put": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_CreateOrUpdate", + "description": "Creates or updates preview information of a vendor sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription ID." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PreviewSubscription" + }, + "description": "Parameters supplied to the create or update vendor preview subscription operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request is accepted. The operation is updating or creating the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "200": { + "description": "Request is successful. The operation updated the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or update preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewCreate.json" + } + } + }, + "get": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_Get", + "description": "Gets the preview information of a vendor sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription ID." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation updated the preview information of the vendor sku sub resource.", + "schema": { + "$ref": "#/definitions/PreviewSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewGet.json" + } + } + }, + "delete": { + "tags": [ + "VendorSkuPreview" + ], + "operationId": "VendorSkuPreview_Delete", + "description": "Deletes the preview information of a vendor sku.", + "parameters": [ + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "skuName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor sku." + }, + { + "name": "previewSubscription", + "in": "path", + "required": true, + "type": "string", + "description": "Preview subscription ID." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation deleted the vendor sku preview resource." + }, + "202": { + "description": "Request is accepted. The operation is deleting the vendor sku preview resource." + }, + "204": { + "description": "Request is successful. The vendor sku preview resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete preview subscription of vendor sku sub resource": { + "$ref": "./examples/VendorSkuPreviewDelete.json" + } + } + } + } + }, + "definitions": { + "Vendor": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorPropertiesFormat", + "description": "Vendor properties." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Vendor resource." + }, + "VendorPropertiesFormat": { + "type": "object", + "description": "Vendor properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor resource." + }, + "skus": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "readOnly": true, + "description": "A list of IDs of the vendor skus offered by the vendor." + } + } + }, + "VendorSku": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorSkuPropertiesFormat", + "description": "Vendor sku details." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Sku sub resource." + }, + "VendorSkuPropertiesFormat": { + "type": "object", + "description": "Sku properties", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor sku sub resource." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type." + }, + "deploymentMode": { + "type": "string", + "description": "The sku deployment mode.", + "enum": [ + "Unknown", + "Azure", + "PrivateEdgeZone" + ], + "x-ms-enum": { + "name": "SkuDeploymentMode", + "modelAsString": true + } + }, + "networkFunctionType": { + "type": "string", + "description": "The network function type.", + "enum": [ + "Unknown", + "VirtualNetworkFunction", + "ContainerizedNetworkFunction" + ], + "x-ms-enum": { + "name": "NetworkFunctionType", + "modelAsString": true + } + }, + "preview": { + "type": "boolean", + "description": "Indicates if the vendor sku is in preview mode." + }, + "managedApplicationParameters": { + "$ref": "./common.json#/definitions/ManagedApplicationParameters", + "description": "The parameters for the managed application to be supplied by the vendor." + }, + "managedApplicationTemplate": { + "type": "object", + "description": "The template for the managed application deployment." + }, + "networkFunctionTemplate": { + "$ref": "#/definitions/NetworkFunctionTemplate", + "description": "The template definition of the network function." + } + } + }, + "VendorSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VendorSku" + }, + "description": "A list of vendor skus offered by the vendor." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to get the next set of results." + } + }, + "description": "Response for list vendor sku API service call." + }, + "VendorListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vendor" + }, + "description": "A list of vendors." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for vendors API service call." + }, + "NetworkFunctionTemplate": { + "type": "object", + "properties": { + "networkFunctionRoleConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionRoleConfiguration" + }, + "description": "An array of network function role definitions." + } + }, + "description": "The network function template." + }, + "NetworkFunctionRoleConfiguration": { + "type": "object", + "description": "Network function role configuration.", + "properties": { + "roleName": { + "type": "string", + "description": "The name of the network function role." + }, + "roleType": { + "type": "string", + "description": "Role type.", + "enum": [ + "Unknown", + "VirtualMachine" + ], + "x-ms-enum": { + "name": "NetworkFunctionRoleConfigurationType", + "modelAsString": true + } + }, + "virtualMachineSize": { + "type": "string", + "description": "The size of the virtual machine.", + "enum": [ + "Unknown", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "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_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s" + ], + "x-ms-enum": { + "name": "VirtualMachineSizeTypes", + "modelAsString": true + } + }, + "osProfile": { + "description": "Specifies the operating system settings for the role instance. This value can be updated during the deployment of network function.", + "$ref": "./common.json#/definitions/OsProfile" + }, + "userDataTemplate": { + "$ref": "./common.json#/definitions/UserDataTemplate", + "description": "The user data template for customers. This is a json schema template describing the format and data type of user data parameters." + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "description": "The user parameters for customers. The format of user data parameters has to be matched with the provided user data template." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configurations." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "Specifies the storage settings for the virtual machine disks." + }, + "customProfile": { + "$ref": "#/definitions/CustomProfile", + "description": "Specifies the custom settings for the virtual machine." + } + } + }, + "ImageReference": { + "type": "object", + "properties": { + "publisher": { + "type": "string", + "description": "The image publisher." + }, + "offer": { + "type": "string", + "description": "Specifies the offer of the image used to create the virtual machine." + }, + "sku": { + "type": "string", + "description": "The image SKU." + }, + "version": { + "type": "string", + "description": "Specifies the version of the 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", + "description": "Specifies in decimal numbers, the exact version of image used to create the virtual machine." + } + }, + "description": "The image reference properties." + }, + "StorageProfile": { + "type": "object", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "The image reference properties." + }, + "osDisk": { + "$ref": "#/definitions/OsDisk", + "description": "Specifies information about the operating system disk used by the virtual machine." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "description": "Specifies the parameters that are used to add a data disk to a virtual machine." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "OsDisk": { + "type": "object", + "properties": { + "osType": { + "type": "string", + "description": "The OS type.", + "enum": [ + "Unknown", + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The VHD name." + }, + "vhd": { + "$ref": "#/definitions/VirtualHardDisk", + "description": "The virtual hard disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri." + } + }, + "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)." + }, + "VirtualHardDisk": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ], + "description": "Specifies the virtual hard disk's uri." + } + }, + "description": "Describes the uri of a disk." + }, + "DataDisk": { + "type": "object", + "properties": { + "createOption": { + "type": "string", + "description": "Specifies how the virtual machine should be created.", + "enum": [ + "Unknown", + "Empty" + ], + "x-ms-enum": { + "name": "DiskCreateOptionTypes", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "The name of data disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image." + } + }, + "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)." + }, + "CustomProfile": { + "type": "object", + "properties": { + "metadataConfigurationPath": { + "type": "string", + "description": "Path for metadata configuration." + } + }, + "description": "Specifies the custom settings for the virtual machine." + }, + "PreviewSubscription": { + "type": "object", + "x-ms-azure-resource": true, + "description": "Customer subscription which can use a sku.", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The preview subscription ID." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "The ARM ID of the resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PreviewSubscriptionProperties", + "description": "The Preview Subscription properties." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "PreviewSubscriptionProperties": { + "description": "PreviewSubscription properties", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the PreviewSubscription resource." + } + } + }, + "PreviewSubscriptionsList": { + "type": "object", + "description": "A list of customer subscriptions which can use a sku.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PreviewSubscription" + }, + "description": "A list of preview subscriptions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "SkuCredential": { + "description": "The Sku credential definition.", + "type": "object", + "properties": { + "username": { + "type": "string", + "description": "The username of the sku credential." + }, + "acrToken": { + "type": "string", + "description": "The credential value." + }, + "acrServerUrl": { + "type": "string", + "description": "The Acr server url" + }, + "repositories": { + "type": "array", + "description": "The repositories that could be accessed using the current credential.", + "items": { + "type": "string", + "description": "The repository that could be accessed using the current credential." + } + }, + "expiry": { + "type": "string", + "format": "date-time", + "description": "The UTC time when credential will expire." + } + } + } + } +} diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendorNetworkFunction.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendorNetworkFunction.json new file mode 100644 index 000000000000..e986ea99269a --- /dev/null +++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2022-01-01-preview/vendorNetworkFunction.json @@ -0,0 +1,730 @@ +{ + "swagger": "2.0", + "info": { + "title": "HybridNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the vendor network function deployment in the Microsoft.HybridNetwork resource provider.", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}": { + "get": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_Get", + "description": "Gets information about the specified vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get vendor network function sub resource by service key of network function.": { + "$ref": "./examples/VendorNfGet.json" + } + } + }, + "put": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_CreateOrUpdate", + "description": "Creates or updates a vendor network function. This operation can take up to 6 hours to complete. This is expected service behavior.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + }, + "description": "Parameters supplied to the create or update vendor network function operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Creation or update is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "201": { + "description": "Created. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update vendor network function sub resource": { + "$ref": "./examples/VendorNfCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/start": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Start", + "description": "Starts a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Start a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceStart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/stop": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Stop", + "description": "Powers off (stop) a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Stop a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceStop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}/restart": { + "post": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Restart", + "description": "Restarts a role instance of a vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The header contains 'Azure-AsyncOperation' header which can be used to monitor the progress of the operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart a role instance of a vendor network function": { + "$ref": "./examples/RoleInstanceRestart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances/{roleInstanceName}": { + "get": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_Get", + "description": "Gets the information of role instance of vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "name": "roleInstanceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role instance of the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/RoleInstance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the operational state of role instance of vendor network function": { + "$ref": "./examples/RoleInstanceGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions": { + "get": { + "tags": [ + "VendorNetworkFunctions" + ], + "operationId": "VendorNetworkFunctions_List", + "description": "Lists all the vendor network function sub resources in an Azure region, filtered by skuType, skuName, vendorProvisioningState.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by the customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. The properties you can use for eq (equals) are: skuType, skuName and vendorProvisioningState." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request is successful. The operation returns the resulting vendor network function sub resource.", + "schema": { + "$ref": "#/definitions/VendorNetworkFunctionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all nfs of vendor resource": { + "$ref": "./examples/VendorNfListByVendor.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HybridNetwork/locations/{locationName}/vendors/{vendorName}/networkFunctions/{serviceKey}/roleInstances": { + "get": { + "tags": [ + "RoleInstances" + ], + "operationId": "RoleInstances_List", + "description": "Lists the information of role instances of vendor network function.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The Azure region where the network function resource was created by customer." + }, + { + "name": "vendorName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vendor." + }, + { + "name": "serviceKey", + "in": "path", + "required": true, + "type": "string", + "description": "The GUID for the vendor network function." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/NetworkFunctionRoleInstanceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all role instances of vendor network function": { + "$ref": "./examples/RoleInstanceListByVendorNetworkFunction.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VendorNetworkFunctionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VendorNetworkFunction" + }, + "description": "A list of vendor network functions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for vendors API service call." + }, + "VendorNetworkFunction": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VendorNetworkFunctionPropertiesFormat", + "description": "Network function details." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "Vendor network function sub resource." + }, + "VendorNetworkFunctionPropertiesFormat": { + "type": "object", + "description": "Vendor network function properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the vendor network function sub resource." + }, + "vendorProvisioningState": { + "$ref": "./common.json#/definitions/VendorProvisioningState", + "description": "The vendor controlled provisioning state of the vendor network function." + }, + "skuName": { + "readOnly": true, + "type": "string", + "description": "The name of the sku. Once set, it cannot be updated." + }, + "skuType": { + "$ref": "./common.json#/definitions/SkuType", + "description": "The sku type.", + "readOnly": true + }, + "networkFunctionVendorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkFunctionVendorConfiguration" + }, + "description": "An array of network function vendor configurations." + } + } + }, + "NetworkFunctionVendorConfiguration": { + "type": "object", + "properties": { + "roleName": { + "type": "string", + "description": "The name of the vendor network function role." + }, + "osProfile": { + "description": "Specifies the operating system settings for the role instance.", + "$ref": "./common.json#/definitions/OsProfile" + }, + "userDataParameters": { + "$ref": "./common.json#/definitions/UserDataParameters", + "readOnly": true, + "description": "The user parameters from the customer." + }, + "networkInterfaces": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/NetworkInterface" + }, + "description": "The network interface configurations." + } + }, + "description": "Network function vendor configuration." + }, + "NetworkFunctionRoleInstanceListResult": { + "type": "object", + "description": "List of role instances of vendor network function.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RoleInstance" + }, + "description": "A list of role instances." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to get the next set of results." + } + } + }, + "RoleInstance": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "type": "string", + "description": "The role instance name." + }, + "id": { + "type": "string", + "description": "The ARM ID of the resource." + }, + "type": { + "type": "string", + "description": "The type of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleInstanceProperties", + "description": "The role instance properties." + }, + "systemData": { + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "description": "The role instance sub resource." + }, + "RoleInstanceProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the RoleInstance resource." + }, + "operationalState": { + "type": "string", + "description": "The operational state of the role instance.", + "enum": [ + "Unknown", + "Stopped", + "Running", + "Stopping", + "Starting" + ], + "x-ms-enum": { + "name": "OperationalState", + "modelAsString": true + } + } + }, + "description": "The role instance properties of the network function." + } + } +} diff --git a/specification/hybridnetwork/resource-manager/readme.md b/specification/hybridnetwork/resource-manager/readme.md index 9538e89dca90..7165613104ce 100644 --- a/specification/hybridnetwork/resource-manager/readme.md +++ b/specification/hybridnetwork/resource-manager/readme.md @@ -14,9 +14,7 @@ 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. ---- - +## For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. ## Configuration @@ -24,16 +22,32 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor These are the global settings for the hybridnetwork. -```yaml +``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2021-05-01 +tag: package-2022-01-01-preview +``` + + +### Tag: package-2022-01-01-preview + +These settings apply only when `--tag=package-2022-01-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2022-01-01-preview' +input-file: + - Microsoft.HybridNetwork/preview/2022-01-01-preview/common.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/device.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunction.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/networkFunctionVendor.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/operation.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/vendor.json + - Microsoft.HybridNetwork/preview/2022-01-01-preview/vendorNetworkFunction.json ``` ### Tag: package-2021-05-01 These settings apply only when `--tag=package-2021-05-01` is specified on the command line. -```yaml $(tag) == 'package-2021-05-01' +``` yaml $(tag) == 'package-2021-05-01' input-file: - Microsoft.HybridNetwork/stable/2021-05-01/common.json - Microsoft.HybridNetwork/stable/2021-05-01/networkFunction.json @@ -48,7 +62,7 @@ input-file: These settings apply only when `--tag=package-2020-01-01-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-01-01-preview' +``` yaml $(tag) == 'package-2020-01-01-preview' input-file: - Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json - Microsoft.HybridNetwork/preview/2020-01-01-preview/networkFunction.json @@ -66,7 +80,7 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -```yaml $(swagger-to-sdk) +``` yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java diff --git a/specification/hybridnetwork/resource-manager/readme.python.md b/specification/hybridnetwork/resource-manager/readme.python.md index 5179d31cf99f..c361b40ccb2b 100644 --- a/specification/hybridnetwork/resource-manager/readme.python.md +++ b/specification/hybridnetwork/resource-manager/readme.python.md @@ -3,20 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.hybridnetwork package-name: azure-mgmt-hybridnetwork package-version: 1.0.0b1 clear-output-folder: true ``` -```yaml $(python) && $(python-mode) == 'update' && $(track2) +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/hybridnetwork/azure-mgmt-hybridnetwork/azure/mgmt/hybridnetwork ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/hybridnetwork/azure-mgmt-hybridnetwork -``` \ No newline at end of file diff --git a/specification/imagebuilder/resource-manager/readme.python.md b/specification/imagebuilder/resource-manager/readme.python.md index 7977e1077c57..5d578785afdd 100644 --- a/specification/imagebuilder/resource-manager/readme.python.md +++ b/specification/imagebuilder/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.imagebuilder @@ -13,11 +12,7 @@ package-name: azure-mgmt-imagebuilder clear-output-folder: true package-version: 1.0.0b1 ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/compute/azure-mgmt-imagebuilder/azure/mgmt/imagebuilder ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/compute/azure-mgmt-imagebuilder -``` \ No newline at end of file diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityInfo.json new file mode 100644 index 000000000000..1de0a7f9f920 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityInfo.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2018-02-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "tenantId": "abd8daee-d393-4239-9377-883adda3d40f" + } + }, + "400": { + "body": { + "error": "invalid_request", + "error_description": "Bad request" + } + }, + "404": { + "body": { + "error": "not_found", + "error_description": "Not found" + } + }, + "405": { + "body": { + "error": "method_not_allowed", + "error_description": "Not allowed" + } + }, + "429": { + "body": { + "error": "too_many_requests", + "error_description": "Too many requests" + } + }, + "500": { + "body": { + "error": "server_error", + "error_description": "Server error" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityToken.json new file mode 100644 index 000000000000..eff99ce50644 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getIdentityToken.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2018-02-01", + "Metadata": "true", + "resource": "https://vault.azure.net" + }, + "responses": { + "200": { + "body": { + "access_token": "dummytoken", + "client_id": "be5947ed-3560-4afe-9504-59967a63f810", + "expires_in": "3599", + "expires_on": "1541705014", + "ext_expires_in": "262800", + "not_before": "1508961830", + "resource": "https://va" + } + }, + "400": { + "body": { + "error": "invalid_request", + "error_description": "Bad request" + } + }, + "404": { + "body": { + "error": "not_found", + "error_description": "Not found" + } + }, + "405": { + "body": { + "error": "method_not_allowed", + "error_description": "Not allowed" + } + }, + "429": { + "body": { + "error": "too_many_requests", + "error_description": "Too many requests" + } + }, + "500": { + "body": { + "error": "server_error", + "error_description": "Server error" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getInstanceMetadata.json new file mode 100644 index 000000000000..dd41d8a913f1 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/examples/getInstanceMetadata.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2018-02-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "compute": { + "location": "eastus", + "name": "examplevmname", + "offer": "Windows", + "osType": "linux", + "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a", + "platformFaultDomain": "36", + "platformUpdateDomain": "42", + "publisher": "RDFE-Test-Microsoft-Windows-Server-Group", + "resourceGroupName": "macikgo-test-may-23", + "sku": "Windows-Server-2012-R2-Datacenter", + "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d", + "tags": "baz:bash;foo:bar", + "version": "15.05.22", + "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6", + "vmScaleSetName": "crpteste9vflji9", + "vmSize": "Standard_A3", + "zone": "" + } + } + }, + "400": { + "body": { + "error": "Bad request" + } + }, + "403": { + "body": { + "error": "Forbidden" + } + }, + "404": { + "body": { + "error": "Not found" + } + }, + "405": { + "body": { + "error": "Not allowed" + } + }, + "429": { + "body": { + "error": "Too many requests" + } + }, + "503": { + "body": { + "error": "Service unavailable" + } + }, + "500": { + "body": { + "error": "Server error" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/imds.json new file mode 100644 index 000000000000..7db28cd5d467 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2018-02-01/imds.json @@ -0,0 +1,617 @@ +{ + "swagger": "2.0", + "info": { + "title": "InstanceMetadataClient", + "description": "The Azure Instance Metadata Client", + "version": "2018-02-01" + }, + "host": "169.254.169.254", + "basePath": "/metadata", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/instance": { + "get": { + "operationId": "Instances_GetMetadata", + "description": "Get Instance Metadata for the Virtual Machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MetadataParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Instance" + } + }, + "400": { + "description": "Invalid request", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "403": { + "description": "Forbidden", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "404": { + "description": "Not found", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "503": { + "description": "Service unavailable", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "500": { + "description": "Server error", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Instance Metadata for the VM": { + "$ref": "./examples/getInstanceMetadata.json" + } + } + } + }, + "/identity/oauth2/token": { + "get": { + "tags": [ + "Get token" + ], + "description": "Get a Token from Azure AD", + "operationId": "Identity_GetToken", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "name": "resource", + "in": "query", + "type": "string", + "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.", + "required": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "client_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.", + "required": false + }, + { + "name": "object_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.", + "required": false + }, + { + "name": "msi_res_id", + "in": "query", + "type": "string", + "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.", + "required": false + }, + { + "name": "authority", + "in": "query", + "type": "string", + "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.", + "required": false + }, + { + "name": "bypass_cache", + "in": "query", + "type": "string", + "enum": [ + "true" + ], + "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.", + "required": false, + "x-ms-enum": { + "name": "BypassCache", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityTokenResponse" + } + }, + "400": { + "description": "Invalid request", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "404": { + "description": "Not found", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "500": { + "description": "Server error", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Token for the VM": { + "$ref": "./examples/getIdentityToken.json" + } + } + } + }, + "/identity/info": { + "get": { + "tags": [ + "Get metadata information" + ], + "description": "Get information about AAD Metadata", + "operationId": "Identity_GetInfo", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityInfoResponse" + } + }, + "400": { + "description": "Invalid request", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "404": { + "description": "Not found", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "405": { + "description": "Method not allowed", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "429": { + "description": "Too many requests", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "500": { + "description": "Server error", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Info for the VM": { + "$ref": "./examples/getIdentityInfo.json" + } + } + } + } + }, + "definitions": { + "Compute": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "This is the Azure Region in which the VM is running." + }, + "name": { + "type": "string", + "description": "This is the name of the VM." + }, + "offer": { + "type": "string", + "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery." + }, + "osType": { + "type": "string", + "description": "This value indicates the type of OS the VM is running, either Linux or Windows." + }, + "placementGroupId": { + "type": "string", + "description": "This is the placement group of your Virtual Machine Scale Set." + }, + "platformFaultDomain": { + "type": "string", + "description": "This is the fault domain in which the VM." + }, + "platformUpdateDomain": { + "type": "string", + "description": "This is the update domain in which the VM." + }, + "publisher": { + "type": "string", + "description": "This is the publisher of the VM image." + }, + "resourceGroupName": { + "type": "string", + "description": "This is the resource group for the VM." + }, + "sku": { + "type": "string", + "description": "This is the specific SKU for the VM image." + }, + "subscriptionId": { + "type": "string", + "description": "This is the Azure subscription for the VM." + }, + "tags": { + "type": "string", + "description": "This is the list of tags for your VM." + }, + "version": { + "type": "string", + "description": "This is the version of the VM image." + }, + "vmId": { + "type": "string", + "description": "This is the unique identifier for the VM." + }, + "vmScaleSetName": { + "type": "string", + "description": "This is the resource name of the VMSS." + }, + "vmSize": { + "type": "string", + "description": "This is the size of the VM." + }, + "zone": { + "type": "string", + "description": "This is the availability zone of the VM." + } + }, + "description": "Compute Metadata" + }, + "Network": { + "type": "object", + "properties": { + "interface": { + "type": "array", + "description": "This contains data about the network interface.", + "items": { + "type": "object", + "$ref": "#/definitions/NetworkInterface" + } + } + }, + "description": "Network Metadata" + }, + "NetworkInterface": { + "type": "object", + "description": "This contains data about the network interface.", + "properties": { + "ipv4": { + "type": "object", + "description": "This contains the IPv4 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv4 properties.", + "$ref": "#/definitions/Ipv4Properties" + } + }, + "subnet": { + "type": "array", + "description": "This is the subnet", + "items": { + "type": "object", + "description": "This contains the subnet properties.", + "$ref": "#/definitions/SubnetProperties" + } + } + } + }, + "ipv6": { + "type": "object", + "description": "This contains the IPv6 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv6 properties.", + "$ref": "#/definitions/Ipv6Properties" + } + } + } + }, + "macAddress": { + "type": "string", + "description": "This is the MAC address of the interface." + } + } + }, + "Ipv4Properties": { + "type": "object", + "description": "This contains the IPv4 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IP address assigned to the interface." + }, + "publicIpAddress": { + "type": "string", + "description": "This is the public IP address assigned to the interface." + } + } + }, + "Ipv6Properties": { + "type": "object", + "description": "This contains the IPv6 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IPv6 address assigned to the interface." + } + } + }, + "SubnetProperties": { + "type": "object", + "description": "This contains the properties of the subnet.", + "properties": { + "address": { + "type": "string", + "description": "This is the address range of the subnet." + }, + "prefix": { + "type": "string", + "description": "This is the prefix of the subnet." + } + } + }, + "Instance": { + "type": "object", + "description": "This is the response from the Instance_GetMetadata operation.", + "properties": { + "compute": { + "$ref": "#/definitions/Compute", + "description": "Compute Metadata" + }, + "network": { + "$ref": "#/definitions/Network", + "description": "Network Metadata" + } + } + }, + "ErrorResponse": { + "description": "This is the response from an operation in the case an error occurs.", + "type": "object", + "properties": { + "error": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "IdentityErrorResponse": { + "type": "object", + "description": "This is the response from an Identity operation in the case an error occurs.", + "properties": { + "error": { + "type": "string", + "description": "Error code", + "enum": [ + "invalid_request", + "unauthorized_client", + "access_denied", + "unsupported_response_type", + "invalid_scope", + "server_error", + "service_unavailable", + "bad_request", + "forbidden", + "not_found", + "method_not_allowed", + "too_many_requests" + ], + "x-ms-enum": { + "name": "Error", + "modelAsString": true + } + }, + "error_description": { + "type": "string", + "description": "Error message indicating why the operation failed." + } + } + }, + "IdentityTokenResponse": { + "type": "object", + "description": "This is the response from the Identity_GetToken operation.", + "properties": { + "access_token": { + "type": "string", + "description": "This is the requested access token. The app can use this token to authenticate to the sink resource." + }, + "expires_in": { + "type": "string", + "description": "This is how long the access token is valid (in seconds)." + }, + "expires_on": { + "type": "string", + "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens." + }, + "ext_expires_in": { + "type": "string", + "description": "This indicates the extended lifetime of the token." + }, + "not_before": { + "type": "string", + "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time." + }, + "resource": { + "type": "string", + "description": "This is the app ID URI of the sink resource." + }, + "token_type": { + "type": "string", + "description": "This indicates the token type value." + }, + "client_id": { + "type": "string", + "description": "This is the client_id specified in the request, if any." + }, + "object_id": { + "type": "string", + "description": "This is the object_id specified in the request, if any." + }, + "msi_res_id": { + "type": "string", + "description": "This is the msi_res_id specified in the request, if any." + } + } + }, + "IdentityInfoResponse": { + "type": "object", + "description": "This is the response from the Identity_GetInfo operation.", + "properties": { + "tenantId": { + "type": "string", + "description": "This is the AAD tenantId of the identity of the caller." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "type": "string", + "enum": [ + "2018-02-01" + ], + "description": "This is the API version to use.", + "required": true, + "x-ms-enum": { + "name": "ApiVersion", + "modelAsString": true + } + }, + "MetadataParameter": { + "name": "Metadata", + "in": "header", + "type": "string", + "enum": [ + "true" + ], + "description": "This must be set to 'true'.", + "required": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetAttestedData.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetAttestedData.json new file mode 100644 index 000000000000..9e9099d9d490 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetAttestedData.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "nonce": "abcde12345", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "encoding": "pkcs7", + "signature": "MIID2gYJKoZIhvcNAQcCoIIDyzCCA8cCAQExDzANBgkqhkiG9w0BAQsFADCBggYJKoZIhvcNAQcBoHUEc3sibm9uY2UiOiIxMTExMTExMTExIiwicGxhbiI6eyJuYW1lIjoiIiwicHJvZHVjdCI6IiIsInB1Ymxpc2hlciI6IiJ9LCJ2bUlkIjoiMDJhYWI4YTQtNzRlZi00NzZlLTgxODItZjZkMmJhNDE2NmE2In2gggI/MIICOzCCAaSgAwIBAgIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQQFADArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbTAeFw0xODExMDgxODUzMDRaFw0xODEyMDgxODUzMDNaMCsxKTAnBgNVBAMTIHRlc3RzdWJkb21haW4ubWV0YWRhdGEuYXp1cmUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEi0FVslYnUX+MneC7ERMU4ZM88z4J80r7RPgvzxCPNhXUQlWm3cmVRZMD8kKMv7brkvEsATP7Ak60/I/XEtOga4LGCvMaQa8I/MW8IhSyp2Vj015glAiV8TeUI5DuOIOS96lQvM+G7bt23swkIwVjm1u1ViTZiKKytwpY/EGqzQIDAQABo2AwXjBcBgNVHQEEVTBTgBAt3MRgJmEoUMiPy7k06cLfoS0wKzEpMCcGA1UEAxMgdGVzdHN1YmRvbWFpbi5tZXRhZGF0YS5henVyZS5jb22CEEFrBY1zd+aASShVyN0KzN0wDQYJKoZIhvcNAQEEBQADgYEAd87qiZnRlGIFQ5IEcL/A7ru23WSQAOBsNPt70Fg1GtaEHcYshKUJFhGwXOgZ11cY5wRfrSvEKuzvhAeIZwkvzkBjC04g8sRrjN5leLY5CsKzQhjN52TUMsHhqTM58tfAnICeTddQwn6LOgfqtYH5WO+F/VbFCwPstYUqjmQEYAoxgegwgeUCAQEwPzArMSkwJwYDVQQDEyB0ZXN0c3ViZG9tYWluLm1ldGFkYXRhLmF6dXJlLmNvbQIQQWsFjXN35oBJKFXI3QrM3TANBgkqhkiG9w0BAQsFADANBgkqhkiG9w0BAQEFAASBgCbkRKmQ1MdWZPVOrX7ZBKHQUWPFrQQNdjk3KB67GkY0W0Taxut4K7D2PmiflVEwxB92pTbaZZr/dldu1k1ab1YamHcVYdgZgxIkoOWohGR0ym8oL9JHjFMEqHUbEPtDwE8X+djtDd8TVdb6LYe77IXmz/VaX4whuejlSvQXjaL" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityInfo.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityInfo.json new file mode 100644 index 000000000000..903c5bfb7569 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityInfo.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "tenantId": "abd8daee-d393-4239-9377-883adda3d40f" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityToken.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityToken.json new file mode 100644 index 000000000000..f846e60678a0 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetIdentityToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "Metadata": "true", + "resource": "https://vault.azure.net" + }, + "responses": { + "200": { + "body": { + "access_token": "dummytoken", + "client_id": "be5947ed-3560-4afe-9504-59967a63f810", + "expires_in": "3599", + "expires_on": "1541705014", + "ext_expires_in": "262800", + "not_before": "1508961830", + "resource": "https://va" + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetInstanceMetadata.json new file mode 100644 index 000000000000..d540bb116119 --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/examples/GetInstanceMetadata.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "Metadata": "true" + }, + "responses": { + "200": { + "body": { + "compute": { + "azEnvironment": "AZUREPUBLICCLOUD", + "evictionPolicy": "deallocate", + "extendedLocation": { + "type": "edgeZone", + "name": "microsoftlosangeles" + }, + "isHostCompatibilityLayerVm": "true", + "licenseType": "Windows_Server", + "location": "westus", + "name": "examplevmname", + "offer": "Windows", + "osProfile": { + "adminUsername": "admin", + "computerName": "examplevmname", + "disablePasswordAuthentication": "true" + }, + "osType": "linux", + "placementGroupId": "f67c14ab-e92c-408c-ae2d-da15866ec79a", + "plan": { + "name": "planName", + "product": "planProduct", + "publisher": "planPublisher" + }, + "platformFaultDomain": "36", + "platformSubFaultDomain": "15", + "platformUpdateDomain": "42", + "priority": "Spot", + "provider": "Microsoft.Compute", + "publicKeys": [ + { + "keyData": "ssh-rsa 0", + "path": "/home/user/.ssh/authorized_keys0" + }, + { + "keyData": "ssh-rsa 1", + "path": "/home/user/.ssh/authorized_keys1" + } + ], + "publisher": "RDFE-Test-Microsoft-Windows-Server-Group", + "resourceGroupName": "macikgo-test-may-23", + "resourceId": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/virtualMachines/examplevmname", + "securityProfile": { + "secureBootEnabled": "true", + "virtualTpmEnabled": "false" + }, + "sku": "Windows-Server-2012-R2-Datacenter", + "storageProfile": { + "dataDisks": [ + { + "bytesPerSecondThrottle": "979202048", + "caching": "None", + "createOption": "Empty", + "diskCapacityBytes": "274877906944", + "diskSizeGB": "1024", + "image": { + "uri": "" + }, + "isSharedDisk": "false", + "isUltraDisk": "true", + "lun": "0", + "managedDisk": { + "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampledatadiskname", + "storageAccountType": "Standard_LRS" + }, + "name": "exampledatadiskname", + "opsPerSecondThrottle": "65280", + "vhd": { + "uri": "" + }, + "writeAcceleratorEnabled": "false" + } + ], + "imageReference": { + "id": "", + "offer": "UbuntuServer", + "publisher": "Canonical", + "sku": "16.04.0-LTS", + "version": "latest" + }, + "osDisk": { + "caching": "ReadWrite", + "createOption": "FromImage", + "diskSizeGB": "30", + "diffDiskSettings": { + "option": "Local" + }, + "encryptionSettings": { + "enabled": "false" + }, + "image": { + "uri": "" + }, + "managedDisk": { + "id": "/subscriptions/8d10da13-8125-4ba9-a717-bf7490507b3d/resourceGroups/macikgo-test-may-23/providers/Microsoft.Compute/disks/exampleosdiskname", + "storageAccountType": "Standard_LRS" + }, + "name": "exampleosdiskname", + "osType": "Linux", + "vhd": { + "uri": "" + }, + "writeAcceleratorEnabled": "false" + }, + "resourceDisk": { + "size": "4096" + } + }, + "subscriptionId": "8d10da13-8125-4ba9-a717-bf7490507b3d", + "tags": "baz:bash;foo:bar", + "tagsList": [ + { + "name": "baz", + "value": "bash" + }, + { + "name": "foo", + "value": "bar" + } + ], + "userData": "Zm9vYmFy", + "version": "15.05.22", + "virtualMachineScaleSet": { + "id": "/subscriptions/xxxxxxxx-xxxxx-xxx-xxx-xxxx/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachineScaleSets/virtual-machine-scale-set-name" + }, + "vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6", + "vmScaleSetName": "crpteste9vflji9", + "vmSize": "Standard_A3", + "zone": "" + } + } + } + } +} diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json new file mode 100644 index 000000000000..850fbc61a25f --- /dev/null +++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json @@ -0,0 +1,983 @@ +{ + "swagger": "2.0", + "info": { + "title": "InstanceMetadataClient", + "description": "The Azure Instance Metadata Client", + "version": "2021-10-01" + }, + "host": "169.254.169.254", + "basePath": "/metadata", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "basic_auth": { + "type": "basic", + "description": "A Basic authentication flow" + } + }, + "paths": { + "/instance": { + "get": { + "operationId": "Instances_GetMetadata", + "description": "Get Instance Metadata for the Virtual Machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MetadataParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Instance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Instance Metadata for the VM": { + "$ref": "./examples/GetInstanceMetadata.json" + } + } + } + }, + "/attested/document": { + "get": { + "operationId": "Attested_GetDocument", + "description": "Get Attested Data for the Virtual Machine.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "nonce", + "in": "query", + "required": false, + "type": "string", + "description": "This is a string of up to 32 random alphanumeric characters." + }, + { + "$ref": "#/parameters/MetadataParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AttestedData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Attested Data for the VM": { + "$ref": "./examples/GetAttestedData.json" + } + } + } + }, + "/identity/oauth2/token": { + "get": { + "tags": [ + "Get token" + ], + "description": "Get a Token from Azure AD", + "operationId": "Identity_GetToken", + "produces": [ + "application/json" + ], + "security": [ + {}, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "name": "resource", + "in": "query", + "type": "string", + "description": "This is the urlencoded identifier URI of the sink resource for the requested Azure AD token. The resulting token contains the corresponding aud for this resource.", + "required": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "client_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD client id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with object_id and msi_res_id.", + "required": false + }, + { + "name": "object_id", + "in": "query", + "type": "string", + "description": "This identifies, by Azure AD object id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and msi_res_id.", + "required": false + }, + { + "name": "msi_res_id", + "in": "query", + "type": "string", + "description": "This identifies, by urlencoded ARM resource id, a specific explicit identity to use when authenticating to Azure AD. Mutually exclusive with client_id and object_id.", + "required": false + }, + { + "name": "authority", + "in": "query", + "type": "string", + "description": "This indicates the authority to request AAD tokens from. Defaults to the known authority of the identity to be used.", + "required": false + }, + { + "name": "bypass_cache", + "in": "query", + "type": "string", + "enum": [ + "true" + ], + "description": "If provided, the value must be 'true'. This indicates to the server that the token must be retrieved from Azure AD and cannot be retrieved from an internal cache.", + "required": false, + "x-ms-enum": { + "name": "BypassCache", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityTokenResponse" + } + }, + "default": { + "headers": { + "Www-Authenticate": { + "type": "string", + "description": "This is the response header containing a challenge for the Basic scheme with a realm value" + } + }, + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Token for the VM": { + "$ref": "./examples/GetIdentityToken.json" + } + } + } + }, + "/identity/info": { + "get": { + "tags": [ + "Get metadata information" + ], + "description": "Get information about AAD Metadata", + "operationId": "Identity_GetInfo", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/MetadataParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/IdentityInfoResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/IdentityErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Identity Info for the VM": { + "$ref": "./examples/GetIdentityInfo.json" + } + } + } + } + }, + "definitions": { + "Compute": { + "type": "object", + "properties": { + "azEnvironment": { + "type": "string", + "description": "This is the name of the environment in which the VM is running." + }, + "evictionPolicy": { + "type": "string", + "description": "Describes how the VM will be evicted if space needs to be freed up. Only applicable to Spot VMs. For a non-spot VM, this will be an empty string." + }, + "extendedLocation": { + "type": "object", + "description": "Describes the extended location of the VM", + "$ref": "#/definitions/ExtendedLocationProperties" + }, + "isHostCompatibilityLayerVm": { + "type": "string", + "description": "Identifies if the VM runs on the Host Compatibility Layer." + }, + "licenseType": { + "type": "string", + "description": "Type of license for Azure Hybrid Benefit. Note that this is only present for AHB-enabled VMs." + }, + "location": { + "type": "string", + "description": "This is the Azure Region in which the VM is running." + }, + "name": { + "type": "string", + "description": "This is the name of the VM." + }, + "offer": { + "type": "string", + "description": "This is the offer information for the VM image. This value is only present for images deployed from the Azure Image Gallery." + }, + "osProfile": { + "type": "object", + "description": "This contains the data about the OS.", + "$ref": "#/definitions/OsProfile" + }, + "osType": { + "type": "string", + "description": "This value indicates the type of OS the VM is running, either Linux or Windows." + }, + "placementGroupId": { + "type": "string", + "description": "This is the placement group of your Virtual Machine Scale Set." + }, + "plan": { + "type": "object", + "description": "This contains the data about the plan.", + "$ref": "#/definitions/PlanProperties" + }, + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/PublicKeysProperties" + }, + "description": "This is information about the SSH certificate" + }, + "platformFaultDomain": { + "type": "string", + "description": "This is the fault domain the VM resides in." + }, + "platformSubFaultDomain": { + "type": "string", + "description": "This is the sub fault domain the VM resides in, if applicable." + }, + "platformUpdateDomain": { + "type": "string", + "description": "This is the update domain the VM resides in." + }, + "priority": { + "type": "string", + "description": "This is the priority of the VM." + }, + "provider": { + "type": "string", + "description": "This is the provider of the VM." + }, + "publisher": { + "type": "string", + "description": "This is the publisher of the VM image." + }, + "resourceGroupName": { + "type": "string", + "description": "This is the resource group for the VM." + }, + "resourceId": { + "type": "string", + "description": "This is the fully qualified ID for the VM." + }, + "securityProfile": { + "description": "This contains the data about the security profile associated with the VM.", + "$ref": "#/definitions/SecurityProfile" + }, + "sku": { + "type": "string", + "description": "This is the specific SKU for the VM image." + }, + "storageProfile": { + "type": "object", + "description": "This contains the data about the storage disks associated with the VM.", + "$ref": "#/definitions/StorageProfile" + }, + "subscriptionId": { + "type": "string", + "description": "This is the Azure subscription for the VM." + }, + "tags": { + "type": "string", + "description": "This is the list of tags for your VM." + }, + "tagsList": { + "type": "array", + "items": { + "$ref": "#/definitions/TagsProperties" + }, + "description": "This is the list of tags for your VM formatted as a JSON array for easier programmatic parsing." + }, + "userData": { + "type": "string", + "description": "The set of data specified when the VM was created for use during or after provisioning (Base64 encoded)" + }, + "version": { + "type": "string", + "description": "This is the version of the VM image." + }, + "virtualMachineScaleSet": { + "type": "object", + "description": "Information about the VMSS the VM belongs to (if applicable)", + "$ref": "#/definitions/VirtualMachineScaleSet" + }, + "vmId": { + "type": "string", + "description": "This is the unique identifier for the VM." + }, + "vmScaleSetName": { + "type": "string", + "description": "This is the resource name of the VMSS." + }, + "vmSize": { + "type": "string", + "description": "This is the size of the VM." + }, + "zone": { + "type": "string", + "description": "This is the availability zone of the VM." + } + }, + "description": "Compute Metadata" + }, + "Network": { + "type": "object", + "properties": { + "interface": { + "type": "array", + "description": "This contains data about the network interface.", + "items": { + "type": "object", + "$ref": "#/definitions/NetworkInterface" + } + } + }, + "description": "Network Metadata" + }, + "ExtendedLocationProperties": { + "type": "object", + "description": "Describes the extended location of the VM", + "properties": { + "type": { + "type": "string", + "description": "The type of the extended location of the VM" + }, + "name": { + "type": "string", + "description": "The name of the extended location of the VM" + } + } + }, + "NetworkInterface": { + "type": "object", + "description": "This contains data about the network interface.", + "properties": { + "ipv4": { + "type": "object", + "description": "This contains the IPv4 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv4 properties.", + "$ref": "#/definitions/Ipv4Properties" + } + }, + "subnet": { + "type": "array", + "description": "This is the subnet", + "items": { + "type": "object", + "description": "This contains the subnet properties.", + "$ref": "#/definitions/SubnetProperties" + } + } + } + }, + "ipv6": { + "type": "object", + "description": "This contains the IPv6 address.", + "properties": { + "ipAddress": { + "type": "array", + "description": "This is the IP address", + "items": { + "type": "object", + "description": "This contains the IPv6 properties.", + "$ref": "#/definitions/Ipv6Properties" + } + } + } + }, + "macAddress": { + "type": "string", + "description": "This is the MAC address of the interface." + } + } + }, + "OsProfile": { + "type": "object", + "description": "This contains the data about the OS.", + "properties": { + "adminUsername": { + "type": "string", + "description": "This is admin account." + }, + "computerName": { + "type": "string", + "description": "This is the name of the VM." + }, + "disablePasswordAuthentication": { + "type": "string", + "description": "This specifies whether or not password authentication is disabled. Note that this is present only for Linux VMs. For a Windows VM, this value will be the empty string." + } + } + }, + "PlanProperties": { + "type": "object", + "description": "This contains the data about the plan.", + "properties": { + "name": { + "type": "string", + "description": "This is the Plan ID." + }, + "publisher": { + "type": "string", + "description": "This is the publisher ID." + }, + "product": { + "type": "string", + "description": "This is the product of the image from the Marketplace." + } + } + }, + "PublicKeysProperties": { + "type": "object", + "description": "This contains the data about the public key.", + "properties": { + "path": { + "type": "string", + "description": "This specifies the full path on the VM where the SSH public key is stored." + }, + "keyData": { + "type": "string", + "description": "This is the SSH public key certificate used to authenticate with the VM." + } + } + }, + "TagsProperties": { + "type": "object", + "description": "This contains the properties of the tags in a tagsList.", + "properties": { + "name": { + "type": "string", + "description": "This is the name of the tag. It is equivalent to the key in the key-value pair format." + }, + "value": { + "type": "string", + "description": "This is the value of the tag. It is, as expected, equivalent to the value in the key-value pair format." + } + } + }, + "Ipv4Properties": { + "type": "object", + "description": "This contains the IPv4 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IP address assigned to the interface." + }, + "publicIpAddress": { + "type": "string", + "description": "This is the public IP address assigned to the interface." + } + } + }, + "Ipv6Properties": { + "type": "object", + "description": "This contains the IPv6 properties.", + "properties": { + "privateIpAddress": { + "type": "string", + "description": "This is the private IPv6 address assigned to the interface." + } + } + }, + "SubnetProperties": { + "type": "object", + "description": "This contains the properties of the subnet.", + "properties": { + "address": { + "type": "string", + "description": "This is the address range of the subnet." + }, + "prefix": { + "type": "string", + "description": "This is the prefix of the subnet." + } + } + }, + "SecurityProfile": { + "type": "object", + "description": "This contains the data about the security profile associated with the VM.", + "properties": { + "secureBootEnabled": { + "type": "string", + "description": "Identifies if UEFI secure boot is enabled on the VM" + }, + "virtualTpmEnabled": { + "type": "string", + "description": "Identifies if the virtual Trusted Platform Module (TPM) is enabled on the VM" + } + } + }, + "StorageProfile": { + "type": "object", + "description": "This contains the data about the storage disks associated with the VM.", + "properties": { + "imageReference": { + "type": "object", + "$ref": "#/definitions/ImageReference", + "description": "Image information" + }, + "osDisk": { + "type": "object", + "$ref": "#/definitions/OsDisk", + "description": "OS disk information" + }, + "dataDisks": { + "type": "array", + "description": "Data disk information", + "items": { + "type": "object", + "description": "This contains information about the data disk.", + "$ref": "#/definitions/DataDisk" + } + }, + "resourceDisk": { + "type": "object", + "description": "This contains data for the size of local temp disk of the VM, if it exists.", + "properties": { + "size": { + "type": "string", + "description": "The size of the local temp disk of the VM if it exists, in kilobytes. If the VM has no local temp disk, this value is 0." + } + } + } + } + }, + "ImageReference": { + "type": "object", + "description": "This contains information about the OS image.", + "properties": { + "id": { + "type": "string", + "description": "This is the resource ID." + }, + "offer": { + "type": "string", + "description": "This is the offer of the platform or marketplace image." + }, + "publisher": { + "type": "string", + "description": "This is the image publisher." + }, + "sku": { + "type": "string", + "description": "This is the image SKU." + }, + "version": { + "type": "string", + "description": "This is the version of the platform or marketplace image." + } + } + }, + "OsDisk": { + "type": "object", + "description": "This contains information about the OS disk used by the VM.", + "properties": { + "caching": { + "type": "string", + "description": "This is the caching requirements." + }, + "createOption": { + "type": "string", + "description": "This is information about how the VM was created." + }, + "diffDiskSettings": { + "type": "object", + "description": "This is the ephemeral disk settings.", + "$ref": "#/definitions/DiffDiskSettings" + }, + "diskSizeGB": { + "type": "string", + "description": "This is the size of the disk in GB." + }, + "encryptionSettings": { + "type": "object", + "description": "This is the encryption settings for the disk.", + "$ref": "#/definitions/EncryptionSettings" + }, + "image": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "$ref": "#/definitions/DiskImage" + }, + "managedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "$ref": "#/definitions/ManagedDisk" + }, + "name": { + "type": "string", + "description": "This is the disk name." + }, + "osType": { + "type": "string", + "description": "This is the type of OS included in the disk." + }, + "vhd": { + "type": "object", + "description": "This is the virtual hard disk.", + "$ref": "#/definitions/VirtualHardDisk" + }, + "writeAcceleratorEnabled": { + "type": "string", + "description": "This specifies whether or not writeAccelerator is enabled on the disk." + } + } + }, + "DataDisk": { + "type": "object", + "description": "This contains information about the data disk.", + "properties": { + "bytesPerSecondThrottle": { + "type": "string", + "description": "Disk read/write quota in bytes; only populated for Ultra Disks" + }, + "caching": { + "type": "string", + "description": "This is the caching requirements." + }, + "createOption": { + "type": "string", + "description": "This is information about how the VM was created." + }, + "diskCapacityBytes": { + "type": "string", + "description": "Size of disk in bytes; only populated for Ultra Disks" + }, + "diskSizeGB": { + "type": "string", + "description": "This is the size of the disk in GB." + }, + "image": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "$ref": "#/definitions/DiskImage" + }, + "isSharedDisk": { + "type": "string", + "description": "Identifies if the disk is shared between resources; only populated for Ultra Disks" + }, + "isUltraDisk": { + "type": "string", + "description": "Identifies if the data disk is an Ultra Disk" + }, + "lun": { + "type": "string", + "description": "This is the logical unit number of the disk." + }, + "managedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "$ref": "#/definitions/ManagedDisk" + }, + "name": { + "type": "string", + "description": "This is the disk name." + }, + "opsPerSecondThrottle": { + "type": "string", + "description": "Disk read/write quota in IOPS; only populated for Ultra Disks" + }, + "vhd": { + "type": "object", + "description": "This is the virtual hard disk.", + "$ref": "#/definitions/VirtualHardDisk" + }, + "writeAcceleratorEnabled": { + "type": "string", + "description": "This specifies whether or not writeAccelerator is enabled on the disk." + } + } + }, + "EncryptionSettings": { + "type": "object", + "description": "This is the encryption settings for the disk.", + "properties": { + "enabled": { + "type": "string", + "description": "This specifies whether or not disk encryption is enabled on the VM." + } + } + }, + "DiffDiskSettings": { + "type": "object", + "description": "This is the ephemeral disk settings.", + "properties": { + "option": { + "type": "string", + "description": "This specifies the ephemeral disk settings." + } + } + }, + "DiskImage": { + "type": "object", + "description": "This is the source user image virtual hard disk.", + "properties": { + "uri": { + "type": "string", + "description": "This is the uri of the virtual hard disk." + } + } + }, + "ManagedDisk": { + "type": "object", + "description": "This is managed disk parameters.", + "properties": { + "id": { + "type": "string", + "description": "This is the resource ID." + }, + "storageAccountType": { + "type": "string", + "description": "This is the storage account type for the managed disk." + } + } + }, + "VirtualHardDisk": { + "type": "object", + "description": "This is the virtual hard disk.", + "properties": { + "uri": { + "type": "string", + "description": "This is the uri of the virtual hard disk." + } + } + }, + "VirtualMachineScaleSet": { + "type": "object", + "description": "Information about the VMSS the VM belongs to (if applicable)", + "properties": { + "id": { + "type": "string", + "description": "This is the ID of the VMSS the VM belongs to (if applicable)" + } + } + }, + "ApplicationResponse": { + "type": "string", + "description": "This is a binary string containing the application." + }, + "Instance": { + "type": "object", + "description": "This is the response from the Instance_GetMetadata operation.", + "properties": { + "compute": { + "$ref": "#/definitions/Compute", + "description": "Compute Metadata" + }, + "network": { + "$ref": "#/definitions/Network", + "description": "Network Metadata" + } + } + }, + "AttestedData": { + "type": "object", + "description": "This is the response from the Attested_GetDocument operation.", + "properties": { + "signature": { + "type": "string", + "description": "This is the encoded string containing the VM ID, SKU, plan information, public key, timestamp, and nonce value." + }, + "encoding": { + "type": "string", + "description": "This is the encoding scheme of the signature." + } + } + }, + "ErrorResponse": { + "description": "This is the response from an operation in the case an error occurs.", + "type": "object", + "properties": { + "error": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "IdentityErrorResponse": { + "type": "object", + "description": "This is the response from an Identity operation in the case an error occurs.", + "properties": { + "error": { + "type": "string", + "description": "Error code", + "enum": [ + "invalid_request", + "unauthorized_client", + "access_denied", + "unsupported_response_type", + "invalid_scope", + "server_error", + "service_unavailable", + "bad_request", + "forbidden", + "not_found", + "method_not_allowed", + "too_many_requests" + ], + "x-ms-enum": { + "name": "Error", + "modelAsString": true + } + }, + "error_description": { + "type": "string", + "description": "Error message indicating why the operation failed." + } + } + }, + "IdentityTokenResponse": { + "type": "object", + "description": "This is the response from the Identity_GetToken operation.", + "properties": { + "access_token": { + "type": "string", + "description": "This is the requested access token. The app can use this token to authenticate to the sink resource." + }, + "expires_in": { + "type": "string", + "description": "This is how long the access token is valid (in seconds)." + }, + "expires_on": { + "type": "string", + "description": "This is the time when the access token expires. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time. This value is used to determine the lifetime of cached tokens." + }, + "ext_expires_in": { + "type": "string", + "description": "This indicates the extended lifetime of the token (in seconds)." + }, + "not_before": { + "type": "string", + "description": "This is the time when the access token becomes effective. The date is represented as the number of seconds from 1970-01-01T0:0:0Z UTC until the expiration time." + }, + "resource": { + "type": "string", + "description": "This is the app ID URI of the sink resource." + }, + "token_type": { + "type": "string", + "description": "This indicates the token type value." + }, + "client_id": { + "type": "string", + "description": "This is the client_id specified in the request, if any." + }, + "object_id": { + "type": "string", + "description": "This is the object_id specified in the request, if any." + }, + "msi_res_id": { + "type": "string", + "description": "This is the msi_res_id specified in the request, if any." + } + } + }, + "IdentityInfoResponse": { + "type": "object", + "description": "This is the response from the Identity_GetInfo operation.", + "properties": { + "tenantId": { + "type": "string", + "description": "This is the AAD tenantId of the identity of the system assigned managed identity." + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "type": "string", + "description": "Version of the API to be used with the client request.", + "required": true + }, + "MetadataParameter": { + "name": "Metadata", + "in": "header", + "type": "string", + "enum": [ + "true" + ], + "description": "This must be set to 'true'.", + "required": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/imds/data-plane/readme.md b/specification/imds/data-plane/readme.md index 23890c56c090..57cb16822c15 100644 --- a/specification/imds/data-plane/readme.md +++ b/specification/imds/data-plane/readme.md @@ -27,14 +27,23 @@ These are the global settings for the Instance Metadata Service API. ``` yaml openapi-type: data-plane azure-arm: false -tag: package-2021-05-01 +tag: package-2021-10-01 +``` + +### Tag: package-2018-02-1 + +These settings apply only when `--tag=package-2018-02-01` is specified on the command line. + +```yaml $(tag) == 'package-2018-02-01' +input-file: + - Microsoft.InstanceMetadataService/stable/2018-02-01/imds.json ``` ### Tag: package-2018-04-02 These settings apply only when `--tag=package-2018-04-02` is specified on the command line. -```yaml $(tag) == 'package-2018-04-02' +``` yaml $(tag) == 'package-2018-04-02' input-file: - Microsoft.InstanceMetadataService/stable/2018-04-02/imds.json ``` @@ -201,10 +210,35 @@ input-file: - Microsoft.InstanceMetadataService/stable/2021-05-01/imds.json ``` +### Tag: package-2021-10-01 + +These settings apply only when `--tag=package-2021-10-01` is specified on the command line. + +``` yaml $(tag) == 'package-2021-10-01' +input-file: + - Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json +``` + ## Suppression ``` yaml directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: The following properties follow the Oath2 spec, which does not use camelCase. + from: Microsoft.InstanceMetadataService/stable/2018-02-01/imds.json + where: + - $.definitions.IdentityTokenResponse.properties.access_token + - $.definitions.IdentityTokenResponse.properties.expires_in + - $.definitions.IdentityTokenResponse.properties.expires_on + - $.definitions.IdentityTokenResponse.properties.ext_expires_in + - $.definitions.IdentityTokenResponse.properties.not_before + - $.definitions.IdentityTokenResponse.properties.resource + - $.definitions.IdentityTokenResponse.properties.token_type + - $.definitions.IdentityTokenResponse.properties.client_id + - $.definitions.IdentityTokenResponse.properties.object_id + - $.definitions.IdentityTokenResponse.properties.msi_res_id + - $.definitions.IdentityErrorResponse.properties.error_description + - suppress: DefinitionsPropertiesNamesCamelCase reason: The following properties follow the Oath2 spec, which does not use camelCase. from: Microsoft.InstanceMetadataService/stable/2018-04-02/imds.json @@ -514,6 +548,22 @@ directive: - $.definitions.IdentityTokenResponse.properties.object_id - $.definitions.IdentityTokenResponse.properties.msi_res_id - $.definitions.IdentityErrorResponse.properties.error_description + + - suppress: DefinitionsPropertiesNamesCamelCase + reason: The following properties follow the Oath2 spec, which does not use camelCase. + from: Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json + where: + - $.definitions.IdentityTokenResponse.properties.access_token + - $.definitions.IdentityTokenResponse.properties.expires_in + - $.definitions.IdentityTokenResponse.properties.expires_on + - $.definitions.IdentityTokenResponse.properties.ext_expires_in + - $.definitions.IdentityTokenResponse.properties.not_before + - $.definitions.IdentityTokenResponse.properties.resource + - $.definitions.IdentityTokenResponse.properties.token_type + - $.definitions.IdentityTokenResponse.properties.client_id + - $.definitions.IdentityTokenResponse.properties.object_id + - $.definitions.IdentityTokenResponse.properties.msi_res_id + - $.definitions.IdentityErrorResponse.properties.error_description ``` --- @@ -580,6 +630,7 @@ input-file: - $(this-folder)/Microsoft.InstanceMetadataService/stable/2021-02-01/imds.json - $(this-folder)/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json - $(this-folder)/Microsoft.InstanceMetadataService/stable/2021-05-01/imds.json + - $(this-folder)/Microsoft.InstanceMetadataService/stable/2021-10-01/imds.json ``` If there are files that should not be in the `all-api-versions` set, diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json index 549de12aba5d..8f7a3c8267b6 100644 --- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json +++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json @@ -3944,6 +3944,11 @@ } }, "/fileUploads": { + "parameters": [ + { + "$ref": "#/parameters/Version" + } + ], "get": { "operationId": "FileUploads_Get", "summary": "Get the file upload storage account configuration.", diff --git a/specification/iotcentral/resource-manager/readme.python.md b/specification/iotcentral/resource-manager/readme.python.md index a0e299e3c95b..8488027b7423 100644 --- a/specification/iotcentral/resource-manager/readme.python.md +++ b/specification/iotcentral/resource-manager/readme.python.md @@ -5,7 +5,6 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.iothub @@ -18,7 +18,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) batch: - tag: package-2021-07-02 - tag: package-2021-07 @@ -38,7 +38,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothub/azure/mgmt/iothub/ -clear-output-folder: false perform-load: false ``` diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/backuprestore.json new file mode 100644 index 000000000000..af0114d9614f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/backuprestore.json @@ -0,0 +1,440 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/backup": { + "post": { + "tags": [ + "FullBackup" + ], + "operationId": "FullBackup", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container. This operation is supported only by the Managed HSM service.", + "parameters": [ + { + "in": "body", + "name": "azureStorageBlobContainerUri", + "schema": { + "$ref": "#/definitions/SASTokenParameter" + }, + "description": "Azure blob shared access signature token pointing to a valid Azure blob container where full backup needs to be stored. This token needs to be valid for at least next 24 hours from the time of making this call" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Started full backup", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FullBackupOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Create full backup": { + "$ref": "./examples/FullBackup-example.json" + } + } + } + }, + "/backup/{jobId}/pending": { + "get": { + "tags": [ + "FullBackup" + ], + "operationId": "FullBackupStatus", + "description": "Returns the status of full backup operation", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The id returned as part of the backup request" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the full backup status", + "schema": { + "$ref": "#/definitions/FullBackupOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Full backup status": { + "$ref": "./examples/FullBackup-pending-example.json" + } + } + } + }, + "/restore": { + "put": { + "tags": [ + "FullRestore" + ], + "operationId": "FullRestoreOperation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Restores all key materials using the SAS token pointing to a previously stored Azure Blob storage backup folder", + "parameters": [ + { + "name": "restoreBlobDetails", + "in": "body", + "schema": { + "$ref": "#/definitions/RestoreOperationParameters" + }, + "description": "The Azure blob SAS token pointing to a folder where the previous successful full backup was stored" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Started restore operation from the previously stored backup", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/RestoreOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Create full restore from backup": { + "$ref": "./examples/FullRestore-example.json" + } + } + } + }, + "/restore/{jobId}/pending": { + "get": { + "tags": [ + "FullRestore" + ], + "operationId": "RestoreStatus", + "description": "Returns the status of restore operation", + "parameters": [ + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "description": "The Job Id returned part of the restore operation" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the full restore status", + "schema": { + "$ref": "#/definitions/RestoreOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Restore status": { + "$ref": "./examples/Restore-pending-example.json" + } + } + } + }, + "/keys/{keyName}/restore": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "SelectiveKeyRestoreOperation", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Restores all key versions of a given key using user supplied SAS token pointing to a previously stored Azure Blob storage backup folder", + "parameters": [ + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to be restored from the user supplied backup" + }, + { + "name": "restoreBlobDetails", + "in": "body", + "schema": { + "$ref": "#/definitions/SelectiveKeyRestoreOperationParameters" + }, + "description": "The Azure blob SAS token pointing to a folder where the previous successful full backup was stored" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Started selective key restore operation from the previously stored backup", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SelectiveKeyRestoreOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Selectively restore key from a backup": { + "$ref": "./examples/SelectiveRestore-example.json" + } + } + } + } + }, + "definitions": { + "RestoreOperationParameters": { + "properties": { + "sasTokenParameters": { + "$ref": "#/definitions/SASTokenParameter" + }, + "folderToRestore": { + "type": "string", + "description": "The Folder name of the blob where the previous successful full backup was stored" + } + }, + "required": [ + "folderToRestore", + "sasTokenParameters" + ] + }, + "SelectiveKeyRestoreOperationParameters": { + "properties": { + "sasTokenParameters": { + "$ref": "#/definitions/SASTokenParameter" + }, + "folder": { + "type": "string", + "description": "The Folder name of the blob where the previous successful full backup was stored" + } + }, + "required": [ + "folder", + "sasTokenParameters" + ] + }, + "SelectiveKeyRestoreOperation": { + "properties": { + "status": { + "type": "string", + "description": "Status of the restore operation." + }, + "statusDetails": { + "type": "string", + "description": "The status details of restore operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the selective key restore operation." + }, + "jobId": { + "type": "string", + "description": "Identifier for the selective key restore operation." + }, + "startTime": { + "type": "integer", + "format": "unixtime", + "description": "The start time of the restore operation" + }, + "endTime": { + "type": "integer", + "format": "unixtime", + "description": "The end time of the restore operation", + "x-nullable": true + } + }, + "description": "Selective Key Restore operation" + }, + "SASTokenParameter": { + "properties": { + "storageResourceUri": { + "type": "string", + "description": "Azure Blob storage container Uri" + }, + "token": { + "type": "string", + "description": "The SAS token pointing to an Azure Blob storage container" + } + }, + "required": [ + "storageResourceUri", + "token" + ] + }, + "FullBackupOperation": { + "properties": { + "status": { + "type": "string", + "description": "Status of the backup operation." + }, + "statusDetails": { + "type": "string", + "description": "The status details of backup operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the full backup operation." + }, + "startTime": { + "type": "integer", + "format": "unixtime", + "description": "The start time of the backup operation in UTC" + }, + "endTime": { + "type": "integer", + "format": "unixtime", + "description": "The end time of the backup operation in UTC", + "x-nullable": true + }, + "jobId": { + "type": "string", + "description": "Identifier for the full backup operation." + }, + "azureStorageBlobContainerUri": { + "type": "string", + "description": "The Azure blob storage container Uri which contains the full backup" + } + }, + "description": "Full backup operation" + }, + "RestoreOperation": { + "properties": { + "status": { + "type": "string", + "description": "Status of the restore operation." + }, + "statusDetails": { + "type": "string", + "description": "The status details of restore operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the restore operation." + }, + "jobId": { + "type": "string", + "description": "Identifier for the restore operation." + }, + "startTime": { + "type": "integer", + "format": "unixtime", + "description": "The start time of the restore operation" + }, + "endTime": { + "type": "integer", + "format": "unixtime", + "description": "The end time of the restore operation", + "x-nullable": true + } + }, + "description": "Restore operation" + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/certificates.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/certificates.json new file mode 100644 index 000000000000..8eea44c87d64 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/certificates.json @@ -0,0 +1,2084 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificates", + "summary": "List certificates in a specified key vault", + "description": "The GetCertificates operation returns the set of certificates resources in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates along with a link to the next page of certificates.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificates": { + "$ref": "./examples/GetCertificates-example.json" + } + } + } + }, + "/certificates/{certificate-name}": { + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificate", + "summary": "Deletes a certificate from a specified key vault.", + "description": "Deletes all versions of a certificate object along with its associated policy. Delete certificate cannot be used to remove individual versions of a certificate object. This operation requires the certificates/delete permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted certificate.", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificate": { + "$ref": "./examples/DeleteCertificate-example.json" + } + } + } + }, + "/certificates/contacts": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateContacts", + "description": "Sets the certificate contacts for the specified key vault. This operation requires the certificates/managecontacts permission.", + "summary": "Sets the certificate contacts for the specified key vault.", + "parameters": [ + { + "name": "contacts", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Contacts" + }, + "description": "The contacts for the key vault certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateContacts": { + "$ref": "./examples/SetCertificateContacts-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateContacts", + "summary": "Lists the certificate contacts for a specified key vault.", + "description": "The GetCertificateContacts operation returns the set of certificate contact resources in the specified key vault. This operation requires the certificates/managecontacts permission.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateContacts": { + "$ref": "./examples/GetCertificateContacts-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateContacts", + "description": "Deletes the certificate contacts for a specified key vault certificate. This operation requires the certificates/managecontacts permission.", + "summary": "Deletes the certificate contacts for a specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The contacts for the key vault certificate.", + "schema": { + "$ref": "#/definitions/Contacts" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateContacts": { + "$ref": "./examples/DeleteCertificateContacts-example.json" + } + } + } + }, + "/certificates/issuers": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuers", + "summary": "List certificate issuers for a specified key vault.", + "description": "The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificate issuers in a key vault along with a link to the next page of certificate issuers.", + "schema": { + "$ref": "#/definitions/CertificateIssuerListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateIssuers": { + "$ref": "./examples/GetCertificateIssuers-example.json" + } + } + } + }, + "/certificates/issuers/{issuer-name}": { + "put": { + "tags": [ + "Certificates" + ], + "operationId": "SetCertificateIssuer", + "summary": "Sets the specified certificate issuer.", + "description": "The SetCertificateIssuer operation adds or updates the specified certificate issuer. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerSetParameters" + }, + "description": "Certificate issuer set parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetCertificateIssuer": { + "$ref": "./examples/SetCertificateIssuer-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateIssuer", + "summary": "Updates the specified certificate issuer.", + "description": "The UpdateCertificateIssuer operation performs an update on the specified certificate issuer entity. This operation requires the certificates/setissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "name": "parameter", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateIssuerUpdateParameters" + }, + "description": "Certificate issuer update parameter." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateIssuer": { + "$ref": "./examples/UpdateCertificateIssuer-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateIssuer", + "summary": "Lists the specified certificate issuer.", + "description": "The GetCertificateIssuer operation returns the specified certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateIssuer": { + "$ref": "./examples/GetCertificateIssuer-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateIssuer", + "summary": "Deletes the specified certificate issuer.", + "description": "The DeleteCertificateIssuer operation permanently removes the specified certificate issuer from the vault. This operation requires the certificates/manageissuers/deleteissuers permission.", + "parameters": [ + { + "name": "issuer-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the issuer." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The issuer for the key vault certificate.", + "schema": { + "$ref": "#/definitions/IssuerBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateIssuer": { + "$ref": "./examples/DeleteCertificateIssuer-example.json" + } + } + } + }, + "/certificates/{certificate-name}/create": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "CreateCertificate", + "summary": "Creates a new certificate.", + "description": "If this is the first version, the certificate resource is created. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateCreateParameters" + }, + "description": "The parameters to create a certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Created certificate bundle.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "CreateCertificate": { + "$ref": "./examples/CreateCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/import": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "ImportCertificate", + "summary": "Imports a certificate into a specified key vault.", + "description": "Imports an existing valid certificate, containing a private key, into Azure Key Vault. This operation requires the certificates/import permission. The certificate to be imported can be in either PFX or PEM format. If the certificate is in PEM format the PEM file must contain the key as well as x509 certificates. Key Vault will only accept a key in PKCS#8 format.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateImportParameters" + }, + "description": "The parameters to import the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "ImportCertificate": { + "$ref": "./examples/ImportCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/versions": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateVersions", + "summary": "List the versions of a certificate.", + "description": "The GetCertificateVersions operation returns the versions of a certificate in the specified key vault. This operation requires the certificates/list permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/CertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetCertificateVersions": { + "$ref": "./examples/GetCertificateVersions-example.json" + } + } + } + }, + "/certificates/{certificate-name}/policy": { + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificatePolicy", + "summary": "Lists the policy for a certificate.", + "description": "The GetCertificatePolicy operation returns the specified certificate policy resources in the specified key vault. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in a given key vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy.", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificatePolicy": { + "$ref": "./examples/GetCertificatePolicy-example.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificatePolicy", + "summary": "Updates the policy for a certificate.", + "description": "Set specified members in the certificate policy. Leave others as null. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificatePolicy", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CertificatePolicy" + }, + "description": "The policy for the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate policy", + "schema": { + "$ref": "#/definitions/CertificatePolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificatePolicy": { + "$ref": "./examples/UpdateCertificatePolicy-example.json" + } + } + } + }, + "/certificates/{certificate-name}/{certificate-version}": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificate", + "summary": "Updates the specified attributes associated with the given certificate.", + "description": "The UpdateCertificate operation applies the specified update on the given certificate; the only elements updated are the certificate's attributes. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given key vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateUpdateParameters" + }, + "description": "The parameters for certificate update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificate": { + "$ref": "./examples/UpdateCertificate-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificate", + "summary": "Gets information about a certificate.", + "description": "Gets information about a specific certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate in the given vault." + }, + { + "name": "certificate-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the certificate. This URI fragment is optional. If not specified, the latest version of the certificate is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved certificate.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificate": { + "$ref": "./examples/GetCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending": { + "patch": { + "tags": [ + "Certificates" + ], + "operationId": "UpdateCertificateOperation", + "summary": "Updates a certificate operation.", + "description": "Updates a certificate creation operation that is already in progress. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "certificateOperation", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateOperationUpdateParameter" + }, + "description": "The certificate operation response." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateCertificateOperation": { + "$ref": "./examples/UpdateCertificateOperation-example.json" + } + } + }, + "get": { + "tags": [ + "Certificates" + ], + "operationId": "GetCertificateOperation", + "summary": "Gets the creation operation of a certificate.", + "description": "Gets the creation operation associated with a specified certificate. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetCertificateOperation": { + "$ref": "./examples/GetCertificateOperation-example.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "operationId": "DeleteCertificateOperation", + "summary": "Deletes the creation operation for a specific certificate.", + "description": "Deletes the creation operation for a specified certificate that is in the process of being created. The certificate is no longer created. This operation requires the certificates/update permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A message containing the certificate operation response.", + "schema": { + "$ref": "#/definitions/CertificateOperation" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteCertificateOperation": { + "$ref": "./examples/DeleteCertificateOperation-example.json" + } + } + } + }, + "/certificates/{certificate-name}/pending/merge": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "MergeCertificate", + "summary": "Merges a certificate or a certificate chain with a key pair existing on the server.", + "description": "The MergeCertificate operation performs the merging of a certificate or certificate chain with a key pair currently available in the service. This operation requires the certificates/create permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateMergeParameters" + }, + "description": "The parameters to merge certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Merged certificate bundle to the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "MergeCertificate": { + "$ref": "./examples/MergeCertificate-example.json" + } + } + } + }, + "/certificates/{certificate-name}/backup": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "BackupCertificate", + "summary": "Backs up the specified certificate.", + "description": "Requests that a backup of the specified certificate be downloaded to the client. All versions of the certificate will be downloaded. This operation requires the certificates/backup permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up certificate.", + "schema": { + "$ref": "#/definitions/BackupCertificateResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupCertificate": { + "$ref": "./examples/BackupCertificate-example.json" + } + } + } + }, + "/certificates/restore": { + "post": { + "tags": [ + "Certificates" + ], + "operationId": "RestoreCertificate", + "summary": "Restores a backed up certificate to a vault.", + "description": "Restores a backed up certificate, and all its versions, to a vault. This operation requires the certificates/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CertificateRestoreParameters" + }, + "description": "The parameters to restore the certificate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored certificate bundle in the vault.", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreCertificate": { + "$ref": "./examples/RestoreCertificate-example.json" + } + } + } + }, + "/deletedcertificates": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificates", + "summary": "Lists the deleted certificates in the specified vault currently available for recovery.", + "description": "The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "name": "includePending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Specifies whether to include certificates which are not completely provisioned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates", + "schema": { + "$ref": "#/definitions/DeletedCertificateListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedCertificates": { + "$ref": "./examples/GetDeletedCertificates-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}": { + "get": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "GetDeletedCertificate", + "summary": "Retrieves information about the specified deleted certificate.", + "description": "The GetDeletedCertificate operation retrieves the deleted certificate information plus its attributes, such as retention interval, scheduled permanent deletion and the current deletion recovery level. This operation requires the certificates/get permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the certificate and its attributes", + "schema": { + "$ref": "#/definitions/DeletedCertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedCertificate": { + "$ref": "./examples/GetDeletedCertificate-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "PurgeDeletedCertificate", + "summary": "Permanently deletes the specified deleted certificate.", + "description": "The PurgeDeletedCertificate operation performs an irreversible deletion of the specified certificate, without possibility for recovery. The operation is not available if the recovery level does not specify 'Purgeable'. This operation requires the certificate/purge permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the certificate was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedCertificate": { + "$ref": "./examples/PurgeDeletedCertificate-example.json" + } + } + } + }, + "/deletedcertificates/{certificate-name}/recover": { + "post": { + "tags": [ + "DeletedCertificates" + ], + "operationId": "RecoverDeletedCertificate", + "summary": "Recovers the deleted certificate back to its current version under /certificates.", + "description": "The RecoverDeletedCertificate operation performs the reversal of the Delete operation. The operation is applicable in vaults enabled for soft-delete, and must be issued during the retention interval (available in the deleted certificate's attributes). This operation requires the certificates/recover permission.", + "parameters": [ + { + "name": "certificate-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted certificate" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Certificate bundle of the original certificate and its attributes", + "schema": { + "$ref": "#/definitions/CertificateBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedCertificate": { + "$ref": "./examples/RecoverDeletedCertificate-example.json" + } + } + } + } + }, + "definitions": { + "CertificateAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for certificates in the current vault. If it contains 'Purgeable', the certificate can be permanently deleted by a privileged user; otherwise, only the system can purge the certificate, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The certificate management attributes." + }, + "CertificateItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate identifier." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate." + } + }, + "description": "The certificate item containing certificate metadata." + }, + "CertificateIssuerItem": { + "properties": { + "id": { + "type": "string", + "description": "Certificate Identifier." + }, + "provider": { + "type": "string", + "description": "The issuer provider." + } + }, + "description": "The certificate issuer item containing certificate issuer metadata." + }, + "CertificateBundle": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "kid": { + "type": "string", + "description": "The key id.", + "readOnly": true + }, + "sid": { + "type": "string", + "description": "The secret id.", + "readOnly": true + }, + "x5t": { + "x-ms-client-name": "X509Thumbprint", + "type": "string", + "format": "base64url", + "description": "Thumbprint of the certificate.", + "readOnly": true + }, + "policy": { + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy.", + "readOnly": true + }, + "cer": { + "type": "string", + "format": "byte", + "description": "CER contents of x509 certificate." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret. eg. 'application/x-pem-file' or 'application/x-pkcs12', " + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs" + } + }, + "description": "A certificate bundle consists of a certificate (X509) plus its attributes." + }, + "DeletedCertificateBundle": { + "allOf": [ + { + "$ref": "#/definitions/CertificateBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "A Deleted Certificate consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedCertificateItem": { + "allOf": [ + { + "$ref": "#/definitions/CertificateItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted certificate." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the certificate was deleted, in UTC" + } + }, + "description": "The deleted certificate item containing metadata about the deleted certificate." + }, + "CertificateOperation": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "csr": { + "type": "string", + "format": "byte", + "description": "The certificate signing request (CSR) that is being used in the certificate operation." + }, + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + }, + "status": { + "type": "string", + "description": "Status of the certificate operation." + }, + "status_details": { + "type": "string", + "description": "The status details of the certificate operation." + }, + "error": { + "$ref": "common.json#/definitions/Error", + "description": "Error encountered, if any, during the certificate operation." + }, + "target": { + "type": "string", + "description": "Location which contains the result of the certificate operation." + }, + "request_id": { + "type": "string", + "description": "Identifier for the certificate operation." + } + }, + "description": "A certificate operation is returned in case of asynchronous requests." + }, + "CertificatePolicy": { + "properties": { + "id": { + "type": "string", + "description": "The certificate id.", + "readOnly": true + }, + "key_props": { + "x-ms-client-name": "KeyProperties", + "$ref": "keys.json#/definitions/KeyProperties", + "description": "Properties of the key backing a certificate." + }, + "secret_props": { + "x-ms-client-name": "SecretProperties", + "$ref": "secrets.json#/definitions/SecretProperties", + "description": "Properties of the secret backing a certificate." + }, + "x509_props": { + "x-ms-client-name": "X509CertificateProperties", + "$ref": "#/definitions/X509CertificateProperties", + "description": "Properties of the X509 component of a certificate." + }, + "lifetime_actions": { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeAction" + }, + "description": "Actions that will be performed by Key Vault over the lifetime of a certificate." + }, + "issuer": { + "x-ms-client-name": "IssuerParameters", + "$ref": "#/definitions/IssuerParameters", + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "attributes": { + "$ref": "#/definitions/CertificateAttributes", + "description": "The certificate attributes." + } + }, + "description": "Management policy for a certificate." + }, + "X509CertificateProperties": { + "properties": { + "subject": { + "type": "string", + "description": "The subject name. Should be a valid X509 distinguished Name." + }, + "ekus": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The enhanced key usage." + }, + "sans": { + "x-ms-client-name": "SubjectAlternativeNames", + "$ref": "#/definitions/SubjectAlternativeNames", + "description": "The subject alternative names." + }, + "key_usage": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "digitalSignature", + "nonRepudiation", + "keyEncipherment", + "dataEncipherment", + "keyAgreement", + "keyCertSign", + "cRLSign", + "encipherOnly", + "decipherOnly" + ], + "x-ms-enum": { + "name": "KeyUsageType", + "modelAsString": true + } + }, + "description": "List of key usages." + }, + "validity_months": { + "x-ms-client-name": "ValidityInMonths", + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The duration that the certificate is valid in months." + } + }, + "description": "Properties of the X509 component of a certificate." + }, + "IssuerParameters": { + "properties": { + "name": { + "type": "string", + "description": "Name of the referenced issuer object or reserved names; for example, 'Self' or 'Unknown'." + }, + "cty": { + "x-ms-client-name": "CertificateType", + "type": "string", + "description": "Certificate type as supported by the provider (optional); for example 'OV-SSL', 'EV-SSL'" + }, + "cert_transparency": { + "x-ms-client-name": "CertificateTransparency", + "type": "boolean", + "description": "Indicates if the certificates generated under this policy should be published to certificate transparency logs." + } + }, + "description": "Parameters for the issuer of the X509 component of a certificate." + }, + "LifetimeAction": { + "properties": { + "trigger": { + "$ref": "#/definitions/Trigger", + "description": "The condition that will execute the action." + }, + "action": { + "$ref": "#/definitions/Action", + "description": "The action that will be executed." + } + }, + "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a certificate." + }, + "Action": { + "properties": { + "action_type": { + "type": "string", + "description": "The type of the action.", + "enum": [ + "EmailContacts", + "AutoRenew" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": false + } + } + }, + "description": "The action that will be executed." + }, + "Trigger": { + "properties": { + "lifetime_percentage": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 99, + "description": "Percentage of lifetime at which to trigger. Value should be between 1 and 99." + }, + "days_before_expiry": { + "type": "integer", + "format": "int32", + "description": "Days before expiry to attempt renewal. Value should be between 1 and validity_in_months multiplied by 27. If validity_in_months is 36, then value should be between 1 and 972 (36 * 27)." + } + }, + "description": "A condition to be satisfied for an action to be executed." + }, + "SubjectAlternativeNames": { + "properties": { + "emails": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Email addresses." + }, + "dns_names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Domain names." + }, + "upns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "User principal names." + } + }, + "description": "The subject alternate names of a X509 object." + }, + "IssuerBundle": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the issuer object.", + "readOnly": true + }, + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The issuer for Key Vault certificate." + }, + "IssuerAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the issuer is enabled." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The attributes of an issuer managed by the Key Vault service." + }, + "IssuerCredentials": { + "properties": { + "account_id": { + "type": "string", + "description": "The user name/account name/account id." + }, + "pwd": { + "x-ms-client-name": "Password", + "type": "string", + "description": "The password/secret/account key." + } + }, + "description": "The credentials to be used for the certificate issuer." + }, + "OrganizationDetails": { + "properties": { + "id": { + "type": "string", + "description": "Id of the organization." + }, + "admin_details": { + "type": "array", + "items": { + "$ref": "#/definitions/AdministratorDetails" + }, + "description": "Details of the organization administrator." + } + }, + "description": "Details of the organization of the certificate issuer." + }, + "AdministratorDetails": { + "properties": { + "first_name": { + "type": "string", + "description": "First name." + }, + "last_name": { + "type": "string", + "description": "Last name." + }, + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "Details of the organization administrator of the certificate issuer." + }, + "Contacts": { + "properties": { + "id": { + "type": "string", + "description": "Identifier for the contacts collection.", + "readOnly": true + }, + "contacts": { + "x-ms-client-name": "ContactList", + "type": "array", + "items": { + "$ref": "#/definitions/Contact" + }, + "description": "The contact list for the vault certificates." + } + }, + "description": "The contacts for the vault certificates." + }, + "Contact": { + "properties": { + "email": { + "x-ms-client-name": "EmailAddress", + "type": "string", + "description": "Email address." + }, + "name": { + "type": "string", + "description": "Name." + }, + "phone": { + "type": "string", + "description": "Phone number." + } + }, + "description": "The contact information for the vault certificates." + }, + "CertificateCreateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate create parameters." + }, + "CertificateImportParameters": { + "properties": { + "value": { + "x-ms-client-name": "base64EncodedCertificate", + "type": "string", + "description": "Base64 encoded representation of the certificate object to import. This certificate needs to contain the private key." + }, + "pwd": { + "x-ms-client-name": "password", + "type": "string", + "description": "If the private key in base64EncodedCertificate is encrypted, the password used for encryption." + }, + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate import parameters.", + "required": [ + "value" + ] + }, + "CertificateUpdateParameters": { + "properties": { + "policy": { + "x-ms-client-name": "CertificatePolicy", + "$ref": "#/definitions/CertificatePolicy", + "description": "The management policy for the certificate." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate update parameters." + }, + "CertificateMergeParameters": { + "properties": { + "x5c": { + "x-ms-client-name": "x509Certificates", + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "The certificate or the certificate chain to merge." + }, + "attributes": { + "x-ms-client-name": "CertificateAttributes", + "$ref": "#/definitions/CertificateAttributes", + "description": "The attributes of the certificate (optional)." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The certificate merge parameters", + "required": [ + "x5c" + ] + }, + "CertificateIssuerSetParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer set parameters.", + "required": [ + "provider" + ] + }, + "CertificateIssuerUpdateParameters": { + "properties": { + "provider": { + "type": "string", + "description": "The issuer provider." + }, + "credentials": { + "$ref": "#/definitions/IssuerCredentials", + "description": "The credentials to be used for the issuer." + }, + "org_details": { + "x-ms-client-name": "OrganizationDetails", + "$ref": "#/definitions/OrganizationDetails", + "description": "Details of the organization as provided to the issuer." + }, + "attributes": { + "$ref": "#/definitions/IssuerAttributes", + "description": "Attributes of the issuer object." + } + }, + "description": "The certificate issuer update parameters." + }, + "CertificateOperationUpdateParameter": { + "properties": { + "cancellation_requested": { + "type": "boolean", + "description": "Indicates if cancellation was requested on the certificate operation." + } + }, + "description": "The certificate operation update parameters.", + "required": [ + "cancellation_requested" + ] + }, + "CertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificates in the key vault along with a link to the next page of certificates." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificates." + } + }, + "description": "The certificate list result." + }, + "DeletedCertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedCertificateItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted certificates in the vault along with a link to the next page of deleted certificates" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted certificates." + } + }, + "description": "A list of certificates that have been deleted in this vault." + }, + "CertificateIssuerListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CertificateIssuerItem" + }, + "readOnly": true, + "description": "A response message containing a list of certificate issuers in the key vault along with a link to the next page of certificate issuers." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of certificate issuers." + } + }, + "description": "The certificate issuer list result." + }, + "PendingCertificateSigningRequestResult": { + "properties": { + "value": { + "type": "string", + "readOnly": true, + "description": "The pending certificate signing request as Base64 encoded string." + } + }, + "description": "The pending certificate signing request result." + }, + "CertificateRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "certificateBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a certificate bundle." + } + }, + "description": "The certificate restore parameters.", + "required": [ + "value" + ] + }, + "BackupCertificateResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up certificate." + } + }, + "description": "The backup certificate result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/common.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/common.json new file mode 100644 index 000000000000..4f81d7b0bf31 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/common.json @@ -0,0 +1,74 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "paths": {}, + "definitions": { + "Attributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the object is enabled." + }, + "nbf": { + "x-ms-client-name": "NotBefore", + "type": "integer", + "format": "unixtime", + "description": "Not before date in UTC." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "unixtime", + "description": "Expiry date in UTC." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + } + }, + "description": "The object attributes managed by the KeyVault service." + }, + "KeyVaultError": { + "properties": { + "error": { + "readOnly": true, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault error exception." + }, + "Error": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The error code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The error message." + }, + "innererror": { + "x-ms-client-name": "innerError", + "readOnly": true, + "$ref": "#/definitions/Error" + } + }, + "description": "The key vault server error.", + "x-nullable": true + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupCertificate-example.json new file mode 100644 index 000000000000..ea64ee52ad79 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupCertificate-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "testcert", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupKey-example.json new file mode 100644 index 000000000000..fe6605a4d1e4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupKey-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupSecret-example.json new file mode 100644 index 000000000000..14309a9f2451 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/BackupSecret-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "testsecret", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateCertificate-example.json new file mode 100644 index 000000000000..2174c986a9e4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateCertificate-example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "api-version": "7.3", + "parameters": { + "policy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=*.microsoft.com", + "sans": { + "dns_names": [ + "onedrive.microsoft.com", + "xbox.microsoft.com" + ] + } + }, + "issuer": { + "name": "Self" + } + } + } + }, + "responses": { + "202": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/pending", + "issuer": { + "name": "Self" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "6faacd568ab049a2803861e8dd3ae21f" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateKey-example.json new file mode 100644 index 000000000000..578e44cb8e41 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/CreateKey-example.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.3", + "parameters": { + "kty": "RSA", + "key_size": 2048, + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "attributes": {}, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificate-example.json new file mode 100644 index 000000000000..102d55508d47 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificate-example.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "importCert01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/importCert01", + "deletedDate": 1493938558, + "scheduledPurgeDate": 1501714558, + "id": "https://myvault.vault.azure.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "kid": "https://myvault.vault.azure.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "sid": "https://myvault.vault.azure.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938557, + "updated": 1493938557, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938557, + "updated": 1493938557 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateContacts-example.json new file mode 100644 index 000000000000..596a4bfc5d96 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateContacts-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateIssuer-example.json new file mode 100644 index 000000000000..0fad1b405b8d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateIssuer-example.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateOperation-example.json new file mode 100644 index 000000000000..aed390453b7d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteCertificateOperation-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "deletedRequestedCert01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/deletedRequestedCert01/pending", + "issuer": { + "name": "issuer03" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApf+kGcL+5uivj/ToYbQ15zcx3caEnpzXaX2eJgL0/Kwaz4u2/bNJ9+hoXnlOFFbCp4canVoNvgu8fw5NOu9U3gJNFQwjHeAqfsg8okZGkIk0riIpp4MMb/4GQb2y3B28AcTu2FANdzLoZzBqmQs51KBe1RONkdtqDYXIvnb5G+9+P7PCy5G//Ga0JAP6Y6P8+TrE9JLEj6Sny0ljLMpMyt4rIRAtNfKYSeiWVQmYX4jZfImIW3iq91zwMsRlrzTm80mNfHPCv7V/8NmYuh0MQgCr49lLbbKCgzDyo9h8sblVQvR5TAylpIk7bSQNf4tSdVNHnsF6CJWu6Pg31hyMpQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAHVjmYFs3FmecaJ1ExhK1WCFJaQJUTVbPJ1xJ93UJlLivhzI1yhQO9nMC2DKV+E+UCxceqjae6OG5LUhXfYAziS0HTc80+ZcUqrZRb5ZRt+8HU0TPbTDDqjj8wMZ4VlgQ3eXGAGesMfZV3AqWwa5itofvqm8KAmL4Yn/XMSHcKfRx3h9WnC6RXgZ8WNYK+r5o+gHlmuF7/AaNFh8UjIsjjOZQ0Yin/vA4yBEYTt1/OC7pScs3bdL9CIf4rC98qaMSf4B2W/vfrXUo0gGPYcep25jy7xnIltSY80Trn3Mty5YQ0IT+KPQcJKhbryGg6bIy4jJDwS7zkn51MR1q3kNoOA=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "b88791e33d9c4d609d3e3cc3d2d40d11" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteKey-example.json new file mode 100644 index 000000000000..991c7297a951 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteKey-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/CreateSoftKeyTest", + "deletedDate": 1493942452, + "scheduledPurgeDate": 1501718452, + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleAssignments-example.json new file mode 100644 index 000000000000..85d60a64f4d8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleAssignments-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "roleAssignmentName": "roleAssignmentName", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "properties": { + "roleDefinitionId": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "principalId": "principalId", + "scope": "/keys" + }, + "id": "/keys/providers/Microsoft.Authorization/roleAssignments/roleAssignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleAssignmentId" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleDefinition-example.json new file mode 100644 index 000000000000..c6650a594e89 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteRoleDefinition-example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "/", + "api-version": "7.3", + "roleDefinitionName": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "roleName": "My custom role", + "type": "CustomRole", + "description": "Role description", + "assignableScopes": [ + "/" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.KeyVault/managedHsm/keys/sign/action" + ] + } + ] + }, + "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/roleDefinitions", + "name": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteSecret-example.json new file mode 100644 index 000000000000..1a9f422a930b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/DeleteSecret-example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "GetDeletedSecretTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/GetDeletedSecretTest", + "deletedDate": 1493938433, + "scheduledPurgeDate": 1501714433, + "id": "https://myvault.vault.azure.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865", + "attributes": { + "enabled": true, + "created": 1493938433, + "updated": 1493938433, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-example.json new file mode 100644 index 000000000000..b58d5eda54f5 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "azureStorageBlobContainerUri": { + "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", + "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" + }, + "api-version": "7.3" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myvault.vault.azure.net/backup/45aacd568ab049a2803861e8dd3ae21f/pending" + }, + "body": { + "status": "InProgress", + "statusDetails": "Full backup is in progress", + "azureStorageBlobContainerUri": "https://myaccount.blob.core.windows.net/sascontainer/fullbackup-pool-61e8dd3ae21f-1579243113", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-pending-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-pending-example.json new file mode 100644 index 000000000000..506779b6fadd --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullBackup-pending-example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "status": "InProgress", + "statusDetails": "Full backup is in progress", + "azureStorageBlobContainerUri": "https://myaccount.blob.core.windows.net/sascontainer/.fullbackup-pool-61e8dd3ae21f-1579243113", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullRestore-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullRestore-example.json new file mode 100644 index 000000000000..766ee8b58118 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/FullRestore-example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsm.managedhsm.azure.net", + "restoreBlobDetails": { + "sasTokenParameters": { + "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", + "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" + }, + "folderToRestore": "mhsm-mypool-20200303062926785" + }, + "api-version": "7.3" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myvault.vault.azure.net/restore/45aacd568ab049a2803861e8dd3ae21f/pending" + }, + "body": { + "status": "InProgress", + "statusDetails": "Full restore is in progress", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificate-example.json new file mode 100644 index 000000000000..fc6f7b7c39eb --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificate-example.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "certificate-version": "pending", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "kid": "https://myvault.vault.azure.net/keys/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "sid": "https://myvault.vault.azure.net/secrets/selfSignedCert01/f60f2a4f8ae442cfb41ca2090bd4b769", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938289, + "updated": 1493938291, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938289, + "updated": 1493938291 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateContacts-example.json new file mode 100644 index 000000000000..596a4bfc5d96 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateContacts-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuer-example.json new file mode 100644 index 000000000000..0fad1b405b8d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuer-example.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuers-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuers-example.json new file mode 100644 index 000000000000..62948748ff1a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateIssuers-example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test" + }, + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer02", + "provider": "Test" + }, + { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer03", + "provider": "Test" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateOperation-example.json new file mode 100644 index 000000000000..e69d673ab76a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateOperation-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "selfSignedCert01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/selfSignedCert01/pending", + "issuer": { + "name": "Self" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqe8aINnShK+wQC8QU7fwsviQc9+yiOnqU3adXA6qNjn21HTdRBa7cyQIk1STxHIBLTT/GaEJwqsUi6UvZaPEHokOWsr1bP9M7xOPTicBcRyMrr6bOxsmGczYtu1z2TzzXDD7q7IEignE7/LowGEaIADCIU9iuWk7TiJ+1Q/VLh/B3xPsgVjY+n7zEQ53gBiDHSl7XfELfwmslOQ28TVNogUyXsxHcVxQQYJeI7HqqY448LeleK69Ld86lkBixLEm1pD7HSbEx3WI2lyUQAGR6hD3YFaiIWVpQeEyI7p1jmtQlnfZdEL4q9wdlEEcwd3h3PAZpEBhCixahF54fci3pwIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACiLeghirF+yCuYGVUPDB3wKQJn2iLY1za9ncxCehIVqOkFK09AphzoxF6Yid90AKCaa/dT/Ohm7oTyVQ+YcZnT00LUNFVG48AOE8YDiw9tjAG9OORsAz80xnv2qaLw2TCVIQ6NjrI83LqAm1GJ8rAnpdD/ZTuWM7TvSO5g/jm/Q0oSuKpMgj3YxpwgB9Ac6YEfVzOnm76OkUcpvR5MS4BoTfRv4thdSnU+uwqxM+HtdSVTbHQeC2U/hM1cyzDMpl1rZRklmiEOoPUeDasEIBVTJhAxR8xAeKJJD7Wzj4mJPw4UMvF8zQZzW8EKYvB1hkVYY+HQ85L+XcXd8lco7hU4=", + "cancellation_requested": false, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "6faacd568ab049a2803861e8dd3ae21f" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificatePolicy-example.json new file mode 100644 index 000000000000..1d6aef73b58a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificatePolicy-example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1482188947, + "updated": 1482188947 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateVersions-example.json new file mode 100644 index 000000000000..9e84638664c7 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificateVersions-example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "listVersionsCert01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/listVersionsCert01/002ade539442463aba45c0efb42e3e84", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482189534, + "updated": 1482189534 + } + }, + { + "id": "https://myvault.vault.azure.net/certificates/listVersionsCert01/7fcb3e9eb8bf43f3a6ff4b9c3740801d", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482189532, + "updated": 1482189532 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificates-example.json new file mode 100644 index 000000000000..e57ccffc8ec6 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetCertificates-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/certificates/listCert01", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188987, + "updated": 1482188987 + } + }, + { + "id": "https://myvault.vault.azure.net/certificates/listCert02", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188988, + "updated": 1482188988 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificate-example.json new file mode 100644 index 000000000000..dcbca7096272 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificate-example.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "getDeletedCert", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/getDeletedCert", + "deletedDate": 1493938292, + "scheduledPurgeDate": 1501714292, + "id": "https://myvault.vault.azure.net/certificates/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "kid": "https://myvault.vault.azure.net/keys/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "sid": "https://myvault.vault.azure.net/secrets/getDeletedCert/f60f2a4f8ae442cfb41ca2090bd4b769", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938289, + "updated": 1493938291, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/getDeletedCert/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938289, + "updated": 1493938291 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificates-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificates-example.json new file mode 100644 index 000000000000..70038ccb847d --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedCertificates-example.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedcertificates/listdeletedcerttest0", + "deletedDate": 1493937659, + "scheduledPurgeDate": 1501713659, + "id": "https://myvault.vault.azure.net/certificates/listdeletedcerttest0", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493937658, + "updated": 1493937658, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedcertificates?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMTIhTURBd01ETTVJV05sY25ScFptbGpZWFJsTDB4SlUxUkVSVXhGVkVWRVEwVlNWRlJGVTFRd0wxQlBURWxEV1NFd01EQXdNamdoT1RrNU9TMHhNaTB6TVZReU16bzFPVG8xT1M0NU9UazVPVGs1V2lFLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKey-example.json new file mode 100644 index 000000000000..991c7297a951 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKey-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/CreateSoftKeyTest", + "deletedDate": 1493942452, + "scheduledPurgeDate": 1501718452, + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKeys-example.json new file mode 100644 index 000000000000..50c016677131 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedKeys-example.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE5MiFNREF3TURJeklXdGxlUzlNU1ZOVVJFVk1SVlJGUkV0RldWUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qRTJPakF5TGpnM09URXpOemxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedkeys/listdeletedkeytest0", + "deletedDate": 1493938031, + "scheduledPurgeDate": 1501714031, + "kid": "https://myvault.vault.azure.net/keys/listdeletedkeytest0", + "attributes": { + "enabled": true, + "created": 1493938031, + "updated": 1493938031, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedkeys?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVSRVZNUlZSRlJFdEZXVlJGVTFRd0x6RkRRa0ZGTkVaQk5qQTBNelJGTmtZNE9FUXdORE5GTkRFM09FUkNPVFE1SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRJeU9qUTNPakU1TGpVeU1UZ3dPVEZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecret-example.json new file mode 100644 index 000000000000..1a9f422a930b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecret-example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "GetDeletedSecretTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/GetDeletedSecretTest", + "deletedDate": 1493938433, + "scheduledPurgeDate": 1501714433, + "id": "https://myvault.vault.azure.net/secrets/GetDeletedSecretTest/b595353d9c39413d80626575b3b5d865", + "attributes": { + "enabled": true, + "created": 1493938433, + "updated": 1493938433, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecrets-example.json new file mode 100644 index 000000000000..c09dd0096410 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetDeletedSecrets-example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMDAhTURBd01ESTVJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3SVRBd01EQXlPQ0V5TURFM0xUQTFMVEEwVkRFNU9qSTFPakU0TGpJNE5qUXdORFZhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "recoveryId": "https://myvault.vault.azure.net/deletedsecrets/listdeletedsecrettest0", + "deletedDate": 1493937855, + "scheduledPurgeDate": 1501713855, + "contentType": "plainText", + "id": "https://myvault.vault.azure.net/secrets/listdeletedsecrettest0", + "attributes": { + "enabled": true, + "created": 1493937855, + "updated": 1493937855, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/deletedsecrets?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VUkVWTVJWUkZSRk5GUTFKRlZGUkZVMVF3THpZMU16ZERSRVJGTlRJNU5qUkRSa1pDTVRkQ1JVWXhORGszUXpSQ1JEZEVJVEF3TURBeU9DRXlNREUzTFRBMUxUQTBWREl5T2pRME9qUXdMamsxTnpZeE1UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKey-example.json new file mode 100644 index 000000000000..ba1f6eb56e90 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKey-example.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateSoftKeyTest", + "key-version": "78deebed173b48e48f55abf87ed4cf71", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyRotationPolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyRotationPolicy-example.json new file mode 100644 index 000000000000..23ac2d9e190f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyRotationPolicy-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "key01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/keys/key01/rotationpolicy", + "lifetimeActions": [ + { + "trigger": { + "timeAfterCreate": "P90D" + }, + "action": { + "type": "rotate" + } + }, + { + "trigger": { + "timeBeforeExpiry": "P30D" + }, + "action": { + "type": "notify" + } + } + ], + "attributes": { + "expiryTime": "P2Y", + "created": 1482188947, + "updated": 1482188948 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyVersions-example.json new file mode 100644 index 000000000000..30a37d171e7c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeyVersions-example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "listkeyversionstest", + "api-version": "7.3", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUx6ZERPVVJETmpjM05VUXdSVFF4TnpjNE1qZERORVk1T0VZME9ESkdRekV5SVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kid": "https://myvault.vault.azure.net/keys/listkeyversionstest/7c9dc6775d0e4177827c4f98f482fc12", + "attributes": { + "enabled": true, + "created": 1493937851, + "updated": 1493937851, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/keys/listkeyversionstest/versions?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExMzYhTURBd01EVTJJV3RsZVM5TVNWTlVTMFZaVmtWU1UwbFBUbE5VUlZOVUwwRXdPRUZDUVVVNE1UZ3pNalF5TVRsQ05EUXpPREZFTWpoRVJURkdSVEJESVRBd01EQXlPQ0U1T1RrNUxURXlMVE14VkRJek9qVTVPalU1TGprNU9UazVPVGxhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeys-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeys-example.json new file mode 100644 index 000000000000..cef1dbc106b8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetKeys-example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "maxresults": 1, + "$skiptoken": "eyJOZXh0TWFya2VyIjoiMiE4MCFNREF3TURFMElXdGxlUzlUUkV0VVJWTlVTMFZaSVRBd01EQXlPQ0V5TURFM0xUQXlMVEUzVkRBd09qQXhPakEyTGpnd056azBOemhhSVEtLSIsIlRhcmdldExvY2F0aW9uIjowfQ" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey", + "attributes": { + "enabled": true, + "created": 1493937656, + "updated": 1493937656, + "recoveryLevel": "Recoverable+Purgeable" + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/keys?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE5NiFNREF3TURJM0lXdGxlUzlWVUVSQlZFVkxSVmxCVkZSU1NVSlZWRVZUVkVWVFZDRXdNREF3TWpnaE1qQXhOeTB3TlMwd05GUXdNVG94TVRveE5pNDNNekE0TnpReVdpRS0iLCJUYXJnZXRMb2NhdGlvbiI6MH0&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRandomBytes-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRandomBytes-example.json new file mode 100644 index 000000000000..dd2f6713ee63 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRandomBytes-example.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsm.managedhsm.azure.net/", + "api-version": "7.3", + "parameters": { + "count": 4 + } + }, + "responses": { + "200": { + "body": { + "value": "MTIzNA" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleAssignments-example.json new file mode 100644 index 000000000000..85d60a64f4d8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleAssignments-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "roleAssignmentName": "roleAssignmentName", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "properties": { + "roleDefinitionId": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "principalId": "principalId", + "scope": "/keys" + }, + "id": "/keys/providers/Microsoft.Authorization/roleAssignments/roleAssignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleAssignmentId" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleDefinition-example.json new file mode 100644 index 000000000000..c6650a594e89 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetRoleDefinition-example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "/", + "api-version": "7.3", + "roleDefinitionName": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "properties": { + "roleName": "My custom role", + "type": "CustomRole", + "description": "Role description", + "assignableScopes": [ + "/" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.KeyVault/managedHsm/keys/sign/action" + ] + } + ] + }, + "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/roleDefinitions", + "name": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecret-example.json new file mode 100644 index 000000000000..bbe281146082 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecret-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "mysecretname", + "secret-version": "4387e9f3d6e14c459867679a90fd0f79", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": "mysecretvalue", + "id": "https://myvault.vault.azure.net/secrets/mysecretname/4387e9f3d6e14c459867679a90fd0f79", + "attributes": { + "enabled": true, + "created": 1493938410, + "updated": 1493938410, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecretVersions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecretVersions-example.json new file mode 100644 index 000000000000..dc069b726f66 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecretVersions-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "listsecretversionstest", + "api-version": "7.3", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/secrets/listsecretversionstest/11a536561da34d6b8b452d880df58f3a", + "attributes": { + "enabled": true, + "created": 1481851699, + "updated": 1481851699 + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/secrets/listsecretversionstest/versions?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiExNDQhTURBd01EWXlJWE5sWTNKbGRDOU1TVk5VVTBWRFVrVlVWa1ZTVTBsUFRsTlVSVk5VTHpGRU5EazJNa0l4UlVRM09EUkVRa1k0T1RsR016TXpNa1UwTnpZNFFqY3dJVEF3TURBeU9DRTVPVGs1TFRFeUxUTXhWREl6T2pVNU9qVTVMams1T1RrNU9UbGFJUS0tIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecrets-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecrets-example.json new file mode 100644 index 000000000000..5e637040227a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/GetSecrets-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "maxresults": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "contentType": "plainText", + "id": "https://myvault.vault.azure.net/secrets/listsecrettest0", + "attributes": { + "enabled": true, + "created": 1482189047, + "updated": 1482189047 + } + } + ], + "nextLink": "https://myvault.vault.azure.net:443/secrets?api-version=7.2&$skiptoken=eyJOZXh0TWFya2VyIjoiMiE4OCFNREF3TURJeUlYTmxZM0psZEM5TVNWTlVVMFZEVWtWVVZFVlRWREVoTURBd01ESTRJVEl3TVRZdE1USXRNVGxVTWpNNk1UQTZORFV1T0RneE9ERXhNRm9oIiwiVGFyZ2V0TG9jYXRpb24iOjB9&maxresults=1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportCertificate-example.json new file mode 100644 index 000000000000..509ea9fd0ad8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportCertificate-example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "importCert01", + "api-version": "7.3", + "parameters": { + "value": "MIIJ...", + "pwd": "123", + "policy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "kid": "https://myvault.vault.azure.net/keys/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "sid": "https://myvault.vault.azure.net/secrets/importCert01/f00e72f0ddee4dddadc27c0f605d84d7", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIIC...", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938557, + "updated": 1493938557, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/importCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938557, + "updated": 1493938557 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportKey-example.json new file mode 100644 index 000000000000..70e0b8543e5b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ImportKey-example.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "ImportSoftKeyTest", + "api-version": "7.3", + "parameters": { + "key": { + "kty": "RSA", + "n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw", + "e": "AQAB", + "d": "GeT1_D5LAZa7qlC7WZ0DKJnOth8kcPrN0urTEFtWCbmHQWkAad_px_VUpGp0BWDDzENbXbQcu4QCCdf4crve5eXt8dVI86OSah-RpEdBq8OFsETIhg2Tmq8MbYTJexoynRcIC62xAaCmkFMmu931gQSvWnYWTEuOPgmD2oE_F-bP9TFlGRc69a6MSbtcSRyFTsd5KsUr40QS4zf2W4kZCOWejyLuxk88SXgUqcJx86Ulc1Ol1KkTBLadvReAZCyCMwKBlNRGw46BU_iK0vK7rTD9fmEd639Gjti6eLpnyQYpnVe8uGgwVU1fHBkAKyapWoEG6VMhMntcrvgukKLIsQ", + "dp": "ZGnmWx-Nca71z9a9vvT4g02iv3S-3kSgmhl8JST09YQwK8tfiK7nXnNMtXJi2K4dLKKnLicGtCzB6W3mXdLcP2SUOWDOeStoBt8HEBT4MrI1psCKqnBum78WkHju90rBFj99amkP6UeQy5EASAzgmKQu2nUaUnRV0lYP8LHMCkE", + "dq": "dtpke0foFs04hPS6XYLA5lc7-1MAHfZKN4CkMAofwDqPmRQzCxpDJUk0gMWGJEdU_Lqfbg22Py44cci0dczH36NW3UU5BL86T2_SPPDOuyX7kDscrIJCdowxQCGJHGRBEozM_uTL46wu6UnUIv7m7cuGgodJyZBcdwpo6ziFink", + "qi": "Y9KD5GaHkAYmAqpOfAQUMr71QuAAaBb0APzMuUvoEYw39PD3_vJeh9HZ15QmJ8zCX10-nlzUB-bWwvK-rGcJXbK4pArilr5MiaYv7e8h5eW2zs2_itDJ6Oebi-wVbMhg7DvUTBbkCvPhhIedE4UlDQmMYP7RhzVVs7SfmkGs_DQ", + "p": "v1jeCPnuJQM2PW2690Q9KJk0Ulok8VFGjkcHUHVi3orKdy7y_TCIWM6ZGvgFzI6abinzYbTEPKV4wFdMAwvOWmawXj5YrsoeB44_HXJ0ak_5_iP6XXR8MLGXbd0ZqsxvAZyzMj9vyle7EN2cBod6aenI2QZoRDucPvjPwZsZotk", + "q": "0Yv-Dj6qnvx_LL70lUnKA6MgHE_bUC4drl5ZNDDsUdUUYfxIK4G1rGU45kHGtp-Qg-Uyf9s52ywLylhcVE3jfbjOgEozlSwKyhqfXkLpMLWHqOKj9fcfYd4PWKPOgpzWsqjA6fJbBUMYo0CU2G9cWCtVodO7sBJVSIZunWrAlBc" + }, + "tags": { + "purpose": "unit test" + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/ImportSoftKeyTest/2eb4a15d74184c6f84159c3ca90f0f4b", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942691, + "updated": 1493942691, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleAssignments-example.json new file mode 100644 index 000000000000..75902c4fe8ad --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleAssignments-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "roleDefinitionId": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "principalId": "principalId", + "scope": "/keys" + }, + "id": "/keys/providers/Microsoft.Authorization/roleAssignments/roleAssignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleAssignmentId" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleDefinitions-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleDefinitions-example.json new file mode 100644 index 000000000000..c49c084be0dc --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ListRoleDefinitions-example.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "roleName": "Role name", + "type": "roletype", + "description": "Role description", + "assignableScopes": [ + "/keys" + ], + "permissions": [ + { + "actions": [ + "get" + ], + "notActions": [] + } + ] + }, + "id": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "type": "Microsoft.Authorization/roleDefinitions", + "name": "roleDefinitionId" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/MergeCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/MergeCertificate-example.json new file mode 100644 index 000000000000..30962e2a809e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/MergeCertificate-example.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "testcert", + "api-version": "7.3", + "parameters": { + "x5c": [ + "MIICxTCCAb....trimmed for brevitiy...EPAQj8=" + ] + } + }, + "responses": { + "201": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/mycert1/f366e1a9dd774288ad84a45a5f620352", + "kid": "https:// mykeyvault.vault.azure.net/keys/mycert1/f366e1a9dd774288ad84a45a5f620352", + "sid": " mykeyvault.vault.azure.net/secrets/mycert1/f366e1a9dd774288ad84a45a5f620352", + "cer": "……de34534……", + "x5t": "n14q2wbvyXr71Pcb58NivuiwJKk", + "attributes": { + "enabled": true, + "exp": 1530394215, + "nbf": 1435699215, + "created": 1435699919, + "updated": 1435699919 + }, + "policy": { + "id": "https:// mykeyvault.vault.azure.net/certificates/mycert1/policy", + "key_props": { + "exportable": false, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=Mycert1", + "ekus": [ + "1.3.6.1.5.5.7.3.1", + "1.3.6.1.5.5.7.3.2" + ], + "validity_months": 12 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1435699811, + "updated": 1435699811 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedCertificate-example.json new file mode 100644 index 000000000000..e19a83821c76 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedCertificate-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "deletedcertificates", + "api-version": "7.3" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedKey-example.json new file mode 100644 index 000000000000..08e8b9671307 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedKey-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testdeletedkey", + "api-version": "7.3" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedSecret-example.json new file mode 100644 index 000000000000..f0b2dade3e50 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PurgeDeletedSecret-example.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "testsecret", + "api-version": "7.3" + }, + "responses": { + "204": {} + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleAssignments-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleAssignments-example.json new file mode 100644 index 000000000000..3068c74f7b12 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleAssignments-example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "roleAssignmentName": "roleAssignmentName", + "parameters": { + "properties": { + "roleDefinitionId": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "principalId": "principalId" + } + }, + "api-version": "7.3" + }, + "responses": { + "201": { + "body": { + "properties": { + "roleDefinitionId": "/keys/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId", + "principalId": "principalId", + "scope": "/keys" + }, + "id": "/keys/providers/Microsoft.Authorization/roleAssignments/roleAssignmentId", + "type": "Microsoft.Authorization/roleAssignments", + "name": "roleAssignmentId" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleDefinition-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleDefinition-example.json new file mode 100644 index 000000000000..75591df89825 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/PutRoleDefinition-example.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "scope": "keys", + "roleDefinitionName": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "roleName": "My custom role", + "type": "CustomRole", + "description": "Role description", + "permissions": [ + { + "dataActions": [ + "Microsoft.KeyVault/managedHsm/keys/sign/action" + ] + } + ] + } + }, + "api-version": "7.3" + }, + "responses": { + "201": { + "body": { + "properties": { + "roleName": "My custom role", + "type": "CustomRole", + "description": "Role description", + "assignableScopes": [ + "/" + ], + "permissions": [ + { + "dataActions": [ + "Microsoft.KeyVault/managedHsm/keys/sign/action" + ] + } + ] + }, + "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/roleDefinitions", + "name": "00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedCertificate-example.json new file mode 100644 index 000000000000..aad21bd922ef --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedCertificate-example.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "CertCreateDeleteRecoverPurgeTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "kid": "https://myvault.vault.azure.net/keys/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "sid": "https://myvault.vault.azure.net/secrets/CertCreateDeleteRecoverPurgeTest/9ff2572a2c3145679057da8b7f6a4b1d", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1493938486, + "updated": 1493938486, + "recoveryLevel": "Recoverable+Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/CertCreateDeleteRecoverPurgeTest/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Unknown" + }, + "attributes": { + "enabled": true, + "created": 1493938486, + "updated": 1493938486 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedKey-example.json new file mode 100644 index 000000000000..73c606f8831c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedKey-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "CreateDeleteRecoverPurgeTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateDeleteRecoverPurgeTest/6fc2be54c6be4a7ea7bbb8a2a99a1996", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "v-SWMCmPNKoK_rB_pNXUl6Iwh9Kqd3XzQlh6SXi_slBishqP7pyKEFjNbUvMSlyvPt21rJupLbJr-yhsK2Rq2V6O0doGuCsoadgNGih1aVAuUJAJls1-b-G1IJjD18ArM4RitnCvJmQFqyK2RVHa3EpEfaQW4gcRrsRAhiJDjc1L1S3skdt-E_rZfL7DIh1ZtqFyQAqIWSAG0BXDdbgfEx1kJKqH-HRokDKeMCIaJtKZof6e-DJr3e9Iy8aAR7V-BsZ7vY7JMjyeEukMzEji4MEsIyOESL67DgFllDEi4OM_3WKyxr6uXxzHDzmppWsk2ykLsYA_ALLnR3ZNZCuL9Q", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493938342, + "updated": 1493938342, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateDeleteRecoverPurgeTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedSecret-example.json new file mode 100644 index 000000000000..55e187bd3a3f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RecoverDeletedSecret-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "SecretCreateDeleteRecoverPurgeTest", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/secrets/SecretCreateDeleteRecoverPurgeTest/16f5f7feb7004280b7f3b8ac50cd01f9", + "attributes": { + "enabled": true, + "created": 1493937960, + "updated": 1493937960, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ReleasePolicy-example b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ReleasePolicy-example new file mode 100644 index 000000000000..c3bc10a44ce9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/ReleasePolicy-example @@ -0,0 +1 @@ +{ "anyOf": [ { "allOf": [ { "claim": "x-ms-sgx-mrsigner", "condition": "equals", "value": "86788fe40448f2a12e20bf8d5e7a1c3139bc5fdc1432b370c1da3489ab649a85" }, { "claim": "x-ms-sgx-is-debuggable", "condition": "equals", "value": "false" } ], "authority": "http://localhost:8023/" } ] } \ No newline at end of file diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/Restore-pending-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/Restore-pending-example.json new file mode 100644 index 000000000000..32323c0c35d8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/Restore-pending-example.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "status": "InProgress", + "statusDetails": "Full restore is in progress", + "jobId": "45aacd568ab049a2803861e8dd3ae21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreCertificate-example.json new file mode 100644 index 000000000000..fb0c567e2cf9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreCertificate-example.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "parameters": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLm85bmpNWEFSZWVla2NaRXBsVTNjdUxQcVZlWmxFbGRDM01XOWpYR0h6bnBXRTdHRGVOSXJraGZscHdTWXFnQnBYQkozMFpUQkRpRmpROENXSnJfUGlsUWNDRkZyN0xrdWJhWUs0TW1zcVh5WGIzbkRJcUJkQmZIUVNpZ1ZET0J5Ym9sUlRNNDYzYjBTbXhLVzJheEdFS2NuZzQ5WFkycG1SR0Vrb0plcHJWZ0tyRkpOUGQ3cGJIS3hQSWdDOFlnT2xudnZxR280RlRDSzh0ZWotcUt2UzBfRGV6Uk5vdTZqZ25SekpxX0g2NGxWMk1hQ0NnUy0xbTlyOGVOTVVvSlhTV1hwc0lneng1RzdEbzIya1ZEY25vMW9rajlCMXNvbklkWmtuY1JybDJBVHNRZVlzZXdkUVd1VmhxRzVLN0pNQWo5YzBRdkxhTmlpdl9PY2pFcm5qUS4zbmI4azJ3SEcyNHFJelNNb184WG13LnJzc3NMNjJ1aUNfTm9IbG5zQlgzcEEtck1uY3g5R3V2NmJYSHpKamxwOWNMUnVaSDBSWlJYVXRwU3BPQWdyZ20tU3BxeEdWSjd2bmprbV9FSzJwYy1sZHNjUWtRSDB4bVFVcGZFNzN5b1VTYTNXVVNMS2VIVnJLdUg5MUtJR0tLODE5ejc5d1Y5Y0F3UjlzcHJxbFFWZnlKdlNFM2tnZTh1RVBpRFFVMFl5WnJqVjBsMGJCU3VkeTN1MVlsVHB6Wk1EWmpUcE05ZGtMclgtaGdxZ1FGa2xFa1hNRWlzd0RDZVM3Y3J2bFg1bnVzbWh5SkZCMklCd3dxNWJieHptV1diU3JOc3lFMmJmWEpXOWN4TFlQcnJJZFpfbkd0X29RSGVQcUFZTS1iVnpTdzdBRGJjMU15NTZwclBGLW9PSm40MHptOTBaaFBTVGMyQXNKRGFBa3R5WFU4WktOYUhFVUlHLWI1SGhUdFBuZ20wN0FrWEtQNngwaDhzZ3ZIaGdCeGpfdWRfQVpQc3pLWG1HdUhFTW9lRGhpT3NkQVdRR0pwR2t0NHVlbmZyamNSeXVlaXJiTC1RV3o4MEtZUnk1QklxbzVJc19RVHpWN2dqMGstYS0td24tazNsNTJ4YjhaNkRXd2tWZ3hqUlNXOXZnV0pVd2U5M1ZrVWtHM3NLRW5SOE9ueTNjWlhQVl9LbWtBTEdlR0ZzQm53SmQwY3dueTBCN2I5VWQyQ19kWEZ0N1BvbnFVNldfT016cC1Nb1NtRzRHbEFpUkVfQ3FrWlhkalhIMVItSmpObUNfdXlPUTdaN1BVaDAtNmd2YUxpcE1CamlWR1FwdzlEZDhmVmtCbWk4VW5uOUxPYXJmSXVtcEJyUE43TTJhM05KdjN6b0NkanhZVFVUMTN1aElpYWl3aExoUFZhT2pUbFRmTkpqbHhIbG5lbGJ1RWJsZTk0bVV1bW8wcjhKRlFMSDdfRjhXMVo0OC1BcjhYYXJwMXhIY0FReHk1WWYwclktdUU1dTAyRnRHUHlPZ0JfNV9WdFlNR2VfRE1mdENLOGVMZGFnVllMRDJDNDUxTldZeVVfeHdNUWdQbXBaMWFnSEdCb2s0ejhsSFBndVhCQ3R2WFFuTHBXQTVBamdOLWNoWjNwUGJmc2RkNjBhekJuWDVaVXQza2hYaWNDdWk4b0xidEtzQUdmckNOZzFwT2Q0MHBHMEJlVy1lNVE1WWQydjY4eFh5a2RiTXhFblFCM3Fzd1djVlh1QXBIR18wREZVVmZvSlc2aVBZcDNWVE51amM5M3QtMDcxWnlZbUZ4V0RfVThMYTAtM19RLV8yZ0pwMVBaVV8tMVBRM1huLXdSWk1vb3JkZGZQa1VPZ0lqdWkwa1IwZWt5RjZvdWdLNnJrSVZHaGp3YUp0ekdKczJLdGxncnRCcEs2MXZEaE5zbFR5VHU5OUp2T2RFTXhwRG5lTEg4NnlvVnhxT3lIT3lxNjByXzdpTHgtdy03Q3FzWTloT3dmQlBZZ3BQVlM2bm9oZVBocTkwaGJTX0lrM21YbnRkRUNMREtSMi1wWFh6bjlPRjZIN09EdHB4S0VXQkdCaHJ0Ykxmd2JZS3dmWmZSVTJVUHpkLUxFd1lQdDloU203Z3lSODNoYkZiSFNBV1cySncxRWl1c3FURWRsRW1lQ3k2cFp1MVFZWko0TUQ0OG5rVXMwdmVHUVhTU2Ytb2RhQm1fYjZZdVh1cWcyWk03MlZjUTd4ZzV4MmpFenFqcllmdjdTTGJINFZBcWp0aFg5LUdRaWEwWEZaS18xempIenhkd1B0R2lSOHJfMkFFZTgtRXFoNi1FaTZKdjRFZjYyMnRrNWFJUWx3R1pETWpGSVNuUkpRdV8xcnJiY1E3enZsbWhUSWFQcUJNRFVxeHBEOXNWUlhuSHdIaTl1b1BCUTllbWJIMkV5WDV6MEhWRXlDa1JEbUd3cmR2RGdsOFVzMUhURjVwYXlYZmF2WkZUZjl3WFZyQXpsRFBEQkFJVFMzWnVJMEJWR2pJUGV1SnRiako4S1pTczRFQVNRRTVyVjViTUpNQXcwa19nYkVRTEZGSjJVb0ZzcWU1QUszM2xGXzR5cGMxU0JaWjJfUzYtbEQyNkpyRFVJSjFFRmJhbWtoUk12bWJIT1Utc0hDT0lRcHdadlJzV3Q3NExSQ1ZyQ09jMGpUdE5TT1JPUW5XRHVXRlFXSzk1TkRGMG96WjIyLVFEMU9YOE9iU3daaHdOXzNfS1pHRmtVMEhNdzNjSTI5LWUxbFltRDV3cmJ0ZlRFbllOeHJKOGpuUWFBY2FoNy14Q0JKeUQ3elo1MXIzRVVyY2VnazBzc1dLeHRPVjRLcTZENmxuVmU3bFpUT1dfTU5aZi1JSzJUbnZCaVZIMHk0SkVGaUxzSDJHbTM1d28yYlZVaXJsT1ljVEk1NlZhdDhMRWhGaEotVlUyNk84NHo2dUJFZmJucEZLbmdKc3pfYVlucW1zNWV1bmd3ek5ndjdlT0U0cUdKSURyMTRBUXRWdEYxcWdrZHNnVllWVXg4U29SQ0NobE5VUzRNRGxhc1hwS1VmV19ENWIxbDRkbXZiNEZNRHJqakJ6djk5dGJSeGZFYUVOSFlYTHZFZnJ0b0pMeW9na2tmNkxlbVoxVDZRbnRtNlR4S1IycU81WU1vMnRJZHlQNmZNRmkweEYtdE1IaHNSdVN3VEpybW1nREcteHVpZllVNkpfaElSNkMzVmo2VkFMMW1oZy0xeW1pRXZuanVLbElONzc4NmFWdVNpNmx5TjJJNzZqY0R6SHZ0VW1ibkVvWWtORHNPQXdqQk9MNFBlS0VjR1hWcm5YNDJhNW5IRWM2cmZQdjZ0Q2tVSUI0UldIdzEyUTFiNDM2N1JvRS1PTWN3TnV6ampob1M0S1ZJbHo4UEFMOW9YYTR4NXlQeG1aVzZ0UUVna1pKeFhEcS00SWRtd1UzTnpVZUoxdGpNaXFsc0xRWDdlc29fTHRtTWJ3bm83YkI3bjRlVnZ4aUtQU3p3dW94c25aaGs1b3ZSSE1xU0NtZjU2MjJvUTZvWEdmNUJLWExlQWdqaE1Sd21razEtUzlGajlyc1hlT19VYjJOMF9hVEFLemlidXIxNVcxaHI3Wk1PVFlxOFlSSGVPaWxSX3Bkdjl5NTlDRDQ1WmE0ZXFURHVrNmRxZ1d4YnoyVVVtMnpwM3pvTHVKSVZ1Y3FIaUVRTVNfMnFKcy1xQTAwT2FFY3huZTM2Q1RsZVNwZjF5cjh2VjNWNW1mQU5zRnJBa21CMnBRWTNfZ21UbldTYTJ3UWlMa2RFRllPSExTeEk5UVowNHo4ZFRfbW5QMmIwWV96N3ZLa0VGQmFpNU02UFdPWjVIOUx1M3Rnay1fR0g0ODd6ZHpuQm0weWZZY3ZIOHJUd1QyQl9UZVRFMG4xcWFRdDRiQ0diUkFQNE1DTDl0SGlIcmlzWEllejQzZlZ3b1c4R2x4YmxKanlLWkpXbmlRNjlBYks3SmYyUER6d2NVSHhkZU5HNGxEZmt6WmFxU2lybGRzZlhXOHBGLWZ6WFVVWHR4eDF4Um5nQ1hJVkxLbU5ZbV9CNnNrNGo0VzROVFMwQTBOcFhsZGJCWjZWWmFDMDNvRHVGUFY0MGtwdWQ0WEd3Q1l3M244ZjFHb0Z6Sk42QjFqOTRLeTdtNE5YT1JsQ3ZaRW5qZTl6T241T1d1ZG9USWRoRzBobXVDUTZ6TXI2YkVaTUFoV1ZFdlREY19iXzZsOWdLWmVxNmVtekxvcmptOEQzLXcyLXRBYlE2Tmpjd0J3eEhMZzlCRllRRFdvaU9UVmJKN2VBcUVFMHVxVkhBcE9KbFVIc2tmQy1uV3NzOV9fRTFURHBLcjRfRE93NFhPUGNzT3dlVU9EUWg3cVFXRE1ZcDVHU1poVWE4MVVHczhmemZKU3JPbmtaTmRVTS10Y0h3R01mX3didy11dmt4UFUtV0tvNUNqR2M2aU5KMDB4MjZZdUpCWXd6TVFyeDBJQWgxMjVBWlozX2FvaFFpLWw3a1pZVE82Q0JVOVZsYllNMndrZXp4ZGhrQ1oxd080Z1NNbDlKU3A5ejhxNV84SU1WM1pma00xV1VqSGZMQk4xRXdFMjRxZFVzcWxyU3NZN1hQaVlpcXQ5ZktXVmZDTWw4RU0yd2ZHYlhxMUI4eWl2UlpMcko0eEk2MUdVUWJFVGU4akNTYTF2aUxxZ0FIa25IYjVjVHIwbDRhTW1EZGZKWnJxZEdpb1lPb2IwdHBuc3IxanRfZm1obGhJa1NSQnREUk5XWEU1OXBjVXlULXpyVjBxZl9sOHN2TlNEV2N3d09YQ3lITWZzLWw0T29xMldVWTVLQi1nSG1HYUJod0oxa19ra3V2S0hlMl9TY0loc3JjTXV1eW5aLW14Vzl5NHBBS3pvdVFsQjR0ZGZvbHdSRk5KX0tHYWJPZXJiWFdDT0ZTd0JVTjdNaG0wOXNyVS1VWG5od1IwdTYyTjVvMDlfbGN5eThnWDg1ZUVrenhuOGZ2NHd2T0Y2dUd1cFk5UGxpSTRLMTNqSHlOd0ZuY2VmRlp2b0dxVlhkcUg5RGJkYS0zY1FhbVFlNmlMek0wRDlnLXlFc2NBTkpKS3ltelVzemZZdV8yY0p0TEhsd0I3NVhLeW1EMG9nUkRvRkRwTmNPd1dRRUlwdVJwU0pfdWtzR2EwZkd3MGVBTU4tQmc1OUs3emhRWHJISUZOckN1S1VPMVdvTkV5WkM2UGlKSUwtUlRsTFQ2WlBNZmdSZzZiUl9aQk43X2dseHBIakNDaFZXMkZ3MnJFUDJJX1pSeHFqdS1WbmVwV2o4eU1CaHZXZzdXNm9QWm1odmVtUTBkQUljNVZTbVVaelhvNFVURmJxSFN2MGlyVTNscVk2eUl1MGRPd2t2MlF4ZENfQVdRUmdLSGRUeG1xYXFUSXJwclZyUHZ1MDFQSGlFbVRnaDZZVEZ6Yllqb3JEeFExWDhlTUN5Rl80cWNjMnhOdTJRblBIdUR0RGZkSy1NV2xJUDhHUEhSMmhPMjlCa0JJSEM4TlgxZmxDN1ZSZkZsQ09McGVIeWl0MGRSd1d2S2tieGNIWl9fRE5ZLVBNQlZMZGpyR3lxT2JoQnpQZHZMeFpXWVU3THNRbnM1dmxiMTc5YXczX3VmclRIWGs0MVpjaDY2ekFRRl9tekQ3ZEVuMm1fb2tBaTh6NTRwdzdxUDAwNHkzenNPd0RmR0htYWF2c3dGMW5NMUN2YXhXajRINE45dVNUaV9DM1oza3lTRHlUNGdUZjNqc0FKUEJybXdSQVBpaU5PTTU3c0x2Y3dJRk9ENnA5QkdWbjFwbjQyZGRTU3A1M3JieTZEcnlwcHdDaDFrampQX3lCbTZRZnd6MElGUWJiSG1zVDNVa2RMb1dURjFSMF9sbjJtR1kxU0hHT2o3VHl1YnQ5d2xLVW5nczVMTWhVcHo3NU1LR3F6UkFnWXNKcHVKUVl1RVpKeGFPSHNmY2VwakdrcFdoMEtfWkhZUEJESzIwOFVqb3FqMDdlVVVueTBaXzJrNXUxTjQzWGJ3V0ZvWVBhdndheW1MYkhWdkRwbzdwMU9JT1IyNkt0SzdPeGlnZ0ZybGVISWNaODFwQzRCdlNzRnZsY1BCZEpHLTZxWTU0Q3J0R2xhaDRvQWplUXgxWS1YU0NLNnZLYUIwWnZHc2lIajhRQ0ZURjRuLUJqTWIzWDcycDJ5Q0tPRlpMRk5qcVR1aHJoYXNnMi1pWTNOTWdwVEQ5eVBSdjA2X1VpcEVfYjVsQ0R0Mmx5QU5NYVpZR1RvSmJTSVhBcFlyU1hEM1dFWllhTGUzQmFSUEJUYTAyeWpyVFZPRDRGNHRFR3c5MkZJZThOSk5NYXRXMFhPSFAwVWxKTXlQUDF2MVdvOUh5aFllaDFfdWg3SlRLcS1hWnJjOS1Xd0ItQXBKTHBQeGxmRzlGZkgwdjNwSTl0Z1VndWJmSkJQVjMwNll2MlNqQ0M2MmVYN3VFTUgzcXQ3TmFYcFVsNXZEVHpfMF9Vc3VlWERQcDNqV01XQTMwenFaYTRFT0dXdElMb0tEM1RjRWNVcmJONGV1bHFQSkFNcWdWdmk2YWRGdTgxU2w5cU1rVVUwaWpqMjZhZDFaeVlEUUZtWlJ4NjJYUW9ZdG81bXJ0eFZhYWtNNndqbkVPSUdJaHhBTnJoX0dNVzVxREhzMEV6TDU4b3lOY0Q5dE1MUC03N1FCbTZwUTFsR0swMVJ6Y3FzTk14ZzRMTzl2ZHQ3NFpIdEhMXzA1TjF2TUt4TE5GbkdhZmwxN1E0eEM0Z3NQeXpYdzBjcklyV2tIQlNQX0NoWE94SmZORWdyNjJOMXEzQVJZa0U1TVlCbzctM3djb3dNT09GcTlrakN1ZGpoekplRjRTUHdfMnFVWVhZRTZsNXJTYjYwUFlFSkJxdW82Skh5ZmdlOXFJX0Rzdmg4eEY1STJfLWtLT2pxU3FZam02NjU0cXVES3phQ3JWLUJFLWtQNF9DOU5OQ0xTaEVWUV92Z3hYdDhzbTRWNGNRMElDRmFzaWV6VnNuV1QtYmRQTGxBT2RqOS15RmhYVTRUYVF3YnZqQ0E2UHQ0aDNVWGdnQzNqWU5IMmJtRGpYSzhFdFJYRTV6cmJsTDRKMFZ1OGxHQVBZaGtOcGNOakNrNWhSSW5jT0dybE9aUk9jdTdSeVczR2JWM2Y1MGJKN0xLNHJjMnJCMTZuemhBdk41WXlydWdwQzdCOE9OR3NTY25ha1V1alJzRzZGYVpydDNzTDJMOW5RTUNoNE9INFF3VWpKWFZKUFJ2MHhPTF9jVEQtdjk0QWgwbWdtcFJ2Q1dhUkl5MXRxeDZHTmZ1R1Nyb0tObmtHYjRiRE1oblpZMmwxQWluWHlCMG5uRGlvci1EUmo1cjhRZi1iaUR6cGhTallzZTZrakdLR0ZObzU4WjFfaGxEaGFob1pQX1lRdlBtWi1Tb2pNaGhMRXZqMXEyZzZWRVd6a1FDWTdIWVEwM1Y3cHVCVm4yaXM1NXpBSGV4cGpERWoxWDgxWU92bnVTdXRhMGx3VkFEMkRoNjZDcmM2VVh2SEtUZTBCeFlsQWdVdkhQc1BkSy1OdVk4S3RaeGNqTWNDVWM0OVl6VW43RVBTamFNaHJ2Ni1mM0pwc09Na3JwREpLM0dPTUVRMUV4cnhYV1lGaGtLaHR2UXZkMXZCVS12b0pRcWJveU9vS1hMM29Xb0FRVnljWlR3Y2laeW4wbUtkVF96NDNFZGhNcDNKS3N5blJ3OVZtSzk3Q3lldGl5LV9HaWVMSngtWDladVMzOUdNa0YxaFVmYmkyc3FJZGZMZ0diem5uMTluTlRVUDlOR3dhaWhybU9Ib1lZeUJ6WE4tby1UWUxhSS01bkNuQ2FSSW9QTF9XSVhyWDZPSzdZU21IWjk4a2xJS19JNTlPSXlWSllrMVh6bGVwd1lPLXUwU0x6bTEtN0dKSE54RGVOMlZhUEk3TThVem10X0x5alliWWxocFFJQnNyUktsMmZZeExKaGt6Q3NjcWp2bVhDemRLVDNhNFV3NDJ4eDlsOWl6dFQ0UmtnV21fYV9YWWk0b0gwdjNCUXRSZ3NfUTBPaGo2T2Y2dEtyZU5XZmcxVDRjMk01SERJd3UxTkl2QXBqNzZtOXJWQkdPWTZFUnhfa2Y3d2twb1g5dWRvcjBCbEx4a1FCc0lwZXpUdzc1MTBncU81Nm1UWXlBUzFCUVdOY1Q2aWhfN3F4ZTVoUkVlZVB5YUpFMnhqR2JNWGg3V1hGYjN0ejVWVWJOTFpxMjBiM3E0UFdkdjJXX1Foc2VUY0JTRDY1eVFPYndTai1UcVpNNi1teUZHb3B6dVdfRWcxU3pzNzRaY3RMSUxyN3pMLXRyeC1WTTVfVHllMVZXbG9ZOTZVYUJyUktpQWU1SVhKMlBQd2RIY1p4SWx4N3dBRXdueXVOZXA2b2NKcXRwZUJ1elB0LTFaX3UyWjZrQmR4V0lpYlVEaGxOU3AxM1NkTGw0Z2hkemVqZWFaYVllRDVtTGltWWJ4dEhsQ1ZiTm0yNU1ZbDYxMFU3QlZnNVJJSXB6VUdmZ2Z5NnpJRzRLQjBMR3BISzNhdHRRUExvQ1VlTDRYNVdBUUFsb3BRa0RKOU5lTHFGdHN4cWpZaGJnZ1Z5am9ScjNPOVhzYzlJVEtVaXJaUDlyTVl0eFduT0tUck9YYVk2WVR2Wi05QUhpT3ZfdTRhOElTS01DVng3OUlnXzdqTjFfREhjdGd5cEEzVnpkbjNKdlJJQTlfbHZDV2dTSS1NUjlPQ19xekhIUmU5dENqWklDVzhwRURSYVhZOHc4UUQ0bXJicmFLTTNsWmtTNUF2NVp2WjFRTDJlZkExbXlJdmN2czhmekxRUFM0Nm0xX3ZPVzcxN05ydDQzeUcwbUZxZnk4aExaZEUzQ2RkMzRtVVFXWVdqSkdvQXZ0VHBXRmpwWkwwOERjQUd0RzVzdkU0Mi1WWjRqSVVYQ2JsemZaczl3N2VsNThvRkJLUng5dUJLby1PWmYxTVloVEZrSlU1V3YtUEVreXRPSVpfU09nZVM2RTVMTUZsOVpZenZ0QkJuWWF0bDY4NGpEdWx0STh4LXpmSHdwUEFwNk9CQVpxalk3S3JoSVJuVGRoc2Y1VUpCcmtvU1JGUFlaaXE4RjJLWHA2Nm1PbDMyRm5RTVprMUlDVkxiYVpnUFlWNnl5UXpZdEdhbjhOc3BFTG10RWkwMVlTZE1ySUxkUF9TVTZwXzJ1NU1oY0RPMDF0Y2hwMHp6eUVfTVp4YWJodXpMWUVIeXJvYl83cjFKdWNjZUQ4SlM5T3JBdEk1YXdsbEhGSFRRWExOWGJuTHdTQ2JrdHNiTGFoa05ya0ZXR1RDNFRzUlBfYTlHMVhFTE5DRkhaMVhvS3NsQTdMMzFGaWpyNFpEYjRQeW5hT1BrSlhCcEx6MGNLN2FmeFVxNWlySHhZNEQyVkdNT3gwUmc5UEJJeE1vdzN6TmVGZ3Y5dzRTdkJ5VUpQdjNGV3huX004M3g5dldiWFh3bU9LbHlLNVpWQi11LWxKVno5Rm81YWRfVEtwUkxqSGdNWURKNU9Ka2dhaEFQMmhOaG9lb0FicnBPNzVYT2tYZ3pONDdwVW1kdzhmZV9FN3ZSeUREZi1LNVZNS2UzOXRPSi0xRmxtemJVc0pET0lScHp5WVl0Y2Q4cGtPU3JQYnIzMWdJNFRIUjJHV2xwZWJCZ3VhYmppck9UTjI1Zy02MmRPWWVKNHVwNjI3MjdnbWNQWF9EYmJfSFdrTnVLaXBmdkJ1UmVNN2J1WE9LVzg2bllHSW5ZNzJZZ2lvYVpIaEJnY3pHbktuUUlkWTJ2U3NzQ3E2b1FSUGJqeHRQZ1gxT1h2bXNucmNBencwN01ULTNueWF1RDBfNG90RGJueF92dm1fM203ajBwcjBGUWZ6NWs1UEVNUG1sOFVhenFxX2xEU3djV2JOU21JbWF3OWt3U2NXN2xrOUViNTRLRTRhaWt2bVRxXzRuN3lkSDNQblI3bC1RMXE2X2k5VWdHUVFfSmk5UDZQbmszQzd6TTVYbDBpYllEVXVUV2FUdlRrX2ZjaXo0VUJXWkV1T0lLU2xZaHVBVzFQUTJPU3NiUWxPbDU4U3ZvTEYtS2w3TmNkRXRBODJVWjdkLVFCN2xKNWFCcnd0Vmx6TDFxX2Y1UGd6a2NtcW1pLVViM2tUQ0xlNjJYbzN1MmFvSnNTQ0c4bXhwZkJ6dVFVVkk3WXdTa2ktWUtNUnlJSGhuOG9xRDNQS0xMbHk2LVZkZy1VREE1RWhhLXA0TnZYb2lLb3ptRHdBZFFpeG1IcnJTdUEwWmh0eE14N0FSc0pqc285blZKR1BOSzhCeTMtbXQycnNOOHlMdHpyRXdkUzBtLW1sRHRKak9CWHJ1NmhWOFBPeV9vSWVzYmJtWkcxSk96Tkl5YmhPOWdNakpsNTBSQXVmcW1sSXJpOEVXQk9vdzdVT1RKQjgtTkR6VzVXdWNiS0VLOGotdWtSYXhhQklPcTJBTnI1Tl9hTEF2RFpmalp1cDl1RGNTc2FUOTNWR0dmQlhHX1BYRlhGWnNtd2NnamxsQWN3bkhCS2V6QWd3SnprRXpFaEdEOFhQMVh0dXJPZHh2YTRyd2ZtVG1yM1pHVWFmY0tTUm5malpnVERSVThVRFd4ZjRwMjB1T1h5RzBBUzlJLUF6WGN0Nm5EOFVQUlB1WDQ3UG1fN05mdWFVTkt4SEZ2RFdOdWYwcVE1OFlvZmhydjJlRDlzUFJFWV9CWjhXWm9IYy0tbVZ5MmM0aDdvTTUzQlFKbTQzRzNkaXotclRwWE0xUDExakc4em5XU3RBQkJxbW40LXdKVVl1UGpDV0VtY29qdGtRZEZmcjQzRUNqTzE1SDJaZGN6MkphZmpUcmxPdWlQOG96ZjEwa2RTYjBURTFVOXI1dHRIU0ZzOUxPVlZHVjJnQUxjUGtMU3R0clgwMXZHMWZLS1ZTRVI2TzlZM0pZYW02X0FwU2xONnlRbmlqM3NJTzdKc2xYdHhaMzY2bXI2Vnl6WmphajVVODlJSjdJUlY3eXBkOWtuZy1RRlZMT0FhRGU1eENvZG1jRjY4ZGp4LTZBVWpQWnBHOFYxVG04OXh5c3BTaU40M0lmLURacTlaMXFjSXNDOUJ4XzlxTHE2S3kwNTIydnBKWkw4NEdCZElXM0FuUUdKbFY2dkRXbThpcF9LMjg2NG8zcEg4UTdFWnpqc05KZ3p6RFU2SkU2Y2psTVdhMDR5dkVMa2dnUm9feVM1MWUzam1BNUFFdWpXLUJ6TXlzTjVkeUpiZC1HcnN4VFltck1wMWI0dFNhMXV1ZHBSdWl2cUFLdV9qbTBvYTA4UHZqRjJyNjRXYXZQZHVxcUs2VGUtMDc1RkFQNHFEZE5ocmpJSHpneWEtUWowY2NCRWtZbUo3di1mUWxneUxzaF80bHJZQmVyWnNCMDM1Z2Z2b19CakQ0Q1VWVWFTRkRya2U2OE41N1prblU0UkZXN1NNQXViaE93WjlCd1pmT0tuajV3bDhfemRFTDVLVDBQUm5IejRjQk01OTZGNXhleDFORzNqME80Y3JDbzVod0xMMUVwMnVweVlULXpfTkdkT1MwMG50bGt0dnNKMGFZSURuQy1SSDRYcUdBUXlpY3hJVzNnTXh3LUNvYlIyUGdPa1dLTVBJN2xFelNLN0VKcjZkZENmblhHRF9scE9HSXgtUTROdjFOU3E4VGw1dkRtdmdOXzZCOEhHbmV5bXdpQUlJZ3NpWWhfUmR0NnBrdWJLVF92aFkwMTI1WWZkck9NaW9keTFLbEpNR3NJNGxqX1dJYVRHQjdoY1dtY0stMy1NNWlZVnJUSktaR2RZbUFobXI3bkZVT28zWFFCZkVVZFpKb2Itc1R6eDdNYWttd2JEcHdQdHB5OXFQem03akI0ZC1yYmlncDI3azRTYlVFOXNFWTZVeVVJVk80Y2l5R3ltZThpOEdLY2dSWXJ3YTZmVlItTnNvcm16dmd5eGZVcDFGWDZuR0xNbE5VMDNEblBVU0JLT1RWTzVnM2JuNG1DNWI3anBVQnUwQTk5R2ZkTEJGaXg4dURwR2NsQm51TFhncjcyRFdCRmFKeldkZXNZbTlaLWk0WDBaUTh4cVZwdGpXTnI5Sm5sVDlLeDVKZXdRSHZkeXRRdHRaTXc3TS01Unc5UHJreklWd1JPZE5PVkxwRWl5RmVqM3YyZmJGRFVoRmg2ME00NWRMQ0hqU0k5eC15dDZ6LUVtQlBpdGtkcWpUT3hLam1qVV9WNzIta09tVndhZkY3MzdTcVRKa0lpWlVic002bEJoQ3Rxd2cwNi1DelR4U1pMYVgzOF95dE51aUY1S0JfcXVwcU54SGJ4TTVZN0l5SnJUcGR4MG9qNFZzWDlxWkFjTGxCZnRNaTFUSTVLMkJRSERSNW5FY2UwT2J1SWpjdlNrcjNYMmZwUWQ1cHlLdnBXcXpNbnNuQ3NsVnYyWUY5ZDZHVWFKeHlfQ2MzRVJqOXZIMnRJb2hBckh6VzJlN1lNUTRyQnducnowOXc0aWNnNG11TDdVSnVsVnJLcjdJS3FDYjJyWFViTDBIRUVrTUd3T0pISEVnVWxlYzRGajRNQl9ZNnh4SFJuekVKMVVBRXVTeDJaZG9Bd1JsSjMwRHZYTWMxcFo0NWktYXE5eV9oOFJxaUZSUlQwSktjYzFpeFA1Y1JWRmVpbFhKWXN0cDV6X1pKZ1FrSTdCQlBaR0M2bkZ5RC11LWh4MzhQN0IzQjdUUzdoWVlXdm9ETFpGSkI0a1ZGRUhvNlRKdWNDVlpJaEFMdHlfN3dreFFxdU1mMFNOREQtV0FPWUJkY3JpZzZmYnNKSVhvc2lMSWNDM3hOOGw2X1dzNk1UMXdXODZkcWRUWkJnN1Z6YUlnREJ2RDRNakRLdjk2M0k2c3ZmeG5FWWNEQ3dDalo5M2JwUGRJd0htZEY1ZE0xTGZVLTExMktBN3dCQTJWYjU2cFdBMWk2QXo3Z1N6RXhQRkZvVkNBdFlJUnBFcHh5SVBaQUVHV05zeDNpNEk2Z2lyZi1hUmFWejFXUURCemd3ZDd3TlpqV2xrRVlyRFBBZTFPVnl0bU9HQWlGZmZiQWVPaVF0V1lzMHYzVGFTOGcydk9peXRvakE4ZzM2dDQwQTB6T3pKYnlzUUM0Z0hjODJuVDdQUDJBTFdPU0RLTmxSX2M0eHFWTkxjdlhxZHFBNmpVRlBUY1FONzk4U1FRbGprcmd1bzhEcGxTZTBnODl1VHUwV0ttcFltSFA0WEtmeXRGRWlBR1FDSmIwZUl6NVZsTlAyVnFiRGRMcW1JSzhuNVlNSUtDY2ItY0FUdGFoRXU4QkxQcVE2VC1aa2t4MF93M2RmZjhVX3ZCZUFwS090SERMWUVqcTBnVktxUHhaUWczY3RJS2oxdXJPeTIybnJ5aTlnZWZVc2QzZUYyMnBCQkx2YWVWSk96QUZndk5YdnRiTXFsUW1CXzQxNG1tVGVtaGFlNktjOW9KRF9sLUxKWDZPU1FISlo4MHQ4Ql9VZkdacFZES1NubmFmMmY4UHYyMy1EUmlGNlNyQ0ZKN0d4TEhUNXJSNzU2MW1YUlV5Qy1leWtocVI1ZFZSZDZhOVQwSGY0TlZSbjJiaVdxeWhPR2VUa0hKazE0YllOUFdYTm5XSHl1VTdyNEZoOVVsb2lES2xIQjQ0VjlmYS1YMzE0c2VHZHRqUFNLdWhFRHBMeV90VU95aWU3aThJaGNIaE1XOHlFNi1Oa0lZSnF4cU5EbjAwdUkzSEhEUWtGYzFQV0RYdlVIcnBJUFRJcFFBQ3c1dkNWT2JpUmFoQVBJM2tFRFh4ZkY1S2VLMXRuS1hsZWRxQmRIc3lCUkZuNnp6T1p1UHdOWktKNHlYVDhoS2wyamQtNTlqdWpibDBmNF9WdVJFdmVQOW9FWWtTOHU3UmlBVEVHa1lPVkg3MkZXTzBzLVNJWGVRRkQzX3VvWjdrM0xjSm9GVjlXMDZrQUVWY1dURVZGRUlwamtNMy1FYnJSUVdMcy1heWVYQkNFSUxsQ2t0di1LblA2N0pyZFV0bTI2cnFlVXZ5MzdTMTBCTE53YjRiNHBvREhMS2FveGFuZy1iRjZUb29PR01UU01MWXUzaUlLc0R3Wm9kZG1WR0xyQ3FxNWJJR1BFZTNoMnc1RjFNZ1hyVEU2TmFubXpKckh5eHVPc0VyaGctaEpGeGVCcWE4WjZZWFduTXIxNDhLanNoYVAyeVpFSWV6OG81UEc3cWRWaHFRenhYT1c3eEQwSTUycjBvbkhxM1hzcV9SOGhFby1UYVdPbmY1NW1YYTNWMk81LV9XanZxZThWdzdwTUF5dG95dmh2NTVTVk9xcVdkNXNIdGhITzd0OWlMdDNFYVMxX0ZnaU8zVmVENmlvUVBNNjZsWmhaYkpZZHo4b1RFeU9SR09KbkpjSVpqVm1YSlJIbXF2eXZsUlpjdkVMM19KR1hEOEZGNHlBVE0zaGhlNDN6VEJVdk9oYlRjckhNQTRLZjhWczR4cU02QWFsczVBZzRUbVZSSnVLLUVRWFZCaFE0TEpBbEgxVXZzN3lKYTdLM2hsQlZEMWo5WXRWS2htMVhPNFJySTNrZmVxYmxoMTRHQ1NEdnI2OExyTk53SUZsY1JEY1pKalBOQi1GWGhUd25PbW50ZVItOFY0UTJVa19tczdTTm9ZUElWRnJqY1R6X1ZkQ3dYRTFmMjNocHpqQ2tnWGlsSUlNNEpNMkZmcDNTZTY2c1JHc1RXXzBBbF81R3Fqd3ZfZFBYWDA0RHJNMFI5dGljTHhLczBnM3hkSXF1M0huamxBRFU3S0c1Yl9NUmxUdWJCQ3pEamtJQWRRUEFwcUhaWktnODYyLWloMDE4bERfbFViWEwyMGhFNFBNbTE0eEg3R0dPQ3FWa1o3RVU4ekd5Yl9xWHV4RF9LZHFLSVR5eUc2WC00MHhOeTJ1cWpDMmlvVVpiM25Tam5kZWFiX19kbC1jMDBLWkU4RnhTRnRMN0RreWxpTWM2Yy1VQXBhUlZKQy1aa2NBaXlPZ2NBOVZQa0x5a2xlcGRNYXY1Y1J2a3FvTHhmS3RMU2FhS0taWEdveFd5OWp2am5KZHZfMmZDTXlUeFdOUWl6MzI5NG9mNkNNY09sTmc5VW5iaUlHb1JVX20tMHQzamNRWHBrZ0pDWlMwcmQyZ3RGVExYdUVlYU9ZTnJjZ2dPWkVQMkstc19kNUlCU2JqNXE1QS1HYU9hbzFuRmdFOEFlMDdEVXVzeTBYeVEzd0cxb3JIOXUtSUxpSHpyd01Ickx5ZWkwYmpYSm9HcVBuSWd5d29nWjdZRmF6a1ZSTGE4OTBZQjlXR2p2SEdqZ19yYmVabWRDWkFoalNiTlRveFN3bGkxMnh0bl93WkNWVkhlNzUtSGNkTHZHaGgyekwwVjlROG84NFI1NUFKVV9fNjI2REMxT2w0cXVLcEt1Z1EwMHowZElPbzMwcG5IT3hqa2xlcGRMM0dyN3dHNXZsSUJKbXVWMlBReC1Hc0JmX3lYbUhxOXBZZ2RJeXl3ZjNqSjlDcmROYXM1RGNseUExUS1Sa3MzdWtyU3dublN1ZE5OeTNCRlJ5ZkgtbHhWQmpYSHQxUUlQM2JLbjRvNmRPSHNLclc5XzRPVnBNREQ0UjNMRmpYNFM3MDJ5ZmdXSkk5Wld6TDFadk40X2t0Zy1iVHNYOC1zdzJfa2Y3dXVldmJmMkYzLThmM3lvNDNUZ2dQaDU2TEZjbFNidGdaNE05MDRTLWF5SGQ2NkhVbmU5T1Axc1NldGdKWXdZZVN6TTgzY2FUUXVqRVA4bFhEQWxKZGJ0MTRhZ2FValJkNlBNLVVIUGdGUmNtRTd5Y0k4YzNSdWxrVkU2Wk5qeUU4VkNnaFRoN2JMNTJNYXhUcVMzQWJKNUpHak9ESkk4ZTczV1BFZHZPZ1FPNnZvak0xNDFnSjFtaW9rTFNIbXNwVWRhSFdIdkNkc2VHeTZyZmJfYktmeGJGS3FNTEN6T3VKbjhxd3hlNUxJQms2djJCUmNzM1I4ZnI1VjBSQXB5U3J3bmRuWExFRHdVRU90YzdwSTBqajVNeGFJaWxKU1FMb00ydXpiWXZaVE1INklXSndEdU1hNW04MlFCRnV3TWFZRDd6WmNwM0RGb2dFc0N5YnFjZFd5SFBhV3NxQk5GSDRuYXdwRnMwQ2xZMWMwbGZQR1RnTWZJeTRxRnV5U012cHNkYWZORUdBdVFpYU5zRzROSnNJV2NYbFNFQ1FsLVhRaHF2YkpUWE03NldPVTVld0RneGRGeG5WREVhdFRlQWZZaUVEN1ZBelFNUXNFenU4VUx4VmI3RWJzX3RsUW5hU2hVX3E3RjNUVEV3VUpPdDNCeFdPcWFCbmhNdUdOdU5CNXJabFd3YVhrUTFNdGxwOEFmWTBXSF9kX2F3VXdQbUpCQXFEX0xKRncybWVBS25OZl85NlZiUW5iU2J1ME5uejlvTnVXVmNMcWZIeDIzX1JfVVE5enZibTlkaGlSaUxSMnVDUzN2d21XS1UzVG9vbks2c1NpeWNmYnh2QjE1TnFnN2l4UUV6M2U2emVkX3pQYy1GdF91ckRrR1dOTFJ1d2Zyb001REQ5XzQ0UFVvLU1SQ2NiVGp1emxqQmVjOXRUc1NRdnZWVnp3WHdNY004Zl8yWEJxcU5OVl91b3V6dVRPWkFfbkNVTDV0T1dFSXZIZmlDRWxJV3lrS0U1TUFUUVlUY3FRd0VwNUlBeDFDOXdudnZtVk5NcmFFNHpDSDJuZllsUGNIYWpMUGlXcHpUdUR4anJGeFhIbVBUc1JTM0Q1YU1yTmM5emwyZkR6ckJsbzV0Y1pPT0ladlR4X0ExeFA3RlFnNjMtbUZzTGlRZG16NzM1bWVjUEFmdkROMnV4dWp3YXFITGx5NGlLelljVVRjbHFhYV92X25VM09ESUxkcWt1S1pCZFZzZGwwX19YeDdkSlFHNG5nN3kxU0d1V2Z1NEdRRnV3azE5b1hJM0ptU0c2WVZHSW5wSUlNYjcwSy1BREliMlZBWjlVaUloMW1HNmpUZWRHWHJtMzF5b3Jnak1PUlRERU1rYnZCeTFaazVrR0E0V05aSmRKRnlSQUtXT3VNbVZOVXRWcTFWRHpkTkpNdGhaWUZHQUU5MEtBZVlaZDdmaFRSZlY3ZlFYdzhWOENmM3IxdmdMTXJyZ2JSOGwzeUsybFBLMnhMcFl0cVpRanFaREpvSjlwUHBlcHEwRF9Dc1JEcVlDVi0zNE5GbldXWklZQmtmZTRPSGFFZTRlXzNQOGxNVTFKUWlJY1dXWmJ1ZUJXSnlpNDQ1b24wRm0zVzdlYTRnUUJCN2c1MzU4MUJBZW9ZQVRUYnFFV0J0LWU4OS1YMDd1Nk1vSDVKUU80OV9kSW0wNU11VVlrV3ZQODFHNDMySDFPYmgxRUJBNG1WdHYtM2ZqeGVDRldiZHVzTWxxa3RYbXVodjBEVWdmWGh4OEoxS2JaMUdjN3cyT1E4S29KZXNGM2QyTzIycjFkdHRIamdmbHBUZlVXOGFaN2hPZ2otSy0wRHg5dXV3ZmNVVWMwUnd6bkNMbVdqd0lnZ2NfQWZJbVRpd1ljZWgzQzlpVnpLdkcyV3BfZHpCMjgzM3YycGI3SlRKbmFYT3VSSlhiM1JQS0pONGcyVXV1NnNYc1JBd2FlTnVtVVVpM1B5b0pCY3dhZFRsbVVrQ2JNcjJMQzBzYmZkbjNMOHk0bTd1UGg3VTJ1RE5EaGk1LTZaWUNYZE5SRVNzajVrR0QxNzJoUHRSVEV6RzhUeEN6Nlp4dE5MQ004a3pHVWtjS2FLeVctZFdaaFVWRENsZVdnQ3F0NWdvNUI1OEVaV2RJbi1SRTRxREZ5RlBDNDg3bk9nMUVyVmZBN0NHWldha1F2QXN5ZUhKb3dkc0RrdzZIV0x0Y2ZwQTJENHEyZ1Z2aDdraHVNMmwxSE5DdWxNOWJSXzZZYlhuTGlCMzIzN3Zjc1d2bHpBVmJCd0J3WHRQT3RGWEEwc0V3c3Qtb2N5V3Z4WFNsT19kdlhRNUdHa2pLcjhFX1hzM0dvZmlqaHpsZF91OWFROGNTek1XbE5xRGNPWncxdncxNUtaeFNXR1QzcDJ4S1VHLWtSZW1Jc1h6VW91TFdma2RCbk41Vk1tUTdJTXA1RkFfcmdHWnFwVHByaHJMSlVaeTNZN3I4bG1McW15Z055a2FMNWkyVEpIT3RWVHB2eHVzck1LMnUtSzdpbUJVMHlkQndFaHNOS1RWMXlGZng4Q2JZazJTeUo2QVlWeWZLM1FhVEdqb2FFMGxocGNPRUIycmpfUDhFWHAydlJ3TWZsYjBtc2daYTFCOE93d1BXRUJMdlROVjVzUEYycFpUaFlnM2xWVzFjSlZlTlBLRTJfYU1zS0p3UGVIY19YTTNrdDBXVkpMbTBnZzE2ek5EMjlsaUlfNTBjOW1VN2NpVG1hNEd5ZzJtSkUzVkg3VWxUanVkRldmNTZpSEZHNlJpU0FqVUFtMmtBTkNGMjFyb3ljVUhFTGo1aVlQZF90S09vcmJvRDlWRGcweDRDc3BQMmRKZWVzMVR6aVMwNU5qU096cnd4dG5qMTBBZ3kyd3B5XzUtbVl6dVJvYTUtNXVPSFhDRkFNSW5QQ2doakFudHVYUGw5REJRb1ZSMWYwUS1NdnJWQU1Qc3pfaXMxc2xZaTlFT3NDUWp1R2hsNGlxYmVNWWRhbFVZZllGYnd5dktaTGNlZndjaVdpY3EycWhpM2FxaWQ5WkVwVGRyR0FvRjItdmd5cWVsSjlRb2NfSG8xRldZdjFrVUR3RTBmQ2ZlV1FteHBFMTQyYmlZNVNnV01CaE9tVTBKWkt1c0hCV3B1ZWJ1TDVlc2RHVEJwRWtpcEpHWmtQSlB0YzBvTlJSVU90TVdZTTYxbXZaXzRTTFpqOW9kZ2U1akMwMHBzSHVYTUExTG5USDZ0R3FnSDlTd1Izd08zOTNTQnRMRU5oNy10UEVEVWc0dHpJeXAxTHQ4R2dWS09DTl8tc2RCbnlpSjJaNmYwSThEMXVPQnJYN0JGb3E2aHlkOWtMWnZiX2E1VHFUdzNKZDJCdHRzOHBWS3hhaXFtTW1WUmZPbU4xYmRJSHhlVUNCQzdXdE1LZUc0M2FNLXpYZDBfUmI4MkxJTVVVRDJadUxXb0MwUGZzUmpiYWNpOVhBOFlBVTE1WllTOVh1YV82NUZYT2xxcl9sT1RuUjd5Y0JZY2J5T2tIeGpIWVFmRGkyQmZRV0NkMElXaF9WcUxNZWozT3ZEUW5FZDZvNEU1N21FQ1lQUEJUSkFIZTNHTjU2UEl6T2xLNTRtVV9USUNpX0JKTkRXemJvdl8wSnVEWExZMmUxZnhCOXNURmc4c1hINUozYUhYY2dpYUdSaHlnMjRKZElJV3dkcXFRbmlLZWNfS1IxVTJhbEVqX2xPQTNNb3FadHk5Zzhnc2RCMjRmQlRLOWJZUnc5eW9OVWhrSl9fM2NxNlozVVFvc3VrWklreDJwVlRoTkU3THdEQ2gxbnVRYlpvUlZrN1NKc1pjWkZ1TTd1SUJRWUNVMGRIQzFRS2lublQxc3R5WDduM3RRLXZPWGRsSENaOEtmSERpR2tsemdKUkhVSFUwdU9JQUNuNGtUbkRzN1ZrRGtEZ2YxalBhYXVYLUR4X19Cdm5oWXIxRFp5eS01N2x3SG85c21rZDFNcGFUVGRLR0cxOVktUDh3MmcyNXJCcVlWQjhBZXRlbXQ1bEtZdE8yckhJNmZSSDZrLVhSM2I3WkVlSFA5MV9UTkc4QVZtV1djMUhaMmdYN0gySzgyUzRoUk1JcEItdkxUaFI2QmV4bTdDeXJHSFZqNHN3M0dtZWd0cG1obmJlNEZQRVo1UTZnNGhScUpmYTJvOUswZDI1aktwaURBTFllRVY3Y1VDUjhBVjRYNU5WR3hWdWppOVdYN0gwaU1mUjZHMmpIVkFZSmloSkxOSC1JSENWcVhxdng0ZWNSRmVxNGRqUjNBWjRITm5kNUJBaGlTSHRObkhlM3EzeG93cFduQVh4M0hHeFZKcUozZ0pVdDVtdGcyb29pYnJiTTVFVU1HT290QlZGT0k5eGd4RmZYT3dhYXNPNWxIbTVoQnFWZVczOHlXS1FqYU50VG16TjlITjFrRWFfS0JacHU0d3RGeGswNkdWTmFEUS1QbmZBV0FJalByQ1FjSjJMQ25kS2FBSHJyYTQ3WTI0dWJYd1hPNUZsSVh6NElaZzI3Z3NzTXpVR3kwdUtGc29LdnJrZkFLdjVWblR1WlJ6aklrZzNoZExLR2FMb3RPVmFwZkp5VnNidGh6T0JrSERUMDllcVlOYkFwbWdYWGdoVTZSb05nV3IwOURSMmZQV1FyaUVzbm9Gc21yZWc1MUUtc2JUWjJCb3FqVW1zRnlndjJZdVhpdTVXdFFUNGtKQ1NxczZZVEw0cGhoQy1sTEhubWs3Q0ZKVnNMUHpUM2ZUcVF5M2V6Sno5dUxyUWJKRXVVMGgyWHQtNGwzaENtNU1hQlVVUGU1SU0tWHZhVk5QM3FQUGN6NjEzZkt1WmwzV3NmZVVtYzl4OWhrbElxRlI4RE1aOFdpYnhJSG5CXy1vTnpvcGV3SXZkOU1RV18wQ0hJRlNWWV9lMDNfNlN4SDBiLU5DX1Y3MXZHNXpNTXpqUkc2WXB1d3hMVUQzQnV6cHNWSVR5ZTd4M1RSWFBxNE42aXF4cFlTeWpyMUUwVnk2UXhzWGc1Q0NsZEozN0p0R082b3pTY1gtdDNKOFJBbVk5Zk41WTRURUZCZkxFT3VtdkQ0WXdjd0xuVktKMnVYN3A5MWZjTTUzVVRhTVc4UTZSZ2JFaTlnZjg5SXl1OFc0WTBIQ0REbDE2dVhCSXdZR3IxX1lyRy1zOUU1dU9FbjVpVm9oY1JsX0RrZlNNenBsSUhPWkJzLVM2X0tud2lZMXZYeThhTWlqb2tFaTVOZnBMbUdZdklwdk1MUFViUzBrQXhGTWo3dktnRXR0S09pU2wxVTJleFF5d0tsYnJtUGxFamZ3YnFjRVZkbmZvTFhIYXpfNlhYTE1Qb1FobWhKUWtvVFN6UDFIb2J4UWY4Uk53VmpaeGF0enpxMGtpMjVmUXlTNTlET0wtVGtiWlFqOTByUnpCQ0hVaTZlNWFmNUN2b3p1T2NIdEJmRnJHVkw4R0JQMk1JWi1UTGsxZXcteFpBbE10UVRITEVuUE1US1Q3X0VwY2dJalNDQTVsZHFXQndZVWxJaXZWd3NzNXRlWEswQkNvWjY3OWxyTVdTOEIwUmRwbjM1djlPU1JOejh3TUFTNER4UVV3OXhOTzBrSjdCWHdUM1dOem90dVFFVDFIeWpEcDV0UHY2MVZuVlVDc3pRME1TaTcwakU2OGtnVm9TM0sxaHFxNUhyZlJoYTVEM2MzZDFBWnJzaUVsMXpMNU5OamktNnBpZENKVmxZeFNBa0gyc2VlZ3lGeUVVV2p3ejZRZzBzeWYtUGtCWVFaRGtKOGJsUWFyUjRMdVJGVmViUTZ0bnQtVThmS0M1d3kydzFXMUhiWUZOWHRzUnVkcm03WWVtUDI2eVVNRzNPUEktLS1zV3VEUW1VblIzemNaVGZkcVBkc3ZyRmtES1JESWZfN3hsbDBLVGtIbHEyRjJOTTBiYjlDb281SG5RdERpX1pJZmIxa3pZd1BHTDZMV1hsazdhcENaQ3daWVBLNWNmbHkyWU84QzRuX2w4eDJkLXdkclBMWGNMRi1xZnRtX2RzZmNrNjBrNUtGenozZEJKV0otY2l1ZWM0S010Sm1JMklxUm50MVpJRnNTOGhEcTF3b0ItLXVTX3ZfZ3lMMVRxRklNWE80b1dUZktOV0l6d1NOUVM3UGdCYXdIMHVIemZDeFJ1bmh5enRMTEdMZEtBamZxc3d6R2dDMnV0THcyOVJoZWtLWVNyaElGWFVoNFFjZF9GOUxfNXZyc3pSaXpKekRUMGVkWlhSVkZNdTFsV29zQUs2YV8wUGVZbFI5cC1XMS03eWo3dGJveGZGdzMyd3o2VlNWamJrMHlIUnpRYmtwNkp6QlIwcm1QU3VlU1QtcHNCSWVwSGI3S0dHQjA0ZmJvLXk2N3VSRkxKTHZlcTJua1o3dDFIRGozQ2taVGduUmJ0S0xYRVNkb3RFY0toQ1ZXaXNrTDZabURLVWJJTkF1MXpLMlJhZkJhNzVDNlVPX2llVnAweTBJX1JnT3hEd1Z4QzVReS0zdVZkc2trcFo5VGduUGhXQWlURF9tQlBmeWhQN2NCbFZvUUhoY1lKYWVjQ21jQmtVcTd3cmx1emdEWEduUkFveUp6MXlwZWNjWC1IUnlqOEFFYXhxSkVUeGpWTFpNODBNS0xtRjNXZWt1dVMxSDIxLTFYUFcyaDBfSkE1OTg1cm9uWnBCSUtoaXptUU44YVNndjBIbFlmVi03cTl1Vi0wLXFrNXVQWnljQkRDYnpUZnlGaEdzWGdKU0tPSm5PYkU0QWktMW14NHpJY3FSRmNiWkt1cF80clc5Z2lFX1pfYjBpTWlMTGlBUHJ5dGo5T241ckx1MnJhY2UxUHFvb2VrZzFuWWxCRllTdzA0eHBWSjNGNURCOTBDMHh0SzAyMEtEakpRU1VCZW52dUpsZ3V4WVMwWnQ1N3dKcnVXdmFpYUlIalFBTmRjMU1lSVJEZjF1Z2EwZ1NwVjZPbEltMlY2aTVDMllfcmY1eHJITmVlWjdwU3A1X3c1UTk5YlU4RkdEMHZNbXE5azc1eTdsR3NTMVlwc2stY2RZd0pSek5oa3RPeW5GOFZBNlcxSjkzVmZsa2Q0NTFnMGRJM3dGd05kY0FqWG8xdUMzWF9zdU1JOUl2ZU9jcWFqWlVNcEFCMTZzbU9waHVpQXlBcjNTbTltMTJMMVBvbzVVVDE4V1lEbFl6eXhNYkRmWmRUX0I2R2lNUnpFYVlHSENyQjJoaUhsYXlDdlpCNW9lbkVTUG1rS1c0dFNmOXhRc0R4U2U1ZnR0UGh4enJ4UWxieEM1V2dINlBibzdYdFcxdUpMUEVzVnlwdGRjS2lPSHczQ0d4dXA1NnVNdjhlRW50SGRHdVFERmVfalk5TUJYZXNsdnMtQTdBVzg0VUFvWE0xd0RYUFo0SVZjdmozSWRpbTh1WUVDU0dXMHlPcUo2MEVBYk9nM2ZERW1wbEpNVTBuc2kzREZmbWlqNkVRZ25hdk4yVUN0Z1lKVUUtUVoxU3lHTEY3OVlIRXhFVFRUZ0RheHNIYnZCX2NibWFwNC0zaGhPS041OXlQUmN1ZldZTGtrMUhpODg2c3V6VWJZa2MxTkZRWlBGekdYV28yUUFvUXlCQm5DS01YT2QyZzBPS2RaSFBYRUtVR05FM3A2blo1WVFCMUx4dXJhTVJCSUNqV2lHN1E2cC1XdXRpNHFvNnRvUjgyQlFFZUtqSC1KV2t4a0NoZ2tFaXpUSjFGcjlHRFZ0c3duOUdFcTBKZjJ0aFhKWXZUTkdTY2tTVFEwUzFIa0NlcVNLOXAyN0p3NHl4RTlocmFVdHYzaXl4MEhFZmNnTlNLVTk0WmpFa0R5UFozUXNLUUlCa0xweHJReGRsZ1hSV2ptMEpJSWQ3WmRiT3I0YUZPN2ozZlM2a3EwQk5SVzFBVnhRWXpkLThFWkV3b2w0MFNyNmFfaG5tUUo4WWZvYlFoTDBhZFBfWUNaT3dBc0g3alc4U0lKbGV1b0hLX2hPc2Fha1hkTnJPaFNoQ2VVYjNpNUQxRmxkak12SWFEajJFN1dfUDJodmVna25PNkFhOFJlZ1JRN1dvQkVpdGU4OEszeVdPOWJkdmZ1NjFJaTBIRU1RUm5LQVBILU83RVpMVWdzTmd1ak5YRW1jRmdmRmhmU1Zudko4Vjd1UnNmbE9NcEZkTmZzNU1KUDdEcEF6R3Q0aGRQaG14ZlBseDdqTXh4cnpOQ19GS0tvRDBwcWdJdWtTVnlMZzdrbXkwOE9paTk1QUNMREZsTnlQZjNtaUVUMHRfaHBmWFZrckhCZDB1Qk5Banltb2J6WmF5bW05SFhLTTFVSUFJN21WQWdUZnVUYmQ3eEY5TjlDNUJTZXVyVDJtYnNaY0JtWFNfa3hZTWtSWjFkSkdjN3FwVFBSZUxOVm10UURBVzZWdTZUWlpHNDREMHdRNllKalItNlFiVnNSR2NReGtxR09KQ2MyYm44SEdvMnZCSG50TTdEZVM0RXdLUXh0bVduVXdITTNVT0ZHaWVOVmRvZDhzcllzaE9sM2tvZlN1YUxIUkZiRGdVQlZoaHBFV3dUejF1VlhOd2VVN003N0R1dGJZYTFiRXRJY0hneXJjQUJTVW41dlh4cEhhbVY1RTJHczhEeDhYTmlBaWdYREJfbmhFZEdWWkVqSmd1TDg5VXltR0c0X3Z0cVMtN3hGYmtJaFpPMXBEVHZTMm1KM04zNUduNGI2S1FWcUEyWEY5amJwRFF0VFY0bEgwZWhiLUFyeGtGMkJjbnA0RUdNZWs0eDRXN1RfNEdtNzlFb3V0TjJzSW9iSFhXYi14bURJbUVId3ZHZkFsYkc5ZFFLZ1pDT3Rrb3EzUHJvY0hEMVFUTElpNEpQYU0zc1VFNngwcy00NXR5cEFHQ3N2MDhralVkUW5GbUVTYUhTYzJjSE5CUEFFX2ZzMGU2bm1fakRLektON095RkV5Ymd1bHZ5RTRsb2ZxWkxfcnNxWFlPN3lvT2oxX2FLVHhGa2ptallGNWhiS2FjcDhCNWstRUZUWVZYMzMzWG9OelJreDRnOFNWZW0xVUNibE1QOTJxb3BLUklPaWNJQWpmN2dkS2hhQmZTaE04UUt6bDJBVjBVU3lwMkdrUFRja0NrWEtXUXhhbl9RLWhtZ2l0V2w5ZVpOR3BpUjVSUGxqR3VRaVRYNlJENGZKcUdEQWNMSnEwYjZYZGhva24zMHd0Tmktc2J0RUN6NC1HV1ZOZVVBYThETl9haFNaMXAwT1MwMkRkbGVKOG1ZcW5vYThEbF90ZGZEV0xiNDg4WVplU3JwUmV2WlBJWm5OQ1lQUngxTDdxMVVGcWhfajVrQ1N3Q0VWTEpDUFdzaXlKSzluXzU5c3lUaW9DemxyM2tuTVZ2bDBZSnFYdXF2eW95TUZrcDdGdVdBbWtfYUR4eURaYm1mRGNLNVFnM0c2YlVwVXhPQVJyamgteWtreVpfcmxsa1hLUjVrTnJJMFFKYkw5UHBiWFNtMzZVSTFNajB4alVael9IYmx1Z3J3c2lzRUtGcGw0T0k2bUY1cUNLZVAwWmFmaW1nblhxS0d0RW9wNU9kTHNGRXNoa3BSSWh4Wk02eTVta0RZM0FrX0c5N0FuLUxzaVVWdG5IN2NYNUJPbHZIMVktREFGdzhkQTBpOFhPbkJoWnZ4aFZqdXctbWtHWjBITURVS0RMWk5uUVR1RXNnVEpDT1RQOVc5R0xtaGNfMGRSS1UwQTQ0RFVRU0l4SmxEYzNYWmdYOV9XdWxMY08tdjJib3pvLUhLcTB3blN0dmlPSU9YQ21BRW9PWDFodWROaUJmdktBc2NYTnE1bGc1YmtaN3dDR0xSQWoxUjRSelhDMnVsaUkyZ3lpMTFHZU1VanpoU0h5Ylk4NG5vWGpDODNJcGFTX1FTYl9WUFEyeWhMWExVdnp4SHJ4YldpajQ1a1VEMWJEZUkxOHhhQmd4UzJ6VlRVMF9FcW1WaU9wbjRnTWczd2oxMW5tV0JYOHVHUHlkUENhV2dtbFJTVXNxVXVGQ0dYZ3RNUFN2R09XRkl0LV82YzFWdVlzMGJDNzl3QnhwYy1MdENkRXIweVM4NWZKQTE3aktoclFINUJLQXNneUhKbzFVU21FZGMtTDRweWpkMS1obnZUYzZxRHBXQmhSREhieV9DeXBfc28ycERfYk12eFZ1YnBDX3FIT0dlaVRLSkpTcHdmMC1OdFRLSnAyUzloUXNQYnhIeUFlQy11ZThIMXA0WlcwWVVyWGpJRDVoS2pKRzQ4b1E2THBsaEJTWlNCa0xpczRqNm5nV2ozN0dLZEFNN01jNlpKVFZRdEw4RXZjWWNTSUlEN0liMHAzXzBIQzRKX21NTEtjRlZWWVp4TjlvSkVPZWJLUFVzbndwelVUX05KbjQ4VVZrMGwzeGtDaFlEVDVmMENoNl9MSmhSSzY3ckI0dXk2WTY3N2ZKN3RjRGFfWWsxZlotcmVpSlBRNHhMTnNOZ05hU0FoQ2tqZE5Nb241bmlPUFNhQUtVcWdDbkhsZzN5bDhPOXFhcVk1aXk0TzFlS1hHcmY1THkxV0lNX1luNmcyeFg4aF9TZ3hlcTdRN2ZOYlhIT0Ztd1Ywdk04aXhhRmJZYnF0N2hHT1pjWnVQaFVOaVdDSF8xb0MyUHlIUE1IcEtWcWdaOUNYYkdQNmFhY3J0UmpRMkxZdUZNSnNWRVhlN1gxNm1xMDZpd0dLUWxsUlZxXzZoZGtqUUs2SVpDVTNzMXV3cFlGeHdaTW1CQVVCaG1lb2kzUVItQlhrYnc0RU9nYXllQTJkSUV6a2g3cXFOYmNXNlNBdnp2eXd4cUlQT1FTSWYtMVlSRnZfSDBpYXN2MmQ0R0kxNHpDWXUtXzMwT0hqYzYyX0VMLWg4V29pa2Z3cTNXZWZNMTduN2hGSmZzMFNWNTVHY2U3UTdDQkxxNEVkSTlXc0t1MDlxeWhNWHJwUlZPWTBrZzdsNjYxa281c0VsN1RxYzgxNWl6OU1wS3RZU1RlV1lsd3pnb011clJDNktNYmZEV2poUmlldGo0Z0RkSW9GaUQ0dHJGNjZvU2k0WTE2WkNxYkVPMWVKNGNseWZZWk8zbzBwSk1NQ0gybUlwTVZPMkRueGJSSURIOUxiSEU2VE1qQjYtZkw1a3d3WUVoSHI3UnNaMnFFYUdWMDdXcFkwMUdoTWpEZXE5dGI3Qm0xXzFvcWtsdVcwMjZRUng5Vzcxa0RwU0xPNkxia1RWS2xuMlB4VmdZa3F5V0pHNlZUbU81T21fRWxlblhQMmx0bV9VVXN4MXgwdkxWczR1ejlHV1VYTGZKbVlzZnViQXBwVF85anZyRDlkV2xWc3NKdUMwRlVVNWxOUVUyOEJWSXpycV9ublJVRUJjc3BLR2d1RmN0Mjk0V2xFVjZzNFdTSU5vNG8zaVM1RWtfX1FsZEp3c3JKT3ZQS2M0S05OM1F2cFJDa3hPQ2VwZGpZZEMtbVdfMGxNdWVoVzVmcGUzRnhFMGhjeHFrZmkyUXA1Mk5VYkVZVWpPV2JRZ3UySVVmX3ZBMWpIRW9UTzRQNS1vYTBrRHZaUmxPQldRbTMyS0g0RkhwYWpiNndLTWVIOU1VZ2ZlS0dBNWVJRDRxaWwxWURONkRMa1BKT3FkeU91UGdqMTQ2WWJkZEtQdmFDOF9YS2w5Nm5BV1lfMVo3ZTNKYW9NNzhZR2pMaEV3alFpdHlSOElLRTV1ZmFDZHdYMWNPMG5FQlRnYTZPNzFrSEJkMEpGLTQ5X2FPX2RoWWo0WmVLWVNxOVhkQ1NHNGQzSFNxVGVsT2ozX0tzUGp5dk5ScmkzY0loVmJVWHkwcVoyN1NqdlRRcHFEaW5yMDBra1Q2OC13SXMxcXJhazQtcjZoQUFUeTM4S2FrUFJWYy1WMUQxUVppR3hFYUdrbUg5bF9YT2hFOEtHREIzZFgxNVNOREptRi1PR1dKSlJZNWhqZmpFWVNEVUhmb1NHTElNei01Wk5hVUs5cm42cFBMcWZfcTc1dkZ1TWRISzZhcTl3eWUtQTdLTjZyS0xqMlNfclV3RHk4dnBlbFBBTktNTG5Td09mV2U2eXdFRmFJTDRVLS01Z0NvczJBbGd0OWE4QmRKOVpsUDBUSzZEb0RVY0JTbE9VTWNJNGZXb0lDYkhwc3FnS1d3MUJXc0xGTFU1UnNSZVF0ZHhmSFNZdWs4azFWUlNhQnZnSEh5Uk9NemJXYzhSWmJCVjlQc1doaEpMeVpMM3RldzJ0RkhaM2h2U1A2SUVidWpxSE0tYnRWSXFqb3BEOHFDMG90YkNERnNqdXV0bFdVekgxTXhNVFFGdk1KY1Rfa0swM3NOSVBNTnc1MVlrQm1fV0hiQTNZY1V6d3BPd1JNNnQ4YWFVV2diRUkyNm93Szlhd3BUTzJmVHVncjdzNTJoWTFBNVRpMXRobDM4TU84UGNfeTFyYWJBeEVsMGloTUw3VlRFWmxhUml2VW5JS09ORDdXSXE0U2RHbjZzbXJLWW1LUGRFNy1vZzJfMXVhWkJyblRScHNrd1FiZUVlM09tT0lRUjltb3ZmNkRCdlZlVGtieG4zTHgyM2hwUVRRYlpFSTRORFFHMnlzTXcwSnQ4OHl2dEo3NkpwSEFYbWhkZUpBNWI0QTBYb2JvSW80a1JGTjNlUWlCQlB1eTVsZU1qeEZnVVE0N3Y2M0pyNmtibXpfSEVTZHowOGhNeUozakN4Q3ViNWdJVGhtbVdkQ1lIUjZRYjRtWlowMjhIT0ZCNTl6MkY4QVVENXNwU2wyZmhKZHBtUl9aZ1BsaVBuUm9YNGVPU25Dc2ZLTW95X1YwNk1KRTl3VGZPSXU1ME40cEhoTE9qQXNUX3NCSHBfYWJMb0x1ekpJZXdtV29SRThVR2xWVENOX2hJQk1pdWI1V01lbDgwa09nbHJTNXRMZnNCdW1qTTZXUEladUpjRG1jWlozdXpEeFBkRWdHbFZydXE0ZmpfMFBoUF9uNS1FcEVtYTkzZDFaLURCTXU3Wk54QWYwS1ZBOXVJOXZ1WFNQRDJOVmRpMG5QRFFjbFRCRWhKYW8wM01uc1VGbkxBNVZqQlJnQVV2Y05Cd3ZlYzRfOE9WMDJLRVRxZ0hMZ2tzbkIxdU1jZ0cxYnVQWHF5cmJJelN3WGJiTFViOTFWSkZERl9ZNGFTWGhWR0kyUzFpdGdZOVlsYzl3aFlJYU9pQy1KcTNiRUZiVnZiZnJnemMwOUtiYl9ya214ZjFpWDVRczh0blYybHpSaVB1eExibGx6dmlEYkM4ZkpMRE44VHo4NExMa0lMZHNmdjBHaWtkRThSelU5cFNnMVU5ZURUT0RnVktDRmtzaXdJbEJ5MDRqd0d5NnNwb1BudUxweG53OWhKQnpUc0M5dVRUTmlZeUk0SmxpdWs4Z3ZpR0JTT2lMeGNiRVlXTGFpN2NNQUYtcnI4VTYya2hDYlZZVU1mVGhnQjg5aklmNlZSa3pVSGs0QXVSR1k1QnpraWxBcDhHeHg2M1RacnVXR3ZMa1FKek5wNS1PVGN3V3hEN2N1VlFULU5icVNZRmZYMnZVcEt2Unp0WjNxeTJOMTRIYmdIeUZMYnl6SVVoTXdiNkY2M3dwcnlIN0hfMHp3OGRfb0N3bWVCMVBTQVBUcFhiYjhRZjluQlRXbjFCWlBMbUNVc1ZCaUFYQV8zUWp2SWkwUXlrN3gtb3BGc1E3OFdJUVpadkhsb0NRNWI4UGd0bVdaNUFwVDhPc1dXQU1sYkFzdXRLdXZjTFkzbW9DeFZIOGxzclZxOHVXSjhlQzgxUV9uOG5YNGFqcnZiNm51M2ZXTXRDNmxFeWwzSW1JSHRHd3lvVVZOVW4xZWlBQVpnYzdiQUlnNlBoV1pxS25DMkFyU19lbEVheVFUd0ZTWWxrM2Zjdlo4Z3RMOHB5THY0YkpEalI5NUprM1g4NGJEek5uSndfY2o2Y2Fqb0F3WW9nc3RRZFRnd0pqTU1WaU1Fa2hraVE2SVRUU3lDNUJmOTBCa2VXbWZwM2N3Y3c2cThwMG5NZEdnMjNDc0p4VHNla18zbFotRS1KcHZESHJnVUV4d3g1Z3lCVy1STjdrX2xnaGd3OUw3QUNTbHdGb2pHVzlZSzA4T0J3Tjg4ZEQwLVlmMkZSRmFnaFVQY0RfWXhmaC1qNDkyaGY1SnE1WWtyOGJMZENiZjdBTGgyeUp6UTRoUGREMDdnNW1uNThnT3ZMUWo4Z2tvTTBfMHVGOHBRaHpqenRjVlRaM2NBNkZobEI2a0Zkdk9OQXZVLXI5YkpFb2NOaW5fRTJmb1B4VUxqOVdEdGxaX3N2bWtEVzBjR05fRWRlR1dKLXhLcTdWNDRzck5vd0lCOEprZHE4dUhZXzFadVg3bWV6MHNYc0lNSEFFSWhkSnBJelpYQzVjYW9lTDRfalVxelB3dzJzMG1IU29CSlpQNjNWODhFQVpMVkdtaklwaC1PTkhQeU9QemFlQ21xajFlTVFaODdJSGNhYm1yUGNaWDFITTVvRi1meTZ5RFVzdUJyRkx1dmRyX0VJQ21TM0sxWEZmWVhsMkZCU1ZsRGNpUDJ0YVF1RzR0dHhjaWhoRWpERDVDcEZ4S2dha0lRSWc3VVFBTy1rUTN3THZHdW5CcG4wVy04eGpWRFBoU28zUUNOc29sNF9zWnFqVTBoeEVNTVo3YkVxTzNSVDNTVW1OM3RjdG9LWTBySzBxZmR1bk5iSXNjdG5TcUVPYzg3dWd4VTBXNHlQYjBNOEoyQUwySkV0bXlRZmN5RTBDalkzVjVZMjNlN19UVV83bEk5alBTbnhvVi0wdUhCRjZ0Z2xYN3p1akdJSG82MU5CMHo2MHpXZ01hYklqd0Rha3dPYXV2Uy1yX2RqbEZpeUUyZlJvQnNPNDN5WlI1OGJqcHhpRHJxOWdnMEtJcktBQ0gtWjliTUdxeFBIbHVrb1FGeHAtMWszQjdndE5GdGh4dEJqMng5Q1FBVUJwMFNZYXRhUmgwVlBPRGptMWhLd2FUTnUyNDlxZW0tbERiNTRhNFplaGZqVExkS1RoalFiMktwY2FCbVg4ekpQbnRhVlA2MXdDeVRGVDBSN2RIVHloZUhfS0NYbHA0WDN0ekdoRTg5VDVVWjVxVEZJWmNDR2I4YzM1c0pjYnh5bWZ0aUJJd05sUFRlbkNid3dfQXlOUWhreG95Wk1iai1lQ3NBN1M4V3FaUEp6ZVozWE5iV0ZJeS13S3hFMnVyTTJKRXd4eExXRllwOFQ1cFBQQVF1NG1NT0k3SDlfNzRTcWpMRFpCU1Myd3dUdU1YZW1aSDJuWVI0WmdCUF94UkZENzYyM204ZzRuLUdNNGhibVZPMW1LTllJbDlHdzljbkpQOHpSSWlNbUppWEdXTjktbjRPVHFRWExFVnlKbnlUQ0RCMzFTSFctTThyeUJMemEtOUxOdFZhUzVTWkM1UG1vem9EMFZyY2hFVEZmelhwREJfZGYwNk1aYS1icEpBQklTVWJidi1hM0Zobm9JUU0yRW1uT1N2Rkw1ZFdDRlZMcXAwREJOZEVOS0FiQmJaNGdaaGNEREVoSVQwQzh4dWJ5MjN1MW55ZlowRld0WXFoTTh1TS0xVzVOTlNLZGkwVFVhQ2d5OHhBdEh5Wk9YeWgzVFRMVTh2ME1rbjFRRjh5ODRsOVJlejE5VTR5Z2JqX01CVUJreGYtNnhpSFRVQkNpQmN1UnoxM1pSTkVMNUFzTUZLalQ3Y25zRDJxNS1fdDk4dEZ3SmNQejBTLVctbzFtVnBRSkFjZWZ1ZXBRcUdvVzdLNWIzMWFCVHUwWVc3MTZCeW1pSVEwTU5VdC1Cbnc0VTZtdG9wWWJVRjExVXhSSHl2R050dVVUMlp1MDFJSWlKTVRvYmxoZXlYQkFraEVUaDJTXy1Cckc4cG5oZWFZaE94a2wwZE1nZy1ISlJ6V0RXSHJTZ2tUN2plaThNNnhOY0Nwc19veC1kNkdsX1FwYnRkRGZWaGQ3clRaTzhCNTFQSVN3Yk9aYUhkZHotRlhUZmd1c3p6S0RwZmtSWjN0T010VFJ0U1ZWR2t3eG8wRWdfQW9iRVJSNnBBblRfN1hZQmpFWl9BSVVwQkhmYldjZENyUkN5YnR4b2VUU0RvS0twblJkV0E3cnpiLUtDQmVzNG9mdWhicnNldEdWXy1rT0dLc2FuT0lPbkNPQWdHc2VFb19NTnBvZVpjWmd5QlRlaHFmNXlCQ3FZN2FmM2E2Q0F0V2hfSE1IVzl4cGk1TVlZVk9sRVBWWHZHTFp4bi1xS2hzUDVwM0g4a0VHam10d21CWGFuQVhkNE1HemZtWnA2UkZ2d0VIaFJHNFJQQkZYSkZld3laMW1oSzZZVDZXYnpuUGloTC1PTjJPVnJEc25CSWdEUGVtclpnaVJIVWdnMkk0MXNnX1RMWTQ2N2NYUm1JZUc4NWpUTmRieEhkRkt5UWhNS045UUVBYXhDTGJsaF9FZFF1LWJtcnFfNVZoRmIwSDlocF93S0M2bFlOM3BFR3ZsajN5QzNIYU1LTW8xSVlBTkROcmhGM096U2VHUS1SWmZHeFQtZTNwdmRzc2ROTHE5XzNrdWdGZnB5ck1GY01iMkl5MFk1ajN2bF9vNTFvLVdiYUN1Wl9KZEZfb19JZV9zZ1ZnTUhoTVA0elIzRlBEVjVjVUR0bEtWWldSa25XMTRaZ1hnbFNRRG5kSG5lbmpqR1N0WkZnelh6c0FqX2xibm5BXzZnS2ktZHQ5SXk4aW92cFN1SzhTMmMxRFdqU2xIQ1FMS2tCdWR0REI4RFRaYjZneHJCZ0piNEpFUWp1LV9mUXlPR1NOellNZ01ISHFiVTVVbmpxOFVlQkFlclNnQnEzTWRza0xRNjlRVS04clRZbGszVEVLeFQzS3hhTUx6MmxWTkZSMzRkUDl5Zm9HMnZvOW9PS1VEb3VUaXRwNkdhV29Vdm5jWkdDME52bktJaUIzc1NiQ3pOWFdWbFpDWDhWdFhRQnB4NV9USDNhYi14bUJOUnVQMUZ4dlExNERsanZHQVBOM19DcHhxaHAwTmxzbk9xNzlqYmV0TmtqVHVrUTFZLVVhS1lUVFZOaTlQV21CbWJJTGx6X1FfQ21lSml1M1BwVVUyM28yNHlkR0JFTzZNZFg3aldMdHp5c1hxSVJyV1JUS0g1dG1rT3VwNlQzck03UGotb0NNMURacGZHdFUycU9aVW5hZF9TNGR2V3RBT0EzMVVsLU1DQjlLLUpHZEhyU1NKS0xoODNqM2d1ZDdoTUswVFJmYzVXLWdaZzdiT2xUc2EwcTB5anVKTzAxYmZQdjdQTjN2cTRkT1RabWluNnBJMzJSbzBTQU5NZzlBRkdvR1g3TElaR0Y5bVRMZkZGbkJTUlctaW5taW0yRW1NR1piQV9hNUdvTWxOamhmV2JvLW5aNHZubkI0M1NjZlNwZnI2LWRvRzd2VUZzMHlPUURuM0VvZF9ZcHBwUUwtLWtKR3VlYndlTVk4ZmdtVy14NktjRENjSEl6NU04MzhROC1KTEpPNzVLS0ZqREZGa3JtTGZfTGF5ZTJuekpKVGxhN0NnMUMyWS1kMFJGZnd3ODRHb1JjaGpVS0RPQnlFUDVlNzRpcnVSc2hjQjl4QVUweFpyZlIydmdQM2gwbG9UYjJ5UG9wekVwaXV3N01XZDA0eGhsMWhJUm1haXloRFMxc3R3WFh3aDN5SlNuWE5NMngwdnY5bGpQTmRDTzBiQ1lyZVQ1SXY3eFp0WEl1VW5jaWI3eldUQWZNZHM2cXF6Unp6Wkx5YXFTT0JrQkxJLW82R05SMm9PX3F6dTZteG5tMlJGOUlMcEdxYnRnZHhYTTdScVNkNVBEa1RfVjhrVzdOOXlfTUJuc2RpV05uelo3WndPNldrUlNvbkJPc0licVFVS3NXR1dUZ1E4ajE4dy1hd3hnWVJNQlhrY3lEakt5S0piMjZrWjhnRXNlcVQtM3RPTHdFeGM5cjh1MEtLT1M5YlROZDF3YTRFTWZHMEhFeE1SdmdqQ2N5QTlLa1pnU3Y3eTlNRm1BS2k1M3FXNnVvRHRfX1Bwa0lFLVpqUGhLLTdSa3Y1TmJUQnI1bmctTlR6ekFHc2s2enVPdnBpU05JSWxBRXNlUUJERWNES0c0M1Fsa0N0X3g0VmJ2QW9kQk9lTVJpZWNMeTVtLXo2SVZyME9xX0Jnek16ZW85Wl9xZFhWdFZobTU5ZkhDek1rcEM5WEN2dTVXaVU5UzhsV3Y0VmM1STZXa294QW9vZ081QXJFVVV4T3JsMzlma0ZpR2FvUmNBbWM0dG81anhUUjhuWVJXQ2tFdUQ1dEoxcFFUNkhpaW9XMk1OTXR0OExMTTFpeUMwejI4bWFlcmdBZUxGQ3pTODZ6QnJybXVTWFJEQlhhaW9DWGM3VkoxSEtmSUFYcDY2ZEZ3RjhRUkdUOE9LMm55dlZIMzlvRWhSX2M2T1NiRzJvYkxTOXdWM2RFSUFiY0RhR3hjVUpCU1JXeTdUR0ZhcWdhemlwRVRnejF0NThlNUZhS1AyUnoxMHV3LVRHSWN3VVJtRXhlSzVnbDZJWWdMVThKYmVNdWtpbTM4dVFXaklVQXEwOWhva3RsRFNueG8zRFg2STJjdFYtRk9xYk9rX1dLRURHRG9aRG9neG84UFNELUJWeGJrQldRZEwtTUNENUpzblBGRjZhLV9BdFBaWktKYnZoM0t5bWQwNXVfbk9qTURUdXFKU0xuNUV4MjFPbXAzQW9WZlpNYVlTV1hzaXpOWU10cEVReEMwbWp4aDFFLTNmRm5uOE9GdzVnTXFXNXN5d0ZHRklYcUF5MFlmc0Fsb0ZBTkstRVZvVmpCbjY0b0Q5X1NsNVBwZmxFZVlaSFFRS09IRmxWazVwdUhlZHdpckNfZGhkdGp2TnV2ZlNSb1BLU0VJWGxnV2owRHRrRkFiaXJkd1FNTFBUc21CT2pOYnhSWFkzVG9Qd0RSZGo3eC03VVJxY2Ftbjh2VW9UT1MxYWE4WVRMNm5FNVhsVHpuOW01MEh6ek1Rb2tnemcxQlFLSjRsMFJkbWw1a1RiX2tTRm5XY0hobHp5UGt3RUxvZnZfYnlBN0lSXzV0d21LLUZGcUVsYnE5WW1IaXNrR1BWMlpHTDFmTDFGaU1RSmtxLXNzeFlTNjZJRVZ3b1pCaGw4dUZJbnVidXhFeGJaSEpTX2xQY0pLTnQzcExWazJJSzJpc2duVFgwTnlJRWNzMG9pdDlfQVRERUJ5OHZwWTYyTjIxYk9la1lJM1o1Q0pleFFpVTc5VU1wektndTJvTGlaWnBaeXJ4TnVMa3BWSzJpT2toanNaN3gzNDhRdjBSUjdRN3p1aWM4b2hnbWYySUs5cjltOW93MTg4MlpRNFlETTdlOGlxc0t3dkZkOWZuOERlcWl2cmROQUhRcjFlQTZnN3BVSkpZZTNiUDJKLWpGSnN1azQwWXBFUXZVdGFaZjF0cUpPQlMtWlhvOE00aGEwUE5KTWx0bFhmZGJub2x6aHRnYVF5blR3WHJBRTBSZmtnWjlMaHFtenI3ay16TWEyM0t3UHdncDJmUGgzSmV0Z202Nkp4eHBnVjQ2dVl3UTVwSUFibll3MDFOTUxFTXlQaUNySlFFRWtwaXo4WG9hOGtJMkdRdkh3b1pTYlMtNzFZcHMzQ2oyLVZkRTBNaV8zUnRJUEZyaVVTUERfS2cxQ25pQlduN0IzS1pUYjd1MFFwOXl0VE1TdDNRbUNwcnR4YlktVWFwWEtESUYwYVVCN1RPaDRuN2lFZ0pQYzV5M1A1LVZkQ1VxUHJKS2VwckUxN3AzMmFyWjE4VFFwZE5rRHdXRWJWZFlMZDNvc2tTdkhCMHBmbTFablpMZzNpSGo3SmxFX0VsT0RIOVQ4MXRBS3ZyUFlzZUJsWnZQbEdUbDdRN29XN0tSZ21zVDJHMmlqOW11RlVEWEoyLU9ycFhHTWFURGxpdGNhcmpXR0tjMXFJRWhzQ0IybjI3LUlDX2FnbDdHbG4xUkdCRC02bEZGQjFuTVBWcHJpVGljQjA3THJZblNHSTVRdzFpY0pYNnV1TzYyOHRTMEh6Z0llUEdRVzhPMEtyR0xEZkktX2ozQkphbEN1eEpMeW5sdmE4MDVaWFZ3RUdCcEcyaGFOSlVleXhJeWFSamM2SGdOZzNHXzNIbFItWXhiUjBfSmtEODJwczhfd1VmZTBGOW4yYkUzWEVNeEd1bm9rbWdWbTdxQ3I0TzNxQk1HZ0dvN3ExNFRVTGhndk9GeXVZU3BKdkJ2a290NVptZS02SC1idVYySlVjNENQYUN6Y0pFSnB6QlNmTnk3eEFlQmNvbEN4Q0w2MzZDZS0yeUFGVTFFdjJ0NkN1U1BHZUlyY0RrRlUzT2RWOWxvRVlJaG5nNUdEdDdXUjN1RDJsRkh0M1dWLS1ieHkwSFU4YkZmT0c4b0hoU25NN1hsOWtGR1ROWUVxUndIUjk4eENYeXVlS1ZEMHVlN0ZPNnotY3dxV1NxX3BFb0ZUX0V4OFlHU0EtS1k4N1RCRFY1ODlYSEdMYW05bm43RXJybTdNc1p5Znp4V0NBb0U4YkktX0hRN3dTLVVTc3JuZkh0eVJCVkRMcHRSUDVXWDhTSW5jekUwbTFsZFdRUFRZdDFZTVdld1M1Wk5GWll0SFFVSU9FUzNRVlZ5dWlrcXZQczBQWE5Db1p1ZUJoVVViZlVab0E1WFpDTXFYWVdsQnBUMzRVWkRTV3RxUnRVcXhjZlk5YmpvNzZWNjRfSFAxUHJ4V2NQMFZFVi1QVmhxTE55VmRZd0VsRTB5YnlyWlNsRjRwVlM4VTdsd1VlS01UMnpHNWVDLUktakxpUEU5S1M0eWU5WEdtZjlVZEZjd1V3cXBiMjl0cVFFdXRUNFRmUU54elM1dzFqblUySF9BVmxvNm5LZGJiLWt5RjB5WGZyRXB4VHJtR1VSZTRqMEVzMHBXbU0xOVZxY05yeDJDczh0UDlGTlFxNlptQnJ1QVY5ajE0SlpOdUhvY1ozMmU3cTdsN2tfcWlseEtDN1hjR3lRS3U0YlpXdS1qWUEzdm5OSDVORnAyaEd4aWFLVmRka1pDQVlTUnBqMHVNZ1FuVGNEUkppTTJoV1piaGY0OXBUaUVwak90dmhIbHV0WDdYdmpnTDVZcWtVRzNBbUZVelZIOWs1QkFpUXo2VUtwVVJjUFVNUnFPTG5fbkpMd0VsY2xKUE0xYldZdEhZNHNTdzl0OTMzSjZxdzdENFdNRGJRLVI0QlJubkxwNUZZRUtSY2Z1cHVKWWtxV29xd3dQUzc4b1E1UmZfSF9VbVlBZEFOUXhsLVU0MUw5RTE1TEZqaFBsMUZObFhNLUp5ZVNJNjhlbUJ1NGNWY1l4d0oyMGd6Y2NuSWs5UEtjdXdUWE1IUjVIMmNtZENxRnVBY3lYUlJCaGhGRVBfNjFmbmxnRjMxMFZSdS02c3JmOVhnTGFuMEdtaVNZSC1UaVpmcUFrUjItRVlvdWxFUG9UWUw5OUhTekcwQTBveXhpc2YyaER3Z1NxNDVpbjJaTU9BQnRrNGpGT2ZKQ2kyOVZxMkV5YXVOQmRodkFQeUVzVHJpcV9ydHZPN1phUUs1Ulc3QndPZ0RsY3k5b0ROcmVfRG5mZm9jRUNmc3hMVndab0Z0Sm02eUpoNmU5SDVTOFdMcmF3MEhDTklaR2QyaWNTUTJEMG5oMjh6b3JSY1lfanpIYjBwX0VIZk1iNjhxa1hoQmREVE80ZVQxeGNtRmZuUXRCQnRCMVJYaEd6cW1MRlhTUXJRRWxHWFY0czZxNWFYRlJQNkljdGowQk02VkxHWXVpOUdZb3YxZEVrWVRaS3Y0QUtnQndySWRGazl4N0hOT29YRm8yRlgzY0hWTUpWU0hzck4xY00wekN5SVNGdDNkaHB4TnVsVHY5TkdfQWZmUUg4X3NQa05Ua1R6clcyRlM1RkZpTjVrQXJLeUZRRGlWNEZHZTRxWE5WbFhfOURtLW1Hdk03Q2lPWDg2Q3Z1OEg2c2JEckxFR2VxdVJFSHdxaE9DYnR1VDljczNIYlBsbDlvODhxTkw4TV9CSzc3aUh2a0lSQUc2Qkl3Qkt5ZFo1QUNpVnh0NVhIZ0tEUE05a1VaMTdLM3FwYXFUblk1YWw1QjF3bXVYMkwwSDVGckxxQjJTTFBPUE9zcU1RTlNidGExQXBkai1KMm0ybzFWY1JPaGhWeVJza29iLVNOUDd5WGJrbGlUOWJTSHl5YzFvbzFXcTZKYnNZd2hwdVI5aS1YX1cwYkc5M0hyYS10c2pvYmZPYjFBeW5sRXotRGpqZXl1eEt1UGVtLXVvRVlTWkZfbXRsd1JxbVNFSkFwWmlxQms5VHFTZW04LVBCZWxRR000MVhBOWtFeHc3cm41anROODZEdTdUX3JvRnRTWGxpakFQUm44ZTI4XzcyNEwyTWtrN3FPREpLMkg4Mzdvc3J5bjNXRWE5MW80OTJuTS1BcGNTZ0pfUUEzbURqUTJtaHZNVElPakh5TFRCZlBjaW4tby1UQzRhc28wdmpJUEhLZ3pUeE5oWnpYNHMySjFSRF9ldW91cHhfNXhocDdCTDZSTWt4eWVMd0o3Y2VwZFhDVmNmdzdzRDEwQnlyVGVtSnVoT2oxaWhrc1lVUmdEZFI4M3pweFl1Sk11a0ZqbjlxbEQ2a3c5YndNWnRpU2h4QjFZUHNuV1daV3U0TXFsVTg3SldZQzlEMzFUdXhiNFltYndsd1RsQTV6dFBTS3diTk1fYUI4aXZVUUhUazBPdFFwcndXMTlCdU9FbjFtWnpBYnJ0WkUyZ3NFQ2w3TTREWjZWR29nMGtza3gwSUlDVks3WkxEQmZRYXhIWmxFOFk2SGFCS0JrekhKSHE3MUNfcnMwcEo0UWZRV1NiNGdkRFpIeVpWY3JaNktPbEZsQTBma25LdEN4YnpjM3U2TUM5enFXa1ZYWWZZeWVvM1JSNUg3UVJZaUJqM1R6SjJVMVF4U1VqQjZyU19XeW9vWlhnNHNyeG5QRWdKak01TTdfMC1yY3NWVlVVdVNzT2RXMXFybjRlSy1Kd3Q0elkwUHhLYU5wZzRkMTFLUURIVXJkRjdPbnd4UmJ0NktLSFlGYW03UGh0ZVozV0dGbnBIbktzdHJYOVk2bEREYjBTLW5KQ3o4ODF5cUhUSmZ5YkhfRWFxS3R0ZU5ub3dDc190Nkt4NTVBS3o4c2VaU1psOXJnb0k1V0FrVkR5YmlfSlFFdTJnZnp0YzN0M1hCMnlTVDg4bl9BcDJNbU80X0V4QXBoVEpfNzdrYmJvWkl1Yll2ejA2Sjh5ZjR5Mk1yXzgySlFLVVBQYWhuNEozejR3eS16d2EtaDFLRkkyZThQTDZzODF3YmZ1QndrNlBHNFItZWg4UVhybEJrSXVqMkJ4eGU4VUZ3VUZONW9kbzY4VC1SWTF0bVdPRlZndnpDUkJKc1Zjb3htLU1CTGZsdW5XbTBVdDRvd0F1MlRKQ3lUaTRpWDhIM3E0X1lQTy1zMXBiQnRRaU0wQU01azVFNkdoZlc3MS1lQjJ2cHMtMjRORzE5R2gzTEhvTzNlelJtWmhwX3k3QXYxV0I5OURrbmJ6NXZ6dGxwcW92Y2hNNWRDOFNQalFkMDBDRW5NRmtwaVQ3SDZZTmFKVG5BcnVoanhTU2RKLXUxSmdGSE1ObzJpNEtfR0xxY1BlSGlIaTlPZDM5S2NGdVNQeHAxOV9wc0Z5bHRzWVp5cXhoNldJSG55bkRvdEpiOHd4dFU0bk1FMWFvazFZNk9yc1FUeGFtNnBFQnludFljbzFoLUlhanZHSGliWkV2UGdLNjgyc2RoZ295RjJ5OG1na2JTNWxHVDd6U2tYWm0yeUZwOGk0X0tVUnlYWUtqUndFZWdKTmktQ0gxWWs3ZHgwbExOaElOVzJEWkdyN3RFd1dOd2tFMzFHdWwtaXZWZzdGMTNMN2xXNW9OWTk1WXFXQlh0RzBsRHVoUlduSHg5dTNWV0twSDFmT0xDcnVIS1VXdzM3MmhtX21KS3U5UW1tQjNrWDF3SURXSkQ0SnFfeWlaekMxWEdIOEFzRmJfOFhtTGo3YW1aUmRwRFRRSmV3WlE2NXFJem44VEx0ekFhTUktUUlQZXJDSEZmeDFYWW81ZUpWdHc4MWphVHFRQWJCLVZ5X3ZXMG4zNXhUVklEOGdJUlpYakhRVEg3YTgtaDY3ZVFPdUNtS00yR2NZQjlFSmNRLVRPdUd5ck5Cd0lBckNxSGxDSzF3SjlPZjFYMjQ2cjY3dnd6MkJCQUdRWWp5dF9yZ09PcFFadGthV0pMd25ncXEwRE1pYWt5cE5LSlVJbEViX3ZkUGp6SFFKMV9IVzlMSFB2UWVHUmVJRTY2YzEyWlBBTm5tcndDaXR4M3hzcWNJZVd2d0Vya0ZzcWMteUlZbFd0V1Y4ejVmdklMY2JvSWRxVTJ4c3RqR0lvZDhudEp3RVRMeDJJQTZ6TUZHZ2E1UDZkcVhiMm85TUtxT3U3Z3UxYzBUaGtjVzB1QUFSb1F5ZzhDcnMzX0VfcC1YRXpCZGVWNzBIWUhXNk5CaV91OUVfLWVKVm13Vl9RcmJxanM4bEJxeEhsR1ZyUHVIbjd0ZU1ncXk5cjY4b0c4RVZRRFZUV0tXYWZ1U3Q1bHJpWXlTMlk5QnFqbXduUlBFR3lqTzJtLXVNRTRHQU84d0s2eFZVeWF1emlRQ0FyLnN4blQ5QmJTbklGT0RKQ1Y4WGR3RXc" + }, + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/testcert/21983500952149bbb3129b0c60e367a6", + "kid": "https://myvault.vault.azure.net/keys/testcert/21983500952149bbb3129b0c60e367a6", + "sid": "https://myvault.vault.azure.net/secrets/testcert/21983500952149bbb3129b0c60e367a6", + "x5t": "Z-n6Mydb08bmyOgk7bmx5HT8tyo", + "cer": "MIIDMjCCAhqgAwIBAgIQGn/FrGQZT/Cd9kgXIsytEjANBgkqhkiG9w0BAQsFADAWMRQwEgYDVQQDEwtleGFtcGxlLmNvbTAeFw0xODA0MTcxODI2MjZaFw0xOTA0MTcxODM2MjZaMBYxFDASBgNVBAMTC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsODIu9EJhfnn57k4++j6dC1M6Egi9aZucFQ9Jc29vFG9L9BkzllPGluKKdH1ypsrAUif7yGaq5d1nDyLhZUncU8dV/YIA7oll/fC+d0H4A37kVbM/60zXhXnKRx+DRZ2hJQzNBOodCaZpyZZEuYvtWdSCSILpa0R7yXYevjLaG5LfckOzuurXqeos7WB+l2q1c+6zx1KbNXbBl7QOz2nzk9oJU7CdhPOc+LOLppmsXRwwluKtmCDyKdrKAF/dANp5zGXFsognQcRctLSGQp8FbgBVQyZ+v81n9bPpSaBoUQMcH4uG9jPO6CWwbDSWE+FVYAm5kgjuW/1hqRSnOEV8QIDAQABo3wwejAOBgNVHQ8BAf8EBAMCBaAwCQYDVR0TBAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHwYDVR0jBBgwFoAUaYJoBFokrORdsxOTA8sgrosMOmgwHQYDVR0OBBYEFGmCaARaJKzkXbMTkwPLIK6LDDpoMA0GCSqGSIb3DQEBCwUAA4IBAQAxL3t0kV1dq/PGUztjW+qK6Nh4sx7jsU59JtjON6zcibJ4hM+Q3Z+cEvW9zuGkuTbLz6fKNL9VnkF1LnlWTsyRmS7bF15/7iOgfdrr0vkJKVM1Zv/tqKEpBJ7Cbc0vW/VJQxZN+OlqGNc9bcx3cnqkRwpkgM25T0dVpoWtCgMwayUtbPFbTZWHHbpzHLF2BzYf5HyW1BoKXcVPM3r/rS7RETasRRsz2GqXXdfhjCd+HKVyv5kD9N3WcFNUsaq3TqAUZyOx9bO0Cn3gkmgz05JpfhPEylXwVpVAccOoXsNoFdxEKGO0w7pk7PwOhsW8sFprdXWp6OxtL0rrCNFF/llT", + "attributes": { + "enabled": true, + "nbf": 1523989586, + "exp": 1555526186, + "created": 1523990186, + "updated": 1523990186, + "recoveryLevel": "Purgeable" + }, + "policy": { + "id": "https://myvault.vault.azure.net/certificates/testcert/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=example.com", + "ekus": [ + "1.3.6.1.5.5.7.3.1", + "1.3.6.1.5.5.7.3.2" + ], + "key_usage": [ + "digitalSignature", + "keyEncipherment" + ], + "validity_months": 12 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "AutoRenew" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true, + "created": 1523990175, + "updated": 1523990175 + } + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreKey-example.json new file mode 100644 index 000000000000..c957c04aa3f6 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreKey-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "parameters": { + "value": "JkF6dXJlS2V5VmF1bHRLZXlCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLllNSVBfTXJRcTQ2X2ZwRExfSDNSSkpzSUotM05oeUJkMXlrOWJCS05JOGdnTjMxYWg2cWVoY1BISExnSnJ4OGprQkxMWFBxcDVmMXpsaWxfclVrLUtrT3J5YzhaSTljc3NNNV9TeTN4cEk0Wnk2V0ljNWNqUFd1R0NDbUJwQXlydEdPVnpoalF4bzNyVFcxRFNxZ1pVdnI4VEpseTJQS3J2aUlfUmduRWQ2LVJWS3V1Vk40ZWZWYUs5WFZUbW4xdmZ5Z3pwVHJfVFdDOVBGbXpoT0p6Z1U5OF85X25WcldWSE5TMXVMWEpYbldoQU9mUll0VlJORVFJRU5lTGMtZzNjTXJLOTFzNk5XeE5xZkZfR0w2UHg2cVhHMldXQ09nMzU3ZkJnT1ZTdERLaVZINk4xTWVkUTVwaWFkeHhUVDZMSFpva0I0eDFKbEFJZkxfYlU2OVBWdy5GOVFiM3RWbE1LcHJDS0stWUVpODJ3LlQwTVFpYXV3MGw5TWJfRFdEY1hvbzFqTjZJWXU1OVk3U0VMMm1ndFUweDNYTDl5VHNqZUY0Y2I0NExBaF9vUDdnbUgzbjdKLVZEX3hKN2hXY01XNnlTNDlFX005aXlndDlTQ2w5ZjRTdWtpM0NZdkwwUUVSVFlLSW1qMi1BRkRMWkl3Tm1HYmE4RzhheFBxR2NOS3NSZ0daZ1lUVG9pWUxxQnJ5cmJ2TEp1ZENxZ2plUWRpNU1tdHlQRnBhZ0hwSHZLa3VjRkdwLVhtSjFLYk8yQTJRT1dRVFFaOUNlcmVCcXJDbjI0SXdhUXJVQzRyTkQydzBVQTFUY3dFZXVWQkdFTGRKWm9zWHM2Q0dEZmpaSHFjdnB6NzRKd3g1T0VpcV9EUHM5VEtya01ob3djRXBsWjhaSk1jTlFSZnU5Sjg5ZDdZWGdHZEI1aWtKenA1WlY4OXcxMmIwekNITllKamdkZEhTNjJmalZlYUUxT09QXzd5Zlg1dEpiNmQ1QVhpZ3ItSkozbGI3Y2JhOXE2NHBsYmlhck1LemFiNUhtMkxNRnVLQnI1TmFrbzVQMDBoUUJnR2M2aXBJSzhNT2NLc2RhQjJGcjUwX1ViNnJEUzA4NnUzNy1DSHRGRnF5LTFBaGlDaXhRakNNTF9rWGtJMHZEYmJqRi1feGtNZGFCVi1BdTc5TzZ6V2pzRGVlV0t0VXZWUW5CMGM0Qnk3SVdDTGVWdzIyaTA5WWk3MnpCcWZPRjRyTmd4VTNrSjdfLTVib1dteVlXNndNOGVzTjR4R1kzUGhVNHlLRV91RGc2dk5Od3Q1c2NXWW9TMHh4NlBDb3M4S0R0Y3ItVXlwUTkydGhVX0ZYZ3E5U3RUWXEyWWdWV0dQbnM1Q0RMT0RBSi1sMTFJNklpdGxQN0hoeUxvMzlqNzdpV2ZUS0RnTDVrcDdEOUUzX3FkUFprdGpWUER1M1pRY1Q3MzlOMnp6XzFrWHJEb20tNlBQcXdWUzZtUXpBVW1xaXhTaXZjcWJxalpJRnRPbGxLRkE2cWVyaDJlU0FZelRNU0N1d0p4REJSQjUtbjBNUWxJSGpDMTdkTFpoVnFEMVNiNlBycV95OXN2Mml2V3E5TGE5R2ZHbEhBNlZZM1QzUWRTQ3VrWVJqWFhxLUItTm5WZGhGTVZhbFZ2b3NySmZuSEZhWGZMaTBnczVVOUt1NHlqRDdRb1cxeVIxSVk5T3JaNHFSUXdrcG5tOU8ycnJIMXBtX1hTekxRVDRrWmNLYnVneHNvWXRsRE9TaW9iS0RYdTFNdENxdkRudnh6OEZ3MUdwTXJCdUxrVlFEVmVlUDJqNFp3TGxPbkxUTmk4YlNjTm1fN3ZUc1RQbTRJRDltanBXSThCYXA4M1RLaTNkelAxazFpM0dncnIxSEpVQU96Q0NjUTRnaWxES1o4UkVsUWUyMUJBcUo3eUVublZsdWN5RzZBV2E3dmlZWXV4eEJIa0RsN1hHZHZYMGpJMjZyd2NTX0ZIMnlOaWFmZDN3SkkxMzQyWEF2VDdDUWVoOGRaZWRKU3FYUUdqQjVCSGF5Vl9vZnplVXBfOEhqRkRoS1VkcmNJNGkwa0ZwcEhkUFhNQXUxMjh3RHUyTG5VenlNNEpad1NJdW1fbmpiUTNJU1R5bUVMTngzd3QyV1NFT2Q3QUt5S3lCNEJzU3NkUE1HZXdLSTFnc2otSENFb05Cd3hQQkF2VnFDSUkzbGY5NG0tRU04LVh6TnRCVXFpT3Y5ZERCa2d2ekptSTlrMk9fVmpjbUZrbkdKb2kxVnpZcGlRVTRYbElaempDd3NDRHFrYWh1YmNxWFdyMDhVdFBtV0hGRXk0Q0tvclZMN1VIaVhsVnJPR1VHdFN2dWN3S2RjS1RPeldsUngtRGNGMExDek1kR1p3Y2czZWk1bWl0bFliRjJVbGJOMmJaU0NQWDljOWxFU2RBUUhxUEVsNXJhVDY3aDlWeGxPc3doYW54SkZvNGVuRENaYWZObURGRzJMYTY5RXFCVjZLTHowXzR1S1pDNW14YXZEazZXS3lmb0ROeXFzdVZMdG83WXNqUk4xNTJYMDVYSEhuRVN6NG5lM2MwandXYXo2MFpJR0Q1TUhNUUhQeTdPNFdnYWthVnNKZU9mYUNza3diYjQ5cV9tQnNYME5mWlBjcWFiRFhoWjdCWUxROVhFUkdibndkM0pEQmgtX1RUN2s2WERpY0tUblZQdWVGN3dzVl80aE9HUkpkVEk2UFRmV2o1dWY4dTdxRU9BdUt5NmV1Vk1LeTk3TVdLT1Q4LVpRbDBoSWowcmJWR1pILVI0cnFIMXZfVmdRUGRpLXFXb3FXcWt5MGFaSzNDTkEzUXhXZnRMR3AwcUVXcHU2T1EtQ2hONy12eE4wdFVlZGREWlF5V1d0d3g2VFcxS2hDQldaR2pabTlBQzY4YlUyQnVOTUU1NW9VV0dsbmNOOUVuRnpnTm1RTVR1SzV2VGd3WkJITWpmUXpsSUdfeWZ3QXVtSHljSzVPT092eDk1SGM3d0RBRDJXMVdSb2h5MDV5TFJkbEJ2XzREUXJyTWthZEVwZjB1dHZod1V3ZXZSNU1jVkV5Yk93VUw2Z2Y5a3JDNEw0YlR1bUJRbG9Ccng1aDNuTHhZdzkwcmlqbG5LajVZYkthZWpyTXdiSW15Ri1xVk5NbWpTd2I1MlN0SjB3T0czeE9HZkJRRHhQWHJtSXhoMERSOEdzSzBkeS0xSElJZWo1LW9STWRfSjlhVkt6MFk0d3g2VjIzaC1qUDNxMjRKYmF3dndsQTZyVjVpVUZkaDZKUXJpTU5DLV9hRF91X181VTd0OENIN1pWQ3VQM25JaTV4N2dtcWFsSzNlZ0htM3BkYl9sb3dYRTRaRUJETHZ0a2lobC13LVBGc3VZb1VKSUZWcUZ2VnM1RW5TU01XMFBJWE9TZlZNWW1KWmVrYmlHX1FqeGtCMjNCaHpZclNqQ3oxcW5TTXg5a3ZicDlRaDFuZFJYSkpJUFUyamVIdUxCNE9nVzNoenluQ2FxQXZQRXVHMlhuS3B4WGZ4QUtOeldpTElOLTBsUTRfUXQ0dHctZmphWVJVVjVLVWpyYlZnazI1MDZIUG1ZVEdWUVdRX203Z1NBU1BaajZEYklua3U3SzhFWnI2b3d1SDI1M1hxazlrSWwyTE1CcHZqT2tOTWFRTXhLcjItMllkUEV5LS1mTUFQTHBfVU15MnhqbEtMS2s3blhJdV9IMXZSbmdfVlVyVkhuZUdqRmFuODdRRU9SU1Y3clRBcHJPMmZUMmpfOWhoNkptdFlrUXFnRzg2WXlKa3NValdzM3hwZGk2TlBGRUxqQWd5T0ZDLTRrTWdLbGdJM2lUSElCV1Ezamp0U2UwR2N0MUs3QnBCSlJySUFGLTFVQjZKVDZjSjI4Z01zd0k5OGt1ZDVob1hZbVQ1bEEtWmFELUk4ZE0wcUZ0SEg4a1lXX256em85bTY5LWlZZlZfd3N5Mm1CdnVlb05RZGRRS0JrbWlVTW54VjkwdEF5RWc4WXJaWUwxck9jWHFjb2VJNl84UmV0bXZZeFZNMWJwdXFfajlmTXYtelRBOUpDZXlKMXFBTjVWQWFpY0lnZzFKWElDTEI5amVTT09zUXcxYXZxdk03TjFBcndDcjZvTUhycTVaQ0VLODV5VmI1RzhjY3Rld29pSFlzdVlPT0hnSDNMbmNoV3pmSjNNaUVjTTZfVjdSZHZCUWQwM2tQekdFVjh1STJ1aDl0bUxrNkY3VUt6WU02RXhJNW1LUEM5LVFOMk14ZTB6NDZrZTJteEdHR3cteXFMNjFHR0FpS0FjcENsSzVHeHlRbVBuREo4RHFKTk9WWDNoX283YTExVW8zMmtkdEcyaHVYcERVc2F5NkU4VGJ5R1dFZ3dmWDdaVnZrN1VNM2VqdDNqWXBxYmRZSlBNTUJCMGdNOU9mSVFjS0lUcm9IMHJEbFE2Wmt4UGM0ZHBlQ21NMzg3NXBXTlFrZzFKSnVRZzN4cE9WZ0VGallabEVENTBFaVZKNzg3cUM1YUdtakxRWl9yLVA3X2hJN09lcExWZ1BHSEFTUkxsd0dOLUZwTDc4UW9VempfWHUwNlBkNkF1VExtYmpoVmlERC11ZG5xdTVVR3dKNGxZamJqSkNBN3VQT2VfdWpzUWhZd1VHQV9YQnlsbkVySWxMN09YSE9UeGFEbEpHSDQtNHdNcm9hbmhPWTVoZ2NWZHZVQlpVZ1JEVWg0MGwzejhGVWJhUmxpaEUxeXQwdU5vR3F3TWRyWnZoTkl3YVFjUFlQeVV3UTdBdWh1dl9qSXRVcWlGQm9ncnlSb3Njd3oycXR0am12OEFRWUh5QWx5OXVqdmJ1cnk1TGNJaF9FUWZUekJuSnlfcDVZdzBDWG5CSzg3ZkVIOHJhWkh4V0VUcHFseHlmWWRWZjlQakRYTGJMYWJWQ2J6TXNSMnNYZkFvNm00VmhnaEYtQ0dOV3lta25EMDBUbWU0TGE0Vy1BLU9lR2o3Mi1uOFZjNmI5Zzc4d25tYkF0dGRyUThQWVdLUXZjdXlEbHZ5RUdHSF81VW10bFN5ajJKbHRLZXN3N1dzai1hazhDWDFidGRzU2xoQldjYUJ0dGozUmp3bEN4aEQyTXlWdHR6dDIwN3JPQjdxdEFJeVg1enJZMUxaSHB3RW1NeDhkWnM3NDdlY2ZhZVM0ZFFCWmN6U3lCNFZFWVRRWGdIeWdFX3EtYndfZXhqNWs5c0RHeHNTRnF5elFCVm9VOUtlbmFtZTRESnNMWFdaaW51UEhZUVNtWDJUZFBabXNkSHhCa3BBcHJiLUg0SGdFSnBPYWxCa0d3aFhza0hwYjZUTkhQeHktb09tLWhBaXptTVZPZzlnTDJOSHpSdUFtb0kzVTRFd2FfR0Vub3d0ZUFRU0xlY016WjZxZ3l1ZGswcG51UnlONlAxbTNCU1ExODRXUzNqeDFDNDYwTEFKM2FySS00QWV1aW5fMFZYM3FHdmEzNDR2ZXQ4N0RSN0liTUUzS01rWWtUdXotaHpqbnhHVVQ1cXZhWnYwNzdQVHExbTVDUVBUZGVlNlNnMzRmLXlseGg3MGoxSS1OWnZ3aFAyTFZ2OTJkdVZ4SlJSN3hzbEp6UzU3NXE3aWZ1UEcwUnp0NE55M1lESno0TWVDTk5wWklwTUJKeGR2bkc3azhsbXlvQlVRYmR6OHhCdW5YT3FsRDFHU205M05LYy13bzdxZnpJanYwWjF6WVpwLW5LN0o2NEUtSnp4MkQxZ2xJRG5vZGw5R215UzlwbzMzOUlZYU9QZlJnSTNad1FTVkdwcEJQN0dNRUdsRkVxbG83bTUtNFNZWEc2SmRYYU5yM2lRVmdoUEtkQWVpLWJDTEFQbGJGSkNFQVU1NXJfSEVmS2xUNS0zNlN5ZHRlcWFTZEdvMVhGRXpadWFILV96OEJsd1hXME4wdFJpdHo3SXh1OU5BTkM4R3V0Z2t2WHVFUl9Obnc1VUlsYXJlcE02VERfWl9lOHJGRDdoYXhWMVd0b1pkOUJTd05iUm1JeXU2Y2ZaelgyeFNPVlJVSndWSEctWTNaRGRpcWtzb19XR0J2TFJKQlRWT3NvZVZucWUxWktqb0NRSzFEYUZPb3B4UDdTTWhwOVlpY29XRk9VUU5ONS1EQjMtNjhDbURzdjE1LXMzRFRxUUM1OHhpd2JZLTRuWWt0eVNRV2F5elRvYlZOWG1idmI5SzktdWowYVRWRkx6SDFHMFl2TG1oU1NTd2tfM08tY3RSUExFblhQU1FWNkdVT2p5d0xIT1hTRDZfY1lTN1JrVXR4Mmc4bV8xbmhJUW0wOFd1aTVNSkdQR0JEb0RmN0szd3oyMnRnUVFXTDEwY2J0SlVvQkYyNjJVaUg3TE5pMjJWQ2tsMElYMVVRNy13cEkwcDhkV1NvV282U25PYTdkUTVpQkliZjlQX3JRd1dhYVl1NV9aQlpwQ000VXFWY2dhR1NZVnNxRHpXRVY4LXRjazBYOE51STJyZ3JSOTRDSnhjSms5MWwtb3owbldhTUFocHJubjJfd3hSWEdOYXkzNmJqU3EzWXhNMXN0dDFNN1JjenU3UTJQei1mZGpHWUFOSHZxQUtYUTZpbUphQXNwbE50Skh1SUp1andyTlRQd0ZzNGE5bDRkWHdNMDRRSWZoYzR5em1icDlYRjdVWVU0MjNXTWhRU2RMNUpaTld5QXVxOEFuRzdtd2dTUDNUMjROVGh1U0Z6Zjd1Tk5ySmdfUFk5VUNWcmlPS3FEN1lVS0FSZ1FFQ0EtTmthbG5YU0V1VEN2azJpZkVYOEh6cTJJbDV3TEZyOVFKVjBmT19EUkNyUzVzRHVaVmJ3RDI0Y2VqT3libWd1VWFuTDhiMklqS3h6TFVPT2tlMkVPNVRRTXRQUWZjeTYydkV5c2NwQzJFYXd6YUN2V3ViMVNXS2RZVnUtcVBzdFV4eWlPUHNpcFR3V1kzTXVNRkpwclNscWFVUDFJa3N6M0Q0VGpqSElzb0c2TUFsbFRZcUItSWpuSEhmYzI2blM3cmExeVVjbHRIRWtEd3Q4R1I2bmctNk9XNWJtT0J2VFFDamRUUDhSbXZ3b2tIRXZGQTlXbGs2OVZIVFpFSlNaNGdRZXFzcW83SEJJQ0h3dlViOW16YkhnaU50bGQ1WUFHT3V1U3BOTE1UcTM5LTMzVVZoTjBLa0hLUXZCenI1OXFmaFBIU3lVRnVMZzI4b2pYMGRvb3gySlFEZ1BobHZVYkR3cGluREJqVHBiMDdsY09EYVI3ZWN2M0tDOUhJQVdreDlhV0lza21Yb0FWYVNWTDBsZ05NQzNHVkxSMURfcGVoQTZySWs2Rl9qbDY0N0w4SERqRFJEbjZRRnRIa21BYW10TU9WSzdPMS1UXy1UTldwaDZ3YVFOdTBrV1ktZXAyRERndDk2enRYUkZTVWdNOXJMMnk3OENOMkVFWW1mQUktM1VjamdUblUxRnJXaEZ3dC1JNlVmNFZwNlY4XzZxTjJzVDJyeWFLWHo0Y0JJY0NoNm8tS0RpOW95SDV3MFF5eDhWb0xTNlN0YVEyYU5FejlKamctZ0N4aVp0Q1JYeWlnaWx3NTQ5VWFWMldreHR2bDZkeWRmZmFTM2ptYUxqaDRmOXhHa1JQRUdqZmZvMVY0dUN5QkI5QkNoaVVCZG1qVGxlVlJROG5Ccm5WQW5qYXVIYTRsV3VkNkhjSzU5VjJNTlpNTVdtS0tvb0E4cWtuMzVUY25EdXluSjJITUNnZElCSnVQVU9TeTI1QnhuZnA4RU5NSlZrV19UeU9uTXk5b3JtNTVobHhmSjRENThad2FRREs0QWlFZk1IVHdJc09uZ2pnU0o0S1JDdjFRa1NVeDdYRVhNU0lNUWtUYTBqS19aNS1PQ1ZNc3NBbzEzVzg1VlFKbVpDQ0tZRzZWbS1ybnVYSUdZZlZWLTg1OG93OEJZUGhDYVRhVzRkVnBLWERDRDVfc1FsamdJSnd0Vmc0T0RKY1dxelJpWWpUaXMyVzVjdlBvT1haNUIyZnFaVTlCWGVPQWM4S3Y2a2ZDVWp0OFV5UDFTaGswN2xtZ1A5b25PMWJ0eVc5VnhQSE5uUHcxNjZDeXJmVVcxaEFHQjB1YTFNYmtEVTdfdk40SlowY3VWNV9iLW9sUm80eV9yeGQ3UGRWREJsZHBWTUxsV3haLVhiV1VqdFpTVndaT01rOEtvV2F0bld6NVI0S1ZLNkFnbWJFTHhpa1MxSjYxZ1lJNlhTcm8wRnF1N0dNM2JXdlZQYm1xR3Q4SV9UcjNHamlKeDZ3OUhvZGlLbEZQc2JMakE3OWJuSG5DcHdwSEZBWGI5d3E3dmMtSF8wTU1WVGw3eE56bzhIZ1FfR2tPWEl1OV9uMVJiZS1SRDRXUmlId1RuYm5ZbXpHNjN4b3dHTlBJN2c4R203ZkxfTnpDWGhveDdUSUhXMjh0WFFCeVk4ZmR3X3YtMUtvU2lhSjNwNHBJUnlRQm1rQnpmOTlGRlpPS2g1bUxLMnBrSE9INWFlblFFNng2cHFDakNkcW53Uzk3eGJ0Skp1TkF4M1V6UDdHM2l5WlN5ZWw4SEd0YU1UZVdITzFuaE9lZFNlcTVhaGk4dEFFeVp2MFFScUxsQTRaQUxrVGh5ZUNZckpBd1cyaUJaOW5DRUVnemxqT01wdTJndHpDRnk5WktZWUloaWZKdVQ3dlBHdVhGTUtLVlg0WFU5ZmVoOFhIMUVWbnZ4cENuRjl5eEZneThuVW5CdUdsRkVWOFVCVU5oOE5BcElZY3BlTDd5Q1F5bDZQN3Fock43SEhINEloNmhLS2lVaUItWjRNMHJUSk9mZkd6MFhGWmlaSDdYT21KazBNc3pCbEVhaEFFbjJTU1JaaVFXTThsRFRRcEdrX0p3QkpRX1FVTmtMZnhCcHpsSzBUMGFxS1d3M2doWFktT3FqelM4cTFXOHVBYzNabFRUMFZHRWdWdU8yNl9vRXpXTnZYYnpKMUVfVEFxUkVWS0xfOWFlem1zM3JqYy1GdldSR2pMV09OTXhUdGw5ZzE5RFdhbFA2alJlUlJFeEg3djBLTEdvSHV1RW5IVHNQX2hsMnZuM05WWWl3dFFualFCOXpiMjZKRmxwZzZFaEF1STN4bFZMM3hwRE9qZUlPNXM3MllKY1MzcjAzYkIzbTVHMUljRVU4SkR2WTF5MjJQaG5iOGVmNno1cmk4RDY5clVLWThFOXFraExXYVhOMjRTLTZBYjNRZUtKcmxIR09yaEc2ZkpCdElqTF93Rk9kWjJqOFo0bVBZdmJaNUNEUTdnM01yYVh1aVJ6cWdvdXk3TkliempzOEZETkQ4ZHNMR1Z0OUNLanRVMnR5a0JrSUpQZlhrZ3U0LUpSVFRETjNINGdwek9md1B5V18xOXRMdlBKNEpRbHlzbnhKaEptSW5TUEtUUTljclJHVFFlS0F3THZZemdCMG5QWkIxd2dQVWJHaXRsaHlTV1pqbWplVU5oSnNnb0Z3ZHRFdTloTjRDejROWUVLZ1ozWnBKTC1sZmVJbmp0VEIwN1A4dWtpV3FHeGNBaVI5TDRPdl94VmxNYm9hblduNENNLThVSnZjRGhVRGtpTGt0eHRJOE03Zk01bngtMkFSX3MwcnlDV0F1YmVmQUxRdHVEUnQ1MVZrZnlJZkJ2UWFyb3dINnpIX1ZfZ1lJWFdOdDlvTElMT3FrNHlqcmR5Z0ZXWTl2QXZQN1Y4Q1lraUZuSVVrWGNaeUNsT2dmcTM5bXRKeHBMM2Nzb3VaWFRIcDExZ0xibWRUNUVTbjIwRThiblpEcTVvSEVEWGxPbGZHSE9ldmx6RnRCX1V4R1h0S1lYOUoxQWlLekJyZGI3QmJvemRFcDAteHVpeTZYRFp1Yjc5LW1LcnVQTDJaWWIxaTVoVmpRQUN2RnAyUHBaT2k3eFVmSlJoT0Z3Zi00OUphVE9XTjMtYVhVb0N1a0NpMWdqODhkQ29QWWNVdWs5WmxNelpkV1hJcDlnQ1gyN196U0U1WURCYWlWQ1dPc3c0Q0pGYmMta1FUOUNaMzRkU1hiczZ4S1N0OS1haHI5b3NpY2JHY2laMUlDV182WWRLM0l6ckh1UUV6TnNDQ0tEdW9iVVFRZFpBUlFMeWFlR2w0NWczN21Gb0tQN2J4b01aY1AzRjB3MzdBR0xMVzFjVi02dU5uaWhZQ1p0dThZckZQdWF4aF9VVUxPTk1SZXN5TFVsRHVydmxuQVV5ajFVMU1TbEMxTGtPbV9VV29NdVBzX1VqU2M3SDc3RTgwcmd2QmZCQTdaMkRQMmpWOFFRUmI2Q1RieEtpRkk5TFhmRlI3MjlFcURZVXVRRUk1ZDN0Y3liN3U4TzJlQnZfVGo5TzRPREx5Wjk3Z3BMdVZ3dUpVb3FqQVJnRU91U2lHdWwxaFJxYTl5NlZ0ZmpMNE5qajJJYjFsY2JyQS5OcXpkcGU4Yjdxc2MzQmpYRlhaWVpR" + }, + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/KeyBackupRestoreTest/d7a019f5da8843aea30722a7edcc37f7", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "v6XXEveP0G4tVvtszozRrSSo6zYDOScH8YBVBBY1CR2MCXBk-iMnKgzUyePi9_ofP3AmOxXx-2AsLC8rxi6n3jQNbGtIvQ4oMdUEhWVcVkmwdl0XyOouofEmIHeSxRg6wXFG4tYAKLmKsO9HqmU5n7ebdDlYngcobc1xHsP0u8e0ltntlgWBlSthmY8AMKW9Sb_teEYhilbkvt_ALr00G_4XHmfq7hSOZePWbGSWQW6yC7__9MrlDfzaSlHyBIyLppPEB7u6Zewrl_eNJWoUVrouIGA32qNETIOr_wxXRVGKoerTt-wFC-CXPn30W_6CmKSxoFBNvnzijg5hAU9V0w", + "e": "AQAB" + }, + "attributes": { + "enabled": false, + "nbf": 1262332800, + "exp": 1893484800, + "created": 1493938217, + "updated": 1493938217, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreSecret-example.json new file mode 100644 index 000000000000..fb5eb370b2b9 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RestoreSecret-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "parameters": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUppTlRjMk5ESTVaaTB5TlRZNExUUTFZbVV0WW1aaFlTMHpOMlZrTURkbVl6QmpPREVpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLmhERDdfVW9aU1ptR2JYN1dYUTU5WDkxZ0FQb05kdDcwZE1BbmgzbjQ3eWNjbkRNOU5vTm1hY0NHZmlNeUwxU0FlZDk0UjhBNDAtVE81TDNfQ05Qal9pdWIyaW03Z21nbHNPNnFFUVVIWU1tOEh2Wl9odFRrdEl4QzRPWEowYTB0S2hscnczZlBvVVFDZHVGcFg0ekEzYTR4VTZXTUNfYjZZVXZqUjZnSGM5TFRUR2tIazh1RTY0aVQ4cmt5RDRrU3RNcXhnU2lfRVZwUUdjWGdfNE9wQ1dBOUFha0N1NkpybGRaQW9BLUtXTWpQbGhaWHFYWGMyVkJlbUJjRTQ1YzY3QWhqYjJrSi1uQ1c5dHBjWS1JZ3JEUHFzWkswOS1WbHVtcl9SbzQzcG5FeW5jVFpTdzZlX1h6VnN0dUFOZHdiM0E2OVR1c1hfYkJKZ0J2SGQ4cDJSUS5WMTlhMVRacjZ2UjJHdEVaWGtOOXJRLmhwMU5IMmwtZklWbVgwWlNfTlRzekJfUEs1aktDUU5rSnJyRUhRQmZjQ2VjdHhmVU5uVlB6MVBqRWNDblZuV0pCUk4zTlFKZm01MjFLRHp1MzBIVUFEUGVmVHJyMFVFS2x5QTM2cThoWFY3VTdoQ0dHNk85NVpYclRsZlVENDI5RTNTNTQxdVBmWGpGR2cxbHlucFNTNnAtVkFzaXFlY1lpQWNuM1hhNzRhUm5xS3N3ZzhyU1ZOX09hSVU3ak1VVUhYZWY1ZmN0NlFrdWFfYkt6Z2dtR2ZiT2RTdVdNRmVQaF9mMkJMUFNGN3k1NThEMFZxSVlNY0JJR0dMU3BQUU93Q094OFF3Y3NVUEp4ZDFuWkVYYjRVNEJZYlhBcmFMX0NwekYxZlhYWVBsdmVUSGdKNVdrR28tWXNJVzAtT3ZqVGdLN2hIamxpR1psd29HOVUtbTJSVDZfbkhseHhVRFMyY3JseGNmay1OOTlXd0tEdUxFMTM5ZE1mN2RCSEl1aTdxd0RXdm1TN2JMTHYzM05Wd19XSl9DT1VGQjgycy1ELXk0UEdIRzVackhsSDgxa25mLVpRblU0SmZfY2lhMWhmWlY3ZFMxb21UZDQtNnJwZmpTMGxFT3VfZTQ5bUpYUGFpZ0hyLWFQYkFzTXJJQ2JvOUVIR2IzMXJ5SlR2QXF2ZmJDbU10bkdLUDV6aUNiZFh3SU5ONzBJTk5lZnJLWGZkZFBUd0RSV3d1ZkxCcGNlU0U0SG5EWVZVQmdkMDl4UUZidG12UDhhTXhhUlpGSTNpWG1fbmpCNmZfdlNhZUNUakdVYVVuRE1QQkdOQWQ5T2xVX3dvUnMtalNCVnVqd1FQSGlGcm5RWElkXzBRdXRYSm54cTU4aUtlTGJvNDJtOHgwaXBRcnB4aEZoUDdHNmZOWXAwVmxXR0RxZ1Q0VlpPQkZsZWRKUU0yaDQtb2xTbXdtUms0M0Y1cjdKd3h4aENqU1JReWx1MGEyQ0ZONWMyZjIxTElZaFliLWNReWFXMDNpV3hsb04zWld5cDJIb1FlUmZPR3lXUzBiU2NBT3JndGpBYnJaUFIwMGRRNnpSOHNBczFYUzh3dzBlaVczbFpsdjJwVWFxOVpTeVhnTS14b2NTOS1ueXRaWGtWWlUwX2dDVXJBV0ZKNG5XdW9oTGM1RkkyRWFQNWR0SXVWa3dnbXlsR1gtYk9ZeHp3dzVGYmI1V3VEbnJ5aDBMSnVic3Q4VXdLdnl3bk1jQ3duMjZSVTNxQVRudGJubVhJS0FyeGkwMldQVk9oTXdpUWZuX2h1TWk5emp3MEVuaXNWdktNWUNnR2xqNWlGZW5Tc0FKUXBiLUY4bng3OWFJQlJaTUc1a0huUDR5dGxmNm9FTkRsRXNJY21aeEtOdEIzcmJPdVROYUhLTXZBNmxSNzlMMDJZSTZrcEdrUUZnaHpIaTBjTWkwbFdCejRTM1AzUEMzZElZSVlQZ0Q2S05kT2FLWHkta0dWdUlsWFNmVlVrMnpzM0NBeTJhZEJjV0NMV094ZkRoQnlwNTl4MHpBRExvdnZySHRLOWF6TGN3N0lTbVl6eUhYMkpobVdReUYtTFd1VzhfcW41SkFVYlB5Z0RTRDYyMi1PTGZQVDZmc2VTWUVBUTFLVWRwZTFnSV9hZWxVT3FaRWN1aE5SckU1YUp0LTN5TEVLVWZIWXF6WTlGbHJrUE5MUC03Y2xRbmEySEhfZmMzZV9LTGtGUDFhQTJjM0RVaERseGhsTzB2bFVmV0c5eXpXaDNZN0NmRFlFMlBaUzZBcFBlYy0wa1NDcEVKMmtCcnFzWG4yeDJDX0FDdTdCTTVGZXNJQkN0M2NqSEdQSVVQRnEteGVmT0RCXzBQcXZDTXpBOHg5Zm10Ny1sNHhVQlJaa0dtZExhZFoxVzdFUXRNRVpsSWMtbDF1V1UzTU15cFZpVWR0OWxJUHVQVUEwc1NrbWxrTGhNSjgyNE5QN0hyVi01dC1ZNDcxaWVKMHdEUjFxMmU4MU8yazdNeTFlTDY3TlY4OVBHYU81SVR5WG1ueUVXMGtVbl9qa3l1UVRkV3dsS09HZVZIYkJWNFpxSXZHWjdQUS02TEE5eXc3a0dyZFRhVFZXOEdOOV9GY1c2VUhjbzA0U3dqTzY2S2x4VlFJWWpBdEZPZlBjWW5xNzF1RndyQS1UZHVDZG1sUFBHOVpjc2tiQmdrbF8wVk90dmhuc0pwYXZKZ2Zka0d3OF9qMkQzd0Jzemd0VndHNk9nNW16eVFwM2pFc0w3UmNtcXd6WFBOaDdKYXdHVDBJMlRvZHYyQ1Z3MDkzWjJlODFXR1NxRnlIejAxdjFBaGN2T2VWdmFjUGM2Y1JJaVduNW93ZF80d2FBdjlyNjVVdmtWa1FLRXpHUmo5eTZILXdZTTMyV1JyMzBlOU9MRTNKUU5POV9kNjRTRmIwSjZHa2VxUmtnNkVXc2xqN1JYLVU1VlhrS1BtMzNpS3c5dGU2NVBqQUNnZThRVDBYVWZEaUx5a1pGeUdpZ09ZMS1TVDFxUlE1eUhMTXhEc3BPRjFXd1lMQ2c2b3hocTlWMm55Z0U1cUJ2ZnYyWUtFaDdjM1dWNjJrYkw3UXJ2d0xkMHVRZ1FwYmUza3E3dGJzcC1lNWlud3cyY0YxQzByeHNScGZJRHlJMmg4b2xHMi1RQUZkWmtlMUlmaE1FZmNfdUdXX2pqSGJSWXVzYnZCRnpKMDdaOVJsVnFMR1A2WXBnTDFsRTFOY09xUVJyYVdxckdDTWZ6SzZMVENQSl93aHJRam9WTzdVRDJIUEVnUjZ2S3U3cWlmTmo3UjE5OUJuRi1EZmlnbk1TYTFKZkZadDNuVXVZOEhMUXRoUzN4MUMxOE50d3dsaDVuNGxYS3d5MERHenljbVNweE05QkdPNTFRckFmSXRfY0xHbUlzMlJ4MzMyeDRIdEZ3Z05nRzFBazNIUno4TlJ4V3lhNWhjb1NoYURXekhES2gyOVp3Vm4wYXVzeWJpal9uNlFGcnZZbjRSOHdPNlRQV3FrS09JcHkxc1lQNWxyNDc1anZSRVZGaFdCWDBiUXdJdnNlM0Q0a0dFQzgzU3FWYkhxY3phZTNwOFNxaG5tQW5ZYzBIbWp4clJfZUMzT0hYVFBGUFZmNDlVWHdrQjIwY1lvcjJ1dzBaTzJ2TUg3S1QwcjBSWDBQVy1qcGpORFpjSGRSNVVCMXFacGlWLWxaYkw0eF9IZW14aWUxY0RPOHNQSXhIOElUSWtOV0tTR1N2eWdraHBBbGl2RzVEZXJObElkeFE2c0tHQ3RtMDEyT2xjN2thaVFaNHh0TjR5ZVpPU2xyS0s0OTlIcWhObzhkNTNsbFFfMW5ncWlHbzhUSDlzWkFrclYwclc3dkJOSF92UlhBdTc2MnlpZGhZUURYYXJXSEFUMm9DU2hEN1lOdnotekoyZGtEajJMcW5CdFNCWFh5T2xsM3o0ZWFITDd2MDZ1QTgxMVBKQU5YZUdoenNaNFVQQUQ2Q0E4cGlxSHB4WGkxODRHNEJETVU4S2VHeHZLWnJiUlNOT2pTOFNrQUJKZERfSklIZ1RhNEFhNzdPUmNZcVY3OWZ5djFZVHNma2lLR2NUYzZIUjZzUVpsamt2U0NQNjdtTTRGUHRqTHlfX1pDQlNwdnRSVWd5UlpNM1dSOUViNHkxa29uRG4zUjMzN2lpSzdfbGtIa1UtZ21VbUpZUVdnUjYzT01pZUdRUHdNR3BSZXlRWE5yckJVTDN2Z2JYdjlac1ZDcDh1NHRwQjBleXJvUXgxZC1KSWJvOWVyR1VlX0ZzU1Fpd0tIaGFIUk02Nzh5dENkcHJFbDBWeG92TFVrX0xNcTFjN1R4MG5jbFl2WE4yUjhEMXNhU2FibkJSd19CU2tZMFNMSXdhb2RpY2o2ZzdLd0ZfMXB2eThhNF9LbnJNLUNkenBvdHA0aTd4QUJuY2JRVUEwWkpsYlp1elRpR0F4ZjFnclk1Z0dZOTVoWi1XZG1lOWlSazBHRTJGN3d4MlJyLUVvS3lZRjNjak0xMWt6MWFmME9fNFdyOXJoU3JrX1NHU3l2a3ZCTW9NZ0xOX0tSS1BlTjlqUnpwRlVST2VnN2NCbGlhdy1odnZhY2lCeDN2UWRqTE5jTldQdU1UbzVmME1QbmU4TUtXcFBoWjBySElMaEVuYW1pcG82X3pzNjczcE9ma09FS0JWWE9mUDEzR0UwS25SWTBab2JPLWRub254LVdBY1dodFZvX08xbkwwTWE5ZXFMMURhRGhJU0JNbVRIM1hkY2dDTnF0emIwcVMtS1l5Mk9zRzZOakRDVEM1aEI3MXIwU09WMUprNFV2QjdYemxTTW9YUXJnTzF2ZFVwSGtxaVhUM1RJZmlQMWRKcDEweDlSMlp5R0lzUzljQUtNMEZyMGRxQmJmQy16NTJpcWZweW4zUVVqb1Fld2hPYnJwUEZGOF9lUmVNRlIwSXZjUkxnMHpwek56UzU1N1pkQkZhemxNTThLcnkwN2QyUDAyTnZtclUtN1ZjOW8wZm1qem9WOHVVTG9PMkJHdmFRdnFJNmtBTmQ5VWo1X2JkY2NVUzBhcklzcGFZa1UtUXQtNnQxYU5YUUdGZEtUbFMwSVowek54bkNIZWRySEE4SkYtOFg3d1ZpRW1McXJQbU1Sd25sbWx3SnhxLVlReWMydmdUallSbUxCVU5TS3VrZkJsa2VnMmlCRWdySksxVlNyRWswX0ZvOXkzV1EwVlZuNXhEZXlGc1JuWDI4Tkl6alFQLVNXaHhYbzdPYm5YY1cxZHlWNE1fYjdzM096cEMwOTJWcGZYQkpaTDhBeHgxNGY2TmJzTEpXLW95VEdsaTJFb2FCZHJKQ2JkQlNOdWJlbGdRRmU2V2hqSjRGdlNrYVJISjFTT3ltbGFtQmYwaVNDOGM2X1g2SkZORjNmOXYuQjc5SDJvbVIyTU52SndydHVzclJ4UQ" + } + }, + "responses": { + "200": { + "body": { + "contentType": "text", + "id": "https://myvault.vault.azure.net/secrets/SecretBackupRestoreTest/01ddd6e3a0d34d35bb5bccecb1251837", + "attributes": { + "enabled": true, + "nbf": 1262332800, + "exp": 1893484800, + "created": 1493938113, + "updated": 1493938113, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RotateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RotateKey-example.json new file mode 100644 index 000000000000..45bcb0614c94 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/RotateKey-example.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "Key01", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71", + "kty": "RSA", + "key_ops": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB" + }, + "attributes": { + "enabled": true, + "created": 1493942451, + "updated": 1493942451, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "purpose": "unit test", + "test name ": "CreateGetDeleteKeyTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SelectiveRestore-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SelectiveRestore-example.json new file mode 100644 index 000000000000..4dd1f4bb2266 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SelectiveRestore-example.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net", + "keyName": "hsm-mail-key", + "restoreBlobDetails": { + "sasTokenParameters": { + "storageResourceUri": "https://myaccount.blob.core.windows.net/sascontainer/sasContainer", + "token": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCH112BxhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D" + }, + "folder": "mhsm-mypool-20200303062926785" + }, + "api-version": "7.3" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myvault.vault.azure.net/restore/45aacd568a23b0s49a2803861e8dd3ase21f/pending" + }, + "body": { + "status": "InProgress", + "statusDetails": "Selective Key restore is in progress", + "jobId": "45aacd568a23b0s49a2803861e8dd3ase21f", + "startTime": 1490790000, + "endTime": 0 + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateContacts-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateContacts-example.json new file mode 100644 index 000000000000..28b79f108a28 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateContacts-example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3", + "contacts": { + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/contacts", + "contacts": [ + { + "email": "admin@contoso.com", + "name": "John Doe", + "phone": "1111111111" + }, + { + "email": "admin@contoso2.com", + "name": "Johnathan Doeman", + "phone": "2222222222" + } + ] + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateIssuer-example.json new file mode 100644 index 000000000000..5136bde9041e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetCertificateIssuer-example.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.3", + "parameter": { + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser", + "pwd": "password" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "keyvaultuser" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetSecret-example.json new file mode 100644 index 000000000000..dde250a0d1ef --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/SetSecret-example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "crpsecret", + "api-version": "7.3", + "parameters": { + "value": "mysecretvalue" + } + }, + "responses": { + "200": { + "body": { + "value": "mysecretvalue", + "id": "https://myvault.vault.azure.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441", + "attributes": { + "enabled": true, + "created": 1493938459, + "updated": 1493938459, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificate-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificate-example.json new file mode 100644 index 000000000000..9820717220e5 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificate-example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "certificate-version": "c3d31d7b36c942ad83ef36fc0785a4fc", + "api-version": "7.3", + "parameters": { + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799 + }, + "tags": { + "department": "KeyVaultTest" + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "kid": "https://myvault.vault.azure.net/keys/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "sid": "https://myvault.vault.azure.net/secrets/updateCert01/c3d31d7b36c942ad83ef36fc0785a4fc", + "x5t": "fLi3U52HunIVNXubkEnf8tP6Wbo", + "cer": "MIICODCCAeagAwIBAgIQqHmpBAv+CY9IJFoUhlbziTAJBgUrDgMCHQUAMBYxFDASBgNVBAMTC1Jvb3QgQWdlbmN5MB4XDTE1MDQyOTIxNTM0MVoXDTM5MTIzMTIzNTk1OVowFzEVMBMGA1UEAxMMS2V5VmF1bHRUZXN0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5bVAT73zr4+N4WVv2+SvTunAw08ksS4BrJW/nNliz3S9XuzMBMXvmYzU5HJ8TtEgluBiZZYd5qsMJD+OXHSNbsLdmMhni0jYX09h3XlC2VJw2sGKeYF+xEaavXm337aZZaZyjrFBrrUl51UePaN+kVFXNlBb3N3TYpqa7KokXenJQuR+i9Gv9a77c0UsSsDSryxppYhKK7HvTZCpKrhVtulF5iPMswWe9np3uggfMamyIsK/0L7X9w9B2qN7993RR0A00nOk4H6CnkuwO77dSsD0KJsk6FyAoZBzRXDZh9+d9R76zCL506NcQy/jl0lCiQYwsUX73PG5pxOh02OwKwIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwCQYFKw4DAh0FAANBAGqIjo2geVagzuzaZOe1ClGKhZeiCKfWAxklaGN+qlGUbVS4IN4V1lot3VKnzabasmkEHeNxPwLn1qvSD0cX9CE=", + "attributes": { + "enabled": true, + "nbf": 1430344421, + "exp": 2208988799, + "created": 1482188981, + "updated": 1482188981 + }, + "tags": { + "department": "KeyVaultTest" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateIssuer-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateIssuer-example.json new file mode 100644 index 000000000000..1e18c5ceab7b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateIssuer-example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "issuer-name": "issuer01", + "api-version": "7.3", + "parameter": { + "provider": "Test", + "credentials": { + "account_id": "newuseraccount", + "pwd": "newpassword" + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/issuers/issuer01", + "provider": "Test", + "credentials": { + "account_id": "newuseraccount" + }, + "org_details": { + "admin_details": [ + { + "first_name": "John", + "last_name": "Doe", + "email": "admin@microsoft.com", + "phone": "4255555555" + } + ] + }, + "attributes": { + "enabled": true, + "created": 1482188806, + "updated": 1482189526 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateOperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateOperation-example.json new file mode 100644 index 000000000000..3fcadd4374c0 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificateOperation-example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "cancellationRequestedCert01", + "api-version": "7.3", + "certificateOperation": { + "cancellation_requested": true + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/cancellationRequestedCert01/pending", + "issuer": { + "name": "issuer02" + }, + "csr": "MIIC4zCCAcsCAQAwGjEYMBYGA1UEAwwPKi5taWNyb3NvZnQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxxM2zqnPtpH8aiHX5TdEoZLO0Y6fsjk9QcjKgnHomrwUc9vK20UYYEPKt9aGOT7HNx0do8OulPCnLPrKowci8UHu1qRW/qHvsOJQ/UrQoMCHxtXptVc7Avx8WQb045sCdgp/Cl4xO8LMZa70kE4dghZU9zmNZk8wqDIxyYdh1lqqfGe49EWOxcfszTeeKs8KCsQznjExbsudBHLLWoX4VFTGMe3VcIPcV6iFf70buHKznDMXFiRC0IYwkc/GyWIadB1CSEae8k/0evsPI5lYYZLaO/kLffEUtzysqxZNCQR+S0eVPTGTLHa+fndnPPs65XZDzSZi2fZL01oXUfCAQQIDAQABoIGDMIGABgkqhkiG9w0BCQ4xczBxMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwNQYDVR0RBC4wLIIWb25lZHJpdmUubWljcm9zb2Z0LmNvbYISeGJveC5taWNyb3NvZnQuY29tMAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBAKto/ZF9+02fQ3sLuIsRuap/O/AZz3IhAubNfyCaWvVGVAQz/Aqpf5c/liyKhxqRG6LR9Zu50oxRK5222ezR+56vJikjdXRVShf2xYsMm1CbCM1JuzsnkTeoUHHE12xx1srH/9TH+DVZIk6NXxc4wVIagbpwxiS5gR3Nly5k0ZVv7R1B79J0GUqSwK6qjuooWrBsYMEx319hz8fB/Y4jnPE8p+Cnn3AGEqnebVngXncq/QnHxnrRVfvKFVySqRvlsvM8buILmBbIaywEUqwhNtZX2i9E7reEJ8aeZcf+lAeKF3YDvffaXGTc75aiZlBk30Lv/hn0vs9T0/FedUnIae4=", + "cancellation_requested": true, + "status": "inProgress", + "status_details": "Pending certificate created. Certificate request is in progress. This may take some time based on the issuer provider. Please check again later.", + "request_id": "3dd81d528cc84c5a837c607f1a50f2e1" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificatePolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificatePolicy-example.json new file mode 100644 index 000000000000..f514d595985e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateCertificatePolicy-example.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "certificate-name": "updateCert01", + "api-version": "7.3", + "certificatePolicy": { + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/certificates/updateCert01/policy", + "key_props": { + "exportable": true, + "kty": "RSA", + "key_size": 2048, + "reuse_key": false + }, + "secret_props": { + "contentType": "application/x-pkcs12" + }, + "x509_props": { + "subject": "CN=KeyVaultTest", + "ekus": [], + "key_usage": [], + "validity_months": 297 + }, + "lifetime_actions": [ + { + "trigger": { + "lifetime_percentage": 80 + }, + "action": { + "action_type": "EmailContacts" + } + } + ], + "issuer": { + "name": "Self" + }, + "attributes": { + "enabled": true, + "created": 1482188947, + "updated": 1482188948 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKey-example.json new file mode 100644 index 000000000000..a71cf8100f38 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKey-example.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "UpdateKeyAttributesTest", + "key-version": "3d31e6e5c4c14eaf9be8d42c00225088", + "api-version": "7.3", + "parameters": { + "key_ops": [ + "decrypt", + "encrypt" + ], + "attributes": { + "enabled": false, + "nbf": 631180800, + "exp": 662716800 + } + } + }, + "responses": { + "200": { + "body": { + "key": { + "kid": "https://myvault.vault.azure.net/keys/UpdateKeyAttributesTest/3d31e6e5c4c14eaf9be8d42c00225088", + "kty": "RSA", + "key_ops": [ + "decrypt", + "encrypt" + ], + "n": "tHCSyq1FqGHXIFHs1m4riKYgPFNSTlJGPzxwfUyZJUxxZsFWMxmZRzbM3kcXC5N40AJfeqDOMs0gY0LZEfhw8kJHBf2GEH2Sz923E4OQjLk_ECdAiKPW_8t22cqD_pGIuB7uibjLZgFFRv7oe0t8cTXKn7IwAH5gQBLs8NNV7hx1Ozy82ekCgOovFldmD3c3P1oZQ_v_-jOP6O202aEfDcZut42J6zI8eYwvGiDKmo2fCPPeth1LYBOeUMnrEZGT_f_w3yAgqvuSkHCL0x4MjZzc2EoNI_3ooAHZohDaPHLRfz8neDPADZzbHA6SDn3GgvC1K_Je5GBmqjTH3aIMlw", + "e": "AQAB" + }, + "attributes": { + "enabled": false, + "nbf": 631180800, + "exp": 662716800, + "created": 1493860275, + "updated": 1493860277, + "recoveryLevel": "Recoverable+Purgeable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKeyRotationPolicy-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKeyRotationPolicy-example.json new file mode 100644 index 000000000000..55330de1a0c6 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateKeyRotationPolicy-example.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "updateKey01", + "api-version": "7.3", + "keyRotationPolicy": { + "lifetimeActions": [ + { + "trigger": { + "timeAfterCreate": "P90D" + }, + "action": { + "type": "rotate" + } + }, + { + "trigger": { + "timeBeforeExpiry": "P30D" + }, + "action": { + "type": "notify" + } + } + ], + "attributes": { + "expiryTime": "P2Y" + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/keys/updateKey01/rotationpolicy", + "lifetimeActions": [ + { + "trigger": { + "timeAfterCreate": "P90D" + }, + "action": { + "type": "rotate" + } + }, + { + "trigger": { + "timeBeforeExpiry": "P30D" + }, + "action": { + "type": "notify" + } + } + ], + "attributes": { + "expiryTime": "P2Y", + "created": 1482188947, + "updated": 1482188948 + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateSecret-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateSecret-example.json new file mode 100644 index 000000000000..49d11426aad8 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/UpdateSecret-example.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "secret-name": "crpsecret", + "secret-version": "03bcccc7c8cf4546a0e3e21e52560441", + "api-version": "7.3", + "parameters": { + "tags": { + "mytag": "myvalue" + }, + "contentType": "myContentType", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "https://myvault.vault.azure.net/secrets/crpsecret/03bcccc7c8cf4546a0e3e21e52560441", + "contentType": "myContentType", + "attributes": { + "enabled": true, + "created": 1493938459, + "updated": 1493938459, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "mytag": "myvalue" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/backupStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/backupStorageAccount.json new file mode 100644 index 000000000000..45b8c9d445c4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/backupStorageAccount.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "backupStrg01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/decrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/decrypt-example.json new file mode 100644 index 000000000000..114c3dea6e69 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/decrypt-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "4eb68492b5f6421e835d961ad2be3155", + "api-version": "7.3", + "parameters": { + "alg": "RSA-OAEP", + "value": "sid-4nG3FzRIFWXLXlG-FZo6H1-kzbNX5Exe0_VRqcGLuJWjI9oSofsn-2IagDsQzkpNAXv9V8aoIizelrK_14darhxaAV8OejO7Oh7spjxa7IxMVS3e-cwcLdEHzMbMfM1uFpDyRFqEUASHI0H8F1M2m1e9TUSXOVW3KMqm7cK94ZQMFvd4AYdLfmfnStMp_MqIQh4kpIkB6h2b1M3possVrLKH_l2L3uT-qFiwQlH9-dt0Cje5mrkpsYCy4hAXNFUPhIyBWAZwOQylIE2sPuopFs55lRIHpWP2CqNe-IK8tX87BRuJ_Vy3GIFxDjD5uu74scIyQCKMImB6xQ_-mQ" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/4eb68492b5f6421e835d961ad2be3155", + "value": "dvDmrSBpjRjtYg" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageAccount.json new file mode 100644 index 000000000000..0d14104ea022 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deleteStrg01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deleteStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deleteStrg01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageSasDefinition.json new file mode 100644 index 000000000000..4c22e68fab84 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/deleteStorageSasDefinition.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deletesas01", + "sas-definition-name": "deleteStrgSasDef01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deletesas01/sas/deleteStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/deletesas01-deleteStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/encrypt-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/encrypt-example.json new file mode 100644 index 000000000000..6a7c7a26e710 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/encrypt-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "f6bc1f3d37c14b2bb1a2ebb4b24e9535", + "api-version": "7.3", + "parameters": { + "alg": "RSA1_5", + "value": "5ka5IVsnGrzufA" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/f6bc1f3d37c14b2bb1a2ebb4b24e9535", + "value": "CR0Hk0z72oOit5TxObqRpo-WFGZkb5BeN1C0xJFKHxzdDCESYPCNB-OkiWVAnMcSyu6g2aC8riVRRxY5MC2CWKj-CJ_SMke5X2kTi5yi4hJ5vuOLzmg_M6Bmqib7LsI-TeJHr9rs3-tZaSCdZ2zICeFWYduWV5rPjTnAD98epTorT8AA1zMaYHMIhKpmttcj18-dHr0E0T55dgRtsjK04uC3FlRd3odl4RhO1UHAmYpDd5FUqN-20R0dK0Zk8F8sOtThLhEmuLvqPHOCUBiGUhHA4nRDq1La4SUbThu2KMQJL6BbxxEymuliaYcNNtW7MxgVOf6V3mFxVNRY622i9g" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageAccount.json new file mode 100644 index 000000000000..0d14104ea022 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deleteStrg01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deleteStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deleteStrg01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageSasDefinition.json new file mode 100644 index 000000000000..4c22e68fab84 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getDeletedStorageSasDefinition.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "deletesas01", + "sas-definition-name": "deleteStrgSasDef01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/deletesas01/sas/deleteStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/deletesas01-deleteStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/deletesas01/sas/deleteStrgSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageAccount.json new file mode 100644 index 000000000000..dd07b79f019c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageAccount.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "readStrg01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/readStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageSasDefinition.json new file mode 100644 index 000000000000..5b3da6d58015 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/getStorageSasDefinition.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "getsas01", + "sas-definition-name": "getStrgSasDef01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/getsas01/sas/getStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/getsas01-getStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageAccount.json new file mode 100644 index 000000000000..4c2eec77f54c --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageAccount.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listDeletedStorage01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listDeletedStorage01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listDeletedStorage02", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listDeletedStorage02", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag3": "val3", + "tag4": "val4" + } + } + ], + "nextLink": "https://{BaseUri}/storage?api-version=7.2&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageSasDefinition.json new file mode 100644 index 000000000000..b42a8d6302f4 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listDeletedStorageSasDefinition.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "listsas01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listDeletedSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listDeletedSasDef01", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listsas01/sas/listDeletedSasDef01", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listDeletedSasDef02", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listDeletedSasDef02", + "recoveryId": "https://myvault.vault.azure.net/deletedstorage/listsas01/sas/listDeletedSasDef02", + "scheduledPurgeDate": 1490790000, + "deletedDate": 1490760000, + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + ], + "nextLink": "https://{BaseUri}/deletedstorage/listsas01/sas?api-version=7.2&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageAccount.json new file mode 100644 index 000000000000..6b5730f74a7f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageAccount.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listStorage01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc1", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listStorage02", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc2", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag3": "val3", + "tag4": "val4" + } + } + ], + "nextLink": "https://{BaseUri}/storage?api-version=7.2&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageSasDefinition.json new file mode 100644 index 000000000000..e48a3db3510b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/listStorageSasDefinition.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "listsas01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listStrgSasDef01", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + }, + { + "id": "https://myvault.vault.azure.net/storage/listsas01/sas/listStrgSasDef02", + "sid": "https://myvault.vault.azure.net/secrets/listsas01-listStrgSasDef02", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + ], + "nextLink": "https://{BaseUri}/storage/listsas01/sas?api-version=7.2&%24skiptoken=" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/purgeStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/purgeStorageAccount.json new file mode 100644 index 000000000000..c2a1bdc89e7f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/purgeStorageAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "purgeStrg01", + "api-version": "7.3" + }, + "responses": { + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageAccount.json new file mode 100644 index 000000000000..969bfa0b98ac --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageAccount.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "recoverStrg01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/recoverStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageSasDefinition.json new file mode 100644 index 000000000000..c2639f53cd3e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/recoverStorageSasDefinition.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "recoversas01", + "sas-definition-name": "recoverStrgSasDef01", + "api-version": "7.3" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/recoversas01/sas/recoverStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/recoversas01-recoverStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/regenerateStorageAccountKey.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/regenerateStorageAccountKey.json new file mode 100644 index 000000000000..9d4c827fc55f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/regenerateStorageAccountKey.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "regenerateKey01", + "api-version": "7.3", + "parameters": { + "keyName": "key2" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/regenerateKey01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P10D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/release-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/release-example.json new file mode 100644 index 000000000000..0ee1ba309506 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/release-example.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "exportable-aes-key", + "key-version": "4eb68492b5f6421e835d961ad2be3155", + "api-version": "7.3", + "parameters": { + "target": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdXQXkxNk5ieFJJQ3lCUzVKckJxRk5DdXdjS2YxYUVYbS1hUDVsUlJ4UEUiLCJqa3UiOiJodHRwOi8vbG9jYWxob3N0OjgwMjMva2V5cyJ9.eyJhYXMtZWhkIjoiZXlKclpYbHpJanBiZXlKbElqb2lRVkZCUWlJc0ltdGxlVjl2Y0hNaU9sc2laR1ZqY25sd2RDSXNJbVZ1WTNKNWNIUWlYU3dpYTJsa0lqb2lOVE16TmpReU5HTXRaV1kzWlMxaU1tRm1MVFU1WmprdE5HUXdPRGhtTURRMFpHVTFJaXdpYTNSNUlqb2lVbE5CSWl3aWJpSTZJbkJPYkhoWVNuRTNPSGRPUkVVd2FXMVNOa1JCWWs5alNrRXpUekp1UlZvNVdFaGtjMDVQTjB0b00xWlJRVTh5VWt0eFlqQk9iRXh4TVhwUFRVOTVZVlJPUW5rNWMzUTRjbG95TURWYU1EWTFjalY2YlRKa1FrSllkRkJUU21Sc1VtSm9WRXd0TlRCcWFFVXpiRUV4WjFVemVYcDJaR0o1U1Zob2NtMDNkWEJFVGtKemFXeFNlR1ZVUW1KUGNWOW1XSE5vT1dGMVVHeGxVM0pOWlZCR2JGbElkVmRNTjJacGNYWktiMHMyZUZSSVZFSmZUa2R1WjBWMlFrMTVPRGRxWlVsbExWbEJUbUYxWkRsRk5GYzFhWHBLZFVwNmJGOHhORkJFY1VWdWVGcFNTM0F5YW1WUGJsZEpTRXRVVm0wMWFsRmhiakZoTlVkdmJGWmxRV2szWlhoalNtRXlNaTFLZERSRWEwNHlWakZMTUZCZlR6YzJSME5ETjNCWlVYVlpTWEkxZFZWclExUmtWVVYxYmxKSWIyaFRWbTFHZVZGaldFSlVkVmxuUVdNMVJFZEpaVGQ1UjNSRFdtOW9WRjlsVmxGQ2NESldVU0lzSW5WelpTSTZJbVZ1WXlKOVhYMCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODAyMy8iLCJzZ3gtbXJlbmNsYXZlIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsInNneC1tcnNpZ25lciI6Ijg2Nzg4ZmU0MDQ0OGYyYTEyZTIwYmY4ZDVlN2ExYzMxMzliYzVmZGMxNDMyYjM3MGMxZGEzNDg5YWI2NDlhODUiLCJpcy1kZWJ1Z2dhYmxlIjp0cnVlLCJ0ZWUiOiJzZ3giLCJpYXQiOjE1ODc0MjUxNzMsImV4cCI6MTU4ODAyOTk3M30.CA9gO0kRMHt6e9xTKopwEnDt-Mc52oAAe6zicFwX3REZd5E0m3WzJuSYS8H9iKTGL1dfusflPx74C5xLTZiHe0D2YFHYoW3efEm3r55DwkpTbA6tbDjMY7OIC9XuC7prAf4nQ5hYRk0LATzwytYIZ-c-R08ZEt5CV5XqR5MuSDKWWslPm36BHD3l03VVNEEG4hC9KuCIZ2z9YK5ofGze-IY1J9x1EwnG-y_1RF6rDKENjOROOaOH9JvohHGIfK0FKVj8_7E6JxMTQMb7K-45GfE20tTVdCs4A4k3jXNrIRcGmSK5EMrB_LbHzk0PIc6sjl-VuPZVqGxhsaAyoH3cdA" + } + }, + "responses": { + "200": { + "body": { + "value": "ew0KICAgICAgICAiYXR0cmlidXRlcyI6IHsNCiAgICAgICAgICAiY3JlYXRlZCI6IDE1ODc0MjUxNzQsDQogICAgICAgICAgImVuYWJsZWQiOiB0cnVlLA0KICAgICAgICAgICJleHBvcnRhYmxlIjogdHJ1ZSwNCiAgICAgICAgICAicmVjb3ZlcmFibGVEYXlzIjogOTAsDQogICAgICAgICAgInJlY292ZXJ5TGV2ZWwiOiAiUmVjb3ZlcmFibGUrUHVyZ2VhYmxlIiwNCiAgICAgICAgICAidXBkYXRlZCI6IDE1ODc0MjUxNzQNCiAgICAgICAgfSwNCiAgICAgICAgImtleSI6IHsNCiAgICAgICAgICAia2V5X29wcyI6IFsNCiAgICAgICAgICAgICJkZWNyeXB0IiwNCiAgICAgICAgICAgICJlbmNyeXB0Ig0KICAgICAgICAgIF0sDQogICAgICAgICAgImtpZCI6ICJodHRwczovL215dmF1bHQudmF1bHQuYXp1cmUubmV0L2tleXMvZXhwb3J0YWJsZS1hZXMta2V5LzRlYjY4NDkyYjVmNjQyMWU4MzVkOTYxYWQyYmUzMTU1IiwNCiAgICAgICAgICAia3R5IjogIm9jdCIsDQogICAgICAgICAgImtleV9oc20iOiAiQ3hYM3FWVHQyMlp2andkUy1mbU1Tc0xwYVFROEljZkdBQzJUWVdvM0ZYSVBuT3JTbVpXZFdOM2dMTU5TTFV0VU9oWHF3WENlNmpPeEgyak1yNnN1TzRRMG1mckt1ckFCLUlDNWdiRFpHR0Q5WGtzckFreVlTLTBwNHA0STRRNFF4RU9DdENLWVBZV1d1OTFkZzV4ZzVhWWpWUnlSNUczQzZPMGhhb3RwMUZMMUZpT0IxUFZjVzlIY2hESWRITUZDc3pzYjMzcGJ2RHVZdkpYUFBxZFNJR0lUOFA4RXhWRzlfUndZVFpsMktqM01UU2JlOXpqT0VFVy1FbkE2UGhyMEVGTzBoOTRkV0swWTJ0UGh5ekdZT1NCU2NKQ1dJZHdEOWxUMWFhSE5GRTByU0xKOXd2MHFHZXpSMTBuRDdWN0FMWmlFc2NzckFjd3JXVHRtbUNKTUFJSnBHZjB1OXJOMV9KUWlYdU80UTlDZjRiNzNuU1Axa0lJQVBrWjNyNkZxbXJtOEY3TmVLaXMiDQogICAgICAgIH0sDQogICAgICAgICJyZWxlYXNlX3BvbGljeSI6IHsNCiAgICAgICAgICAiY29udGVudFR5cGUiOiAiYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtODsgdmVyc2lvbj0xLjAiLA0KICAgICAgICAgICJkYXRhIjogImV5QWlZVzU1VDJZaU9pQmJJSHNnSW1Gc2JFOW1Jam9nV3lCN0lDSmpiR0ZwYlNJNklDSjRMVzF6TFhObmVDMXRjbk5wWjI1bGNpSXNJQ0pqYjI1a2FYUnBiMjRpT2lBaVpYRjFZV3h6SWl3Z0luWmhiSFZsSWpvZ0lqZzJOemc0Wm1VME1EUTBPR1l5WVRFeVpUSXdZbVk0WkRWbE4yRXhZek14TXpsaVl6Vm1aR014TkRNeVlqTTNNR014WkdFek5EZzVZV0kyTkRsaE9EVWlJSDBzSUhzZ0ltTnNZV2x0SWpvZ0luZ3RiWE10YzJkNExXbHpMV1JsWW5WbloyRmliR1VpTENBaVkyOXVaR2wwYVc5dUlqb2dJbVZ4ZFdGc2N5SXNJQ0oyWVd4MVpTSTZJQ0ptWVd4elpTSWdmU0JkTENBaVlYVjBhRzl5YVhSNUlqb2dJbWgwZEhBNkx5OXNiMk5oYkdodmMzUTZPREF5TXk4aUlIMGdYU0I5Ig0KICAgICAgICB9DQogICAgICB9" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/restoreStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/restoreStorageAccount.json new file mode 100644 index 000000000000..8646a7ea42fd --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/restoreStorageAccount.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "readStrg01", + "api-version": "7.3", + "parameters": { + "value": "KUF6dXJlS2V5VmF1bHRTZWNyZXRCYWNrdXBWMS5taWNyb3NvZnQuY29tZXlKcmFXUWlPaUkwTXpnMVlqQTNZaTFrTlRRM0xUUXlaVFV0WVdVNVpTMDJNVEJrWXpNNVpHWmhaamdpTENKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V4TWpoRFFrTXRTRk15TlRZaWZRLk1JeFMyLXh0eHAxekpaZ3ZrTUY3d2pGMWxiLVJyNWFrbHFMLXpBaVVOODJKZFJNUDFwak5iS0phRktIOXBRcDg4ODBKeERDSmdESUZHc19OOGlnYmdIZ0Q1c0xVMi1pRzdKM29Hc00taFRMb05oaUd6aGY1YVREakYzWjZpZVhxcFMzVFVOVUFkeFhpTkpIYk94YjBmWHNtcWFtNnA0dXJ3Yzl3Qnk1c2pwRnJheHNRM3NRcHBDLXZybXlVZExaelJIWS0xYnhwaFQxVUdiS0Zsd1dSODU5TmFSQ1BZOFhDWUVrX0hxNnc5S0lWSXRTTlRYYWYxUWFzUDJob0NHT19PMzkzVUNzWGp0NzRtOURqdi1vTHRoMUl6TU5sSWp0STg2MTRhTGs0RTFMUXd6ZUx2X2Y1cndKeXJOWkF1c3VWRlRieFp1Zzh6T3BfYTdCOGhGSEJyQS5rc3pPdTN3blllb1ZUUjRLc2dqMUxBLmYyY3huVE1BbU13Ty1RcmdHSUFYUFN2bEdZUDRYWmJvMFVFOGxtY2xZa3ZhRE5ab3E0Wm41MVNKTDNuUFZsVnBaRFlrUmlpd05BSUxvRS12QWtVbmZoLUczOWo3RHhqWm1zZW02bXBmOWxoZjBnZFFNTDdmejBqRDZ0dW1xSVFaWUhFalV3VG5xdDloeEw5N0lnUUV0WmtFV0VnUEJETnJJNFpYWXdNU2ZyR0FfdkgzYXU1MWpabDFTWjlGajJsTHpEblNqbFd0U05QSzc3X2RwbUxrTXNCSmMtamRteUpxYmVxdmdRcGFTSUNsOXpUUXFQM2RxN1VQV2c1R1ZDNmlNZjlTcnBoUVRKX1V2bnp4LWk4ZWR6ZUppd2hYNW9HQ043RDNDWjkxTzNLQkhmYklOX1VvQWlQVWxzazFveU9KOEVjMk5mbHhOaFlrNFRKUTFBN2xnbXlLRlNQeVMyaFlwUDA2VEpTb0JUenVTQk5OTVdmT0RaTDFfV3V5eThJcDktdlVHMW5JOENDQ1hIeEVVN2FVLW5nRVR5aFBfbWt3Q2FGLWx2WTNqZlV1Z29wSllLR3VscXZadk1VZHhLYU1oemR2a05ubFdGeXlJNXdiRUdZcWgzWEJ0MS11TThrOFZVTDdQallzVUt4S1dYbzBMblJPZmFTbTZpTm9ZTmFOTm5YbF9fVW9rd05fSWM0eVVYR3RuMFhUcTZ4anQwZUpEajlET3FyYmdiLTZoclltRmxLTUNqalVxSGtLU1VPaHVYSE9jOFdFa0JEM1hiR29idi03b3c0c0gyN0YxbHh2UVh0OVgtOUl1akN5dHBMYmt6YnJVdHZJT2puY19xTUNjMXFFTG1wZHJCTGFoMzVmWHZQZXotVk9zSXBNOGdsekhWUUgyWWZHU0UwaTJqVkxpVllkZlFHeDNwdTZPamdUc1hPUm5acldlbFExMVlNbUJkWlVqWFNlZkVlQkxuT1lBbUNtYWM0dHNTa2JHTXZzQm92OWNEc1NRLWlsQUhsT1Fsanp3Umt1bnIxdk1ITlFhRDJLUEE5eGxxZ2NKU3FGT3d3RzROSzBxamhyb0NoZDFxM2RHR2V3U2tTd2xZbW44ZlM0VEJ5VjFMYmtWb2NZZHpiWDhiZG54dHRhVDhKS0pUbjJETWxjVFpvR1hFbWQzN2ZZVnlaNm5uMXdxZExtVW9XLW5OQXc3T3RLV3hyMXJUNV9qOHZjRGhTWk1HdTF6aV81NDEyVTRLcG01dlQ3c3BpWXA4aDl3Rk5scmFjYnVjZGVlaS1zMWR6cDlqWGo2NjRuWWxoYzNjOHJubjJ4ZWlna09YLTNUSWxnbmdxeXpJWG5ROHU0dTc5TC1ObXk1VFNjLU4wTnJVTUxQVE51MnhsUlE4Y0VLT0h4QkJGQV80Nk1yVXlhbjUwODFMSlYtTVVyaXAycl9tS3FJRjJET2wxS2V1aGg5am9PeFVybUk0T19MYkduVjJTbUdoZEZSd3FxUS15U2pxcFE2OFBza3hlQmxTdDZnX28tLVl6Qkg3dDI4V3ZYYzdIT3paNFBwa0psTjVmWFRwOXgtOGNuTGptcG5Pc2hUZWxTUXRYaDMwcTU3LXJZbVJzc2t2cFZfaTZFX2JUMTk2VWtTOHo2WUp1QXh3LXdlZ2tPY1ZITUxkeW5vaDU2UUtuWDhMVFdHdjhqWWNQazlaSlNSbXljTExOcWNtRnpUU1JEbzBXMXBkQVJXY2tqRFM2VFZIdTlHSElsTG9oRnpONEU1T3FqdUMxRjEwSFZjUGxoNTc5UmczWk1SNWJoVjltSEZNOFhJZU9HTHAxZFkxbnNLY2dqRVVlUW5qcF9za0RzanJZMVVncXRkTTVNVWhNSHlEZlhaZ3libk1jSDVRaml0YjdWZktrQk1YcGRwU3pLQWx0WDNjelIwODRPVm5nVGtiV2JZQURDTUQ2N1dlLWM1ZDFONHI2WFdFb2RXelNyWlhyZmc0RVRNNG1UZnV3ZjB0d3NORkRJdW5BWDkwbnZJWm1Ualo2RktpTjBiRnVNWmRpR1NKNTZNUEZMcFd3N3p0dmVmN0xENmhjNHJESXBQbEkwTVlVWTJSLWZGakdaZ29JTmdKMkVuMGFFM0c1V1RySjRxcHhhdHB4MVk3ZUgzOUk3WTYzcEJFWEtkRWIwTmstM0tnM0ljbDJPSkp6SU1fM1VHSlJTTmRQWGlfV3ViNGRTMDV4eURzZTR0d1FXdm9rb1QybHlZNGphNlVOc3lvYWN1eGFsTUZvUFR5dHF4YlVTaXFIMEZab0pWcm84amZja2wyYklmSzRqRzN6TnJIOWU1c3VUVWJDV09wYjczeFNMMG9TLVQ0T1JSNnBRbTZHQk05bFJ0eUhtMHJUMy1sNXc0c2ItNnRDcTM4S3FRdURRTGVTcDI1Rk8zMU1uVE5nTFlUeEUwUEZDT3hmRG1RY3BOOFRoWHBGbzZLNHNrd0dmQkpKTU9BTWtIUWZnMUM0c0V5cS1PLS1FWFhjbVV6QjJGRnR4c1gwR3o0aGJSdTFiUlhXcWMxU0IyUk82d0JsWGdPUmJqZjJlLWJQUFFMdmtGcWR3bFpUTE1kaWVUdjQyQmd1SFd3dzI5OEVqcnNNUXg1WG9aRG11MDFRTzlZSjFmTEYtWjkwWEVOU2p5OTM0M3UyUHhrNjhheG10bnp2ZTdwd3Q3Z0ZMMUoxZlZEd3BqMUtBZDdwdGZoWG4yUzJmT1Bfc3JOM3QxNk1qX29qOUVLQm5VNC1jQ3RLWGRkZS1EWk5zQkNhSGZ1bEtHSkFHYmx1UWs2Yi1kQk5oUS05Z19kajdfcjZub2Z2aDRielEybGlQd1E3M1RTazNiQTdzd2EzclZ5ZTVDTVNlOVotNkVKV1phek1sN0w4VUJ3cFllN0J0eHhUNEVBVGo2SXBvYWhGNTgtRHpiMmRsc1c1ZDZIWmpYZUNMTGtVRmQ5Mll3eDBibFlCanc4eTVzM040OEJMME84WG51ak42c0F0eG04Sm9hWXFVUUd3LXNBS1pTZHAzNk1GNlZXYkpUcHBoZHQ2aEhWQjFoRzdpSGN1STBTRzY0WjczNXEzZ0tSYXFHdzhIUXItSWNyeks0VEQwenk5b01NMHpRLVFBSE1PdzAyX0ozU3pVQWZ1bzFWNU42ajB0VGsyeEt0TFp3cmlHOHJNRl9NWTJrN09mdkxqNFlCb3VNN2lBNVM4LnNfM0VabFhIb1lrV283ZzdpRUp1bHc" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/restoreStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P30D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaindownloadpost-example.json new file mode 100644 index 000000000000..b589cabe6f8a --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaindownloadpost-example.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", + "CertificateInfoObject": { + "certificates": [ + { + "kid": "id1", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + }, + { + "kid": "id2", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + }, + { + "kid": "id3", + "kty": "RSA", + "key_ops": [ + "verify", + "encrypt", + "wrapKey" + ], + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A", + "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs", + "e": "AQAB" + } + ], + "required": 2 + }, + "api-version": "7.3" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/download/pending" + }, + "body": { + "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainoperationstatus-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainoperationstatus-example.json new file mode 100644 index 000000000000..193234a279f6 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainoperationstatus-example.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "status": "InProgress", + "status_details": "" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaintransferkey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaintransferkey-example.json new file mode 100644 index 000000000000..787059cfc1d0 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomaintransferkey-example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", + "api-version": "7.3" + }, + "responses": { + "200": { + "body": { + "key_format": "jwk", + "transfer_key": { + "kid": "https://myhsmvault.managedhsm.azure.net/transfer_key", + "kty": "RSA", + "key_ops": [ + "encrypt" + ], + "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w", + "e": "AQAB", + "alg": "RSA-OAEP-256", + "x5c": [ + "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwM/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H" + ], + "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI", + "x5t#S256": "gIBQCTDDN" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainuploadoperation-example.json new file mode 100644 index 000000000000..5dbada8de356 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/securitydomainuploadoperation-example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/", + "security_domain": { + "value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9" + }, + "api-version": "7.3" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Retry-After": 5, + "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/upload/pending" + }, + "body": { + "status": "InProgress", + "status_details": "" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageAccount.json new file mode 100644 index 000000000000..9573bdc5b192 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageAccount.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "setStrg01", + "api-version": "7.3", + "parameters": { + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P15D", + "attributes": { + "enabled": true + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/setStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key2", + "autoRegenerateKey": true, + "regenerationPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageSasDefinition.json new file mode 100644 index 000000000000..7858814c41b2 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/setStorageSasDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "setsas01", + "sas-definition-name": "setStrgSasDef01", + "api-version": "7.3", + "parameters": { + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/setsas01/sas/setStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/setsas01-setStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/sign-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/sign-example.json new file mode 100644 index 000000000000..467cfe1e6057 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/sign-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "key-version": "9885aa558e8d448789683188f8c194b0", + "api-version": "7.3", + "parameters": { + "alg": "RS512", + "value": "RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/testkey/9885aa558e8d448789683188f8c194b0", + "value": "aKFG8NXcfTzqyR44rW42484K_zZI_T7zZuebvWuNgAoEI1gXYmxrshp42CunSmmu4oqo4-IrCikPkNIBkHXnAW2cv03Ad0UpwXhVfepK8zzDBaJPMKVGS-ZRz8CshEyGDKaLlb3J3zEkXpM3RrSEr0mdV6hndHD_mznLB5RmFui5DsKAhez4vUqajgtkgcPfCekMqeSwp6r9ItVL-gEoAohx8XMDsPedqu-7BuZcBcdayaPuBRL4wWoTDULA11P-UN_sJ5qMj3BbiRYhIlBWGR04wIGfZ3pkJjHJUpOvgH2QajdYPzUBauOCewMYbq9XkLRSzI_A7HkkDVycugSeAA" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/unwrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/unwrapKey-example.json new file mode 100644 index 000000000000..828c53e397da --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/unwrapKey-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "0698c2156c1a4e1da5b6bab6f6422fd6", + "api-version": "7.3", + "parameters": { + "alg": "RSA1_5", + "value": "khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6", + "value": "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageAccount.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageAccount.json new file mode 100644 index 000000000000..19f0c2c531fd --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageAccount.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "patchStrg01", + "api-version": "7.3", + "parameters": { + "activeKeyName": "key1", + "regenerationPeriod": "P10D" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/patchStrg01", + "resourceId": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Storage/storageAccounts/kvstorageacc", + "activeKeyName": "key1", + "autoRegenerateKey": true, + "regenerationPeriod": "P10D", + "attributes": { + "enabled": true, + "created": 1490738386, + "updated": 1490738386, + "recoveryLevel": "Recoverable+Purgeable" + }, + "tags": { + "tag1": "val1", + "tag2": "val2" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageSasDefinition.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageSasDefinition.json new file mode 100644 index 000000000000..48909feaad15 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/updateStorageSasDefinition.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "storage-account-name": "patchsas01", + "sas-definition-name": "patchStrgSasDef01", + "api-version": "7.3", + "parameters": { + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "https://myvault.vault.azure.net/storage/patchsas01/sas/patchStrgSasDef01", + "sid": "https://myvault.vault.azure.net/secrets/patchsas01-patchStrgSasDef01", + "templateUri": "se=2018-02-01T00%3A00Z&spr=https&sv=2017-04-17&sr=b&sig=XXFNfuMCHYrBx0bhemJ7PWn0xGfImMXT6LfbXWvtRUk%3D", + "sasType": "service", + "validityPeriod": "P15D", + "attributes": { + "enabled": true, + "created": 1490738438, + "updated": 1490738438, + "recoveryLevel": "Recoverable" + } + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/verify-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/verify-example.json new file mode 100644 index 000000000000..1a376871d7a7 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/verify-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "testkey", + "key-version": "9885aa558e8d448789683188f8c194b0", + "api-version": "7.3", + "parameters": { + "alg": "RS512", + "value": "RUE3Nzg4NTQ4QjQ5RjFFN0U2NzAyQzhDNEMwMkJDOTA1MTYyOTUzNjI5NDhBNzZDQTlFOTM1NDA2M0ZGMjk2Mg", + "digest": "aKFG8NXcfTzqyR44rW42484K_zZI_T7zZuebvWuNgAoEI1gXYmxrshp42CunSmmu4oqo4-IrCikPkNIBkHXnAW2cv03Ad0UpwXhVfepK8zzDBaJPMKVGS-ZRz8CshEyGDKaLlb3J3zEkXpM3RrSEr0mdV6hndHD_mznLB5RmFui5DsKAhez4vUqajgtkgcPfCekMqeSwp6r9ItVL-gEoAohx8XMDsPedqu-7BuZcBcdayaPuBRL4wWoTDULA11P-UN_sJ5qMj3BbiRYhIlBWGR04wIGfZ3pkJjHJUpOvgH2QajdYPzUBauOCewMYbq9XkLRSzI_A7HkkDVycugSeAA" + } + }, + "responses": { + "200": { + "body": { + "value": true + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/wrapKey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/wrapKey-example.json new file mode 100644 index 000000000000..e52d08651385 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/examples/wrapKey-example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "vaultBaseUrl": "https://myvault.vault.azure.net/", + "key-name": "sdktestkey", + "key-version": "0698c2156c1a4e1da5b6bab6f6422fd6", + "api-version": "7.3", + "parameters": { + "alg": "RSA1_5", + "value": "ovQIlbB0DgWhZA7sgkPxbg9H-Ly-VlNGPSgGrrZvlIo" + } + }, + "responses": { + "200": { + "body": { + "kid": "https://myvault.vault.azure.net/keys/sdktestkey/0698c2156c1a4e1da5b6bab6f6422fd6", + "value": "khwIe26NuAZazS7upywDBpGRmRNMW5-4h_JQKxOdB78nYVxZWnBXwCxOv7a3Sr_mCjiVzKsoQQZwL-CJzhYa0512tfYem56zls5a44y5QsdcfvuSzOvpthVhA9XkEfCJSqSY_sip5d8BelT_w_ikvd_8KqiQ_0H54RqYUN8svCpu28paHgBocHFNXTQ9NtU9ec2qgESXk7Jp4OTy9HJtQJavKDUqTJ3YmtLxUgsgBCe0FNMHUSEYC0Ys6PavYzdTwIzYCq84idmAxJOj-O_6eALJFH2sDTOQYHjzOae2t8eFmw6C-t55qjrCI91a9mUJEGPhYixiG4gR4PaEJ7wGvw" + } + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/index.md b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/index.md new file mode 100644 index 000000000000..1d8c9d77ab0e --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/index.md @@ -0,0 +1,26 @@ +--- +ms.assetid: 357c9947-1098-4a03-9f1e-7b27e5aa75bf +ms.title: Azure Key Vault REST Reference +ms.prod: +ms.service: azure-keyvault +author: BrucePerlerMS +ms.author: bruceper +ms.manager: mbaldwin +--- + +# Azure Key Vault + +Azure Key Vault enables users to store and use cryptographic keys within the Microsoft Azure environment. Azure Key Vault supports multiple key types and algorithms, and enables the use of Hardware Security Modules (HSM) for high value customer keys. Key Vault also supports storage of secrets, limited size octet objects. Certificate management is also available through Key Vault including support for renewal processing and working with a range of certificate authorities. + +## REST Operation Groups + +| Operation Group | Description | +|-----------------|-------------| +|Keys | Operations for interacting with keys including create, import, update, and delete.| +|Secrets | Operations for interacting with secrets including create, update, and delete.| +|Certificates | Operations for interacting with certificates including create, import, update, delete and a set of contact and renewal management tasks.| +|Storage | Operations for interacting with storage accounts including create, read, update, delete, list, regeneratekey and a set of sas definition related tasks.| + +## See Also + +- [About keys, secrets, certificates and storage](link) diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/keys.json new file mode 100644 index 000000000000..d7e5d1ebcc1f --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/keys.json @@ -0,0 +1,2260 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/keys/{key-name}/create": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "CreateKey", + "summary": "Creates a new key, stores it, then returns key parameters and attributes to the client.", + "description": "The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name for the new key. The system will generate the version name for the new key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyCreateParameters" + }, + "description": "The parameters to create a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the result of the create key request.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Create key": { + "$ref": "./examples/CreateKey-example.json" + } + } + } + }, + "/keys/{key-name}/rotate": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "RotateKey", + "summary": "Creates a new key version, stores it, then returns key parameters, attributes and policy to the client.", + "description": "The operation will rotate the key based on the key policy. It requires the keys/rotate permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of key to be rotated. The system will generate a new version in the specified key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the result of the rotate key request.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Rotate key": { + "$ref": "./examples/RotateKey-example.json" + } + } + } + }, + "/keys/{key-name}": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "ImportKey", + "summary": "Imports an externally created key, stores it, and returns key parameters and attributes to the client.", + "description": "The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "Name for the imported key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyImportParameters" + }, + "description": "The parameters to import a key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Imported key bundle to the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Import key": { + "$ref": "./examples/ImportKey-example.json" + } + } + }, + "delete": { + "tags": [ + "Keys" + ], + "operationId": "DeleteKey", + "summary": "Deletes a key of any type from storage in Azure Key Vault.", + "description": "The delete key operation cannot be used to remove individual versions of a key. This operation removes the cryptographic material associated with the key, which means the key is not usable for Sign/Verify, Wrap/Unwrap or Encrypt/Decrypt operations. This operation requires the keys/delete permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The public part of the deleted key and deletion information on when the key will be purged.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete key": { + "$ref": "./examples/DeleteKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}": { + "patch": { + "tags": [ + "Keys" + ], + "operationId": "UpdateKey", + "summary": "The update key operation changes specified attributes of a stored key and can be applied to any key type and key version stored in Azure Key Vault.", + "description": "In order to perform this operation, the key must already exist in the Key Vault. Note: The cryptographic material of a key itself cannot be changed. This operation requires the keys/update permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of key to update." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key to update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyUpdateParameters" + }, + "description": "The parameters of the key to update." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated key.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update key": { + "$ref": "./examples/UpdateKey-example.json" + } + } + }, + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKey", + "summary": "Gets the public part of a stored key.", + "description": "The get key operation is applicable to all key types. If the requested key is symmetric, then no key material is released in the response. This operation requires the keys/get permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to get." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "Adding the version parameter retrieves a specific version of a key. This URI fragment is optional. If not specified, the latest version of the key is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A key bundle containing the key and its attributes.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get key": { + "$ref": "./examples/GetKey-example.json" + } + } + } + }, + "/keys/{key-name}/versions": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeyVersions", + "summary": "Retrieves a list of individual key versions with the same key name.", + "description": "The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeyVersions": { + "$ref": "./examples/GetKeyVersions-example.json" + } + } + } + }, + "/keys": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeys", + "summary": "List keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of keys in the vault along with a link to the next page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetKeys": { + "$ref": "./examples/GetKeys-example.json" + } + } + } + }, + "/keys/{key-name}/backup": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "BackupKey", + "summary": "Requests that a backup of the specified key be downloaded to the client.", + "description": "The Key Backup operation exports a key from Azure Key Vault in a protected form. Note that this operation does NOT return key material in a form that can be used outside the Azure Key Vault system, the returned key material is either protected to a Azure Key Vault HSM or to Azure Key Vault itself. The intent of this operation is to allow a client to GENERATE a key in one Azure Key Vault instance, BACKUP the key, and then RESTORE it into another Azure Key Vault instance. The BACKUP operation may be used to export, in protected form, any key type from Azure Key Vault. Individual versions of a key cannot be backed up. BACKUP / RESTORE can be performed within geographical boundaries only; meaning that a BACKUP from one geographical area cannot be restored to another geographical area. For example, a backup from the US geographical area cannot be restored in an EU geographical area. This operation requires the key/backup permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up key.", + "schema": { + "$ref": "#/definitions/BackupKeyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupKey": { + "$ref": "./examples/BackupKey-example.json" + } + } + } + }, + "/keys/restore": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "RestoreKey", + "summary": "Restores a backed up key to a vault.", + "description": "Imports a previously backed up key into Azure Key Vault, restoring the key, its key identifier, attributes and access control policies. The RESTORE operation may be used to import a previously backed up key. Individual versions of a key cannot be restored. The key is restored in its entirety with the same key name as it had when it was backed up. If the key name is not available in the target Key Vault, the RESTORE operation will be rejected. While the key name is retained during restore, the final key identifier will change if the key is restored to a different vault. Restore will restore all versions and preserve version identifiers. The RESTORE operation is subject to security constraints: The target Key Vault must be owned by the same Microsoft Azure Subscription as the source Key Vault The user must have RESTORE permission in the target Key Vault. This operation requires the keys/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyRestoreParameters" + }, + "description": "The parameters to restore the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored key bundle in the vault.", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreKey": { + "$ref": "./examples/RestoreKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/encrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "encrypt", + "summary": "Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.", + "description": "The ENCRYPT operation encrypts an arbitrary sequence of bytes using an encryption key that is stored in Azure Key Vault. Note that the ENCRYPT operation only supports a single block of data, the size of which is dependent on the target key and the encryption algorithm to be used. The ENCRYPT operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/encrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the encryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The encryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Encrypt example": { + "$ref": "./examples/encrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/decrypt": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "decrypt", + "summary": "Decrypts a single block of encrypted data.", + "description": "The DECRYPT operation decrypts a well-formed block of ciphertext using the target encryption key and specified algorithm. This operation is the reverse of the ENCRYPT operation; only a single block of data may be decrypted, the size of this block is dependent on the target key and the algorithm to be used. The DECRYPT operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/decrypt permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the decryption operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The decryption result.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Decrypt example": { + "$ref": "./examples/decrypt-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/sign": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "sign", + "summary": "Creates a signature from a digest using the specified key.", + "description": "The SIGN operation is applicable to asymmetric and symmetric keys stored in Azure Key Vault since this operation uses the private portion of the key. This operation requires the keys/sign permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeySignParameters" + }, + "description": "The parameters for the signing operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The signature value.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Sign": { + "$ref": "./examples/sign-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/verify": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "verify", + "summary": "Verifies a signature using a specified key.", + "description": "The VERIFY operation is applicable to symmetric keys stored in Azure Key Vault. VERIFY is not strictly necessary for asymmetric keys stored in Azure Key Vault since signature verification can be performed using the public portion of the key but this operation is supported as a convenience for callers that only have a key-reference and not the public portion of the key. This operation requires the keys/verify permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyVerifyParameters" + }, + "description": "The parameters for verify operations." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The verification result.", + "schema": { + "$ref": "#/definitions/KeyVerifyResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Verify": { + "$ref": "./examples/verify-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/wrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "wrapKey", + "summary": "Wraps a symmetric key using a specified key.", + "description": "The WRAP operation supports encryption of a symmetric key using a key encryption key that has previously been stored in an Azure Key Vault. The WRAP operation is only strictly necessary for symmetric keys stored in Azure Key Vault since protection with an asymmetric key can be performed using the public portion of the key. This operation is supported for asymmetric keys as a convenience for callers that have a key-reference but do not have access to the public key material. This operation requires the keys/wrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for wrap operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The wrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Wrapkey": { + "$ref": "./examples/wrapKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/unwrapkey": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "unwrapKey", + "summary": "Unwraps a symmetric key using the specified key that was initially used for wrapping that key.", + "description": "The UNWRAP operation supports decryption of a symmetric key using the target key encryption key. This operation is the reverse of the WRAP operation. The UNWRAP operation applies to asymmetric and symmetric keys stored in Azure Key Vault since it uses the private portion of the key. This operation requires the keys/unwrapKey permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "name": "key-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyOperationsParameters" + }, + "description": "The parameters for the key operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The unwrapped symmetric key.", + "schema": { + "$ref": "#/definitions/KeyOperationResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Unwrapkey": { + "$ref": "./examples/unwrapKey-example.json" + } + } + } + }, + "/keys/{key-name}/{key-version}/release": { + "post": { + "tags": [ + "Keys" + ], + "operationId": "release", + "summary": "Releases a key.", + "description": "The release key operation is applicable to all key types. The target key must be marked exportable. This operation requires the keys/release permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key to get." + }, + { + "name": "key-version", + "required": true, + "in": "path", + "type": "string", + "description": "Adding the version parameter retrieves a specific version of a key." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/KeyReleaseParameters" + }, + "description": "The parameters for the key release operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A JWS containing the key, its attributes, the result of the key release, and information about the request.", + "schema": { + "$ref": "#/definitions/KeyReleaseResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Release": { + "$ref": "./examples/release-example.json" + } + } + } + }, + "/deletedkeys": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKeys", + "summary": "Lists the deleted keys in the specified vault.", + "description": "Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a deleted key. This operation includes deletion-specific information. The Get Deleted Keys operation is applicable for vaults enabled for soft-delete. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys.", + "schema": { + "$ref": "#/definitions/DeletedKeyListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedKeys": { + "$ref": "./examples/GetDeletedKeys-example.json" + } + } + } + }, + "/deletedkeys/{key-name}": { + "get": { + "tags": [ + "DeletedKeys" + ], + "operationId": "GetDeletedKey", + "summary": "Gets the public part of a deleted key.", + "description": "The Get Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/get permission. ", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion information.", + "schema": { + "$ref": "#/definitions/DeletedKeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedKey": { + "$ref": "./examples/GetDeletedKey-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedKeys" + ], + "operationId": "PurgeDeletedKey", + "summary": "Permanently deletes the specified key.", + "description": "The Purge Deleted Key operation is applicable for soft-delete enabled vaults. While the operation can be invoked on any vault, it will return an error if invoked on a non soft-delete enabled vault. This operation requires the keys/purge permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content, signaling that the key was permanently purged." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedKey": { + "$ref": "./examples/PurgeDeletedKey-example.json" + } + } + } + }, + "/deletedkeys/{key-name}/recover": { + "post": { + "tags": [ + "DeletedKeys" + ], + "operationId": "RecoverDeletedKey", + "summary": "Recovers the deleted key to its latest version.", + "description": "The Recover Deleted Key operation is applicable for deleted keys in soft-delete enabled vaults. It recovers the deleted key back to its latest version under /keys. An attempt to recover an non-deleted key will return an error. Consider this the inverse of the delete operation on soft-delete enabled vaults. This operation requires the keys/recover permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Key bundle of the original key and its attributes", + "schema": { + "$ref": "#/definitions/KeyBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedKey": { + "$ref": "./examples/RecoverDeletedKey-example.json" + } + } + } + }, + "/keys/{key-name}/rotationpolicy": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "GetKeyRotationPolicy", + "summary": "Lists the policy for a key.", + "description": "The GetKeyRotationPolicy operation returns the specified key policy resources in the specified key vault. This operation requires the keys/get permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key in a given key vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The key rotation policy.", + "schema": { + "$ref": "#/definitions/KeyRotationPolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetKeyRotationPolicy": { + "$ref": "./examples/GetKeyRotationPolicy-example.json" + } + } + }, + "put": { + "tags": [ + "Keys" + ], + "operationId": "UpdateKeyRotationPolicy", + "summary": "Updates the rotation policy for a key.", + "description": "Set specified members in the key policy. Leave others as undefined. This operation requires the keys/update permission.", + "parameters": [ + { + "name": "key-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the key in the given vault." + }, + { + "name": "keyRotationPolicy", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KeyRotationPolicy" + }, + "description": "The policy for the key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The policy for the key.", + "schema": { + "$ref": "#/definitions/KeyRotationPolicy" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateKeyRotationPolicy": { + "$ref": "./examples/UpdateKeyRotationPolicy-example.json" + } + } + } + }, + "/rng": { + "post": { + "tags": [ + "RNG" + ], + "operationId": "GetRandomBytes", + "summary": "Get the requested number of bytes containing random values.", + "description": "Get the requested number of bytes containing random values from a managed HSM.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/GetRandomBytesRequest" + }, + "description": "The request object to get random bytes." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The bytes encoded as a base64url string.", + "schema": { + "$ref": "#/definitions/RandomBytes" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetRandomBytes": { + "$ref": "./examples/GetRandomBytes-example.json" + } + } + } + } + }, + "definitions": { + "GetRandomBytesRequest": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 128, + "description": "The requested number of random bytes." + } + }, + "description": "The get random bytes request object.", + "required": [ + "count" + ] + }, + "RandomBytes": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "description": "The bytes encoded as a base64url string." + } + }, + "required": [ + "value" + ], + "description": "The get random bytes response object containing the bytes." + }, + "KeyReleasePolicy": { + "properties": { + "contentType": { + "description": "Content type and version of key release policy", + "type": "string", + "default": "application/json; charset=utf-8" + }, + "immutable": { + "description": "Defines the mutability state of the policy. Once marked immutable, this flag cannot be reset and the policy cannot be changed under any circumstances.", + "type": "boolean" + }, + "data": { + "description": "Blob encoding the policy rules under which the key can be released.", + "type": "string", + "format": "base64url", + "x-ms-client-name": "encodedPolicy" + } + } + }, + "JsonWebKey": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "kty": { + "type": "string", + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true, + "values": [ + { + "value": "EC", + "description": "Elliptic Curve." + }, + { + "value": "EC-HSM", + "description": "Elliptic Curve with a private key which is stored in the HSM." + }, + { + "value": "RSA", + "description": "RSA (https://tools.ietf.org/html/rfc3447)" + }, + { + "value": "RSA-HSM", + "description": "RSA with a private key which is stored in the HSM." + }, + { + "value": "oct", + "description": "Octet sequence (used to represent symmetric keys)" + }, + { + "value": "oct-HSM", + "description": "Octet sequence (used to represent symmetric keys) which is stored the HSM." + } + ] + } + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "Supported key operations." + } + }, + "n": { + "type": "string", + "format": "base64url", + "description": "RSA modulus." + }, + "e": { + "type": "string", + "format": "base64url", + "description": "RSA public exponent." + }, + "d": { + "type": "string", + "format": "base64url", + "description": "RSA private exponent, or the D component of an EC private key." + }, + "dp": { + "x-ms-client-name": "DP", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "dq": { + "x-ms-client-name": "DQ", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "qi": { + "x-ms-client-name": "QI", + "type": "string", + "format": "base64url", + "description": "RSA private key parameter." + }, + "p": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime." + }, + "q": { + "type": "string", + "format": "base64url", + "description": "RSA secret prime, with p < q." + }, + "k": { + "type": "string", + "format": "base64url", + "description": "Symmetric key." + }, + "key_hsm": { + "x-ms-client-name": "t", + "type": "string", + "format": "base64url", + "description": "Protected Key, used with 'Bring Your Own Key'." + }, + "crv": { + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true, + "values": [ + { + "value": "P-256", + "description": "The NIST P-256 elliptic curve, AKA SECG curve SECP256R1." + }, + { + "value": "P-384", + "description": "The NIST P-384 elliptic curve, AKA SECG curve SECP384R1." + }, + { + "value": "P-521", + "description": "The NIST P-521 elliptic curve, AKA SECG curve SECP521R1." + }, + { + "value": "P-256K", + "description": "The SECG SECP256K1 elliptic curve." + } + ] + } + }, + "x": { + "type": "string", + "format": "base64url", + "description": "X component of an EC public key." + }, + "y": { + "type": "string", + "format": "base64url", + "description": "Y component of an EC public key." + } + }, + "description": "As of http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18" + }, + "KeyAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for keys in the current vault. If it contains 'Purgeable' the key can be permanently deleted by a privileged user; otherwise, only the system can purge the key, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + } + }, + "description": "The attributes of a key managed by the key vault service." + }, + "KeyBundle": { + "properties": { + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "x-nullable": true, + "description": "The policy rules under which the key can be exported." + } + }, + "description": "A KeyBundle consisting of a WebKey plus its attributes." + }, + "KeyItem": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the key's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The key item containing key metadata." + }, + "DeletedKeyBundle": { + "allOf": [ + { + "$ref": "#/definitions/KeyBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "A DeletedKeyBundle consisting of a WebKey plus its Attributes and deletion info" + }, + "DeletedKeyItem": { + "allOf": [ + { + "$ref": "#/definitions/KeyItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted key." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the key was deleted, in UTC" + } + }, + "description": "The deleted key item containing the deleted key metadata and information about deletion." + }, + "KeyProperties": { + "properties": { + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + }, + "kty": { + "x-ms-client-name": "keyType", + "type": "string", + "description": "The type of key pair to be used for the certificate.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "reuse_key": { + "type": "boolean", + "description": "Indicates if the same key pair will be used on certificate renewal." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + } + }, + "description": "Properties of the key pair backing a certificate." + }, + "KeyCreateParameters": { + "properties": { + "kty": { + "type": "string", + "minLength": 1, + "description": "The type of key to create. For valid values, see JsonWebKeyType.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM", + "oct", + "oct-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "key_size": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "public_exponent": { + "type": "integer", + "format": "int32", + "description": "The public exponent for a RSA key." + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "export" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + } + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "crv": { + "x-ms-client-name": "curve", + "type": "string", + "description": "Elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "x-nullable": true, + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key create parameters.", + "required": [ + "kty" + ] + }, + "KeyImportParameters": { + "properties": { + "Hsm": { + "type": "boolean", + "description": "Whether to import as a hardware key (HSM) or software key." + }, + "key": { + "$ref": "#/definitions/JsonWebKey", + "description": "The Json web key" + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes", + "description": "The key management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "x-nullable": true, + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key import parameters.", + "required": [ + "key" + ] + }, + "KeyExportParameters": { + "properties": { + "wrappingKey": { + "$ref": "#/definitions/JsonWebKey", + "description": "The export key encryption Json web key. This key MUST be a RSA key that supports encryption." + }, + "wrappingKid": { + "type": "string", + "description": "The export key encryption key identifier. This key MUST be a RSA key that supports encryption." + }, + "enc": { + "type": "string", + "minLength": 1, + "description": "The encryption algorithm to use to protected the exported key material", + "enum": [ + "CKM_RSA_AES_KEY_WRAP", + "RSA_AES_KEY_WRAP_256", + "RSA_AES_KEY_WRAP_384" + ], + "x-ms-enum": { + "name": "KeyEncryptionAlgorithm", + "modelAsString": true + } + } + }, + "description": "The export key parameters." + }, + "KeyReleaseParameters": { + "properties": { + "target": { + "type": "string", + "minLength": 1, + "description": "The attestation assertion for the target of the key release.", + "x-ms-client-name": "targetAttestationToken" + }, + "nonce": { + "type": "string", + "description": "A client provided nonce for freshness." + }, + "enc": { + "type": "string", + "minLength": 1, + "description": "The encryption algorithm to use to protected the exported key material", + "enum": [ + "CKM_RSA_AES_KEY_WRAP", + "RSA_AES_KEY_WRAP_256", + "RSA_AES_KEY_WRAP_384" + ], + "x-ms-enum": { + "name": "KeyEncryptionAlgorithm", + "modelAsString": true + } + } + }, + "description": "The release key parameters.", + "required": [ + "target" + ] + }, + "KeyOperationsParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "algorithm identifier", + "enum": [ + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5", + "A128GCM", + "A192GCM", + "A256GCM", + "A128KW", + "A192KW", + "A256KW", + "A128CBC", + "A192CBC", + "A256CBC", + "A128CBCPAD", + "A192CBCPAD", + "A256CBCPAD" + ], + "x-ms-enum": { + "name": "JsonWebKeyEncryptionAlgorithm", + "modelAsString": true + } + }, + "value": { + "type": "string", + "format": "base64url" + }, + "iv": { + "type": "string", + "format": "base64url", + "description": "Initialization vector for symmetric algorithms." + }, + "aad": { + "type": "string", + "format": "base64url", + "description": "Additional data to authenticate but not encrypt/decrypt when using authenticated crypto algorithms." + }, + "tag": { + "type": "string", + "format": "base64url", + "description": "The tag to authenticate when performing decryption with an authenticated algorithm." + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeySignParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm identifier. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true, + "values": [ + { + "value": "PS256", + "description": "RSASSA-PSS using SHA-256 and MGF1 with SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS384", + "description": "RSASSA-PSS using SHA-384 and MGF1 with SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "PS512", + "description": "RSASSA-PSS using SHA-512 and MGF1 with SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS256", + "description": "RSASSA-PKCS1-v1_5 using SHA-256, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS384", + "description": "RSASSA-PKCS1-v1_5 using SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RS512", + "description": "RSASSA-PKCS1-v1_5 using SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "RSNULL", + "description": "Reserved" + }, + { + "value": "ES256", + "description": "ECDSA using P-256 and SHA-256, as described in https://tools.ietf.org/html/rfc7518." + }, + { + "value": "ES384", + "description": "ECDSA using P-384 and SHA-384, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES512", + "description": "ECDSA using P-521 and SHA-512, as described in https://tools.ietf.org/html/rfc7518" + }, + { + "value": "ES256K", + "description": "ECDSA using P-256K and SHA-256, as described in https://tools.ietf.org/html/rfc7518" + } + ] + } + }, + "value": { + "type": "string", + "format": "base64url" + } + }, + "description": "The key operations parameters.", + "required": [ + "alg", + "value" + ] + }, + "KeyVerifyParameters": { + "properties": { + "alg": { + "x-ms-client-name": "algorithm", + "type": "string", + "minLength": 1, + "description": "The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm.", + "enum": [ + "PS256", + "PS384", + "PS512", + "RS256", + "RS384", + "RS512", + "RSNULL", + "ES256", + "ES384", + "ES512", + "ES256K" + ], + "x-ms-enum": { + "name": "JsonWebKeySignatureAlgorithm", + "modelAsString": true + } + }, + "digest": { + "type": "string", + "format": "base64url", + "description": "The digest used for signing." + }, + "value": { + "x-ms-client-name": "signature", + "type": "string", + "format": "base64url", + "description": "The signature to be verified." + } + }, + "description": "The key verify parameters.", + "required": [ + "alg", + "digest", + "value" + ] + }, + "KeyUpdateParameters": { + "properties": { + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "JSON web key operations. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "export" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + }, + "description": "Json web key operations. For more information on possible key operations, see JsonWebKeyOperation." + }, + "attributes": { + "x-ms-client-name": "keyAttributes", + "$ref": "#/definitions/KeyAttributes" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "x-nullable": true, + "description": "The policy rules under which the key can be exported." + } + }, + "description": "The key update parameters." + }, + "KeyRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "keyBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a key bundle." + } + }, + "description": "The key restore parameters.", + "required": [ + "value" + ] + }, + "KeyOperationResult": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier", + "readOnly": true + }, + "value": { + "x-ms-client-name": "result", + "type": "string", + "format": "base64url", + "readOnly": true + }, + "iv": { + "type": "string", + "format": "base64url", + "readOnly": true + }, + "tag": { + "type": "string", + "x-ms-client-name": "authenticationTag", + "format": "base64url", + "readOnly": true + }, + "aad": { + "type": "string", + "x-ms-client-name": "additionalAuthenticatedData", + "format": "base64url", + "readOnly": true + } + }, + "description": "The key operation result." + }, + "KeyVerifyResult": { + "properties": { + "value": { + "type": "boolean", + "readOnly": true, + "description": "True if the signature is verified, otherwise false." + } + }, + "description": "The key verify result." + }, + "KeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of keys in the key vault along with a link to the next page of keys." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of keys." + } + }, + "description": "The key list result." + }, + "DeletedKeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedKeyItem" + }, + "readOnly": true, + "description": "A response message containing a list of deleted keys in the vault along with a link to the next page of deleted keys" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted keys." + } + }, + "description": "A list of keys that have been deleted in this vault." + }, + "BackupKeyResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up key." + } + }, + "description": "The backup key result, containing the backup blob." + }, + "KeyRotationPolicy": { + "properties": { + "id": { + "type": "string", + "description": "The key policy id.", + "readOnly": true + }, + "lifetimeActions": { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeActions" + }, + "description": "Actions that will be performed by Key Vault over the lifetime of a key. For preview, lifetimeActions can only have two items at maximum: one for rotate, one for notify. Notification time would be default to 30 days before expiry and it is not configurable." + }, + "attributes": { + "$ref": "#/definitions/KeyRotationPolicyAttributes", + "description": "The key rotation policy attributes." + } + }, + "description": "Management policy for a key." + }, + "LifetimeActions": { + "properties": { + "trigger": { + "$ref": "#/definitions/LifetimeActionsTrigger", + "description": "The condition that will execute the action." + }, + "action": { + "$ref": "#/definitions/LifetimeActionsType", + "description": "The action that will be executed." + } + }, + "description": "Action and its trigger that will be performed by Key Vault over the lifetime of a key." + }, + "LifetimeActionsTrigger": { + "properties": { + "timeAfterCreate": { + "type": "string", + "description": "Time after creation to attempt to rotate. It only applies to rotate. It will be in ISO 8601 duration format. Example: 90 days : \"P90D\" " + }, + "timeBeforeExpiry": { + "type": "string", + "description": "Time before expiry to attempt to rotate or notify. It will be in ISO 8601 duration format. Example: 90 days : \"P90D\"" + } + }, + "description": "A condition to be satisfied for an action to be executed." + }, + "LifetimeActionsType": { + "properties": { + "type": { + "type": "string", + "description": "The type of the action.", + "enum": [ + "rotate", + "notify" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": false, + "values": [ + { + "value": "rotate", + "description": "Rotate the key based on the key policy." + }, + { + "value": "notify", + "description": "Trigger event grid events. For preview, the notification time is not configurable and it is default to 30 days before expiry." + } + ] + } + } + }, + "description": "The action that will be executed." + }, + "KeyRotationPolicyAttributes": { + "properties": { + "expiryTime": { + "type": "string", + "description": "The expiryTime will be applied on the new key version. It should be at least 28 days. It will be in ISO 8601 Format. Examples: 90 days: P90D, 3 months: P3M, 48 hours: PT48H, 1 year and 10 days: P1Y10D" + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The key rotation policy created time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The key rotation policy's last updated time in UTC." + } + }, + "description": "The key rotation policy attributes." + }, + "KeyReleaseResult": { + "properties": { + "value": { + "type": "string", + "readOnly": true, + "description": "A signed object containing the released key." + } + }, + "description": "The release result, containing the released key." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/rbac.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/rbac.json new file mode 100644 index 000000000000..907ba2736bbe --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/rbac.json @@ -0,0 +1,932 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionName}": { + "delete": { + "tags": [ + "RoleDefinitions" + ], + "operationId": "RoleDefinitions_Delete", + "description": "Deletes a custom role definition.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role definition to delete. Managed HSM only supports '/'.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name (GUID) of the role definition to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role definition that was deleted.", + "schema": { + "$ref": "#/definitions/RoleDefinition" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteRoleDefinition": { + "$ref": "./examples/DeleteRoleDefinition-example.json" + } + } + }, + "put": { + "tags": [ + "RoleDefinitions" + ], + "operationId": "RoleDefinitions_CreateOrUpdate", + "description": "Creates or updates a custom role definition.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role definition to create or update. Managed HSM only supports '/'.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role definition to create or update. It can be any valid GUID." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleDefinitionCreateParameters" + }, + "description": "Parameters for the role definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the role definition.", + "schema": { + "$ref": "#/definitions/RoleDefinition" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PutRoleDefinition": { + "$ref": "./examples/PutRoleDefinition-example.json" + } + } + }, + "get": { + "tags": [ + "RoleDefinitions" + ], + "operationId": "RoleDefinitions_Get", + "description": "Get the specified role definition.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role definition to get. Managed HSM only supports '/'.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role definition to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role definition.", + "schema": { + "$ref": "#/definitions/RoleDefinition" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetRoleAssignments": { + "$ref": "./examples/GetRoleDefinition-example.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleDefinitions": { + "get": { + "tags": [ + "RoleDefinitions" + ], + "operationId": "RoleDefinitions_List", + "description": "Get all role definitions that are applicable at scope and above.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role definition.", + "x-ms-skip-url-encoding": true + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role definitions.", + "schema": { + "$ref": "#/definitions/RoleDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListRoleDefinitions": { + "$ref": "./examples/ListRoleDefinitions-example.json" + } + }, + "x-ms-odata": "#/definitions/RoleDefinitionFilter" + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": { + "delete": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Delete", + "description": "Deletes a role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment to delete.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to delete." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteRoleAssignments": { + "$ref": "./examples/DeleteRoleAssignments-example.json" + } + } + }, + "put": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Create", + "description": "Creates a role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment to create.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to create. It can be any valid GUID." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoleAssignmentCreateParameters" + }, + "description": "Parameters for the role assignment." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PutRoleAssignments": { + "$ref": "./examples/PutRoleAssignments-example.json" + } + } + }, + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_Get", + "description": "Get the specified role assignment.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignment.", + "x-ms-skip-url-encoding": true + }, + { + "name": "roleAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role assignment to get." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the role assignment.", + "schema": { + "$ref": "#/definitions/RoleAssignment" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetRoleAssignments": { + "$ref": "./examples/GetRoleAssignments-example.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/roleAssignments": { + "get": { + "tags": [ + "RoleAssignments" + ], + "operationId": "RoleAssignments_ListForScope", + "description": "Gets role assignments for a scope.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope of the role assignments.", + "x-ms-skip-url-encoding": true + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of role assignments.", + "schema": { + "$ref": "#/definitions/RoleAssignmentListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListRoleAssignments": { + "$ref": "./examples/ListRoleAssignments-example.json" + } + }, + "x-ms-odata": "#/definitions/RoleAssignmentFilter" + } + } + }, + "definitions": { + "RoleAssignmentFilter": { + "properties": { + "principalId": { + "type": "string", + "description": "Returns role assignment of the specific principal." + } + }, + "description": "Role Assignments filter" + }, + "RoleAssignmentPropertiesWithScope": { + "properties": { + "scope": { + "$ref": "#/definitions/RoleScope" + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID." + }, + "principalId": { + "type": "string", + "description": "The principal ID." + } + }, + "description": "Role assignment properties with scope." + }, + "RoleAssignment": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The role assignment ID." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The role assignment name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The role assignment type." + }, + "properties": { + "$ref": "#/definitions/RoleAssignmentPropertiesWithScope", + "description": "Role assignment properties." + } + }, + "description": "Role Assignments" + }, + "RoleAssignmentListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleAssignment" + }, + "description": "Role assignment list." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Role assignment list operation result." + }, + "RoleAssignmentProperties": { + "properties": { + "roleDefinitionId": { + "type": "string", + "description": "The role definition ID used in the role assignment." + }, + "principalId": { + "type": "string", + "description": "The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can point to a user, service principal, or security group." + } + }, + "required": [ + "roleDefinitionId", + "principalId" + ], + "description": "Role assignment properties." + }, + "RoleDefinitionCreateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/RoleDefinitionProperties", + "description": "Role definition properties." + } + }, + "required": [ + "properties" + ], + "description": "Role definition create parameters." + }, + "RoleAssignmentCreateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/RoleAssignmentProperties", + "description": "Role assignment properties." + } + }, + "required": [ + "properties" + ], + "description": "Role assignment create parameters." + }, + "RoleDefinitionFilter": { + "properties": { + "roleName": { + "type": "string", + "description": "Returns role definition with the specific name." + } + }, + "description": "Role Definitions filter" + }, + "Permission": { + "properties": { + "actions": { + "type": "array", + "description": "Action permissions that are granted.", + "items": { + "type": "string" + } + }, + "notActions": { + "type": "array", + "description": "Action permissions that are excluded but not denied. They may be granted by other role definitions assigned to a principal.", + "items": { + "type": "string", + "description": "Not actions." + } + }, + "dataActions": { + "type": "array", + "description": "Data action permissions that are granted.", + "items": { + "$ref": "#/definitions/DataAction" + } + }, + "notDataActions": { + "type": "array", + "description": "Data action permissions that are excluded but not denied. They may be granted by other role definitions assigned to a principal.", + "items": { + "$ref": "#/definitions/DataAction" + } + } + }, + "description": "Role definition permissions." + }, + "RoleDefinitionProperties": { + "properties": { + "roleName": { + "type": "string", + "description": "The role name." + }, + "description": { + "type": "string", + "description": "The role definition description." + }, + "type": { + "type": "string", + "description": "The role type.", + "enum": [ + "AKVBuiltInRole", + "CustomRole" + ], + "x-ms-enum": { + "name": "RoleType", + "modelAsString": true, + "values": [ + { + "name": "BuiltInRole", + "value": "AKVBuiltInRole", + "description": "Built in role." + }, + { + "value": "CustomRole", + "description": "Custom role." + } + ] + }, + "x-ms-client-name": "roleType" + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "Role definition permissions." + }, + "assignableScopes": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleScope" + }, + "description": "Role definition assignable scopes." + } + }, + "description": "Role definition properties." + }, + "RoleDefinition": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The role definition ID." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The role definition name." + }, + "type": { + "type": "string", + "description": "The role definition type.", + "readOnly": true, + "enum": [ + "Microsoft.Authorization/roleDefinitions" + ], + "x-ms-enum": { + "name": "RoleDefinitionType", + "modelAsString": true + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoleDefinitionProperties", + "description": "Role definition properties." + } + }, + "description": "Role definition." + }, + "RoleDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoleDefinition" + }, + "description": "Role definition list." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Role definition list operation result." + }, + "RoleScope": { + "type": "string", + "description": "The role scope.", + "enum": [ + "/", + "/keys" + ], + "x-ms-enum": { + "name": "RoleScope", + "modelAsString": true, + "values": [ + { + "name": "Global", + "value": "/", + "description": "Global scope" + }, + { + "name": "Keys", + "value": "/keys", + "description": "Keys scope" + } + ] + } + }, + "DataAction": { + "type": "string", + "description": "Supported permissions for data actions.", + "enum": [ + "Microsoft.KeyVault/managedHsm/keys/read/action", + "Microsoft.KeyVault/managedHsm/keys/write/action", + "Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action", + "Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action", + "Microsoft.KeyVault/managedHsm/keys/backup/action", + "Microsoft.KeyVault/managedHsm/keys/restore/action", + "Microsoft.KeyVault/managedHsm/roleAssignments/delete/action", + "Microsoft.KeyVault/managedHsm/roleAssignments/read/action", + "Microsoft.KeyVault/managedHsm/roleAssignments/write/action", + "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action", + "Microsoft.KeyVault/managedHsm/roleDefinitions/write/action", + "Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action", + "Microsoft.KeyVault/managedHsm/keys/encrypt/action", + "Microsoft.KeyVault/managedHsm/keys/decrypt/action", + "Microsoft.KeyVault/managedHsm/keys/wrap/action", + "Microsoft.KeyVault/managedHsm/keys/unwrap/action", + "Microsoft.KeyVault/managedHsm/keys/sign/action", + "Microsoft.KeyVault/managedHsm/keys/verify/action", + "Microsoft.KeyVault/managedHsm/keys/create", + "Microsoft.KeyVault/managedHsm/keys/delete", + "Microsoft.KeyVault/managedHsm/keys/export/action", + "Microsoft.KeyVault/managedHsm/keys/release/action", + "Microsoft.KeyVault/managedHsm/keys/import/action", + "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete", + "Microsoft.KeyVault/managedHsm/securitydomain/download/action", + "Microsoft.KeyVault/managedHsm/securitydomain/download/read", + "Microsoft.KeyVault/managedHsm/securitydomain/upload/action", + "Microsoft.KeyVault/managedHsm/securitydomain/upload/read", + "Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read", + "Microsoft.KeyVault/managedHsm/backup/start/action", + "Microsoft.KeyVault/managedHsm/restore/start/action", + "Microsoft.KeyVault/managedHsm/backup/status/action", + "Microsoft.KeyVault/managedHsm/restore/status/action", + "Microsoft.KeyVault/managedHsm/rng/action" + ], + "x-ms-enum": { + "name": "DataAction", + "modelAsString": true, + "values": [ + { + "name": "ReadHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/read/action", + "description": "Read HSM key metadata." + }, + { + "name": "WriteHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/write/action", + "description": "Update an HSM key." + }, + { + "name": "ReadDeletedHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action", + "description": "Read deleted HSM key." + }, + { + "name": "RecoverDeletedHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action", + "description": "Recover deleted HSM key." + }, + { + "name": "BackupHsmKeys", + "value": "Microsoft.KeyVault/managedHsm/keys/backup/action", + "description": "Backup HSM keys." + }, + { + "name": "RestoreHsmKeys", + "value": "Microsoft.KeyVault/managedHsm/keys/restore/action", + "description": "Restore HSM keys." + }, + { + "name": "DeleteRoleAssignment", + "value": "Microsoft.KeyVault/managedHsm/roleAssignments/delete/action", + "description": "Delete role assignment." + }, + { + "name": "GetRoleAssignment", + "value": "Microsoft.KeyVault/managedHsm/roleAssignments/read/action", + "description": "Get role assignment." + }, + { + "name": "WriteRoleAssignment", + "value": "Microsoft.KeyVault/managedHsm/roleAssignments/write/action", + "description": "Create or update role assignment." + }, + { + "name": "ReadRoleDefinition", + "value": "Microsoft.KeyVault/managedHsm/roleDefinitions/read/action", + "description": "Get role definition." + }, + { + "name": "WriteRoleDefinition", + "value": "Microsoft.KeyVault/managedHsm/roleDefinitions/write/action", + "description": "Create or update role definition." + }, + { + "name": "DeleteRoleDefinition", + "value": "Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action", + "description": "Delete role definition." + }, + { + "name": "EncryptHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/encrypt/action", + "description": "Encrypt using an HSM key." + }, + { + "name": "DecryptHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/decrypt/action", + "description": "Decrypt using an HSM key." + }, + { + "name": "WrapHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/wrap/action", + "description": "Wrap using an HSM key." + }, + { + "name": "UnwrapHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/unwrap/action", + "description": "Unwrap using an HSM key." + }, + { + "name": "SignHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/sign/action", + "description": "Sign using an HSM key." + }, + { + "name": "VerifyHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/verify/action", + "description": "Verify using an HSM key." + }, + { + "name": "CreateHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/create", + "description": "Create an HSM key." + }, + { + "name": "DeleteHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/delete", + "description": "Delete an HSM key." + }, + { + "name": "ExportHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/export/action", + "description": "Export an HSM key." + }, + { + "name": "ReleaseKey", + "value": "Microsoft.KeyVault/managedHsm/keys/release/action", + "description": "Release an HSM key using Secure Key Release." + }, + { + "name": "ImportHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/import/action", + "description": "Import an HSM key." + }, + { + "name": "PurgeDeletedHsmKey", + "value": "Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete", + "description": "Purge a deleted HSM key." + }, + { + "name": "DownloadHsmSecurityDomain", + "value": "Microsoft.KeyVault/managedHsm/securitydomain/download/action", + "description": "Download an HSM security domain." + }, + { + "name": "DownloadHsmSecurityDomainStatus", + "value": "Microsoft.KeyVault/managedHsm/securitydomain/download/read", + "description": "Check status of HSM security domain download." + }, + { + "name": "UploadHsmSecurityDomain", + "value": "Microsoft.KeyVault/managedHsm/securitydomain/upload/action", + "description": "Upload an HSM security domain." + }, + { + "name": "ReadHsmSecurityDomainStatus", + "value": "Microsoft.KeyVault/managedHsm/securitydomain/upload/read", + "description": "Check the status of the HSM security domain exchange file." + }, + { + "name": "ReadHsmSecurityDomainTransferKey", + "value": "Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read", + "description": "Download an HSM security domain transfer key." + }, + { + "name": "StartHsmBackup", + "value": "Microsoft.KeyVault/managedHsm/backup/start/action", + "description": "Start an HSM backup." + }, + { + "name": "StartHsmRestore", + "value": "Microsoft.KeyVault/managedHsm/restore/start/action", + "description": "Start an HSM restore." + }, + { + "name": "ReadHsmBackupStatus", + "value": "Microsoft.KeyVault/managedHsm/backup/status/action", + "description": "Read an HSM backup status." + }, + { + "name": "ReadHsmRestoreStatus", + "value": "Microsoft.KeyVault/managedHsm/restore/status/action", + "description": "Read an HSM restore status." + }, + { + "name": "RandomNumbersGenerate", + "value": "Microsoft.KeyVault/managedHsm/rng/action", + "description": "Generate random numbers." + } + ] + } + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/secrets.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/secrets.json new file mode 100644 index 000000000000..770910be4d2b --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/secrets.json @@ -0,0 +1,891 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/secrets/{secret-name}": { + "put": { + "tags": [ + "Secrets" + ], + "operationId": "SetSecret", + "summary": "Sets a secret in a specified key vault.", + "description": " The SET operation adds a secret to the Azure Key Vault. If the named secret already exists, Azure Key Vault creates a new version of that secret. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z-]+$", + "description": "The name of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretSetParameters" + }, + "description": "The parameters for setting the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle containing the result of the set secret request.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "SetSecret": { + "$ref": "./examples/SetSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "operationId": "DeleteSecret", + "summary": "Deletes a secret from a specified key vault.", + "description": "The DELETE operation applies to any secret stored in Azure Key Vault. DELETE cannot be applied to an individual version of a secret. This operation requires the secrets/delete permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted secret and information on when the secret will be deleted, and how to recover the deleted secret.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "DeleteSecret": { + "$ref": "./examples/DeleteSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/{secret-version}": { + "patch": { + "tags": [ + "Secrets" + ], + "operationId": "UpdateSecret", + "summary": "Updates the attributes associated with a specified secret in a given key vault.", + "description": "The UPDATE operation changes specified attributes of an existing stored secret. Attributes that are not specified in the request are left unchanged. The value of a secret itself cannot be changed. This operation requires the secrets/set permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretUpdateParameters" + }, + "description": "The parameters for update secret operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "UpdateSecret": { + "$ref": "./examples/UpdateSecret-example.json" + } + } + }, + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecret", + "summary": "Get a specified secret from a given key vault.", + "description": "The GET operation is applicable to any secret stored in Azure Key Vault. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "secret-version", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the secret. This URI fragment is optional. If not specified, the latest version of the secret is returned." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved secret.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetSecret": { + "$ref": "./examples/GetSecret-example.json" + } + } + } + }, + "/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecrets", + "summary": "List secrets in a specified key vault.", + "description": "The Get Secrets operation is applicable to the entire vault. However, only the base secret identifier and its attributes are provided in the response. Individual secret versions are not listed in the response. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets in the vault along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecrets": { + "$ref": "./examples/GetSecrets-example.json" + } + } + } + }, + "/secrets/{secret-name}/versions": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "GetSecretVersions", + "summary": "List all versions of the specified secret.", + "description": "The full secret identifier and attributes are provided in the response. No values are returned for the secrets. This operations requires the secrets/list permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified, the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of secrets along with a link to the next page of secrets.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetSecretVersions": { + "$ref": "./examples/GetSecretVersions-example.json" + } + } + } + }, + "/deletedsecrets": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecrets", + "summary": "Lists deleted secrets for the specified vault.", + "description": "The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted secrets in the vault, along with a link to the next page of deleted secrets.", + "schema": { + "$ref": "#/definitions/DeletedSecretListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetDeletedSecrets": { + "$ref": "./examples/GetDeletedSecrets-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}": { + "get": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "GetDeletedSecret", + "summary": "Gets the specified deleted secret.", + "description": "The Get Deleted Secret operation returns the specified deleted secret along with its attributes. This operation requires the secrets/get permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secret bundle of the secret and its attributes.", + "schema": { + "$ref": "#/definitions/DeletedSecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "GetDeletedSecret": { + "$ref": "./examples/GetDeletedSecret-example.json" + } + } + }, + "delete": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "PurgeDeletedSecret", + "summary": "Permanently deletes the specified secret.", + "description": "The purge deleted secret operation removes the secret permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the secrets/purge permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the secret was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "PurgeDeletedSecret": { + "$ref": "./examples/PurgeDeletedSecret-example.json" + } + } + } + }, + "/deletedsecrets/{secret-name}/recover": { + "post": { + "tags": [ + "DeletedSecrets" + ], + "operationId": "RecoverDeletedSecret", + "summary": "Recovers the deleted secret to the latest version.", + "description": "Recovers the deleted secret in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the secrets/recover permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A Secret bundle of the original secret and its attributes.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RecoverDeletedSecret": { + "$ref": "./examples/RecoverDeletedSecret-example.json" + } + } + } + }, + "/secrets/{secret-name}/backup": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "BackupSecret", + "summary": "Backs up the specified secret.", + "description": "Requests that a backup of the specified secret be downloaded to the client. All versions of the secret will be downloaded. This operation requires the secrets/backup permission.", + "parameters": [ + { + "name": "secret-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up secret.", + "schema": { + "$ref": "#/definitions/BackupSecretResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "BackupSecret": { + "$ref": "./examples/BackupSecret-example.json" + } + } + } + }, + "/secrets/restore": { + "post": { + "tags": [ + "Secrets" + ], + "operationId": "RestoreSecret", + "summary": "Restores a backed up secret to a vault.", + "description": "Restores a backed up secret, and all its versions, to a vault. This operation requires the secrets/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SecretRestoreParameters" + }, + "description": "The parameters to restore the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored secret bundle in the vault.", + "schema": { + "$ref": "#/definitions/SecretBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "RestoreSecret": { + "$ref": "./examples/RestoreSecret-example.json" + } + } + } + } + }, + "definitions": { + "SecretBundle": { + "properties": { + "value": { + "type": "string", + "description": "The secret value." + }, + "id": { + "type": "string", + "description": "The secret id." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "kid": { + "type": "string", + "readOnly": true, + "description": "If this is a secret backing a KV certificate, then this field specifies the corresponding key backing the KV certificate." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a secret backing a certificate, then managed will be true." + } + }, + "description": "A secret consisting of a value, id and its attributes." + }, + "SecretItem": { + "properties": { + "id": { + "type": "string", + "description": "Secret identifier." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "managed": { + "type": "boolean", + "readOnly": true, + "description": "True if the secret's lifetime is managed by key vault. If this is a key backing a certificate, then managed will be true." + } + }, + "description": "The secret item containing secret metadata." + }, + "DeletedSecretBundle": { + "allOf": [ + { + "$ref": "#/definitions/SecretBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "A Deleted Secret consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "DeletedSecretItem": { + "allOf": [ + { + "$ref": "#/definitions/SecretItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted secret." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the secret was deleted, in UTC" + } + }, + "description": "The deleted secret item containing metadata about the deleted secret." + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "common.json#/definitions/Attributes" + } + ], + "properties": { + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for secrets in the current vault. If it contains 'Purgeable', the secret can be permanently deleted by a privileged user; otherwise, only the system can purge the secret, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The secret management attributes." + }, + "SecretRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "secretBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a secret bundle." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "SecretProperties": { + "properties": { + "contentType": { + "type": "string", + "description": "The media type (MIME type)." + } + }, + "description": "Properties of the key backing a certificate." + }, + "SecretSetParameters": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + }, + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + } + }, + "description": "The secret set parameters.", + "required": [ + "value" + ] + }, + "SecretUpdateParameters": { + "properties": { + "contentType": { + "type": "string", + "description": "Type of the secret value such as a password." + }, + "attributes": { + "x-ms-client-name": "secretAttributes", + "$ref": "#/definitions/SecretAttributes", + "description": "The secret management attributes." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The secret update parameters." + }, + "SecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of secrets in the key vault along with a link to the next page of secrets." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of secrets." + } + }, + "description": "The secret list result." + }, + "DeletedSecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSecretItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted secrets in the vault along with a link to the next page of deleted secrets" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted secrets." + } + }, + "description": "The deleted secret list result" + }, + "BackupSecretResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up secret." + } + }, + "description": "The backup secret result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/securitydomain.json new file mode 100644 index 000000000000..197155423720 --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/securitydomain.json @@ -0,0 +1,373 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/securitydomain/download/pending": { + "get": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_DownloadPending", + "description": "Retrieves the Security Domain download operation status", + "responses": { + "200": { + "description": "Security Domain download operation status", + "schema": { + "$ref": "#/definitions/SecurityDomainOperationStatus" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Find Security Domain download operation status": { + "$ref": "./examples/securitydomainoperationstatus-example.json" + } + } + } + }, + "/securitydomain/download": { + "post": { + "tags": [ + "HSMSecurityDomain" + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "operationId": "HSMSecurityDomain_Download", + "description": "Retrieves the Security Domain from the managed HSM. Calling this endpoint can be used to activate a provisioned managed HSM resource.", + "parameters": [ + { + "in": "body", + "name": "CertificateInfoObject", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateInfoObject" + }, + "description": "The Security Domain download operation requires customer to provide N certificates (minimum 3 and maximum 10) containing a public key in JWK format." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "The response contains the Security Domain that is being confirmed.", + "schema": { + "$ref": "#/definitions/SecurityDomainObject" + }, + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Retrieve Security Domain": { + "$ref": "./examples/securitydomaindownloadpost-example.json" + } + } + } + }, + "/securitydomain/upload": { + "get": { + "tags": [ + "HSMSecurityDomain" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "operationId": "HSMSecurityDomain_TransferKey", + "description": "Retrieve Security Domain transfer key", + "responses": { + "200": { + "description": "Security Domain transfer key response", + "schema": { + "$ref": "#/definitions/TransferKey" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Retrieve Security Domain transfer key": { + "$ref": "./examples/securitydomaintransferkey-example.json" + } + } + }, + "post": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_Upload", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Restore the provided Security Domain.", + "parameters": [ + { + "in": "body", + "name": "security_domain", + "description": "The Security Domain to be restored.", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityDomainObject" + } + } + ], + "responses": { + "202": { + "description": "Restore of the Security Domain started.", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityDomainOperationStatus" + } + }, + "204": { + "description": "Final response" + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Security Domain upload operation": { + "$ref": "./examples/securitydomainuploadoperation-example.json" + } + } + } + }, + "/securitydomain/upload/pending": { + "get": { + "tags": [ + "HSMSecurityDomain" + ], + "operationId": "HSMSecurityDomain_UploadPending", + "description": "Get Security Domain upload operation status", + "responses": { + "200": { + "description": "Security Domain upload operation status", + "schema": { + "$ref": "#/definitions/SecurityDomainOperationStatus" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Find Security Domain upload operation status": { + "$ref": "./examples/securitydomainoperationstatus-example.json" + } + } + } + } + }, + "definitions": { + "CertificateInfoObject": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityDomainJsonWebKey" + }, + "minItems": 3, + "maxItems": 10, + "uniqueItems": true, + "description": "Certificates needed from customer" + }, + "required": { + "description": "Customer to specify the number of certificates (minimum 2 and maximum 10) to restore Security Domain", + "type": "integer", + "default": 2, + "minimum": 2, + "maximum": 10 + } + }, + "required": [ + "certificates" + ] + }, + "TransferKey": { + "properties": { + "key_format": { + "type": "string", + "default": "jwk", + "description": "Specifies the format of the transfer key" + }, + "transfer_key": { + "$ref": "#/definitions/SecurityDomainJsonWebKey", + "description": "Specifies the transfer key in JWK format" + } + }, + "required": [ + "transfer_key" + ] + }, + "SecurityDomainObject": { + "properties": { + "value": { + "type": "string", + "description": "The Security Domain." + } + }, + "description": "The Security Domain.", + "required": [ + "value" + ] + }, + "SecurityDomainOperationStatus": { + "properties": { + "status": { + "description": "operation status", + "enum": [ + "Success", + "InProgress", + "Failed" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "OperationStatus" + }, + "type": "string" + }, + "status_details": { + "type": "string" + } + } + }, + "SecurityDomainJsonWebKey": { + "properties": { + "kid": { + "type": "string", + "description": "Key identifier." + }, + "kty": { + "type": "string", + "description": "JsonWebKey Key Type (kty), as defined in https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. For Security Domain this value must be RSA." + }, + "key_ops": { + "type": "array", + "items": { + "type": "string", + "description": "Supported key operations." + } + }, + "n": { + "type": "string", + "description": "RSA modulus." + }, + "e": { + "type": "string", + "description": "RSA public exponent." + }, + "x5c": { + "description": "X509 certificate chain parameter", + "type": "array", + "items": { + "type": "string" + } + }, + "use": { + "description": "Public Key Use Parameter. This is optional and if present must be enc.", + "type": "string" + }, + "x5t": { + "description": "X509 certificate SHA1 thumbprint. This is optional.", + "type": "string" + }, + "x5t#S256": { + "description": "X509 certificate SHA256 thumbprint.", + "type": "string" + }, + "alg": { + "description": "Algorithm intended for use with the key.", + "type": "string" + } + }, + "required": [ + "kty", + "key_ops", + "alg", + "kid", + "x5c", + "x5t#S256", + "n", + "e" + ] + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/storage.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/storage.json new file mode 100644 index 000000000000..74002b5519cc --- /dev/null +++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/storage.json @@ -0,0 +1,1622 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultClient", + "description": "The key vault client performs cryptographic key operations and vault operations against the Key Vault service.", + "version": "7.3" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{vaultBaseUrl}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "name": "vaultBaseUrl", + "description": "The vault name, for example https://myvault.vault.azure.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/storage": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccounts", + "description": "List storage accounts managed by the specified key vault. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of storage accounts along with a link to the next page of storage accounts.", + "schema": { + "$ref": "#/definitions/StorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage account": { + "$ref": "./examples/listStorageAccount.json" + } + } + } + }, + "/deletedstorage": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccounts", + "summary": "Lists deleted storage accounts for the specified vault.", + "description": "The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission.", + "parameters": [ + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted storage accounts in the vault, along with a link to the next page of deleted storage accounts.", + "schema": { + "$ref": "#/definitions/DeletedStorageListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Accounts": { + "$ref": "./examples/listDeletedStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedStorageAccount", + "summary": "Gets the specified deleted storage account.", + "description": "The Get Deleted Storage Account operation returns the specified deleted storage account along with its attributes. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when it will be purged, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage": { + "$ref": "./examples/getDeletedStorageAccount.json" + } + } + }, + "delete": { + "tags": [ + "DeletedStorage" + ], + "operationId": "PurgeDeletedStorageAccount", + "summary": "Permanently deletes the specified storage account.", + "description": "The purge deleted storage account operation removes the secret permanently, without the possibility of recovery. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/purge permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No content signaling that the storage account was purged forever." + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Purge Deleted Storage Account": { + "$ref": "./examples/purgeStorageAccount.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedStorageAccount", + "summary": "Recovers the deleted storage account.", + "description": "Recovers the deleted storage account in the specified vault. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A storage bundle of the original storage account and its attributes.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Account": { + "$ref": "./examples/recoverStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/backup": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "BackupStorageAccount", + "summary": "Backs up the specified storage account.", + "description": "Requests that a backup of the specified storage account be downloaded to the client. This operation requires the storage/backup permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The backup blob containing the backed up storage account.", + "schema": { + "$ref": "#/definitions/BackupStorageResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Backup Storage Account": { + "$ref": "./examples/backupStorageAccount.json" + } + } + } + }, + "/storage/restore": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RestoreStorageAccount", + "summary": "Restores a backed up storage account to a vault.", + "description": "Restores a backed up storage account to a vault. This operation requires the storage/restore permission.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageRestoreParameters" + }, + "description": "The parameters to restore the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Restored storage account bundle in the vault.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Restore Storage Account": { + "$ref": "./examples/restoreStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteStorageAccount", + "description": "Deletes a storage account. This operation requires the storage/delete permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted storage account and information on when the storage account will be deleted, and how to recover the deleted storage account.", + "schema": { + "$ref": "#/definitions/DeletedStorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage account": { + "$ref": "./examples/deleteStorageAccount.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetStorageAccount", + "description": "Gets information about a specified storage account. This operation requires the storage/get permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage account": { + "$ref": "./examples/getStorageAccount.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetStorageAccount", + "description": "Creates or updates a new storage account. This operation requires the storage/set permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to create a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage account": { + "$ref": "./examples/setStorageAccount.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateStorageAccount", + "description": "Updates the specified attributes associated with the given storage account. This operation requires the storage/set/update permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to update a storage account." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage account": { + "$ref": "./examples/updateStorageAccount.json" + } + } + } + }, + "/storage/{storage-account-name}/regeneratekey": { + "post": { + "tags": [ + "Storage" + ], + "operationId": "RegenerateStorageAccountKey", + "description": "Regenerates the specified key value for the given storage account. This operation requires the storage/regeneratekey permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerteKeyParameters" + }, + "description": "The parameters to regenerate storage account key." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated storage account.", + "schema": { + "$ref": "#/definitions/StorageBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Regenerate Storage account key": { + "$ref": "./examples/regenerateStorageAccountKey.json" + } + } + } + }, + "/storage/{storage-account-name}/sas": { + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinitions", + "description": "List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions.", + "schema": { + "$ref": "#/definitions/SasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Storage Sas Definition": { + "$ref": "./examples/listStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinitions", + "summary": "Lists deleted SAS definitions for the specified vault and storage account.", + "description": "The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 25, + "description": "Maximum number of results to return in a page. If not specified the service will return up to 25 results." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A response message containing a list of deleted SAS definitions for the storage account, along with a link to the next page of deleted SAS definitions.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionListResult" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Deleted Storage Sas Definitions": { + "$ref": "./examples/listDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}": { + "get": { + "tags": [ + "DeletedStorage" + ], + "operationId": "GetDeletedSasDefinition", + "summary": "Gets the specified deleted sas definition.", + "description": "The Get Deleted SAS Definition operation returns the specified deleted SAS definition along with its attributes. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the it will be purged, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Deleted Storage Sas Definition": { + "$ref": "./examples/getDeletedStorageSasDefinition.json" + } + } + } + }, + "/deletedstorage/{storage-account-name}/sas/{sas-definition-name}/recover": { + "post": { + "tags": [ + "DeletedStorage" + ], + "operationId": "RecoverDeletedSasDefinition", + "summary": "Recovers the deleted SAS definition.", + "description": "Recovers the deleted SAS definition for the specified storage account. This operation can only be performed on a soft-delete enabled vault. This operation requires the storage/recover permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A SAS definition bundle of the original SAS definition and its attributes.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Recover Deleted Storage Sas Definition": { + "$ref": "./examples/recoverStorageSasDefinition.json" + } + } + } + }, + "/storage/{storage-account-name}/sas/{sas-definition-name}": { + "delete": { + "tags": [ + "Storage" + ], + "operationId": "DeleteSasDefinition", + "description": "Deletes a SAS definition from a specified storage account. This operation requires the storage/deletesas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The deleted SAS definition and information on when the SAS definition will be deleted, and how to recover the deleted SAS definition.", + "schema": { + "$ref": "#/definitions/DeletedSasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Delete Storage Sas Definition": { + "$ref": "./examples/deleteStorageSasDefinition.json" + } + } + }, + "get": { + "tags": [ + "Storage" + ], + "operationId": "GetSasDefinition", + "description": "Gets information about a SAS definition for the specified storage account. This operation requires the storage/getsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Get Storage Sas Definition": { + "$ref": "./examples/getStorageSasDefinition.json" + } + } + }, + "put": { + "tags": [ + "Storage" + ], + "operationId": "SetSasDefinition", + "description": "Creates or updates a new SAS definition for the specified storage account. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionCreateParameters" + }, + "description": "The parameters to create a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The created SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Set Storage Sas definition": { + "$ref": "./examples/setStorageSasDefinition.json" + } + } + }, + "patch": { + "tags": [ + "Storage" + ], + "operationId": "UpdateSasDefinition", + "description": "Updates the specified attributes associated with the given SAS definition. This operation requires the storage/setsas permission.", + "parameters": [ + { + "name": "storage-account-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the storage account." + }, + { + "name": "sas-definition-name", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[0-9a-zA-Z]+$", + "description": "The name of the SAS definition." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/SasDefinitionUpdateParameters" + }, + "description": "The parameters to update a SAS definition." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The updated SAS definition.", + "schema": { + "$ref": "#/definitions/SasDefinitionBundle" + } + }, + "default": { + "description": "Key Vault error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/KeyVaultError" + } + } + }, + "x-ms-examples": { + "Update Storage Sas definition": { + "$ref": "./examples/updateStorageSasDefinition.json" + } + } + } + } + }, + "definitions": { + "StorageRestoreParameters": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "storageBundleBackup", + "format": "base64url", + "description": "The backup blob associated with a storage account." + } + }, + "description": "The secret restore parameters.", + "required": [ + "value" + ] + }, + "StorageAccountAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for storage accounts in the current vault. If it contains 'Purgeable' the storage account can be permanently deleted by a privileged user; otherwise, only the system can purge the storage account, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true, + "values": [ + { + "value": "Purgeable", + "description": "Denotes a vault state in which deletion is an irreversible operation, without the possibility for recovery. This level corresponds to no protection being available against a Delete operation; the data is irretrievably lost upon accepting a Delete operation at the entity level or higher (vault, resource group, subscription etc.)" + }, + { + "value": "Recoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval (90 days), unless a Purge operation is requested, or the subscription is cancelled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge). This level guarantees the recoverability of the deleted entity during the retention interval(90 days) and while the subscription is still available. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "Recoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable within retention interval (90 days), immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled. System wil permanently delete it after 90 days, if not recovered" + }, + { + "value": "CustomizedRecoverable+Purgeable", + "description": "Denotes a vault state in which deletion is recoverable, and which also permits immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90). This level guarantees the recoverability of the deleted entity during the retention interval, unless a Purge operation is requested, or the subscription is cancelled." + }, + { + "value": "CustomizedRecoverable", + "description": "Denotes a vault state in which deletion is recoverable without the possibility for immediate and permanent deletion (i.e. purge when 7<= SoftDeleteRetentionInDays < 90).This level guarantees the recoverability of the deleted entity during the retention interval and while the subscription is still available." + }, + { + "value": "CustomizedRecoverable+ProtectedSubscription", + "description": "Denotes a vault and subscription state in which deletion is recoverable, immediate and permanent deletion (i.e. purge) is not permitted, and in which the subscription itself cannot be permanently canceled when 7<= SoftDeleteRetentionInDays < 90. This level guarantees the recoverability of the deleted entity during the retention interval, and also reflects the fact that the subscription itself cannot be cancelled." + } + ] + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The storage account management attributes." + }, + "StorageBundle": { + "properties": { + "id": { + "type": "string", + "description": "The storage account id.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "The storage account resource id.", + "readOnly": true + }, + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name.", + "readOnly": true + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user.", + "readOnly": true + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A Storage account bundle consists of key vault storage account details plus its attributes." + }, + "DeletedStorageBundle": { + "allOf": [ + { + "$ref": "#/definitions/StorageBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "A deleted storage account bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "StorageAccountCreateParameters": { + "properties": { + "resourceId": { + "type": "string", + "description": "Storage account resource id." + }, + "activeKeyName": { + "type": "string", + "description": "Current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account create parameters.", + "required": [ + "resourceId", + "activeKeyName", + "autoRegenerateKey" + ] + }, + "StorageAccountUpdateParameters": { + "properties": { + "activeKeyName": { + "type": "string", + "description": "The current active storage account key name." + }, + "autoRegenerateKey": { + "type": "boolean", + "description": "whether keyvault should manage the storage account for the user." + }, + "regenerationPeriod": { + "type": "string", + "description": "The key regeneration time duration specified in ISO-8601 format." + }, + "attributes": { + "x-ms-client-name": "StorageAccountAttributes", + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The attributes of the storage account." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The storage account update parameters." + }, + "StorageAccountRegenerteKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The storage account key name." + } + }, + "description": "The storage account key regenerate parameters.", + "required": [ + "keyName" + ] + }, + "StorageAccountItem": { + "properties": { + "id": { + "type": "string", + "description": "Storage identifier.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Storage account resource Id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/StorageAccountAttributes", + "description": "The storage account management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The storage account item containing storage account metadata." + }, + "DeletedStorageAccountItem": { + "allOf": [ + { + "$ref": "#/definitions/StorageAccountItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted storage account." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the storage account was deleted, in UTC" + } + }, + "description": "The deleted storage account item containing metadata about the deleted storage account." + }, + "StorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of storage accounts in the key vault along with a link to the next page of storage accounts." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of storage accounts." + } + }, + "description": "The storage accounts list result." + }, + "DeletedStorageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedStorageAccountItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted storage accounts in the vault along with a link to the next page of deleted storage accounts" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted storage accounts." + } + }, + "description": "The deleted storage account list result" + }, + "SasDefinitionAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "the enabled state of the object." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in UTC." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in UTC." + }, + "recoverableDays": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "softDelete data retention days. Value should be >=7 and <=90 when softDelete enabled, otherwise 0." + }, + "recoveryLevel": { + "type": "string", + "description": "Reflects the deletion recovery level currently in effect for SAS definitions in the current vault. If it contains 'Purgeable' the SAS definition can be permanently deleted by a privileged user; otherwise, only the system can purge the SAS definition, at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription", + "CustomizedRecoverable+Purgeable", + "CustomizedRecoverable", + "CustomizedRecoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "The SAS definition management attributes." + }, + "SasDefinitionBundle": { + "properties": { + "id": { + "type": "string", + "description": "The SAS definition id.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "Storage account SAS definition secret id.", + "readOnly": true + }, + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template.", + "readOnly": true + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + }, + "readOnly": true + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs", + "readOnly": true + } + }, + "description": "A SAS definition bundle consists of key vault SAS definition details plus its attributes." + }, + "DeletedSasDefinitionBundle": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionBundle" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "A deleted SAS definition bundle consisting of its previous id, attributes and its tags, as well as information on when it will be purged." + }, + "SasDefinitionItem": { + "properties": { + "id": { + "type": "string", + "description": "The storage SAS identifier.", + "readOnly": true + }, + "sid": { + "x-ms-client-name": "SecretId", + "type": "string", + "description": "The storage account SAS definition secret id.", + "readOnly": true + }, + "attributes": { + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The SAS definition management attributes.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs.", + "readOnly": true + } + }, + "description": "The SAS definition item containing storage SAS definition metadata." + }, + "DeletedSasDefinitionItem": { + "allOf": [ + { + "$ref": "#/definitions/SasDefinitionItem" + } + ], + "properties": { + "recoveryId": { + "type": "string", + "description": "The url of the recovery object, used to identify and recover the deleted SAS definition." + }, + "scheduledPurgeDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition is scheduled to be purged, in UTC" + }, + "deletedDate": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "The time when the SAS definition was deleted, in UTC" + } + }, + "description": "The deleted SAS definition item containing metadata about the deleted SAS definition." + }, + "SasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of SAS definitions along with a link to the next page of SAS definitions." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of SAS definitions." + } + }, + "description": "The storage account SAS definition list result." + }, + "DeletedSasDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedSasDefinitionItem" + }, + "readOnly": true, + "description": "A response message containing a list of the deleted SAS definitions in the vault along with a link to the next page of deleted sas definitions" + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of deleted SAS definitions." + } + }, + "description": "The deleted SAS definition list result" + }, + "SasDefinitionCreateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition create parameters.", + "required": [ + "templateUri", + "sasType", + "validityPeriod" + ] + }, + "SasDefinitionUpdateParameters": { + "properties": { + "templateUri": { + "type": "string", + "description": "The SAS definition token template signed with an arbitrary key. Tokens created according to the SAS definition will have the same properties as the template." + }, + "sasType": { + "type": "string", + "description": "The type of SAS token the SAS definition will create.", + "enum": [ + "account", + "service" + ], + "x-ms-enum": { + "name": "SasTokenType", + "modelAsString": true + } + }, + "validityPeriod": { + "type": "string", + "description": "The validity period of SAS tokens created according to the SAS definition." + }, + "attributes": { + "x-ms-client-name": "SasDefinitionAttributes", + "$ref": "#/definitions/SasDefinitionAttributes", + "description": "The attributes of the SAS definition." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application specific metadata in the form of key-value pairs." + } + }, + "description": "The SAS definition update parameters." + }, + "BackupStorageResult": { + "properties": { + "value": { + "type": "string", + "format": "base64url", + "readOnly": true, + "description": "The backup blob containing the backed up storage account." + } + }, + "description": "The backup storage result, containing the backup blob." + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version." + } + } +} diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md index d2893e2d923e..529b6ea3a02b 100644 --- a/specification/keyvault/data-plane/readme.md +++ b/specification/keyvault/data-plane/readme.md @@ -26,15 +26,30 @@ These are the global settings for the KeyVault API. ``` yaml openapi-type: data-plane -tag: package-preview-7.3-preview +tag: package-7.3 ``` +### Tag: package-7.3 + +These settings apply only when `--tag=package-7.3` is specified on the command line. + +```yaml $(tag) == 'package-7.3' +input-file: + - Microsoft.KeyVault/stable/7.3/backuprestore.json + - Microsoft.KeyVault/stable/7.3/certificates.json + - Microsoft.KeyVault/stable/7.3/common.json + - Microsoft.KeyVault/stable/7.3/keys.json + - Microsoft.KeyVault/stable/7.3/rbac.json + - Microsoft.KeyVault/stable/7.3/secrets.json + - Microsoft.KeyVault/stable/7.3/securitydomain.json + - Microsoft.KeyVault/stable/7.3/storage.json +``` ### Tag: package-preview-7.3-preview These settings apply only when `--tag=package-preview-7.3-preview` is specified on the command line. -```yaml $(tag) == 'package-preview-7.3-preview' +``` yaml $(tag) == 'package-preview-7.3-preview' input-file: - Microsoft.KeyVault/preview/7.3-preview/backuprestore.json - Microsoft.KeyVault/preview/7.3-preview/certificates.json diff --git a/specification/keyvault/resource-manager/readme.python.md b/specification/keyvault/resource-manager/readme.python.md index 0b058845a74c..fb9c64cd3a1e 100644 --- a/specification/keyvault/resource-manager/readme.python.md +++ b/specification/keyvault/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.keyvault diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/definitions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/definitions.json new file mode 100644 index 000000000000..f15e7eb772a6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/definitions.json @@ -0,0 +1,168 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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": { + "ProvisioningStateDefinition": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "OperationStatusResult": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "type": "string" + }, + "properties": { + "description": "Additional information, if available.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "error": { + "description": "If present, details of the operation error.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + } + }, + "OperationStatusList": { + "description": "The async operations in progress, in the cluster.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationStatusResult" + }, + "description": "List of async operations in progress, in the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of Operation Result objects, if any." + } + } + }, + "ResourceProviderOperation": { + "description": "Supported operation of this resource provider.", + "type": "object", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider: Microsoft KubernetesConfiguration.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + }, + "origin": { + "description": "Origin of the operation", + "type": "string", + "readOnly": true + } + } + }, + "ResourceProviderOperationList": { + "description": "Result of the request to list operations.", + "type": "object", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider.", + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to the next set of results, if any." + } + } + } + }, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/parameters.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/parameters.json new file mode 100644 index 000000000000..91adfc2760a9 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-03-01/parameters.json @@ -0,0 +1,54 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "Common types and definitions", + "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP" + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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": {}, + "parameters": { + "ClusterRpParameter": { + "name": "clusterRp", + "in": "path", + "required": true, + "type": "string", + "description": "The Kubernetes cluster RP - i.e. Microsoft.ContainerService, Microsoft.Kubernetes, Microsoft.HybridContainerService.", + "x-ms-parameter-location": "method" + }, + "ClusterResourceNameParameter": { + "name": "clusterResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The Kubernetes cluster resource name - i.e. managedClusters, connectedClusters, provisionedClusters.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the kubernetes cluster.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateExtension.json new file mode 100644 index 000000000000..421526741aa3 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateExtension.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "extension": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-03-01" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Creating", + "installedVersion": null, + "statuses": [] + } + } + }, + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "installedVersion": "0.1.4", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfiguration.json new file mode 100644 index 000000000000..e7bfeff36d97 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfiguration.json @@ -0,0 +1,314 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master" + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-03-01" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + }, + "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfigurationWithBucket.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfigurationWithBucket.json new file mode 100644 index 000000000000..7c6f25bb6ef8 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateFluxConfigurationWithBucket.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "fluxConfiguration": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "Bucket", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + }, + "201": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}", + "x-ms-async-operation-timeout": "PT48H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": null, + "bucket": { + "url": "https://fluxminiotest.az.minio.io", + "bucketName": "flux", + "syncIntervalInSeconds": 1000, + "timeoutInSeconds": 1000, + "accessKey": "fluxminiotest" + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateSourceControlConfiguration.json new file mode 100644 index 000000000000..5a434e1c72c8 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/CreateSourceControlConfiguration.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "sourceControlConfiguration": { + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "configurationProtectedSettings": { + "protectedSetting1Key": "protectedSetting1Value" + }, + "enableHelmOperator": true, + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + } + } + } + }, + "responses": { + "201": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + }, + "200": { + "headers": {}, + "description": "Details of the Kubernetes Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "enableHelmOperator": true, + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteExtension.json new file mode 100644 index 000000000000..56de5af0181e --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteExtension.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteFluxConfiguration.json new file mode 100644 index 000000000000..dca478ee83d6 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteFluxConfiguration.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}", + "x-ms-async-operation-timeout": "PT1H" + }, + "description": "Details of the Kubernetes Flux Configuration's current status." + }, + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteSourceControlConfiguration.json new file mode 100644 index 000000000000..52d051bd860b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/DeleteSourceControlConfiguration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtension.json new file mode 100644 index 000000000000..66714c2e8265 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtension.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Extension's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "installedVersion": "0.1.4", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtensionAsyncOperationStatus.json new file mode 100644 index 000000000000..696d736640ff --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetExtensionAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfiguration.json new file mode 100644 index 000000000000..95459411f40b --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfiguration.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Kubernetes Flux Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": { + "name": "my-name", + "namespace": "my-namespace" + }, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfigurationAsyncOperationStatus.json new file mode 100644 index 000000000000..80ff57c2dadd --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetFluxConfigurationAsyncOperationStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "operationId": "99999999-9999-9999-9999-999999999999" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Succeeded", + "properties": {}, + "error": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetSourceControlConfiguration.json new file mode 100644 index 000000000000..15912d180727 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/GetSourceControlConfiguration.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "sourceControlConfigurationName": "SRS_GitHubConfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "headers": {}, + "description": "Details of the Source Control Configuration's current status.", + "body": { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "operatorParams": "--git-email=xyzgituser@users.srs.github.com", + "helmOperatorProperties": { + "chartVersion": "0.3.0", + "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system" + }, + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Pending", + "lastConfigApplied": "2020-09-08T05:25:32.122Z", + "message": "Configuration successfully created", + "messageLevel": "Info" + } + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListAsyncOperationStatus.json new file mode 100644 index 000000000000..68bb14504fef --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListAsyncOperationStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999", + "name": "99999999-9999-9999-9999-999999999999", + "status": "Deleting", + "properties": {}, + "error": null + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888", + "name": "88888888-8888-8888-8888-888888888888", + "status": "Creating", + "properties": {}, + "error": null + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListExtensions.json new file mode 100644 index 000000000000..31b8a5046729 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListExtensions.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "ClusterMonitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T05:10:57.027Z" + }, + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": false, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Succeeded", + "installedVersion": "0.1.4", + "statuses": [] + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01", + "type": "Microsoft.KubernetesConfiguration/extensions", + "name": "App1Monitor", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-09-08T04:09:23.011Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2021-09-08T04:09:23.011Z" + }, + "properties": { + "extensionType": "Microsoft.RecoveryServices/recoveryVault", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Stable", + "version": null, + "scope": { + "cluster": { + "releaseNamespace": "myKVNamespace" + } + }, + "configurationSettings": {}, + "provisioningState": "Succeeded", + "installedVersion": "1.0.1", + "statuses": [] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListFluxConfigurations.json new file mode 100644 index 000000000000..1ecf6535e6a9 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListFluxConfigurations.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig", + "type": "Microsoft.KubernetesConfiguration/fluxConfigurations", + "name": "srs-fluxconfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2021-05-19T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-05-19T05:10:57.027Z" + }, + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/Azure/arc-k8s-demo", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization1": { + "name": "srs-kustomization1", + "path": "./test/path", + "dependsOn": [], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600 + }, + "srs-kustomization2": { + "name": "srs-kustomization2", + "path": "./other/test/path", + "dependsOn": [ + "srs-kustomization1" + ], + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "retryIntervalInSeconds": 600, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "statusConditions": null, + "helmReleaseProperties": null + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListSourceControlConfiguration.json new file mode 100644 index 000000000000..094e04f070fd --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/ListSourceControlConfiguration.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "api-version": "2022-03-01", + "clusterName": "clusterName1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs", + "operatorNamespace": "SRS_Namespace", + "operatorInstanceName": "SRSGitHubFluxOp-01", + "operatorType": "Flux", + "operatorScope": "namespace", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + }, + { + "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig", + "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "name": "SCRS_GitHubConfig", + "systemData": { + "createdBy": "string", + "createdByType": "Application", + "createdAt": "2020-09-08T05:10:57.027Z", + "lastModifiedBy": "string", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-09-08T05:10:57.027Z" + }, + "properties": { + "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs", + "operatorNamespace": "SCRS_Namespace", + "operatorInstanceName": "SCRSGitHubFluxOp-02", + "operatorType": "Flux", + "operatorScope": "cluster", + "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=", + "provisioningState": "Succeeded", + "complianceStatus": { + "complianceState": "Compliant" + } + } + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/OperationsList.json new file mode 100644 index 000000000000..403689d84edf --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/OperationsList.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Creates or updates source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Gets source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "display": { + "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete", + "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations", + "description": "Deletes source control configuration.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get extension", + "description": "Get the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Create a Extension", + "description": "Create the Extension specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Delete Extension", + "description": "Delete the specified Extension." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensions/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "extensions", + "operation": "Get Extension Async Operation Status", + "description": "Get the Status of the Extension Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get fluxConfiguration", + "description": "Get the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Create a fluxConfiguration", + "description": "Create the Flux Configuration specified." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Delete Flux Configuration", + "description": "Delete the specified Flux Configuration." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read", + "display": { + "provider": "Microsoft KubernetesConfiguration", + "resource": "fluxConfigurations", + "operation": "Get Flux Configuration Async Operation Status", + "description": "Get the Status of the Flux Configuration Async Operation." + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/register/action", + "display": { + "operation": "Microsoft.KubernetesConfiguration/register/action", + "resource": "Register", + "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.", + "provider": "Microsoft Kubernetes Configuration" + }, + "isDataAction": false, + "origin": "user,system" + }, + { + "name": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "display": { + "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read", + "resource": "extensionTypes", + "description": "Get Kubernetes Configuration Available Extensions", + "provider": "Microsoft KubernetesConfiguration" + }, + "isDataAction": false, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchExtension.json new file mode 100644 index 000000000000..b5beb6c1e551 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchExtension.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "extensionName": "ClusterMonitor", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "patchExtension": { + "properties": { + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "configurationProtectedSettings": { + "omsagent.secret.key": "secretKeyValue01" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-03-01" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "extensionType": "azuremonitor-containers", + "autoUpgradeMinorVersion": true, + "releaseTrain": "Preview", + "version": "0.1.4", + "scope": { + "cluster": { + "releaseNamespace": "kube-system" + } + }, + "configurationSettings": { + "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b", + "omsagent.env.clusterName": "clusterName1" + }, + "provisioningState": "Updating", + "statuses": [] + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchFluxConfiguration.json new file mode 100644 index 000000000000..61ee22fc25ed --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/examples/PatchFluxConfiguration.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "subId1", + "resourceGroupName": "rg1", + "clusterRp": "Microsoft.Kubernetes", + "clusterResourceName": "connectedClusters", + "fluxConfigurationName": "srs-fluxconfig", + "api-version": "2022-03-01", + "clusterName": "clusterName1", + "fluxConfigurationPatch": { + "properties": { + "suspend": true, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git" + }, + "kustomizations": { + "srs-kustomization1": null, + "srs-kustomization2": { + "path": "./test/alt-path", + "syncIntervalInSeconds": 300, + "dependsOn": null + }, + "srs-kustomization3": { + "path": "./test/another-path", + "syncIntervalInSeconds": 300 + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId", + "x-ms-async-operation-timeout": "PT48H", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-03-01" + }, + "description": "Extension properties and details of the Patch operation, including AsyncOperation url.", + "body": { + "properties": { + "scope": "cluster", + "namespace": "srs-namespace", + "sourceKind": "GitRepository", + "suspend": false, + "gitRepository": { + "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 600, + "repositoryRef": { + "branch": "master", + "tag": null, + "semver": null, + "commit": null + } + }, + "kustomizations": { + "srs-kustomization2": { + "path": "./test/alt-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": 600, + "prune": false + }, + "srs-kustomization3": { + "path": "./test/another-path", + "timeoutInSeconds": 600, + "syncIntervalInSeconds": 300, + "retryIntervalInSeconds": null, + "prune": false + } + }, + "statuses": [ + { + "name": "srs-fluxconfig", + "kind": "GitRepository", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": null, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "GitOperationSucceed", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization1", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + }, + { + "name": "srs-fluxconfig-srs-kustomization2", + "kind": "Kustomization", + "complianceState": "Compliant", + "appliedBy": null, + "helmReleaseProperties": { + "lastRevisionApplied": 1, + "helmChartRef": { + "name": "myname", + "namespace": "mynamespace" + }, + "failureCount": null, + "upgradeFailureCount": null, + "installFailureCount": null + }, + "statusConditions": [ + { + "lastTransitionTime": "2021-05-19T18:12:40Z", + "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'", + "reason": "ReconciliationSucceeded", + "status": "True", + "type": "Ready" + } + ] + } + ], + "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF", + "sourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590", + "sourceUpdatedAt": "2021-05-19T18:17:12Z", + "statusUpdatedAt": "2021-05-19T18:17:12Z", + "complianceState": "Compliant", + "provisioningState": "Succeeded", + "errorMessage": "" + } + } + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/extensions.json new file mode 100644 index 000000000000..3e46117a4797 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/extensions.json @@ -0,0 +1,685 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "ExtensionsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Create a new Kubernetes Cluster Extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create Extension": { + "$ref": "./examples/CreateExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "extension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" + }, + "description": "Properties necessary to Create an Extension." + } + ], + "responses": { + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Gets Kubernetes Cluster Extension.", + "operationId": "Extensions_Get", + "x-ms-examples": { + "Get Extension": { + "$ref": "./examples/GetExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.", + "operationId": "Extensions_Delete", + "x-ms-examples": { + "Delete Extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the extension was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "Patch an existing Kubernetes Cluster Extension.", + "operationId": "Extensions_Update", + "x-ms-examples": { + "Update Extension": { + "$ref": "./examples/PatchExtension.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "patchExtension", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/patchExtension" + }, + "description": "Properties to Patch in an existing Extension." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/Extension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": { + "get": { + "tags": [ + "Extensions", + "ClusterExtensions" + ], + "description": "List all Extensions in the cluster.", + "operationId": "Extensions_List", + "x-ms-examples": { + "List Extensions": { + "$ref": "./examples/ListExtensions.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": { + "get": { + "tags": [ + "Extension Operation Status" + ], + "operationId": "OperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "ExtensionAsyncOperationStatus Get": { + "$ref": "./examples/GetExtensionAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Extension Operation Status", + "schema": { + "$ref": "../../common/2022-03-01/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeCluster": { + "description": "Specifies that the scope of the extension is Cluster", + "type": "object", + "properties": { + "releaseNamespace": { + "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "ScopeNamespace": { + "description": "Specifies that the scope of the extension is Namespace", + "type": "object", + "properties": { + "targetNamespace": { + "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created", + "type": "string" + } + } + }, + "Scope": { + "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.", + "type": "object", + "properties": { + "cluster": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Cluster", + "$ref": "#/definitions/ScopeCluster" + }, + "namespace": { + "type": "object", + "x-nullable": true, + "description": "Specifies that the scope of the extension is Namespace", + "$ref": "#/definitions/ScopeNamespace" + } + } + }, + "ExtensionStatus": { + "description": "Status from the extension.", + "type": "object", + "readOnly": true, + "properties": { + "code": { + "type": "string", + "description": "Status code provided by the Extension" + }, + "displayStatus": { + "type": "string", + "description": "Short description of status of the extension." + }, + "level": { + "type": "string", + "description": "Level of the status.", + "enum": [ + "Error", + "Warning", + "Information" + ], + "default": "Information", + "x-ms-enum": { + "name": "LevelType", + "modelAsString": true + } + }, + "message": { + "type": "string", + "description": "Detailed message of the status from the Extension." + }, + "time": { + "type": "string", + "description": "DateLiteral (per ISO8601) noting the time of installation status." + } + } + }, + "Extension": { + "description": "The Extension object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties of an Extension resource", + "properties": { + "extensionType": { + "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.", + "type": "string" + }, + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "User-specified version of the extension for this extension to 'pin'. To use 'version', autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "scope": { + "description": "Scope at which the extension is installed.", + "$ref": "#/definitions/Scope" + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "installedVersion": { + "description": "Installed version of the extension.", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "provisioningState": { + "description": "Status of installation of this extension.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "statuses": { + "description": "Status from this extension.", + "type": "array", + "x-nullable": true, + "items": { + "$ref": "#/definitions/ExtensionStatus" + }, + "x-ms-identifiers": [] + }, + "errorInfo": { + "description": "Error information from the Agent - e.g. errors during installation.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + }, + "customLocationSettings": { + "description": "Custom Location settings properties.", + "type": "object", + "readOnly": true, + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "packageUri": { + "description": "Uri of the Helm package", + "type": "string", + "readOnly": true, + "x-nullable": true + }, + "aksAssignedIdentity": { + "description": "Identity of the Extension resource in an AKS cluster", + "x-nullable": true, + "type": "object", + "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" + ], + "x-ms-enum": { + "name": "AKSIdentityType", + "modelAsString": false + } + } + } + } + } + }, + "identity": { + "description": "Identity of the Extension resource", + "x-nullable": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity" + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "ExtensionsList": { + "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Extension" + }, + "description": "List of Extensions within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of extension objects, if any." + } + } + }, + "patchExtension": { + "description": "The Extension Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Extension Patch Request", + "properties": { + "autoUpgradeMinorVersion": { + "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.", + "type": "boolean", + "default": true + }, + "releaseTrain": { + "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.", + "type": "string", + "default": "Stable" + }, + "version": { + "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.", + "type": "string", + "x-nullable": true + }, + "configurationSettings": { + "description": "Configuration settings, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + } + }, + "configurationProtectedSettings": { + "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + } + }, + "parameters": { + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "description": "Name of the Extension.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/fluxconfiguration.json new file mode 100644 index 000000000000..8040bef22a4f --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/fluxconfiguration.json @@ -0,0 +1,1115 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "FluxConfigurationClient", + "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Gets details of the Flux Configuration.", + "operationId": "FluxConfigurations_Get", + "x-ms-examples": { + "Get Flux Configuration": { + "$ref": "./examples/GetFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Create a new Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Flux Configuration": { + "$ref": "./examples/CreateFluxConfiguration.json" + }, + "Create Flux Configuration with Bucket Source Kind": { + "$ref": "./examples/CreateFluxConfigurationWithBucket.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "Properties necessary to Create a FluxConfiguration." + } + ], + "responses": { + "200": { + "description": "Request received successfully for an existing resource.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "201": { + "description": "Request received successfully.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "Update an existing Kubernetes Flux Configuration.", + "operationId": "FluxConfigurations_Update", + "x-ms-examples": { + "Patch Flux Configuration": { + "$ref": "./examples/PatchFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "fluxConfigurationPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FluxConfigurationPatch" + }, + "description": "Properties to Patch in an existing Flux Configuration." + } + ], + "responses": { + "202": { + "description": "Request received successfully, and the resource will be updated asynchronously.", + "schema": { + "$ref": "#/definitions/FluxConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.", + "operationId": "FluxConfigurations_Delete", + "x-ms-examples": { + "Delete Flux Configuration": { + "$ref": "./examples/DeleteFluxConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "forceDelete", + "in": "query", + "description": "Delete the extension resource in Azure - not the normal asynchronous delete.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "202": { + "description": "Accepted. The request has been accepted for processing." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": { + "get": { + "tags": [ + "FluxConfiguration", + "Flux" + ], + "description": "List all Flux Configurations.", + "operationId": "FluxConfigurations_List", + "x-ms-examples": { + "List Flux Configuration": { + "$ref": "./examples/ListFluxConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FluxConfigurationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": { + "get": { + "tags": [ + "FluxConfiguration Operation Status" + ], + "operationId": "FluxConfigOperationStatus_Get", + "description": "Get Async Operation status", + "x-ms-examples": { + "FluxConfigurationAsyncOperationStatus Get": { + "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/FluxConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "operation Id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "FluxConfiguration Operation Status", + "schema": { + "$ref": "../../common/2022-03-01/definitions.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ScopeDefinition": { + "description": "Scope at which the configuration will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "SourceKindDefinition": { + "description": "Source Kind to pull the configuration data from.", + "type": "string", + "enum": [ + "GitRepository", + "Bucket" + ], + "x-ms-enum": { + "name": "SourceKindType", + "modelAsString": true + } + }, + "GitRepositoryDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "GitRepositoryPatchDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration git repository.", + "type": "string", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "repositoryRef": { + "description": "The source reference for the GitRepository object.", + "$ref": "#/definitions/RepositoryRefDefinition" + }, + "sshKnownHosts": { + "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH", + "type": "string", + "x-nullable": true + }, + "httpsUser": { + "description": "Plaintext HTTPS username used to access private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "httpsCACert": { + "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "RepositoryRefDefinition": { + "description": "The source reference for the GitRepository object.", + "type": "object", + "x-nullable": true, + "properties": { + "branch": { + "description": "The git repository branch name to checkout.", + "type": "string", + "x-nullable": true + }, + "tag": { + "description": "The git repository tag name to checkout. This takes precedence over branch.", + "type": "string", + "x-nullable": true + }, + "semver": { + "description": "The semver range used to match against git repository tags. This takes precedence over tag.", + "type": "string", + "x-nullable": true + }, + "commit": { + "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string" + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string" + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "default": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "BucketPatchDefinition": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "x-nullable": true, + "properties": { + "url": { + "description": "The URL to sync for the flux configuration S3 bucket.", + "type": "string", + "x-nullable": true + }, + "bucketName": { + "description": "The bucket name to sync from the url endpoint for the flux configuration.", + "type": "string", + "x-nullable": true + }, + "insecure": { + "description": "Specify whether to use insecure communication when puling data from the S3 bucket.", + "type": "boolean", + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the cluster git repository source with the remote.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "accessKey": { + "description": "Plaintext access key used to securely access the S3 bucket", + "type": "string", + "x-nullable": true + }, + "localAuthRef": { + "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.", + "type": "string", + "x-nullable": true + } + } + }, + "KustomizationDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the Kustomization, matching the key in the Kustomizations object map.", + "type": "string", + "readOnly": true + }, + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "default": "" + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "description": "Kustomization name of dependency.", + "type": "string" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "default": 600, + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "default": false + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "default": false + } + } + }, + "KustomizationPatchDefinition": { + "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "properties": { + "path": { + "description": "The path in the source reference to reconcile on the cluster.", + "type": "string", + "x-nullable": true + }, + "dependsOn": { + "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.", + "type": "array", + "items": { + "description": "Kustomization name of dependency.", + "type": "string" + }, + "x-nullable": true + }, + "timeoutInSeconds": { + "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "syncIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "retryIntervalInSeconds": { + "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "prune": { + "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.", + "type": "boolean", + "x-nullable": true + }, + "force": { + "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.", + "type": "boolean", + "x-nullable": true + } + } + }, + "KustomizationValidationDefinition": { + "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.", + "type": "string", + "enum": [ + "none", + "client", + "server" + ], + "default": "none", + "x-ms-enum": { + "name": "KustomizationValidationType", + "modelAsString": true + } + }, + "ObjectStatusDefinition": { + "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the applied object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the applied object", + "type": "string" + }, + "kind": { + "description": "Kind of the applied object", + "type": "string" + }, + "complianceState": { + "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.", + "type": "string", + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "appliedBy": { + "description": "Object reference to the Kustomization that applied this object", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition", + "x-nullable": true + }, + "statusConditions": { + "description": "List of Kubernetes object status conditions present on the cluster", + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusConditionDefinition" + }, + "x-nullable": true, + "x-ms-identifiers": [ + "type" + ] + }, + "helmReleaseProperties": { + "description": "Additional properties that are provided from objects of the HelmRelease kind", + "type": "object", + "$ref": "#/definitions/HelmReleasePropertiesDefinition", + "x-nullable": true + } + } + }, + "ObjectReferenceDefinition": { + "description": "Object reference to a Kubernetes object on a cluster", + "type": "object", + "x-nullable": true, + "properties": { + "name": { + "description": "Name of the object", + "type": "string" + }, + "namespace": { + "description": "Namespace of the object", + "type": "string" + } + } + }, + "ObjectStatusConditionDefinition": { + "description": "Status condition of Kubernetes object", + "type": "object", + "properties": { + "lastTransitionTime": { + "description": "Last time this status condition has changed", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "A more verbose description of the object status condition", + "type": "string" + }, + "reason": { + "description": "Reason for the specified status condition type status", + "type": "string" + }, + "status": { + "description": "Status of the Kubernetes object condition type", + "type": "string" + }, + "type": { + "description": "Object status condition type for this object", + "type": "string" + } + } + }, + "HelmReleasePropertiesDefinition": { + "description": "Properties for HelmRelease objects", + "type": "object", + "x-nullable": true, + "properties": { + "lastRevisionApplied": { + "description": "The revision number of the last released object change", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "helmChartRef": { + "description": "The reference to the HelmChart object used as the source to this HelmRelease", + "type": "object", + "$ref": "#/definitions/ObjectReferenceDefinition" + }, + "failureCount": { + "description": "Total number of times that the HelmRelease failed to install or upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "installFailureCount": { + "description": "Number of times that the HelmRelease failed to install", + "type": "integer", + "format": "int64", + "x-nullable": true + }, + "upgradeFailureCount": { + "description": "Number of times that the HelmRelease failed to upgrade", + "type": "integer", + "format": "int64", + "x-nullable": true + } + } + }, + "FluxComplianceStateDefinition": { + "description": "Compliance state of the cluster object.", + "type": "string", + "enum": [ + "Compliant", + "Non-Compliant", + "Pending", + "Suspended", + "Unknown" + ], + "default": "Unknown", + "x-ms-enum": { + "name": "FluxComplianceState", + "modelAsString": true + } + }, + "FluxConfiguration": { + "type": "object", + "description": "The Flux Configuration object returned in Get & Put response.", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Flux Configuration resource", + "properties": { + "scope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/ScopeDefinition", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "namespace": { + "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "default": "GitRepository" + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "default": false + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + }, + "statuses": { + "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.", + "type": "array", + "readOnly": true, + "x-nullable": true, + "items": { + "type": "object", + "$ref": "#/definitions/ObjectStatusDefinition" + }, + "x-ms-identifiers": [ + "name", + "namespace", + "kind" + ] + }, + "repositoryPublicKey": { + "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "sourceSyncedCommitId": { + "description": "Branch and/or SHA of the source commit synced with the cluster.", + "type": "string", + "x-nullable": true, + "readOnly": true + }, + "sourceUpdatedAt": { + "description": "Datetime the fluxConfiguration synced its source on the cluster.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "statusUpdatedAt": { + "description": "Datetime the fluxConfiguration synced its status on the cluster with Azure.", + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true + }, + "complianceState": { + "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.", + "type": "string", + "readOnly": true, + "$ref": "#/definitions/FluxComplianceStateDefinition" + }, + "provisioningState": { + "description": "Status of the creation of the fluxConfiguration.", + "type": "string", + "readOnly": true, + "$ref": "../../common/2022-03-01/definitions.json#/definitions/ProvisioningStateDefinition" + }, + "errorMessage": { + "description": "Error message returned to the user in the case of provisioning failure.", + "type": "string", + "x-nullable": true, + "readOnly": true + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "FluxConfigurationPatch": { + "description": "The Flux Configuration Patch Request object.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Updatable properties of an Flux Configuration Patch Request", + "properties": { + "sourceKind": { + "description": "Source Kind to pull the configuration data from.", + "$ref": "#/definitions/SourceKindDefinition", + "x-nullable": true + }, + "suspend": { + "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.", + "type": "boolean", + "x-nullable": true + }, + "gitRepository": { + "description": "Parameters to reconcile to the GitRepository source kind type.", + "type": "object", + "$ref": "#/definitions/GitRepositoryPatchDefinition" + }, + "bucket": { + "description": "Parameters to reconcile to the Bucket source kind type.", + "type": "object", + "$ref": "#/definitions/BucketPatchDefinition" + }, + "kustomizations": { + "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.", + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/KustomizationPatchDefinition" + } + }, + "configurationProtectedSettings": { + "description": "Key-value pairs of protected configuration settings for the configuration", + "type": "object", + "x-nullable": true, + "x-ms-secret": true, + "additionalProperties": { + "type": "string" + } + } + } + } + } + }, + "FluxConfigurationsList": { + "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/FluxConfiguration" + }, + "description": "List of Flux Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "FluxConfigurationNameParameter": { + "name": "fluxConfigurationName", + "in": "path", + "description": "Name of the Flux Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/kubernetesconfiguration.json new file mode 100644 index 000000000000..f858a24f75ee --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/kubernetesconfiguration.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "SourceControlConfigurationClient", + "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Gets details of the Source Control Configuration.", + "operationId": "SourceControlConfigurations_Get", + "x-ms-examples": { + "Get Source Control Configuration": { + "$ref": "./examples/GetSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "Create a new Kubernetes Source Control Configuration.", + "operationId": "SourceControlConfigurations_CreateOrUpdate", + "x-ms-examples": { + "Create Source Control Configuration": { + "$ref": "./examples/CreateSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "sourceControlConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "Properties necessary to Create KubernetesConfiguration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/SourceControlConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.", + "operationId": "SourceControlConfigurations_Delete", + "x-ms-examples": { + "Delete Source Control Configuration": { + "$ref": "./examples/DeleteSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SourceControlConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has been completed successfully." + }, + "204": { + "description": "No Content. The request has been accepted but the configuration was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": { + "get": { + "tags": [ + "SourceControlConfiguration" + ], + "description": "List all Source Control Configurations.", + "operationId": "SourceControlConfigurations_List", + "x-ms-examples": { + "List Source Control Configuration": { + "$ref": "./examples/ListSourceControlConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlConfigurationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ComplianceStatus": { + "description": "Compliance Status details", + "type": "object", + "readOnly": true, + "properties": { + "complianceState": { + "description": "The compliance state of the configuration.", + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ComplianceStateType", + "modelAsString": true + }, + "enum": [ + "Pending", + "Compliant", + "Noncompliant", + "Installed", + "Failed" + ] + }, + "lastConfigApplied": { + "description": "Datetime the configuration was last applied.", + "type": "string", + "format": "date-time" + }, + "message": { + "description": "Message from when the configuration was applied.", + "type": "string" + }, + "messageLevel": { + "description": "Level of the message.", + "type": "string", + "enum": [ + "Error", + "Warning", + "Information" + ], + "x-ms-enum": { + "name": "MessageLevelType", + "modelAsString": true + } + } + } + }, + "ChartVersion": { + "description": "Version of the operator Helm chart.", + "type": "string" + }, + "ChartValues": { + "description": "Values override for the operator Helm chart.", + "type": "string" + }, + "HelmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "properties": { + "chartVersion": { + "description": "Version of the operator Helm chart.", + "$ref": "#/definitions/ChartVersion" + }, + "chartValues": { + "description": "Values override for the operator Helm chart.", + "$ref": "#/definitions/ChartValues" + } + } + }, + "ConfigurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "OperatorTypeDefinition": { + "description": "Type of the operator", + "type": "string", + "enum": [ + "Flux" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "OperatorScopeDefinition": { + "description": "Scope at which the operator will be installed.", + "type": "string", + "enum": [ + "cluster", + "namespace" + ], + "default": "cluster", + "x-ms-enum": { + "name": "OperatorScopeType", + "modelAsString": true + } + }, + "SourceControlConfiguration": { + "description": "The SourceControl Configuration object returned in Get & Put response.", + "type": "object", + "properties": { + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Properties to create a Source Control Configuration resource", + "properties": { + "repositoryUrl": { + "type": "string", + "description": "Url of the SourceControl Repository." + }, + "operatorNamespace": { + "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.", + "type": "string", + "default": "default" + }, + "operatorInstanceName": { + "description": "Instance name of the operator - identifying the specific configuration.", + "type": "string" + }, + "operatorType": { + "description": "Type of the operator", + "$ref": "#/definitions/OperatorTypeDefinition" + }, + "operatorParams": { + "description": "Any Parameters for the Operator instance in string format.", + "type": "string" + }, + "configurationProtectedSettings": { + "description": "Name-value pairs of protected configuration settings for the configuration", + "type": "object", + "$ref": "#/definitions/ConfigurationProtectedSettings" + }, + "operatorScope": { + "description": "Scope at which the operator will be installed.", + "$ref": "#/definitions/OperatorScopeDefinition" + }, + "repositoryPublicKey": { + "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).", + "type": "string", + "readOnly": true + }, + "sshKnownHostsContents": { + "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances", + "type": "string" + }, + "enableHelmOperator": { + "description": "Option to enable Helm Operator for this git configuration.", + "type": "boolean" + }, + "helmOperatorProperties": { + "description": "Properties for Helm operator.", + "type": "object", + "$ref": "#/definitions/HelmOperatorProperties" + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the resource provider.", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "ProvisioningStateType" + }, + "enum": [ + "Accepted", + "Deleting", + "Running", + "Succeeded", + "Failed" + ] + }, + "complianceStatus": { + "type": "object", + "description": "Compliance Status of the Configuration", + "readOnly": true, + "$ref": "#/definitions/ComplianceStatus" + } + } + }, + "systemData": { + "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "SourceControlConfigurationList": { + "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SourceControlConfiguration" + }, + "description": "List of Source Control Configurations within a Kubernetes cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of configuration objects, if any." + } + } + } + }, + "parameters": { + "SourceControlConfigurationNameParameter": { + "name": "sourceControlConfigurationName", + "in": "path", + "description": "Name of the Source Control Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/operations.json new file mode 100644 index 000000000000..c5724d1ccd29 --- /dev/null +++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/stable/2022-03-01/operations.json @@ -0,0 +1,127 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-03-01", + "title": "OperationsClient", + "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations in a Cluster" + ], + "operationId": "OperationStatus_List", + "description": "List Async Operations, currently in progress, in a cluster", + "x-ms-examples": { + "AsyncOperationStatus List": { + "$ref": "./examples/ListAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterRpParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterResourceNameParameter" + }, + { + "$ref": "../../common/2022-03-01/parameters.json#/parameters/ClusterNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operations in a cluster", + "schema": { + "$ref": "../../common/2022-03-01/definitions.json#/definitions/OperationStatusList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.KubernetesConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "BatchAccountDelete": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List all the available operations the KubernetesConfiguration resource provider supports.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "../../common/2022-03-01/definitions.json#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": {}, + "parameters": {} +} diff --git a/specification/kubernetesconfiguration/resource-manager/readme.go.md b/specification/kubernetesconfiguration/resource-manager/readme.go.md index 23060f456423..4f8335dc2dfc 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.go.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-11 - tag: package-2021-09 @@ -31,6 +32,16 @@ batch: - tag: package-2019-11-01-preview ``` +### Tag: package-2022-03 and go + +These settings apply only when `--tag=package-2022-03 --go` is specified on the command line. +Please also specify `--go-sdks-folder=`. + +```yaml $(tag) == 'package-2022-03' && $(go) +namespace: kubernetesconfiguration +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-03-01/$(namespace) +``` + ### Tag: package-preview-2022-01 and go These settings apply only when `--tag=package-preview-2022-01 --go` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.java.md b/specification/kubernetesconfiguration/resource-manager/readme.java.md index e89c7c799d8e..25346e4121ac 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.java.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kubernetesconfigura ``` yaml $(java) && $(multiapi) batch: + - tag: package-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-11 - tag: package-2021-09 @@ -26,6 +27,19 @@ batch: - tag: package-2019-11-01-preview ``` +### Tag: package-preview-2022-03 and java + +These settings apply only when `--tag=package-2022-03 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-03' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.kubernetesconfiguration.v2022_03_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2022_03_01 + regenerate-manager: true + generate-interface: true +``` + ### Tag: package-preview-2022-01 and java These settings apply only when `--tag=package-preview-2022-01 --java` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md index 510df464a87c..642a5537d71c 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.md @@ -28,17 +28,29 @@ These are the global settings for the KubernetesConfiguration. title: SourceControlConfigurationClient description: KubernetesConfiguration Client openapi-type: arm -tag: package-preview-2022-01 +tag: package-2022-03 ``` --- +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: + - Microsoft.KubernetesConfiguration/stable/2022-03-01/extensions.json + - Microsoft.KubernetesConfiguration/stable/2022-03-01/fluxconfiguration.json + - Microsoft.KubernetesConfiguration/stable/2022-03-01/kubernetesconfiguration.json + - Microsoft.KubernetesConfiguration/stable/2022-03-01/operations.json +``` + ### Tag: package-preview-2022-01 These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. -```yaml $(tag) == 'package-preview-2022-01' +``` yaml $(tag) == 'package-preview-2022-01' input-file: - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json @@ -46,6 +58,20 @@ input-file: - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json ``` + +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json + - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json +``` + ### Tag: package-2021-09 These settings apply only when `--tag=package-2021-09` is specified on the command line. @@ -98,28 +124,6 @@ directive: } ``` -### Tag: package-preview-2021-11 - -These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. - -``` yaml $(tag) == 'package-preview-2021-11' -input-file: - - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json - - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json - - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json - - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json - - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json -``` - -### Tag: package-2021-09 - -These settings apply only when `--tag=package-2021-09` is specified on the command line. - -``` yaml $(tag) == 'package-2021-09' -input-file: - - Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json -``` - ### Tag: package-preview-2021-05 These settings apply only when `--tag=package-preview-2021-05` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.python.md b/specification/kubernetesconfiguration/resource-manager/readme.python.md index 2210c12e9604..fe6b0ab1d6b2 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.python.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.kubernetesconfiguration @@ -21,6 +21,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) clear-output-folder: true batch: + - tag: package-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-11 - tag: package-2021-09 @@ -34,10 +35,18 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/ -clear-output-folder: false perform-load: false ``` +### Tag: package-2022-03 and python + +These settings apply only when `--tag=package-2022-03 --python` is specified on the command line. + +``` yaml $(tag) == 'package-2022-03' +namespace: azure.mgmt.kubernetesconfiguration.v2022_03_01 +output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2022_03_01 +``` + ### Tag: package-preview-2022-01 and python These settings apply only when `--tag=package-preview-2022-01 --python` is specified on the command line. diff --git a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md index fbb49fb17303..80f5b62641ec 100644 --- a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md +++ b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2022-03 - tag: package-preview-2022-01 - tag: package-preview-2021-11 - tag: package-2021-09 @@ -22,6 +23,16 @@ batch: - tag: package-2019-11-01-preview ``` +### Tag: package-2022-03 and ruby + +These settings apply only when `--tag=package-2022-03 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2022-03' && $(ruby) +namespace: "Azure::KubernetesConfiguration::Mgmt::V2022_03_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib +``` + ### Tag: package-preview-2022-01 and ruby These settings apply only when `--tag=package-preview-2022-01 --ruby` is specified on the command line. diff --git a/specification/labservices/resource-manager/readme.python.md b/specification/labservices/resource-manager/readme.python.md index 9e227500f39b..388ddfa45087 100644 --- a/specification/labservices/resource-manager/readme.python.md +++ b/specification/labservices/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.labservices @@ -13,11 +13,7 @@ package-version: 1.0.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices/azure/mgmt/labservices ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/labservices/azure-mgmt-labservices -``` diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json index 136cb2586121..32e393cf1187 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2021-07-01-preview/loadtestservice.json @@ -294,6 +294,7 @@ { "in": "formData", "name": "file", + "description": "Input test file", "required": true, "type": "file" } @@ -999,6 +1000,7 @@ { "in": "formData", "name": "file", + "description": "Artifact to upload as input for test", "required": true, "type": "file" } diff --git a/specification/loadtestservice/resource-manager/readme.python.md b/specification/loadtestservice/resource-manager/readme.python.md index a49ae4ea18cc..a9b4ed2ea93e 100644 --- a/specification/loadtestservice/resource-manager/readme.python.md +++ b/specification/loadtestservice/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-loadtestservice - no-namespace-folders: true + namespace: azure.mgmt.loadtestservice package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/loadtestservice/azure-mgmt-loadtestservice/azure/mgmt/loadtestservice ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/loadtestservice/azure-mgmt-loadtestservice -``` diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountLargeMaps_CreateOrUpdate.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountLargeMaps_CreateOrUpdate.json new file mode 100644 index 000000000000..0d2305a0637e --- /dev/null +++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationAccountLargeMaps_CreateOrUpdate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2019-05-01", + "resourceGroupName": "testResourceGroup", + "subscriptionId": "", + "integrationAccountName": "testIntegrationAccount", + "mapName": "testMap", + "map": { + "properties": { + "mapType": "Xslt", + "contentLink": { + "uri": "" + }, + "contentType": "application/xml", + "metadata": {} + }, + "location": "westus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "mapType": "Xslt", + "contentLink": { + "uri": "", + "contentVersion": "\"0x8D9EB9F6691E7A2\"", + "contentSize": 7888419, + "contentHash": { + "algorithm": "md5", + "value": "GxQRrFCYoyH58kMyu34ISg==" + } + }, + "createdTime": "2022-02-09T07:40:10.2863459Z", + "changedTime": "2022-02-09T07:40:10.2906473Z", + "metadata": {} + }, + "id": "/subscriptions//resourceGroups/refresh/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/maps/testMap", + "name": "testMap", + "type": "Microsoft.Logic/integrationAccounts/maps" + } + }, + "201": { + "body": { + "properties": { + "mapType": "Xslt", + "contentLink": { + "uri": "", + "contentVersion": "\"0x8D9EB9F6691E7A2\"", + "contentSize": 7888419, + "contentHash": { + "algorithm": "md5", + "value": "GxQRrFCYoyH58kMyu34ISg==" + } + }, + "createdTime": "2022-02-09T07:40:10.2863459Z", + "changedTime": "2022-02-09T07:40:10.2906473Z", + "metadata": {} + }, + "id": "/subscriptions//resourceGroups/refresh/providers/Microsoft.Logic/integrationAccounts/testIntegrationAccount/maps/testMap", + "name": "testMap", + "type": "Microsoft.Logic/integrationAccounts/maps" + } + } + } +} diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json index 71195d2d791f..b407b4ad1fe3 100644 --- a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json +++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json @@ -4284,10 +4284,13 @@ "IntegrationAccountMaps" ], "operationId": "IntegrationAccountMaps_CreateOrUpdate", - "description": "Creates or updates an integration account map.", + "description": "Creates or updates an integration account map. If the map is larger than 4 MB, you need to store the map in an Azure blob and use the blob's Shared Access Signature (SAS) URL as the 'contentLink' property value.", "x-ms-examples": { "Create or update a map": { "$ref": "./examples/IntegrationAccountMaps_CreateOrUpdate.json" + }, + "Create or update a map larger than 4 MB": { + "$ref": "./examples/IntegrationAccountLargeMaps_CreateOrUpdate.json" } }, "parameters": [ @@ -7185,6 +7188,7 @@ "items": { "$ref": "#/definitions/RetryHistory" }, + "x-ms-identifiers": [], "description": "Gets the retry histories." } }, @@ -7526,6 +7530,7 @@ "items": { "$ref": "#/definitions/RecurrenceScheduleOccurrence" }, + "x-ms-identifiers": [], "description": "The monthly occurrences." } }, @@ -8066,7 +8071,8 @@ "description": "The schemas which must pass validation when this schema is used.", "items": { "$ref": "#/definitions/SwaggerSchema" - } + }, + "x-ms-identifiers": [] }, "discriminator": { "type": "string", @@ -8688,7 +8694,8 @@ "items": { "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndpoint", "description": "The endpoint." - } + }, + "x-ms-identifiers": [] } } }, @@ -8741,7 +8748,8 @@ "items": { "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependency", "description": "The integration service environment network dependency." - } + }, + "x-ms-identifiers": [] }, "outboundNetworkHealth": { "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyHealth", @@ -8774,7 +8782,10 @@ "description": "The error message details.", "items": { "$ref": "#/definitions/ExtendedErrorInfo" - } + }, + "x-ms-identifiers": [ + "code" + ] }, "innerError": { "$ref": "#/definitions/Object", @@ -9012,7 +9023,8 @@ "items": { "$ref": "#/definitions/IpAddressRange", "description": "The ip address range." - } + }, + "x-ms-identifiers": [] }, "openAuthenticationPolicies": { "$ref": "#/definitions/OpenAuthenticationAccessPolicies", @@ -9057,7 +9069,10 @@ "items": { "$ref": "#/definitions/OpenAuthenticationPolicyClaim", "description": "The access policy claim." - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -9110,7 +9125,10 @@ "items": { "$ref": "#/definitions/IpAddress", "description": "The ip address." - } + }, + "x-ms-identifiers": [ + "address" + ] }, "accessEndpointIpAddresses": { "type": "array", @@ -9118,7 +9136,10 @@ "items": { "$ref": "#/definitions/IpAddress", "description": "The ip address." - } + }, + "x-ms-identifiers": [ + "address" + ] } } }, @@ -9197,6 +9218,10 @@ "items": { "$ref": "#/definitions/IntegrationServiceEnvironmentSkuDefinition" }, + "x-ms-identifiers": [ + "sku/name", + "sku/tier" + ], "description": "The list of integration service environment skus." }, "nextLink": { @@ -9782,6 +9807,9 @@ "items": { "$ref": "#/definitions/BusinessIdentity" }, + "x-ms-identifiers": [ + "qualifier" + ], "description": "The list of partner business identities." } }, @@ -10382,6 +10410,9 @@ "items": { "$ref": "#/definitions/X12EnvelopeOverride" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The X12 envelope override settings." }, "validationOverrides": { @@ -10389,6 +10420,9 @@ "items": { "$ref": "#/definitions/X12ValidationOverride" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The X12 validation override settings." }, "messageFilterList": { @@ -10396,6 +10430,9 @@ "items": { "$ref": "#/definitions/X12MessageIdentifier" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The X12 message filter list." }, "schemaReferences": { @@ -10403,6 +10440,9 @@ "items": { "$ref": "#/definitions/X12SchemaReference" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The X12 schema references." }, "x12DelimiterOverrides": { @@ -10410,6 +10450,7 @@ "items": { "$ref": "#/definitions/X12DelimiterOverrides" }, + "x-ms-identifiers": [], "description": "The X12 delimiter override settings." } }, @@ -11235,6 +11276,9 @@ "items": { "$ref": "#/definitions/EdifactEnvelopeOverride" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The EDIFACT envelope override settings." }, "messageFilterList": { @@ -11242,6 +11286,9 @@ "items": { "$ref": "#/definitions/EdifactMessageIdentifier" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The EDIFACT message filter list." }, "schemaReferences": { @@ -11249,6 +11296,9 @@ "items": { "$ref": "#/definitions/EdifactSchemaReference" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The EDIFACT schema references." }, "validationOverrides": { @@ -11256,6 +11306,9 @@ "items": { "$ref": "#/definitions/EdifactValidationOverride" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The EDIFACT validation override settings." }, "edifactDelimiterOverrides": { @@ -11263,6 +11316,9 @@ "items": { "$ref": "#/definitions/EdifactDelimiterOverride" }, + "x-ms-identifiers": [ + "messageId" + ], "description": "The EDIFACT delimiter override settings." } }, @@ -12189,6 +12245,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Logic operations supported by the Logic resource provider." }, "nextLink": { @@ -12264,6 +12323,9 @@ "items": { "$ref": "#/definitions/KeyVaultKey" }, + "x-ms-identifiers": [ + "kid" + ], "description": "The key vault keys." }, "skipToken": { @@ -12324,7 +12386,8 @@ "description": "The events.", "items": { "$ref": "#/definitions/TrackingEvent" - } + }, + "x-ms-identifiers": [] } } }, @@ -12452,7 +12515,10 @@ "type": "array", "items": { "$ref": "#/definitions/ExpressionRoot" - } + }, + "x-ms-identifiers": [ + "path" + ] } } }, @@ -12486,7 +12552,8 @@ "description": "The sub expressions.", "items": { "$ref": "#/definitions/Expression" - } + }, + "x-ms-identifiers": [] }, "error": { "$ref": "#/definitions/AzureResourceErrorInfo" @@ -12510,6 +12577,9 @@ "items": { "$ref": "#/definitions/AzureResourceErrorInfo" }, + "x-ms-identifiers": [ + "code" + ], "description": "The error details." } }, @@ -12579,7 +12649,10 @@ "description": "The repetition indexes.", "items": { "$ref": "#/definitions/RepetitionIndex" - } + }, + "x-ms-identifiers": [ + "itemIndex" + ] } }, "allOf": [ @@ -12647,6 +12720,7 @@ "items": { "$ref": "#/definitions/RetryHistory" }, + "x-ms-identifiers": [], "description": "Gets the retry histories." }, "iterationCount": { diff --git a/specification/logic/resource-manager/readme.python.md b/specification/logic/resource-manager/readme.python.md index a413cf47db30..f1ecfcf646c3 100644 --- a/specification/logic/resource-manager/readme.python.md +++ b/specification/logic/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.logic @@ -12,11 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic/azure/mgmt/logic -``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/logic/azure-mgmt-logic ``` \ No newline at end of file diff --git a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json index b23a156c7cf7..f946d9e1990f 100644 --- a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json +++ b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json @@ -1819,7 +1819,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationResult" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -2159,7 +2162,10 @@ "type": "array", "items": { "$ref": "#/definitions/FilteringTag" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2419,7 +2425,8 @@ "type": "array", "items": { "$ref": "#/definitions/UserRoleResponse" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "Link to the next set of results, if any.", diff --git a/specification/logz/resource-manager/readme.python.md b/specification/logz/resource-manager/readme.python.md index 014cd995b65e..076d33cdaa14 100644 --- a/specification/logz/resource-manager/readme.python.md +++ b/specification/logz/resource-manager/readme.python.md @@ -3,20 +3,15 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(python) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-logz -no-namespace-folders: true +namespace: azure.mgmt.logz package-version: 1.0.0b1 ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/logz/azure-mgmt-logz/azure/mgmt/logz ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/logz/azure-mgmt-logz -``` diff --git a/specification/m365securityandcompliance/resource-manager/readme.md b/specification/m365securityandcompliance/resource-manager/readme.md index cee7c6adb63f..d8898f6c34e0 100644 --- a/specification/m365securityandcompliance/resource-manager/readme.md +++ b/specification/m365securityandcompliance/resource-manager/readme.md @@ -62,7 +62,7 @@ swagger-to-sdk: - repo: azure-sdk-for-go-track2 - repo: azure-sdk-for-js - repo: azure-sdk-for-node - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-resource-manager-schemas ``` diff --git a/specification/m365securityandcompliance/resource-manager/readme.python.md b/specification/m365securityandcompliance/resource-manager/readme.python.md index 52bf45542a48..47640816bf78 100644 --- a/specification/m365securityandcompliance/resource-manager/readme.python.md +++ b/specification/m365securityandcompliance/resource-manager/readme.python.md @@ -5,23 +5,15 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.machinelearningcompute @@ -14,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningcompute/azure/mgmt/machinelearningcompute ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningcompute -``` diff --git a/specification/machinelearningexperimentation/resource-manager/Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json b/specification/machinelearningexperimentation/resource-manager/Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json index 515f7cfbeb23..c7de52fb71f3 100644 --- a/specification/machinelearningexperimentation/resource-manager/Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json +++ b/specification/machinelearningexperimentation/resource-manager/Microsoft.MachineLearningExperimentation/preview/2017-05-01-preview/machineLearningExperimentation.json @@ -1280,6 +1280,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of AML team account operations supported by the AML team account resource provider." } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/createOrUpdate.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/createOrUpdate.json index e0665a3471b5..94577feb4575 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/createOrUpdate.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/createOrUpdate.json @@ -39,7 +39,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" @@ -110,7 +110,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" @@ -188,7 +188,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/get.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/get.json index 7b8786b625e3..38327d31c52f 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/get.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/get.json @@ -44,7 +44,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/list.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/list.json index 60fd50774dd4..7035e7990d57 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/list.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/list.json @@ -45,7 +45,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/update.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/update.json index 47b43f35442c..d2a894821d07 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/update.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchDeployment/update.json @@ -51,7 +51,7 @@ "errorThreshold": 0, "retrySettings": { "maxRetries": 0, - "timeout": "string" + "timeout": "PT1M" }, "partitionKeys": [ "string" diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/createOrUpdate.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/createOrUpdate.json index 7193dc10d7ae..4e88cb3f4115 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/createOrUpdate.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/createOrUpdate.json @@ -74,8 +74,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string" + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com" }, "systemData": { "createdAt": "2021-03-25T20:46:47.062Z", @@ -119,8 +119,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string" + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com" }, "systemData": { "createdAt": "2021-03-25T20:46:47.062Z", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/get.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/get.json index 48ee8272b3b9..fd0f75cfa852 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/get.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/get.json @@ -39,8 +39,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string" + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com" }, "systemData": { "createdAt": "2021-03-25T20:46:47.062Z", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/list.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/list.json index 6912243fd754..686704a35f55 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/list.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/list.json @@ -41,8 +41,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string" + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com" }, "systemData": { "createdAt": "2021-03-25T20:46:47.062Z", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/update.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/update.json index 06fab02ba585..064b83f15ec6 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/update.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/BatchEndpoint/update.json @@ -46,8 +46,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string" + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com" }, "systemData": { "createdAt": "2021-03-25T20:46:47.062Z", diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/createOrUpdate.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/createOrUpdate.json index 2c3bca23230a..3693e6a85df1 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/createOrUpdate.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/createOrUpdate.json @@ -75,8 +75,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string", + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com", "target": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/compute123", "authMode": "AMLToken" } @@ -114,8 +114,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string", + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com", "target": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/compute123", "authMode": "AMLToken" } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/get.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/get.json index efffbb9b8232..9b2e6b05833d 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/get.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/get.json @@ -39,8 +39,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string", + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com", "target": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/compute123", "authMode": "AMLToken" } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/list.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/list.json index 930030042af7..68008b825f44 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/list.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/list.json @@ -40,8 +40,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string", + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com", "target": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/compute123", "authMode": "AMLToken" } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/update.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/update.json index e2ef99f27303..c09a174dcf9f 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/update.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/examples/OnlineEndpoint/update.json @@ -62,8 +62,8 @@ "myDeployment1": 0, "myDeployment2": 1 }, - "scoringUri": "string", - "swaggerUri": "string", + "scoringUri": "http://example.com", + "swaggerUri": "http://example.com", "target": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/resourceGroup-1234/providers/Microsoft.MachineLearningServices/workspaces/testworkspace/computes/compute123", "authMode": "AMLToken" } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/mfe.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/mfe.json index 3555e5553b49..0b38d274ba9c 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/mfe.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/preview/2021-03-01-preview/mfe.json @@ -2631,10 +2631,7 @@ "$ref": "./examples/Job/delete.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "get": { "tags": [ @@ -3061,10 +3058,7 @@ "$ref": "./examples/LabelingJob/createOrUpdate.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/labelingJobs/{id}/exportLabels": { @@ -3970,10 +3964,7 @@ "$ref": "./examples/OnlineEndpoint/delete.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "get": { "tags": [ @@ -4107,10 +4098,7 @@ "$ref": "./examples/OnlineEndpoint/update.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "put": { "tags": [ @@ -4191,10 +4179,7 @@ "$ref": "./examples/OnlineEndpoint/createOrUpdate.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments": { @@ -4346,10 +4331,7 @@ "$ref": "./examples/OnlineDeployment/delete.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "get": { "tags": [ @@ -4505,10 +4487,7 @@ "$ref": "./examples/OnlineDeployment/K8sOnlineDeployment/update.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" - } + "x-ms-long-running-operation": true }, "put": { "tags": [ @@ -4600,10 +4579,7 @@ "$ref": "./examples/OnlineDeployment/K8sOnlineDeployment/createOrUpdate.json" } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" - } + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/onlineEndpoints/{endpointName}/deployments/{deploymentName}/getLogs": { diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json index 85c1831db462..fcd5e6f29279 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/machineLearningServices.json @@ -1985,6 +1985,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of AML workspace operations supported by the AML workspace resource provider." } } @@ -2131,6 +2134,9 @@ "items": { "$ref": "#/definitions/PrivateEndpointConnection" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of private endpoint connections in the workspace." }, "sharedPrivateLinkResources": { @@ -2138,6 +2144,9 @@ "items": { "$ref": "#/definitions/SharedPrivateLinkResource" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of shared private link resources in this workspace." }, "notebookInfo": { @@ -2423,6 +2432,7 @@ "items": { "$ref": "#/definitions/EstimatedVMPrice" }, + "x-ms-identifiers": [], "title": "List of estimated VM prices.", "description": "The list of estimated prices for using a VM of a particular OS type, tier, etc." } @@ -2485,6 +2495,9 @@ "items": { "$ref": "#/definitions/VirtualMachineSize" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of virtual machine sizes supported by AmlCompute." } }, @@ -2670,55 +2683,82 @@ "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "networkSecurityRuleResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "resourceLockResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "dnsResolutionResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "storageAccountResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "keyVaultResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "containerRegistryResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "applicationInsightsResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] }, "otherResults": { "type": "array", "items": { "$ref": "#/definitions/DiagnoseResult" - } + }, + "x-ms-identifiers": [ + "message" + ] } } } @@ -3027,7 +3067,10 @@ "type": "array", "items": { "$ref": "#/definitions/Password" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -3161,6 +3204,9 @@ "items": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" }, + "x-ms-identifiers": [ + "/error/code" + ], "readOnly": true }, "isAttachedCompute": { @@ -3200,6 +3246,9 @@ "items": { "$ref": "#/definitions/SystemService" }, + "x-ms-identifiers": [ + "publicIpAddress" + ], "readOnly": true }, "agentCount": { @@ -3422,7 +3471,10 @@ "type": "array", "items": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } + }, + "x-ms-identifiers": [ + "/error/code" + ] }, "currentNodeCount": { "type": "integer", @@ -3513,7 +3565,10 @@ "description": "Describes available applications and their endpoints on this ComputeInstance.", "items": { "$ref": "#/definitions/ComputeInstanceApplication" - } + }, + "x-ms-identifiers": [ + "displayName" + ] }, "createdBy": { "readOnly": true, @@ -3527,7 +3582,10 @@ "type": "array", "items": { "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } + }, + "x-ms-identifiers": [ + "/error/code" + ] }, "state": { "description": "The current state of this ComputeInstance.", @@ -4025,6 +4083,9 @@ "items": { "$ref": "#/definitions/AmlComputeNodeInformation" }, + "x-ms-identifiers": [ + "nodeId" + ], "description": "The collection of returned AmlCompute nodes details." }, "nextLink": { @@ -5036,7 +5097,10 @@ "type": "array", "items": { "$ref": "#/definitions/FQDNEndpointDetail" - } + }, + "x-ms-identifiers": [ + "port" + ] } } }, @@ -5050,7 +5114,10 @@ "type": "array", "items": { "$ref": "#/definitions/FQDNEndpoint" - } + }, + "x-ms-identifiers": [ + "domainName" + ] } } }, @@ -5069,7 +5136,10 @@ "type": "array", "items": { "$ref": "#/definitions/FQDNEndpoints" - } + }, + "x-ms-identifiers": [ + "/properties/category" + ] } } } diff --git a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/workspaceSkus.json b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/workspaceSkus.json index 0355e1e3a729..2305934fbb85 100644 --- a/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/workspaceSkus.json +++ b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2021-07-01/workspaceSkus.json @@ -65,7 +65,10 @@ "type": "array", "items": { "$ref": "#/definitions/WorkspaceSku" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", @@ -139,6 +142,7 @@ "items": { "$ref": "#/definitions/ResourceSkuZoneDetails" }, + "x-ms-identifiers": [], "description": "Details of capabilities available to a SKU in specific zones." } } @@ -159,6 +163,9 @@ "items": { "$ref": "#/definitions/SKUCapability" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of capabilities that are available for the SKU in the specified list of zones." } }, @@ -182,6 +189,9 @@ "items": { "$ref": "#/definitions/ResourceSkuLocationInfo" }, + "x-ms-identifiers": [ + "location" + ], "description": "A list of locations and availability zones in those locations where the SKU is available." }, "tier": { @@ -204,6 +214,9 @@ "items": { "$ref": "#/definitions/SKUCapability" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "restrictions": { @@ -211,6 +224,7 @@ "items": { "$ref": "#/definitions/Restriction" }, + "x-ms-identifiers": [], "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." } } diff --git a/specification/machinelearningservices/resource-manager/readme.python.md b/specification/machinelearningservices/resource-manager/readme.python.md index 9960b888e3fb..470b45e237f4 100644 --- a/specification/machinelearningservices/resource-manager/readme.python.md +++ b/specification/machinelearningservices/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-machinelearningservices -no-namespace-folders: true +namespace: azure.mgmt.machinelearningservices package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices/azure/mgmt/machinelearningservices ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/machinelearning/azure-mgmt-machinelearningservices -``` \ No newline at end of file diff --git a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2021-09-01-preview/Maintenance.json b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2021-09-01-preview/Maintenance.json index 7ad47afb1860..527c203497b1 100644 --- a/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2021-09-01-preview/Maintenance.json +++ b/specification/maintenance/resource-manager/Microsoft.Maintenance/preview/2021-09-01-preview/Maintenance.json @@ -2148,7 +2148,8 @@ "items": { "$ref": "#/definitions/taskProperties", "x-ms-client-flatten": true - } + }, + "x-ms-identifiers": [] }, "postTasks": { "type": "array", @@ -2156,7 +2157,8 @@ "items": { "$ref": "#/definitions/taskProperties", "x-ms-client-flatten": true - } + }, + "x-ms-identifiers": [] } } }, @@ -2263,7 +2265,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2325,7 +2330,8 @@ "type": "array", "items": { "$ref": "#/definitions/Update" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/maintenance/resource-manager/readme.python.md b/specification/maintenance/resource-manager/readme.python.md index 17bd37335d01..e41dfb1ea308 100644 --- a/specification/maintenance/resource-manager/readme.python.md +++ b/specification/maintenance/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.maintenance @@ -14,12 +14,7 @@ clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance/azure/mgmt/maintenance ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/maintenance/azure-mgmt-maintenance -``` 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 a2708092d737..6be3dcc09891 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 @@ -1385,6 +1385,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Resource Provider operations supported by the Managed Network resource provider." }, "nextLink": { diff --git a/specification/managednetwork/resource-manager/readme.md b/specification/managednetwork/resource-manager/readme.md index 81a1cb549adb..1af5c0a5c47c 100644 --- a/specification/managednetwork/resource-manager/readme.md +++ b/specification/managednetwork/resource-manager/readme.md @@ -47,7 +47,7 @@ This is not used by Autorest itself. ``` yaml $(swagger-to-sdk) swagger-to-sdk: - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-net diff --git a/specification/managednetwork/resource-manager/readme.python.md b/specification/managednetwork/resource-manager/readme.python.md index 3c302015817c..ed8829a96d04 100644 --- a/specification/managednetwork/resource-manager/readme.python.md +++ b/specification/managednetwork/resource-manager/readme.python.md @@ -3,21 +3,15 @@ These settings apply only when `--python` is specified on the command line. ``` yaml $(python) -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - package-name: azure-mgmt-managednetwork - clear-output-folder: true +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-managednetwork +namespace: azure.mgmt.managednetwork +package-version: 2019-06-01 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/managednetwork/azure-mgmt-managednetwork/azure/mgmt/managednetwork -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/managednetwork/azure-mgmt-managednetwork +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/managednetwork/azure-mgmt-managednetwork/azure/mgmt/managednetwork ``` diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json index 877402e94ebb..77b2f01bdd12 100644 --- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json @@ -612,6 +612,10 @@ "items": { "$ref": "#/definitions/Authorization" }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ], "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "eligibleAuthorizations": { @@ -619,6 +623,9 @@ "items": { "$ref": "#/definitions/EligibleAuthorization" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "registrationDefinitionName": { @@ -762,6 +769,10 @@ "items": { "$ref": "#/definitions/Authorization" }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ], "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "eligibleAuthorizations": { @@ -769,6 +780,9 @@ "items": { "$ref": "#/definitions/EligibleAuthorization" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "registrationDefinitionName": { @@ -904,6 +918,10 @@ "items": { "$ref": "#/definitions/Authorization" }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ], "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "eligibleAuthorizations": { @@ -911,6 +929,9 @@ "items": { "$ref": "#/definitions/EligibleAuthorization" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." }, "offerDisplayName": { @@ -1020,6 +1041,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of Microsoft.ManagedServices operations." } }, @@ -1125,6 +1149,9 @@ "items": { "$ref": "#/definitions/EligibleApprover" }, + "x-ms-identifiers": [ + "principalId" + ], "description": "The list of managedByTenant approvers for the eligible authorization." } }, @@ -1149,7 +1176,10 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDefinition" - } + }, + "x-ms-identifiers": [ + "code" + ] } }, "required": [ diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationAssignment.json new file mode 100644 index 000000000000..fab71ffae98d --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationAssignment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationDefinition.json new file mode 100644 index 000000000000..8d7e908465c8 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/DeleteRegistrationDefinition.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinition.json new file mode 100644 index 000000000000..b2d36b925792 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinition.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "marketplaceIdentifier": "publisher.product.planName.version", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" + }, + "plan": { + "name": "test-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionAtTenantScope.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionAtTenantScope.json new file mode 100644 index 000000000000..8e8a60f89676 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionAtTenantScope.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "marketplaceIdentifier": "publisher.product.planName.version", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [], + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" + }, + "plan": { + "name": "test-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitions.json new file mode 100644 index 000000000000..e00a48ad4e13 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitions.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "$filter": "planIdentifier eq 'publisher.offerIdentifier.planName.version'", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" + }, + "plan": { + "name": "test-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionsAtTenantScope.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionsAtTenantScope.json new file mode 100644 index 000000000000..884f4199c39b --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetMarketplaceRegistrationDefinitionsAtTenantScope.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "$filter": "planIdentifier eq 'publisher.offerIdentifier.planName.version'", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [], + "offerDisplayName": "Marketplace Test Offer", + "publisherDisplayName": "Marketplace Test Publisher", + "planDisplayName": "Test Plan" + }, + "plan": { + "name": "test-plan", + "product": "test", + "publisher": "marketplace-test", + "version": "1.0.0" + }, + "id": "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/marketplace-test.test.test-plan.1.0.0", + "type": "Microsoft.ManagedServices/marketplaceRegistrationDefinitions", + "name": "marketplace-test.test.test-plan.1.0.0" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetOperations.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetOperations.json new file mode 100644 index 000000000000..674671cdc3ab --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetOperations.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview" + }, + "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/preview/2022-01-01-preview/examples/GetOperationsWithScope.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetOperationsWithScope.json new file mode 100644 index 000000000000..43a6f4a09a56 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetOperationsWithScope.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2022-01-01-preview" + }, + "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/preview/2022-01-01-preview/examples/GetRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignment.json new file mode 100644 index 000000000000..64889ac14741 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignment.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview" + }, + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "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/preview/2022-01-01-preview/examples/GetRegistrationAssignments.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignments.json new file mode 100644 index 000000000000..1d012b0ff631 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignments.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2022-01-01-preview" + }, + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "principalId": "700bddf4-2c3b-4cd1-bb02-6a2c622524f4", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + } + } + ], + "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/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdEqFilter.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdEqFilter.json new file mode 100644 index 000000000000..3c8e0697a084 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdEqFilter.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2021-11-01-preview", + "$filter": "$filter=managedByTenantId eq '83abe5cd-bcc3-441a-bd86-e6a75360cecc'" + }, + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "principalId": "700bddf4-2c3b-4cd1-bb02-6a2c622524f4", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + } + } + ], + "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", + "systemData": { + "createdBy": "testuser@outlook.com", + "createdByType": "User", + "createdAt": "2021-11-22T19:56:05.0703382Z", + "lastModifiedBy": "testuser@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T19:56:05.0703382Z" + } + } + }, + "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/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdInFilter.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdInFilter.json new file mode 100644 index 000000000000..b18ec8167784 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationAssignmentsWithManagedByTenantIdInFilter.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2021-11-01-preview", + "$filter": "$filter=managedByTenantId in (83abe5cd-bcc3-441a-bd86-e6a75360cec, de83f4a9-a76a-4025-a91a-91171923eac7)" + }, + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "principalId": "700bddf4-2c3b-4cd1-bb02-6a2c622524f4", + "roleDefinitionId": "8e3af657-a8ff-443c-a75c-2fe8c4bcb635", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H" + } + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cec", + "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", + "systemData": { + "createdBy": "testuser@outlook.com", + "createdByType": "User", + "createdAt": "2021-11-22T19:56:05.0703382Z", + "lastModifiedBy": "testuser@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T19:56:05.0703382Z" + } + } + }, + "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" + }, + { + "properties": { + "registrationDefinitionId": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/67aa1d7b-30ac-4ec2-be0b-ce30751468f2", + "provisioningState": "Succeeded", + "registrationDefinition": { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "de83f4a9-a76a-4025-a91a-91171923eac7", + "managedByTenantName": "Test Corp." + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationDefinitions/67aa1d7b-30ac-4ec2-be0b-ce30751468f2", + "type": "Microsoft.ManagedServices/registrationDefinitions", + "name": "67aa1d7b-30ac-4ec2-be0b-ce30751468f2", + "systemData": { + "createdBy": "testuser@outlook.com", + "createdByType": "User", + "createdAt": "2021-11-22T19:56:05.0703382Z", + "lastModifiedBy": "testuser@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T19:56:05.0703382Z" + } + } + }, + "id": "/subscriptions/0afefe50-734e-4610-8c82-a144aff49dea/providers/Microsoft.ManagedServices/registrationAssignments/f6e721b2-7576-44d3-9182-03143fce94c0", + "type": "Microsoft.ManagedServices/registrationAssignments", + "name": "f6e721b2-7576-44d3-9182-03143fce94c0" + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinition.json new file mode 100644 index 000000000000..4f894e9232ae --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinition.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808", + "manageeTenantName": "Test customer", + "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/preview/2022-01-01-preview/examples/GetRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitions.json new file mode 100644 index 000000000000..fd3758527cb3 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitions.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Test", + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808", + "manageeTenantName": "Test customer", + "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/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdEqFilter.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdEqFilter.json new file mode 100644 index 000000000000..35268ae38c50 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdEqFilter.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2021-11-01-preview", + "$filter": "$filter=managedByTenantId eq '83ace5cd-bcc3-441a-hd86-e6a75360cecc'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "managedByTenantName": "Contoso Corp." + }, + "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", + "systemData": { + "createdBy": "testuser@outlook.com", + "createdByType": "User", + "createdAt": "2021-11-22T19:56:05.0703382Z", + "lastModifiedBy": "testuser@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T19:56:05.0703382Z" + } + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdInFilter.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdInFilter.json new file mode 100644 index 000000000000..617e9c1597da --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/GetRegistrationDefinitionsWithManagedByTenantIdInFilter.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "api-version": "2021-11-01-preview", + "$filter": "$filter=managedByTenantId in (83ace5cd-bcc3-441a-hd86-e6a75360cecc, de83f4a9-a76a-4025-a91a-91171923eac7)" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "description": "Test", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "f98g86a2-4cc4-4e6d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "83ace5cd-bcc3-441a-hd86-e6a75360cecc", + "managedByTenantName": "Contoso Corp." + }, + "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", + "systemData": { + "createdBy": "testuser@outlook.com", + "createdByType": "User", + "createdAt": "2021-11-22T19:56:05.0703382Z", + "lastModifiedBy": "testuser@outlook.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T19:56:05.0703382Z" + } + }, + { + "properties": { + "description": "Test 2", + "registrationDefinitionName": "DefinitionName", + "authorizations": [ + { + "principalId": "a2e38003-c234-42dc-a769-3ca55be53098", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + } + ], + "provisioningState": "Succeeded", + "manageeTenantId": "01c0bcd5-4f47-4e4b-b492-418b7e2a8854", + "manageeTenantName": "test_test_aad_SbtFhyGiLHPFm", + "managedByTenantId": "de83f4a9-a76a-4025-a91a-91171923eac7", + "managedByTenantName": "Test Corp." + }, + "id": "/subscriptions/0afefe50-734e-4610-8a82-a144ahf49dea/providers/Microsoft.ManagedServices/registrationDefinitions/2a60751f-03d6-45a1-8797-24678246d54d", + "type": "Microsoft.ManagedServices/registrationDefinitions", + "name": "2a60751f-03d6-45a1-8797-24678246d54d", + "systemData": { + "createdBy": "testuser@msp.com", + "createdByType": "User", + "createdAt": "2021-11-21T08:56:05.0703382Z", + "lastModifiedBy": "testuser@msp.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-22T08:56:05.0703382Z" + } + } + ] + } + } + } +} diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/PutRegistrationAssignment.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/PutRegistrationAssignment.json new file mode 100644 index 000000000000..b9c426c7f989 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/PutRegistrationAssignment.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationAssignmentId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview", + "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/preview/2022-01-01-preview/examples/PutRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/PutRegistrationDefinition.json new file mode 100644 index 000000000000..e6dc50d70358 --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/examples/PutRegistrationDefinition.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "scope": "subscription/0afefe50-734e-4610-8a82-a144ahf49dea", + "registrationDefinitionId": "26c128c2-fefa-4340-9bb1-6e081c90ada2", + "api-version": "2022-01-01-preview", + "requestBody": { + "properties": { + "registrationDefinitionName": "DefinitionName", + "description": "Tes1t", + "managedByTenantId": "83abe5cd-bcc3-441a-bd86-e6a75360cecc", + "authorizations": [ + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e", + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + } + } + ] + }, + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "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", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "acdd72a7-3385-48ef-bd42-f606fba81ae7" + }, + { + "principalId": "f98d86a2-4cc4-4e9d-ad47-b3e80a1bcdfc", + "principalIdDisplayName": "User Access Administrator", + "roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9", + "delegatedRoleDefinitionIds": [ + "b24988ac-6180-42a0-ab88-20f7382dd24c" + ] + } + ], + "eligibleAuthorizations": [ + { + "justInTimeAccessPolicy": { + "multiFactorAuthProvider": "Azure", + "maximumActivationDuration": "PT8H", + "managedByTenantApprovers": [ + { + "principalId": "d9b22cd6-6407-43cc-8c60-07c56df0b51a", + "principalIdDisplayName": "Approver Group" + } + ] + }, + "principalId": "3e0ed8c6-e902-4fc5-863c-e3ddbb2ae2a2", + "principalIdDisplayName": "Support User", + "roleDefinitionId": "ae349356-3a1b-4a5e-921d-050484c6347e" + } + ], + "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/preview/2022-01-01-preview/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/managedservices.json new file mode 100644 index 000000000000..77a270da018c --- /dev/null +++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2022-01-01-preview/managedservices.json @@ -0,0 +1,1298 @@ +{ + "swagger": "2.0", + "info": { + "title": "ManagedServicesClient", + "version": "2022-01-01-preview", + "description": "The 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": "The 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": "The 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": "The 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 a 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": "The 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 the 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": "The 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": "The 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": "The 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" + }, + { + "$ref": "#/parameters/Filter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the registration definitions.", + "schema": { + "$ref": "#/definitions/RegistrationDefinitionList" + } + }, + "default": { + "description": "The 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" + }, + "Get Registration Definitions with ManagedByTenantId eq filter": { + "$ref": "./examples/GetRegistrationDefinitionsWithManagedByTenantIdEqFilter.json" + }, + "Get Registration Definitions with ManagedByTenantId in filter": { + "$ref": "./examples/GetRegistrationDefinitionsWithManagedByTenantIdInFilter.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" + }, + { + "$ref": "#/parameters/Filter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the registration assignments.", + "schema": { + "$ref": "#/definitions/RegistrationAssignmentList" + } + }, + "default": { + "description": "The 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" + }, + "Get Registration Assignments with ManagedByTenantId eq filter": { + "$ref": "./examples/GetRegistrationAssignmentsWithManagedByTenantIdEqFilter.json" + }, + "Get Registration Assignments with ManagedByTenantId in filter": { + "$ref": "./examples/GetRegistrationAssignmentsWithManagedByTenantIdInFilter.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": "The 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" + } + } + } + }, + "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions": { + "get": { + "tags": [ + "MarketplaceRegistrationDefinitions" + ], + "operationId": "MarketplaceRegistrationDefinitionsWithoutScope_List", + "description": "Gets a list of the marketplace registration definitions for the marketplace identifier.", + "parameters": [ + { + "$ref": "#/parameters/Filter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of the marketplace registration definitions.", + "schema": { + "$ref": "#/definitions/MarketplaceRegistrationDefinitionList" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Marketplace Registration Definitions At Tenant Scope": { + "$ref": "./examples/GetMarketplaceRegistrationDefinitionsAtTenantScope.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/MarketplaceRegistrationDefinition" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Definitions": { + "$ref": "./examples/GetMarketplaceRegistrationDefinition.json" + } + } + } + }, + "/providers/Microsoft.ManagedServices/marketplaceRegistrationDefinitions/{marketplaceIdentifier}": { + "get": { + "tags": [ + "MarketplaceRegistrationDefinitions" + ], + "operationId": "MarketplaceRegistrationDefinitionsWithoutScope_Get", + "description": "Get the marketplace registration definition for the marketplace identifier.", + "parameters": [ + { + "$ref": "#/parameters/MarketplaceIdentifier" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the details of the marketplace registration definition.", + "schema": { + "$ref": "#/definitions/MarketplaceRegistrationDefinition" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Marketplace Registration Definition At Tenant Scope": { + "$ref": "./examples/GetMarketplaceRegistrationDefinitionAtTenantScope.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": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperations.json" + } + } + } + }, + "/{scope}/providers/Microsoft.ManagedServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "OperationsWithScope_List", + "description": "Gets a list of the operations with the scope.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/GetOperationsWithScope.json" + } + } + } + } + }, + "definitions": { + "RegistrationDefinition": { + "properties": { + "properties": { + "description": "The properties of a registration definition.", + "$ref": "#/definitions/RegistrationDefinitionProperties" + }, + "plan": { + "description": "The details for the Managed Services offer’s plan in Azure Marketplace.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified path of the registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the Azure resource (Microsoft.ManagedServices/registrationDefinitions)." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the registration definition." + }, + "systemData": { + "readOnly": true, + "description": "The metadata for the registration assignment resource.", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true, + "type": "object", + "description": "The registration definition." + }, + "RegistrationDefinitionProperties": { + "properties": { + "description": { + "type": "string", + "description": "The description of the registration definition." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/Authorization" + }, + "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "eligibleAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/EligibleAuthorization" + }, + "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "registrationDefinitionName": { + "type": "string", + "description": "The name of the registration definition." + }, + "managedByTenantId": { + "type": "string", + "description": "The identifier of the managedBy tenant." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning 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": { + "readOnly": true, + "type": "string", + "description": "The identifier of the managed tenant." + }, + "manageeTenantName": { + "readOnly": true, + "type": "string", + "description": "The name of the managed tenant." + }, + "managedByTenantName": { + "readOnly": true, + "type": "string", + "description": "The name of the managedBy tenant." + } + }, + "required": [ + "managedByTenantId", + "authorizations" + ], + "type": "object", + "description": "The properties of a registration definition." + }, + "RegistrationDefinitionList": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RegistrationDefinition" + }, + "description": "The list of registration definitions." + }, + "nextLink": { + "description": "The link to the next page of registration definitions.", + "type": "string", + "readOnly": true + } + }, + "description": "The list of registration definitions." + }, + "RegistrationAssignment": { + "properties": { + "properties": { + "description": "The 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": "The type of the Azure resource (Microsoft.ManagedServices/registrationAssignments)." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the registration assignment." + }, + "systemData": { + "readOnly": true, + "description": "The metadata for the registration assignment resource.", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true, + "type": "object", + "description": "The registration assignment." + }, + "RegistrationAssignmentProperties": { + "properties": { + "registrationDefinitionId": { + "type": "string", + "description": "The fully qualified path of the registration definition." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning 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": "The description of the registration definition." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/Authorization" + }, + "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "eligibleAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/EligibleAuthorization" + }, + "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "registrationDefinitionName": { + "type": "string", + "description": "The name of the registration definition." + }, + "provisioningState": { + "type": "string", + "description": "The current provisioning 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": "The identifier of the managed tenant." + }, + "manageeTenantName": { + "type": "string", + "description": "The name of the managed tenant." + }, + "managedByTenantId": { + "type": "string", + "description": "The identifier of the managedBy tenant." + }, + "managedByTenantName": { + "type": "string", + "description": "The name of the managedBy tenant." + } + }, + "description": "The properties of the registration definition associated with the registration assignment." + }, + "plan": { + "description": "The details for the Managed Services offer’s plan in Azure Marketplace.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified path of the registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the Azure resource (Microsoft.ManagedServices/registrationDefinitions)." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the registration definition." + }, + "systemData": { + "readOnly": true, + "description": "The metadata for the registration definition resource.", + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData" + } + }, + "type": "object", + "description": "The registration definition associated with the registration assignment." + } + }, + "required": [ + "registrationDefinitionId" + ], + "type": "object", + "description": "The properties of the registration assignment." + }, + "RegistrationAssignmentList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RegistrationAssignment" + }, + "description": "The list of registration assignments." + }, + "nextLink": { + "description": "The link to the next page of registration assignments.", + "type": "string", + "readOnly": true + } + }, + "description": "The list of registration assignments." + }, + "MarketplaceRegistrationDefinition": { + "properties": { + "properties": { + "description": "The properties of the marketplace registration definition.", + "$ref": "#/definitions/MarketplaceRegistrationDefinitionProperties" + }, + "plan": { + "description": "The details for the Managed Services offer’s plan in Azure Marketplace.", + "$ref": "#/definitions/Plan" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified path of the marketplace registration definition." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the Azure resource (Microsoft.ManagedServices/marketplaceRegistrationDefinitions)." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the marketplace registration definition." + } + }, + "x-ms-azure-resource": true, + "type": "object" + }, + "MarketplaceRegistrationDefinitionProperties": { + "properties": { + "managedByTenantId": { + "type": "string", + "description": "The identifier of the managedBy tenant." + }, + "authorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/Authorization" + }, + "description": "The collection of authorization objects describing the access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "eligibleAuthorizations": { + "type": "array", + "items": { + "$ref": "#/definitions/EligibleAuthorization" + }, + "description": "The collection of eligible authorization objects describing the just-in-time access Azure Active Directory principals in the managedBy tenant will receive on the delegated resource in the managed tenant." + }, + "offerDisplayName": { + "type": "string", + "description": "The marketplace offer display name." + }, + "publisherDisplayName": { + "type": "string", + "description": "The marketplace publisher display name." + }, + "planDisplayName": { + "type": "string", + "description": "The marketplace plan display name." + } + }, + "required": [ + "managedByTenantId", + "authorizations" + ], + "type": "object", + "description": "The properties of the marketplace registration definition." + }, + "MarketplaceRegistrationDefinitionList": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MarketplaceRegistrationDefinition" + }, + "description": "The list of marketplace registration definitions." + }, + "nextLink": { + "description": "The link to the next page of marketplace registration definitions.", + "type": "string", + "readOnly": true + } + }, + "description": "The list of marketplace registration definitions." + }, + "Plan": { + "properties": { + "name": { + "type": "string", + "description": "Azure Marketplace plan name." + }, + "publisher": { + "type": "string", + "description": "Azure Marketplace publisher ID." + }, + "product": { + "type": "string", + "description": "Azure Marketplace product code." + }, + "version": { + "type": "string", + "description": "Azure Marketplace plan's version." + } + }, + "required": [ + "name", + "publisher", + "product", + "version" + ], + "type": "object", + "description": "The details for the Managed Services offer’s plan in Azure Marketplace." + }, + "Operation": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The operation name with the format: {provider}/{resource}/{operation}" + }, + "display": { + "readOnly": true, + "description": "The object that represents the operation.", + "properties": { + "provider": { + "type": "string", + "description": "The service provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed." + }, + "operation": { + "type": "string", + "description": "The operation type." + }, + "description": { + "type": "string", + "description": "The description of the operation." + } + } + } + }, + "type": "object", + "description": "The object that describes a single Microsoft.ManagedServices operation." + }, + "OperationList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "The list of Microsoft.ManagedServices operations." + } + }, + "type": "object", + "description": "The list of the operations." + }, + "Authorization": { + "properties": { + "principalId": { + "type": "string", + "description": "The identifier of the Azure Active Directory principal." + }, + "principalIdDisplayName": { + "type": "string", + "description": "The display name of the Azure Active Directory principal." + }, + "roleDefinitionId": { + "type": "string", + "description": "The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope." + }, + "delegatedRoleDefinitionIds": { + "type": "array", + "description": "The delegatedRoleDefinitionIds field is required when the roleDefinitionId refers to the User Access Administrator Role. It is the list of role definition ids which define all the permissions that the user in the authorization can assign to other principals.", + "items": { + "format": "uuid", + "type": "string" + } + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "type": "object", + "description": "The Azure Active Directory principal identifier and Azure built-in role that describes the access the principal will receive on the delegated resource in the managed tenant." + }, + "EligibleAuthorization": { + "properties": { + "principalId": { + "type": "string", + "description": "The identifier of the Azure Active Directory principal." + }, + "principalIdDisplayName": { + "type": "string", + "description": "The display name of the Azure Active Directory principal." + }, + "roleDefinitionId": { + "type": "string", + "description": "The identifier of the Azure built-in role that defines the permissions that the Azure Active Directory principal will have on the projected scope." + }, + "justInTimeAccessPolicy": { + "description": "The just-in-time access policy setting.", + "$ref": "#/definitions/JustInTimeAccessPolicy" + } + }, + "required": [ + "principalId", + "roleDefinitionId" + ], + "type": "object", + "description": "The Azure Active Directory principal identifier, Azure built-in role, and just-in-time access policy that describes the just-in-time access the principal will receive on the delegated resource in the managed tenant." + }, + "EligibleApprover": { + "properties": { + "principalId": { + "type": "string", + "description": "The identifier of the Azure Active Directory principal." + }, + "principalIdDisplayName": { + "type": "string", + "description": "The display name of the Azure Active Directory principal." + } + }, + "required": [ + "principalId" + ], + "type": "object", + "description": "Defines the Azure Active Directory principal that can approve any just-in-time access requests by the principal defined in the EligibleAuthorization." + }, + "JustInTimeAccessPolicy": { + "properties": { + "multiFactorAuthProvider": { + "type": "string", + "description": "The multi-factor authorization provider to be used for just-in-time access requests.", + "enum": [ + "Azure", + "None" + ], + "x-ms-enum": { + "name": "MultiFactorAuthProvider", + "modelAsString": true + }, + "default": "None" + }, + "maximumActivationDuration": { + "type": "string", + "format": "duration", + "description": "The maximum access duration in ISO 8601 format for just-in-time access requests.", + "default": "PT8H" + }, + "managedByTenantApprovers": { + "type": "array", + "items": { + "$ref": "#/definitions/EligibleApprover" + }, + "description": "The list of managedByTenant approvers for the eligible authorization." + } + }, + "required": [ + "multiFactorAuthProvider" + ], + "type": "object", + "description": "Just-in-time access policy setting." + }, + "ErrorDefinition": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message indicating why the operation failed." + }, + "details": { + "description": "The internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + } + } + }, + "required": [ + "code", + "message" + ], + "type": "object", + "description": "The error response indicating why the incoming request wasn’t able to be processed" + }, + "ErrorResponse": { + "description": "Error response.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details.", + "type": "object" + } + } + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true, + "type": "string", + "description": "The scope of the resource." + }, + "MarketplaceIdentifier": { + "name": "marketplaceIdentifier", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "The Azure Marketplace identifier. 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": "The GUID of the registration assignment." + }, + "registrationDefinitionIdParameter": { + "name": "registrationDefinitionId", + "in": "path", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "The GUID of the registration definition." + }, + "ExpandRegistrationDefinition": { + "name": "$expandRegistrationDefinition", + "in": "query", + "x-ms-parameter-location": "method", + "type": "boolean", + "description": "The flag indicating whether to return the registration definition details along with the registration assignment details." + }, + "Filter": { + "name": "$filter", + "in": "query", + "x-ms-parameter-location": "method", + "type": "string", + "description": "The filter query parameter to filter managed services resources by." + } + } +} diff --git a/specification/managedservices/resource-manager/readme.md b/specification/managedservices/resource-manager/readme.md index b8e7f46ee7f9..823108990c89 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-2020-02-preview +tag: package-preview-2022-01 ``` +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-01' +input-file: + - Microsoft.ManagedServices/preview/2022-01-01-preview/managedservices.json +``` ### Tag: package-2020-02-preview These settings apply only when `--tag=package-2020-02-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-02-preview' +``` yaml $(tag) == 'package-2020-02-preview' input-file: - Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json ``` + ### Tag: package-2019-09 These settings apply only when `--tag=package-2019-09` is specified on the command line. @@ -116,6 +125,3 @@ csharp: ## Go See configuration in [readme.go.md](./readme.go.md) - - - diff --git a/specification/managedservices/resource-manager/readme.python.md b/specification/managedservices/resource-manager/readme.python.md index a14444330699..06b74b4c2129 100644 --- a/specification/managedservices/resource-manager/readme.python.md +++ b/specification/managedservices/resource-manager/readme.python.md @@ -4,19 +4,8 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.managedservices - package-name: azure-mgmt-managedservices - package-version: 0.1.0 - clear-output-folder: true -``` -``` yaml $(python) && $(track2) -python-mode: create + +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.managedservices @@ -25,21 +14,7 @@ package-version: 0.1.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/managedservices/azure-mgmt-managedservices/azure/mgmt/managedservices -``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/managedservices/azure-mgmt-managedservices -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/managedservices/azure-mgmt-managedservices/azure/mgmt/managedservices ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/managedservices/azure-mgmt-managedservices -``` diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json index bc6ed0b42164..61589946fa01 100644 --- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json +++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json @@ -968,7 +968,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -1262,7 +1265,10 @@ "type": "array", "items": { "$ref": "#/definitions/ManagementGroupPathElement" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "managementGroupAncestors": { "description": "The ancestors of the management group.", @@ -1278,7 +1284,10 @@ "type": "array", "items": { "$ref": "#/definitions/ManagementGroupPathElement" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1980,6 +1989,10 @@ "path", "ancestors" ], + "x-ms-enum": { + "name": "ManagementGroupExpandType", + "modelAsString": true + }, "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. $expand=ancestors includes the ancestor Ids of the current group." }, @@ -2047,6 +2060,10 @@ "ParentOnly", "ChildrenOnly" ], + "x-ms-enum": { + "name": "EntitySearchType", + "modelAsString": true + }, "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. \nWith $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.\nWith $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.\nWith $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.\nWith $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.\nWith $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." }, @@ -2121,6 +2138,10 @@ "SubscriptionsOnly", "Audit" ], + "x-ms-enum": { + "name": "EntityViewParameterType", + "modelAsString": true + }, "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.python.md b/specification/managementgroups/resource-manager/readme.python.md index 66b6cad41013..ec6206f4d099 100644 --- a/specification/managementgroups/resource-manager/readme.python.md +++ b/specification/managementgroups/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.managementgroups @@ -11,11 +11,7 @@ package-name: azure-mgmt-managementgroups package-version: 2019-05-01 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups/azure/mgmt/managementgroups ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/managementgroups/azure-mgmt-managementgroups -``` diff --git a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json index 111e6dc595cd..caa080521f40 100644 --- a/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json +++ b/specification/managementpartner/resource-manager/Microsoft.ManagementPartner/preview/2018-02-01/ManagementPartner.json @@ -318,7 +318,11 @@ "enum": [ "Active", "Deleted" - ] + ], + "x-ms-enum": { + "name": "ManagementPartnerState", + "modelAsString": true + } }, "ErrorResponseCode": { "type": "string", @@ -366,6 +370,9 @@ "$ref": "#/definitions/OperationResponse", "description": "this is the operation response property" }, + "x-ms-identifiers": [ + "name" + ], "description": "this is the operation response list" }, "nextLink": { diff --git a/specification/managementpartner/resource-manager/readme.python.md b/specification/managementpartner/resource-manager/readme.python.md index f22350219988..da77a71988c7 100644 --- a/specification/managementpartner/resource-manager/readme.python.md +++ b/specification/managementpartner/resource-manager/readme.python.md @@ -5,8 +5,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.managementpartner @@ -15,11 +14,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/managementpartner/azure-mgmt-managementpartner/azure/mgmt/managementpartner ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/managementpartner/azure-mgmt-managementpartner -``` diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_Get.json b/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_Get.json index f081d3945f4e..fef2ad71ba8d 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_Get.json +++ b/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_Get.json @@ -11,6 +11,7 @@ "udid": "31838736-8b84-11ea-bc55-0242ac130003", "created": "5/19/2020 9:00:00 AM +00:00", "description": "User provided description.", + "ontology": "facility-2.0", "featureCounts": { "directoryInfo": 1, "level": 3, diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_List.json b/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_List.json index 158b416cefb8..f5edea0460ff 100644 --- a/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_List.json +++ b/specification/maps/data-plane/Creator/preview/2.0/examples/conversion/Conversion_List.json @@ -12,6 +12,7 @@ "udid": "31838736-8b84-11ea-bc55-0242ac130003", "created": "5/19/2020 9:00:00 AM +00:00", "description": "User provided description.", + "ontology": "facility-2.0", "featureCounts": { "directoryInfo": 1, "level": 3, @@ -25,16 +26,18 @@ { "conversionId": "2acf7d32-8b84-11ea-bc55-0242ac130003", "udid": "1214bc58-8b84-11ea-bc55-0242ac1300039", - "created": "5/19/2020 9:00:00 AM +00:00", + "created": "5/20/2020 11:30:00 AM +00:00", "description": "User provided description.", + "ontology": "facility-2.0", "featureCounts": { + "structure": 614, "directoryInfo": 1, - "level": 3, + "level": 2, "facility": 1, - "unit": 150, - "category": 8, - "areaElement": 0, - "opening": 10 + "unit": 461, + "category": 30, + "verticalPenetration": 8, + "opening": 270 } } ] diff --git a/specification/maps/data-plane/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/DEM/preview/1.0/elevation.json index 4186af0ed6f3..33bcc5dcf0de 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/elevation.json +++ b/specification/maps/data-plane/DEM/preview/1.0/elevation.json @@ -65,7 +65,7 @@ "/elevation/point/{format}": { "get": { "summary": "Get Elevation Data on One or More Points", - "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/rest/api/maps/elevation/postdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n The Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/rest/api/maps/elevation/postdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", "operationId": "Elevation_GetDataForPoints", "x-ms-examples": { "Successfully retrieve elevation data for one or more points using get": { @@ -110,7 +110,7 @@ }, "post": { "summary": "Query Elevation Data for Multiple Points", - "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format.\n\n Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/rest/api/maps/elevation/getdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n The Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format.\n\n Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/rest/api/maps/elevation/getdataforpoints).\n\n The result will be in the same sequence of points listed in the request.", "operationId": "Elevation_PostDataForPoints", "x-ms-examples": { "Successfully retrieve elevation data for multiple points using post": { @@ -153,7 +153,7 @@ "/elevation/line/{format}": { "get": { "summary": "Get Elevation Data Along a Polyline", - "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and endpoints, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n The Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and endpoints, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", "operationId": "Elevation_GetDataForPolyline", "x-ms-examples": { "Successfully retrieve elevation data along a polyline using get": { @@ -206,7 +206,7 @@ }, "post": { "summary": "Query Elevation Data Along a Polyline", - "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n The Post Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.", "operationId": "Elevation_PostDataForPolyline", "x-ms-examples": { "Successfully retrieve elevation data along a polyline using post": { @@ -257,7 +257,7 @@ "/elevation/lattice/{format}": { "get": { "summary": "Get Elevation Data at Equally Spaced Locations Within a Bounding Box", - "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.", "operationId": "Elevation_GetDataForBoundingBox", "x-ms-examples": { "Successfully retrieve elevation data within a bounding box": { diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForBoundingBox.json b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForBoundingBox.json index eb3d4ddba6e8..c13e564f54a1 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForBoundingBox.json +++ b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForBoundingBox.json @@ -2,7 +2,12 @@ "parameters": { "format": "json", "api-version": "1.0", - "bounds": "-121.66853362143818, 46.84646479863713,-121.65853362143818, 46.85646479863713", + "bounds": [ + -121.66853362143818, + 46.84646479863713, + -121.65853362143818, + 46.85646479863713 + ], "rows": 2, "columns": 3 }, diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPoints.json b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPoints.json index f1843887a98e..d7d64167478a 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPoints.json +++ b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPoints.json @@ -2,7 +2,9 @@ "parameters": { "format": "json", "api-version": "1.0", - "points": "-121.66853362143818, 46.84646479863713|-121.68853362143818, 46.856464798637127" + "points": [ + "-121.66853362143818, 46.84646479863713|-121.68853362143818, 46.856464798637127" + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPolyline.json b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPolyline.json index ce6524a28d50..3a621e386084 100644 --- a/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPolyline.json +++ b/specification/maps/data-plane/DEM/preview/1.0/examples/GetDataForPolyline.json @@ -2,7 +2,9 @@ "parameters": { "format": "json", "api-version": "1.0", - "lines": "-121.66853362143818, 46.84646479863713|-121.67853362143818, 46.85646479863713", + "lines": [ + "-121.66853362143818, 46.84646479863713|-121.67853362143818, 46.85646479863713" + ], "samples": 5 }, "responses": { diff --git a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json index 13fdf8aba99f..93cf8e3d93f0 100644 --- a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json +++ b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json @@ -64,7 +64,7 @@ "paths": { "/geolocation/ip/{format}": { "get": { - "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.", + "description": "\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.", "operationId": "Geolocation_GetIPToLocation", "x-ms-client-name": "GetLocation", "x-ms-examples": { diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json index 8bd58db3b8e3..be91cd7afda9 100644 --- a/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json +++ b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json @@ -2,8 +2,14 @@ "parameters": { "api-version": "1.0", "format": "json", - "mincoordinates": "52.41064,4.84228", - "maxcoordinates": "52.41072,4.84239", + "mincoordinates": [ + 52.41064, + 4.84228 + ], + "maxcoordinates": [ + 52.41072, + 4.84239 + ], "text": "yes" }, "responses": { diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json index c747d41a9d99..88b6598b1943 100644 --- a/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json +++ b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json @@ -3,7 +3,12 @@ "api-version": "1.0", "format": "png", "zoom": 2, - "bbox": "1.355233,42.982261,24.980233,56.526017", + "bbox": [ + 1.355233, + 42.982261, + 24.980233, + 56.526017 + ], "layer": "basic", "style": "main" }, diff --git a/specification/maps/data-plane/Render/preview/1.0/render.json b/specification/maps/data-plane/Render/preview/1.0/render.json index 93282faeea08..6d683052ccf1 100644 --- a/specification/maps/data-plane/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Render/preview/1.0/render.json @@ -173,7 +173,7 @@ "paths": { "/map/static/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

    \nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

    \n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

    \nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

    \n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", "operationId": "Render_GetMapImage", "x-ms-client-name": "GetMapStaticImage", "x-ms-examples": { @@ -351,7 +351,7 @@ }, "/map/tile/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", "operationId": "Render_GetMapTile", "x-ms-examples": { "Successful Tile Request": { @@ -482,7 +482,7 @@ }, "/map/statetile": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", "operationId": "Render_GetMapStateTile", "x-ms-examples": { "Successful State Tile Request": { @@ -540,7 +540,7 @@ }, "/map/copyright/caption/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", "operationId": "Render_GetCopyrightCaption", "x-ms-examples": { "Successful Copyright Caption Request": { @@ -573,7 +573,7 @@ }, "/map/imagery/{format}": { "get": { - "description": "**Applies to:** S1 pricing tier.\n\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", + "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).", "operationId": "Render_GetMapImageryTile", "x-ms-examples": { "Successful Imagery Tile Request": { @@ -649,7 +649,7 @@ }, "/map/copyright/bounding/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", "operationId": "Render_GetCopyrightFromBoundingBox", "x-ms-examples": { "Successful Bounding Box Copyright Request": { @@ -691,7 +691,7 @@ }, "/map/copyright/tile/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", "operationId": "Render_GetCopyrightForTile", "x-ms-examples": { "Successful Tile Copyright Request": { @@ -736,7 +736,7 @@ }, "/map/copyright/world/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", "operationId": "Render_GetCopyrightForWorld", "x-ms-examples": { "Successful World Copyright Request": { diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json index 47de6f12f5e0..a30a5f26b4ff 100644 --- a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json @@ -3,7 +3,12 @@ "api-version": "2.1", "tilesetId": "microsoft.base", "zoom": 6, - "bounds": "-122.414162,47.579490,-122.247157,47.668372" + "bounds": [ + -122.414162, + 47.579490, + -122.247157, + 47.668372 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json index 8bd58db3b8e3..be91cd7afda9 100644 --- a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json @@ -2,8 +2,14 @@ "parameters": { "api-version": "1.0", "format": "json", - "mincoordinates": "52.41064,4.84228", - "maxcoordinates": "52.41072,4.84239", + "mincoordinates": [ + 52.41064, + 4.84228 + ], + "maxcoordinates": [ + 52.41072, + 4.84239 + ], "text": "yes" }, "responses": { diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json index c747d41a9d99..88b6598b1943 100644 --- a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json @@ -3,7 +3,12 @@ "api-version": "1.0", "format": "png", "zoom": 2, - "bbox": "1.355233,42.982261,24.980233,56.526017", + "bbox": [ + 1.355233, + 42.982261, + 24.980233, + 56.526017 + ], "layer": "basic", "style": "main" }, diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json index 704199bbd1e7..f25f2444327a 100644 --- a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json +++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json @@ -11,7 +11,7 @@ "headers": { "Content-Type": "application/vnd.mapbox-vector-tile" }, - "body": "{file}" + "body": "binary image string" } } } diff --git a/specification/maps/data-plane/Render/preview/2.1/render.json b/specification/maps/data-plane/Render/preview/2.1/render.json index 78f775c0d62b..3c3b209fbc64 100644 --- a/specification/maps/data-plane/Render/preview/2.1/render.json +++ b/specification/maps/data-plane/Render/preview/2.1/render.json @@ -64,7 +64,7 @@ "paths": { "/map/tile": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.", "operationId": "RenderV2_GetMapTile", "x-ms-client-name": "GetMapTile", "x-ms-examples": { @@ -119,7 +119,9 @@ "200": { "description": "The tile returned from a successful API call.", "schema": { - "$ref": "../2.0/render.json#/definitions/MapTile" + "type": "object", + "format": "file", + "readOnly": true }, "headers": { "Content-Type": { @@ -136,7 +138,7 @@ }, "/map/tileset": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tileset API allows users to request metadata for a tileset.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Map Tileset API allows users to request metadata for a tileset.", "operationId": "RenderV2_GetMapTileset", "x-ms-examples": { "Successful Tileset Request": { @@ -172,7 +174,7 @@ }, "/map/attribution": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.", "operationId": "RenderV2_GetMapAttribution", "x-ms-examples": { "Successful Attribution Request": { @@ -229,7 +231,7 @@ }, "/map/statetile": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))", "operationId": "RenderV2_GetMapStateTile", "x-ms-examples": { "Successful State Tile Request": { @@ -268,7 +270,9 @@ "200": { "description": "This tile is returned from a successful Get Map State Tile call", "schema": { - "$ref": "../2.0/render.json#/definitions/MapTile" + "type": "object", + "format": "file", + "readOnly": true }, "headers": { "Content-Type": { @@ -285,7 +289,7 @@ }, "/map/copyright/caption/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.", "operationId": "RenderV2_GetCopyrightCaption", "x-ms-examples": { "Successful Copyright Caption Request": { @@ -318,7 +322,7 @@ }, "/map/static/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

    \nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

    \n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n

    \nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n

    \n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |", "operationId": "RenderV2_GetMapStaticImage", "x-ms-examples": { "Successful Static Image Request": { @@ -410,7 +414,7 @@ }, { "name": "bbox", - "x-ms-client-name": "boundingBox", + "x-ms-client-name": "boundingBoxPrivate", "in": "query", "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,\nmaxLon, maxLat'. \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. It shouldn’t be used with\nheight or width.\n\nThe maximum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.", "type": "array", @@ -495,7 +499,7 @@ }, "/map/copyright/bounding/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates", "operationId": "RenderV2_GetCopyrightFromBoundingBox", "x-ms-examples": { "SuccessfulBoundingBoxCopyrightRequest": { @@ -537,7 +541,7 @@ }, "/map/copyright/tile/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).", "operationId": "RenderV2_GetCopyrightForTile", "x-ms-examples": { "Successful Tile Copyright Request": { @@ -582,7 +586,7 @@ }, "/map/copyright/world/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.", "operationId": "RenderV2_GetCopyrightForWorld", "x-ms-examples": { "Successful World Copyright Request": { diff --git a/specification/maps/data-plane/Render/readme.java.md b/specification/maps/data-plane/Render/readme.java.md index d29cb26ee591..9dcbe94332df 100644 --- a/specification/maps/data-plane/Render/readme.java.md +++ b/specification/maps/data-plane/Render/readme.java.md @@ -1,9 +1,36 @@ ## Java ``` yaml $(java) +directive: + - rename-model: + from: MapTileset + to: MapTilesetPrivate + - from: swagger-document + where: '$.parameters["BoundingBoxSouthWest"]' + transform: > + $["x-ms-parameter-grouping"]["name"] = "BoundingBoxPrivate"; + - from: swagger-document + where: '$.parameters["BoundingBoxNorthEast"]' + transform: > + $["x-ms-parameter-grouping"]["name"] = "BoundingBoxPrivate"; + - from: swagger-document + where: '$.parameters["bbox"]' + transform: > + $["x-ms-client-name"] = "BoundingBoxPrivate"; + java: namespace: com.azure.maps.render - license-header: MICROSOFT_MIT_NO_CODEGEN + license-header: MICROSOFT_MIT_SMALL payload-flattening-threshold: 0 output-folder: $(azure-libraries-for-java-folder)/azure-maps-render + add-context-parameter: true + context-client-method-parameter: true + client-logger: true + generate-client-as-impl: true + sync-methods: all + generate-sync-async-clients: false + polling: {} + models-subpackage: implementation.models + custom-types-subpackage: models + custom-types: LocalizedMapView,MapImageStyle,RasterTileFormat,StaticMapLayer,MapTileSize,TileIndex,TilesetID,Copyright,CopyrightCaption,MapAttribution,RegionCopyrights,RegionCopyrightsCountry,ErrorAdditionalInfo,ErrorDetail,ErrorResponse,ErrorResponseException ``` \ No newline at end of file diff --git a/specification/maps/data-plane/Render/readme.md b/specification/maps/data-plane/Render/readme.md index 252789e625af..16d20584763d 100644 --- a/specification/maps/data-plane/Render/readme.md +++ b/specification/maps/data-plane/Render/readme.md @@ -27,36 +27,42 @@ These are the global settings for Render Client. ``` yaml title: RenderClient openapi-type: data-plane -tag: 2.1-preview +tag: 2.1 # removed "preview" as it started causing validation errors from v0.26 of the Swagger Lintdiff. # at some point those credentials will move away to Swagger according to [this](https://github.com/Azure/autorest/issues/3718) add-credentials: true credential-default-policy-type: BearerTokenCredentialPolicy credential-scopes: https://atlas.microsoft.com/.default +track2: true +verbose: true +sdk-integration: true +modelerfour: + additional-checks: false + lenient-model-deduplication: true ``` ### Tag: 2.1-preview -These settings apply only when `--tag=2.1-preview` is specified on the command line. +These settings apply only when `--tag=2.1` is specified on the command line. -``` yaml $(tag) == '2.1-preview' +``` yaml $(tag) == '2.1' input-file: - preview/2.1/render.json ``` ### Tag: 2.0-preview -These settings apply only when `--tag=2.0-preview` is specified on the command line. +These settings apply only when `--tag=2.0` is specified on the command line. -``` yaml $(tag) == '2.0-preview' +``` yaml $(tag) == '2.0' input-file: - preview/2.0/render.json ``` ### Tag: 1.0-preview -These settings apply only when `--tag=1.0-preview` is specified on the command line. +These settings apply only when `--tag=1.0` is specified on the command line. -``` yaml $(tag) == '1.0-preview' +``` yaml $(tag) == '1.0' input-file: - preview/1.0/render.json ``` diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/GetRouteRange.json b/specification/maps/data-plane/Route/preview/1.0/examples/GetRouteRange.json index 21ce04bc6416..e135c3bb295b 100644 --- a/specification/maps/data-plane/Route/preview/1.0/examples/GetRouteRange.json +++ b/specification/maps/data-plane/Route/preview/1.0/examples/GetRouteRange.json @@ -2,7 +2,10 @@ "parameters": { "format": "json", "api-version": "1.0", - "query": "50.97452,5.86605", + "query": [ + 50.97452, + 5.86605 + ], "timeBudgetInSec": 6000 }, "responses": { diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json index 4e82d2427eb9..3c6361a2f15c 100644 --- a/specification/maps/data-plane/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Route/preview/1.0/route.json @@ -837,7 +837,7 @@ "paths": { "/route/matrix/{format}": { "post": { - "description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", + "description": "\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", "operationId": "Route_PostRouteMatrix", "x-ms-client-name": "RequestRouteMatrix", "x-ms-long-running-operation": true, @@ -942,7 +942,7 @@ } }, "get": { - "description": "If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nIf the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", "operationId": "Route_GetRouteMatrix", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -982,7 +982,7 @@ }, "/route/matrix/sync/{format}": { "post": { - "description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", + "description": "\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.", "operationId": "Route_PostRouteMatrixSync", "x-ms-client-name": "RequestRouteMatrixSync", "x-ms-examples": { @@ -1075,7 +1075,11 @@ } }, "408": { - "$ref": "../../../Common/preview/1.0/common.json#/responses/408" + "description": "Timeout: The request took longer to finish than the maximum amount of time defined in the api.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "x-ms-error-response": true }, "default": { "$ref": "../../../Common/preview/1.0/common.json#/responses/default" @@ -1085,7 +1089,7 @@ }, "/route/directions/{format}": { "get": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", "operationId": "Route_GetRouteDirections", "x-ms-examples": { "Successfully retrieve a route between an origin and a destination": { @@ -1256,7 +1260,7 @@ } }, "post": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of a vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of a vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.", "operationId": "Route_PostRouteDirections", "x-ms-client-name": "GetRouteDirectionsWithAdditionalParameters", "x-ms-examples": { @@ -1439,7 +1443,7 @@ }, "/route/range/{format}": { "get": { - "description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: S1 pricing tier.\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.", + "description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.", "operationId": "Route_GetRouteRange", "x-ms-examples": { "Successfully retrieve a set of locations that can be reached from the origin point based on various conditions": { @@ -1599,7 +1603,7 @@ }, "/route/directions/batch/{format}": { "post": { - "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
    \n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Route Directions Batch API**\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
    \n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Route_PostRouteDirectionsBatch", "x-ms-client-name": "RequestRouteDirectionsBatch", "x-ms-long-running-operation": true, @@ -1647,7 +1651,7 @@ } }, "get": { - "description": "### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Route_GetRouteDirectionsBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -1687,7 +1691,7 @@ }, "/route/directions/batch/sync/{format}": { "post": { - "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Route Directions Batch API**\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Route_PostRouteDirectionsBatchSync", "x-ms-client-name": "RequestRouteDirectionsBatchSync", "x-ms-examples": { @@ -1723,7 +1727,11 @@ } }, "408": { - "$ref": "../../../Common/preview/1.0/common.json#/responses/408" + "description": "Timeout: The request took longer to finish than the maximum amount of time defined in the api.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "x-ms-error-response": true }, "default": { "$ref": "../../../Common/preview/1.0/common.json#/responses/default" diff --git a/specification/maps/data-plane/Route/readme.java.md b/specification/maps/data-plane/Route/readme.java.md index cc6d4cd306fc..1241cd78b5a3 100644 --- a/specification/maps/data-plane/Route/readme.java.md +++ b/specification/maps/data-plane/Route/readme.java.md @@ -1,9 +1,30 @@ ## Java ``` yaml $(java) + +directive: + - rename-model: + from: RouteMatrix + to: RouteMatrixPrivate + - rename-model: + from: RouteMatrixResult + to: RouteMatrixResultPrivate + - rename-model: + from: RouteMatrixQuery + to: RouteMatrixQueryPrivate java: namespace: com.azure.maps.route license-header: MICROSOFT_MIT_NO_CODEGEN payload-flattening-threshold: 0 - output-folder: $(azure-libraries-for-java-folder)/azure-maps-route + output-folder: $(azure-libraries-for-java-folder)/azure-maps-route + add-context-parameter: true + context-client-method-parameter: true + client-logger: true + generate-client-as-impl: true + sync-methods: all + generate-sync-async-clients: false + polling: {} + models-subpackage: implementation.models + custom-types-subpackage: models + custom-types: AlternativeRouteType,BatchResultSummary,ComputeTravelTime,DelayMagnitude,DrivingSide,EffectiveSetting,ErrorAdditionalInfo,ErrorDetail,ErrorResponse,ErrorResponseException,GuidanceInstructionType,GuidanceManeuver,InclineLevel,JunctionType,Report,ResponseSectionType,ResponseTravelMode,Route,RouteAvoidType,RouteDirections,RouteDirectionsBatchResult,RouteGuidance,RouteInstructionGroup,RouteInstructionsType,RouteLegSummary,RouteMatrixSummary,RouteOptimizedWaypoint,RouteRangeResult,RouteReport,RouteRepresentationForBestOrder,RouteSection,RouteSectionTec,RouteSectionTecCause,RouteSummary,RouteType,SectionType,SimpleCategory,TravelMode,VehicleEngineType,VehicleLoadType,WindingnessLevel ``` \ No newline at end of file diff --git a/specification/maps/data-plane/Route/readme.md b/specification/maps/data-plane/Route/readme.md index de4e872281cd..ad4fbee451a1 100644 --- a/specification/maps/data-plane/Route/readme.md +++ b/specification/maps/data-plane/Route/readme.md @@ -27,19 +27,25 @@ These are the global settings for Route Client. ``` yaml title: RouteClient openapi-type: data-plane -tag: 1.0-preview +tag: 1.0 # at some point those credentials will move away to Swagger according to [this](https://github.com/Azure/autorest/issues/3718) add-credentials: true credential-default-policy-type: BearerTokenCredentialPolicy credential-scopes: https://atlas.microsoft.com/.default +track2: true +verbose: true +sdk-integration: true +modelerfour: + additional-checks: false + lenient-model-deduplication: true ``` -### Tag: 1.0-preview +### Tag: 1.0 -These settings apply only when `--tag=1.0-preview` is specified on the command line. +These settings apply only when `--tag=1.0` is specified on the command line. -``` yaml $(tag) == '1.0-preview' +``` yaml $(tag) == '1.0' input-file: - preview/1.0/route.json ``` diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json index 8082282fffe8..71b1f01dcb29 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json @@ -2,7 +2,10 @@ "parameters": { "format": "json", "api-version": "1.0", - "query": "37.337,-121.89" + "query": [ + 37.337, + -121.89 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json index 52d4730c8085..459a5ddf2c08 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json @@ -2,7 +2,10 @@ "parameters": { "format": "json", "api-version": "1.0", - "query": "37.337,-121.89" + "query": [ + 37.337, + -121.89 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchPolygon.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchPolygon.json index 697261d8a50f..903d8f1814eb 100644 --- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchPolygon.json +++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchPolygon.json @@ -2,7 +2,10 @@ "parameters": { "format": "json", "api-version": "1.0", - "geometries": "[geometry-ids]" + "geometries": [ + "8bceafe8-3d98-4445-b29b-fd81d3e9adf5", + "00005858-5800-1200-0000-0000773694ca" + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Search/preview/1.0/search.json b/specification/maps/data-plane/Search/preview/1.0/search.json index 972f062771cc..bf73c2ead9b2 100644 --- a/specification/maps/data-plane/Search/preview/1.0/search.json +++ b/specification/maps/data-plane/Search/preview/1.0/search.json @@ -443,7 +443,7 @@ "paths": { "/search/polygon/{format}": { "get": { - "description": "**Get Polygon**\n\n\n**Applies to**: S1 pricing tier.\n\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.", + "description": "**Get Polygon**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.", "operationId": "Search_GetSearchPolygon", "x-ms-client-name": "ListPolygons", "x-ms-examples": { @@ -488,7 +488,7 @@ }, "/search/fuzzy/{format}": { "get": { - "description": "\n**Free Form Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a coordinate and radius, or it can be executed more generally without any geo biasing anchor point.

    We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.

    E.g.: `countrySet`=US,FR

    Please see [Search Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.

    Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.", + "description": "\n**Free Form Search**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a coordinate and radius, or it can be executed more generally without any geo biasing anchor point.

    We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.

    E.g.: `countrySet`=US,FR

    Please see [Search Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.

    Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.", "operationId": "Search_GetSearchFuzzy", "x-ms-client-name": "FuzzySearch", "x-ms-examples": { @@ -599,7 +599,7 @@ }, "/search/poi/{format}": { "get": { - "description": "**Get POI by Name**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, coordinate location and category.", + "description": "**Get POI by Name**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nPoints of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, coordinate location and category.", "operationId": "Search_GetSearchPOI", "x-ms-client-name": "SearchPointOfInterest", "x-ms-examples": { @@ -688,7 +688,7 @@ }, "/search/nearby/{format}": { "get": { - "description": "**Nearby Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIf you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.", + "description": "**Nearby Search**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nIf you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.", "operationId": "Search_GetSearchNearby", "x-ms-client-name": "SearchNearbyPointOfInterest", "x-ms-examples": { @@ -762,7 +762,7 @@ }, "/search/poi/category/{format}": { "get": { - "description": "**Get POI by Category**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, coordinate location and classification.", + "description": "**Get POI by Category**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nPoints of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, coordinate location and classification.", "operationId": "Search_GetSearchPOICategory", "x-ms-client-name": "SearchPointOfInterestCategory", "x-ms-examples": { @@ -851,7 +851,7 @@ }, "/search/poi/category/tree/{format}": { "get": { - "description": "**Get POI Category Tree**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).", + "description": "**Get POI Category Tree**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).", "operationId": "Search_GetSearchPOICategoryTree", "x-ms-client-name": "GetPointOfInterestCategoryTree", "x-ms-examples": { @@ -891,7 +891,7 @@ }, "/search/address/{format}": { "get": { - "description": "**Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIn many cases, the complete search service might be too much, for instance if you are only interested in traditional geocoding. Search can also be accessed for address look up exclusively. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", + "description": "**Address Geocoding**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nIn many cases, the complete search service might be too much, for instance if you are only interested in traditional geocoding. Search can also be accessed for address look up exclusively. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", "operationId": "Search_GetSearchAddress", "x-ms-client-name": "SearchAddress", "x-ms-examples": { @@ -971,7 +971,7 @@ }, "/search/address/reverse/{format}": { "get": { - "description": "**Reverse Geocode to an Address**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located. This endpoint will return address information for a given coordinate.", + "description": "**Reverse Geocode to an Address**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located. This endpoint will return address information for a given coordinate.", "operationId": "Search_GetSearchAddressReverse", "x-ms-client-name": "ReverseSearchAddress", "x-ms-examples": { @@ -1081,7 +1081,7 @@ }, "/search/address/reverse/crossStreet/{format}": { "get": { - "description": "**Reverse Geocode to a Cross Street**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located.\nThis endpoint will return cross street information for a given coordinate.", + "description": "**Reverse Geocode to a Cross Street**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located.\nThis endpoint will return cross street information for a given coordinate.", "operationId": "Search_GetSearchAddressReverseCrossStreet", "x-ms-client-name": "ReverseSearchCrossStreetAddress", "x-ms-examples": { @@ -1138,7 +1138,7 @@ }, "/search/address/structured/{format}": { "get": { - "description": "**Structured Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nAzure Address Geocoding can also be accessed for structured address look up exclusively. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", + "description": "**Structured Address Geocoding**\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nAzure Address Geocoding can also be accessed for structured address look up exclusively. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.", "operationId": "Search_GetSearchAddressStructured", "x-ms-client-name": "SearchStructuredAddress", "x-ms-examples": { @@ -1252,7 +1252,7 @@ }, "/search/geometry/{format}": { "post": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.

    To send the geometry you will use a `POST` request where the request body will contain the `geometry` object represented as a `GeoJSON` type and the `Content-Type` header will be set to `application/json`. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following `GeoJSON` types:
    • **GeoJSON FeatureCollection**
      The `geometry` can be represented as a `GeoJSON FeatureCollection` object. This is the recommended option if the geometry contains both Polygons and Circles. The `FeatureCollection` can contain a max of 50 `GeoJSON Feature` objects. Each `Feature` object should represent either a Polygon or a Circle with the following conditions:
      • A `Feature` object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.
      • A `Feature` object for the Circle geometry is composed of a _center_ represented using a `GeoJSON Point` type and a _radius_ value (in meters) which must be specified in the object's properties along with the _subType_ property whose value should be 'Circle'.

      Please see the Examples section below for a sample `FeatureCollection` representation.

    • **GeoJSON GeometryCollection**
      The `geometry` can be represented as a `GeoJSON GeometryCollection` object. This is the recommended option if the geometry contains a list of Polygons only. The `GeometryCollection` can contain a max of 50 `GeoJSON Polygon` objects. Each `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `GeometryCollection` representation.

    • **GeoJSON Polygon**
      The `geometry` can be represented as a `GeoJSON Polygon` object. This is the recommended option if the geometry contains a single Polygon. The `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `Polygon` representation.

    .

    ", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.

    To send the geometry you will use a `POST` request where the request body will contain the `geometry` object represented as a `GeoJSON` type and the `Content-Type` header will be set to `application/json`. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following `GeoJSON` types:
    • **GeoJSON FeatureCollection**
      The `geometry` can be represented as a `GeoJSON FeatureCollection` object. This is the recommended option if the geometry contains both Polygons and Circles. The `FeatureCollection` can contain a max of 50 `GeoJSON Feature` objects. Each `Feature` object should represent either a Polygon or a Circle with the following conditions:
      • A `Feature` object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.
      • A `Feature` object for the Circle geometry is composed of a _center_ represented using a `GeoJSON Point` type and a _radius_ value (in meters) which must be specified in the object's properties along with the _subType_ property whose value should be 'Circle'.

      Please see the Examples section below for a sample `FeatureCollection` representation.

    • **GeoJSON GeometryCollection**
      The `geometry` can be represented as a `GeoJSON GeometryCollection` object. This is the recommended option if the geometry contains a list of Polygons only. The `GeometryCollection` can contain a max of 50 `GeoJSON Polygon` objects. Each `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `GeometryCollection` representation.

    • **GeoJSON Polygon**
      The `geometry` can be represented as a `GeoJSON Polygon` object. This is the recommended option if the geometry contains a single Polygon. The `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `Polygon` representation.

    .

    ", "operationId": "Search_PostSearchInsideGeometry", "x-ms-client-name": "SearchInsideGeometry", "x-ms-examples": { @@ -1326,7 +1326,7 @@ }, "/search/alongRoute/{format}": { "post": { - "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the `maxDetourTime` limiting measure.

    To send the route-points you will use a `POST` request where the request body will contain the `route` object represented as a `GeoJSON LineString` type and the `Content-Type` header will be set to `application/json`. Each route-point in `route` is represented as a `GeoJSON Position` type i.e. an array where the _longitude_ value is followed by the _latitude_ value and the _altitude_ value is ignored. The `route` should contain at least 2 route-points.

    It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the `detourTime` value in the response is negative.", + "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the `maxDetourTime` limiting measure.

    To send the route-points you will use a `POST` request where the request body will contain the `route` object represented as a `GeoJSON LineString` type and the `Content-Type` header will be set to `application/json`. Each route-point in `route` is represented as a `GeoJSON Position` type i.e. an array where the _longitude_ value is followed by the _latitude_ value and the _altitude_ value is ignored. The `route` should contain at least 2 route-points.

    It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the `detourTime` value in the response is negative.", "operationId": "Search_PostSearchAlongRoute", "x-ms-client-name": "SearchAlongRoute", "x-ms-examples": { @@ -1404,7 +1404,7 @@ }, "/search/fuzzy/batch/sync/{format}": { "post": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchFuzzyBatchSync", "x-ms-client-name": "FuzzySearchBatchSync", "x-ms-examples": { @@ -1441,7 +1441,11 @@ } }, "408": { - "$ref": "../../../Common/preview/1.0/common.json#/responses/408" + "description": "Timeout: The request took longer to finish than the maximum amount of time defined in the api.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "x-ms-error-response": true }, "default": { "$ref": "../../../Common/preview/1.0/common.json#/responses/default" @@ -1451,7 +1455,7 @@ }, "/search/fuzzy/batch/{format}": { "post": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchFuzzyBatch", "x-ms-client-name": "FuzzySearchBatch", "x-ms-long-running-operation": true, @@ -1500,7 +1504,7 @@ } }, "get": { - "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Fuzzy Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_GetSearchFuzzyBatch", "x-ms-client-name": "GetFuzzySearchBatch", "x-ms-long-running-operation": true, @@ -1541,7 +1545,7 @@ }, "/search/address/batch/sync/{format}": { "post": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchAddressBatchSync", "x-ms-client-name": "SearchAddressBatchSync", "x-ms-examples": { @@ -1578,7 +1582,11 @@ } }, "408": { - "$ref": "../../../Common/preview/1.0/common.json#/responses/408" + "description": "Timeout: The request took longer to finish than the maximum amount of time defined in the api.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "x-ms-error-response": true }, "default": { "$ref": "../../../Common/preview/1.0/common.json#/responses/default" @@ -1588,7 +1596,7 @@ }, "/search/address/batch/{format}": { "post": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchAddressBatch", "x-ms-client-name": "SearchAddressBatch", "x-ms-long-running-operation": true, @@ -1637,7 +1645,7 @@ } }, "get": { - "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_GetSearchAddressBatch", "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { @@ -1677,7 +1685,7 @@ }, "/search/address/reverse/batch/sync/{format}": { "post": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchAddressReverseBatchSync", "x-ms-client-name": "ReverseSearchAddressBatchSync", "x-ms-examples": { @@ -1714,7 +1722,11 @@ } }, "408": { - "$ref": "../../../Common/preview/1.0/common.json#/responses/408" + "description": "Timeout: The request took longer to finish than the maximum amount of time defined in the api.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "x-ms-error-response": true }, "default": { "$ref": "../../../Common/preview/1.0/common.json#/responses/default" @@ -1724,7 +1736,7 @@ }, "/search/address/reverse/batch/{format}": { "post": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_PostSearchAddressReverseBatch", "x-ms-client-name": "ReverseSearchAddressBatch", "x-ms-long-running-operation": true, @@ -1773,7 +1785,7 @@ } }, "get": { - "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", + "description": "**Search Address Reverse Batch API**\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```", "operationId": "Search_GetSearchAddressReverseBatch", "x-ms-client-name": "GetReverseSearchAddressBatch", "x-ms-long-running-operation": true, diff --git a/specification/maps/data-plane/Search/readme.java.md b/specification/maps/data-plane/Search/readme.java.md index 1c7182d89c56..0a669aed9e5a 100644 --- a/specification/maps/data-plane/Search/readme.java.md +++ b/specification/maps/data-plane/Search/readme.java.md @@ -1,9 +1,70 @@ ## Java ``` yaml $(java) + +directive: + - rename-model: + from: Address + to: AddressPrivate + - rename-model: + from: AddressRanges + to: AddressRangesPrivate + - rename-model: + from: SearchAddressResult + to: SearchAddressResultPrivate + - rename-model: + from: SearchAddressResultItem + to: SearchAddressResultItemPrivate + - rename-model: + from: ReverseSearchAddressResult + to: ReverseSearchAddressResultPrivate + - rename-model: + from: ReverseSearchAddressResultItem + to: ReverseSearchAddressResultItemPrivate + - rename-model: + from: ReverseSearchCrossStreetAddressResult + to: ReverseSearchCrossStreetAddressResultPrivate + - rename-model: + from: ReverseSearchCrossStreetAddressResultItem + to: ReverseSearchCrossStreetAddressResultItemPrivate + - rename-model: + from: EntryPoint + to: EntryPointPrivate + - rename-model: + from: SearchSummary + to: SearchSummaryPrivate + - rename-model: + from: SearchAddressBatchResult + to: SearchAddressBatchResultPrivate + - rename-model: + from: SearchAddressBatchItem + to: SearchAddressBatchItemPrivate + - rename-model: + from: ReverseSearchAddressBatchProcessResult + to: ReverseSearchAddressBatchResultPrivate + - rename-model: + from: ReverseSearchAddressBatchItem + to: ReverseSearchAddressBatchItemPrivate + - rename-model: + from: BoundingBox + to: BoundingBoxPrivate + - rename-model: + from: Polygon + to: PolygonPrivate + java: namespace: com.azure.maps.search - license-header: MICROSOFT_MIT_NO_CODEGEN + license-header: MICROSOFT_MIT_SMALL payload-flattening-threshold: 0 - output-folder: $(azure-libraries-for-java-folder)/azure-maps-search + output-folder: $(azure-libraries-for-java-folder)/azure-maps-search + add-context-parameter: true + context-client-method-parameter: true + client-logger: true + generate-client-as-impl: true + sync-methods: all + generate-sync-async-clients: false + polling: {} + models-subpackage: implementation.models + custom-types-subpackage: models + custom-types: BatchResultSummary,BrandName,Classification,ClassificationName,DataSource,ErrorAdditionalInfo,ErrorDetail,ErrorResponseException,ElectricVehicleConnector,EntryPointType,GeographicEntityType,GeometryIdentifier,LocalizedMapView,OperatingHoursTime,OperatingHoursRange,MatchType,OperatingHours,OperatingHoursTimeRange,PointOfInterest,PointOfInterestCategory,PointOfInterestCategorySet,PointOfInterestCategoryTreeResult,PointOfInterestExtendedPostalCodes,RoadUseType,SearchAddressResultType,SearchIndexes,ErrorResponse,QueryType ``` \ No newline at end of file diff --git a/specification/maps/data-plane/Search/readme.md b/specification/maps/data-plane/Search/readme.md index e5bfb48ca605..786338bba1b7 100644 --- a/specification/maps/data-plane/Search/readme.md +++ b/specification/maps/data-plane/Search/readme.md @@ -27,37 +27,43 @@ These are the global settings for Search Client. ``` yaml title: SearchClient openapi-type: data-plane -tag: 1.0-preview +tag: 1.0 # at some point those credentials will move away to Swagger according to [this](https://github.com/Azure/autorest/issues/3718) add-credentials: true credential-default-policy-type: BearerTokenCredentialPolicy credential-scopes: https://atlas.microsoft.com/.default +track2: true +verbose: true +sdk-integration: true +modelerfour: + additional-checks: false + lenient-model-deduplication: true ``` -### Tag: 1.0-preview +### Tag: 1.0 -These settings apply only when `--tag=1.0-preview` is specified on the command line. +These settings apply only when `--tag=1.0` is specified on the command line. -``` yaml $(tag) == '1.0-preview' +``` yaml $(tag) == '1.0' input-file: - preview/1.0/search.json ``` ### Tag: 2.0-preview -These settings apply only when `--tag=2.0-preview` is specified on the command line. +These settings apply only when `--tag=2021-11-01-preview` is specified on the command line. -``` yaml $(tag) == '2.0-preview' +``` yaml $(tag) == '2021-11-01-preview' input-file: - preview/2021-11-01-preview/geocoding.json ``` ### Tag: 2.1-preview -These settings apply only when `--tag=2.1-preview` is specified on the command line. +These settings apply only when `--tag=2022-02-01-preview` is specified on the command line. -``` yaml $(tag) == '2.1-preview' +``` yaml $(tag) == '2022-02-01-preview' input-file: - preview/2022-02-01-preview/geocoding.json ``` diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json index c30790e22988..28ff744a21f3 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneByCoordinates.json @@ -2,7 +2,10 @@ "parameters": { "format": "json", "api-version": "1.0", - "query": "47.0,-122", + "query": [ + 47.0, + -122 + ], "options": "all" }, "responses": { diff --git a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json index 7412e9901b4b..07c98a99af30 100644 --- a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json +++ b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json @@ -131,7 +131,7 @@ "paths": { "/timezone/byId/{format}": { "get": { - "description": "__Time Zone by Id__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.", + "description": "__Time Zone by Id__\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.", "operationId": "Timezone_GetTimezoneByID", "x-ms-examples": { "Successfully retrieve timezone by ID": { @@ -187,7 +187,7 @@ }, "/timezone/byCoordinates/{format}": { "get": { - "description": "__Time Zone by Coordinates__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.", + "description": "__Time Zone by Coordinates__\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.", "operationId": "Timezone_GetTimezoneByCoordinates", "x-ms-examples": { "Successfully retrieve timezone by coordinates": { @@ -250,7 +250,7 @@ }, "/timezone/enumWindows/{format}": { "get": { - "description": "__Windows Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of Windows Time Zone IDs.", + "description": "__Windows Time Zones__\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns a full list of Windows Time Zone IDs.", "operationId": "Timezone_GetTimezoneEnumWindows", "x-ms-client-name": "GetWindowsTimezoneIds", "x-ms-examples": { @@ -284,7 +284,7 @@ }, "/timezone/enumIana/{format}": { "get": { - "description": "__IANA Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.", + "description": "__IANA Time Zones__\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.", "operationId": "Timezone_GetTimezoneEnumIANA", "x-ms-client-name": "GetIANATimezoneIds", "x-ms-examples": { @@ -318,7 +318,7 @@ }, "/timezone/ianaVersion/{format}": { "get": { - "description": "__Time Zone IANA Version__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns the current IANA version number as Metadata.", + "description": "__Time Zone IANA Version__\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns the current IANA version number as Metadata.", "operationId": "Timezone_GetTimezoneIANAVersion", "x-ms-client-name": "GetIANAVersion", "x-ms-examples": { @@ -352,7 +352,7 @@ }, "/timezone/windowsToIana/{format}": { "get": { - "description": "__Windows to IANA Time Zone__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a corresponding IANA ID, given a valid Windows Time Zone ID. Multiple IANA IDs may be returned for a single Windows ID. It is possible to narrow these results by adding an optional territory parameter.", + "description": "__Windows to IANA Time Zone__\n\n\n**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThis API returns a corresponding IANA ID, given a valid Windows Time Zone ID. Multiple IANA IDs may be returned for a single Windows ID. It is possible to narrow these results by adding an optional territory parameter.", "operationId": "Timezone_GetTimezoneWindowsToIANA", "x-ms-client-name": "ConvertWindowsTimezoneToIANA", "x-ms-examples": { diff --git a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json index f9979e4343f0..2ac64d9bcf21 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficFlowSegment.json @@ -4,7 +4,10 @@ "format": "json", "style": "absolute", "zoom": 10, - "query": "52.41072,4.84239" + "query": [ + 52.41072, + 4.84239 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json index 6c3d96575d9a..39f43214a63a 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentDetail.json @@ -3,7 +3,12 @@ "api-version": "1.0", "format": "json", "style": "s3", - "boundingbox": "6841263.950712,511972.674418,6886056.049288,582676.925582", + "boundingbox": [ + 6841263.950712, + 511972.674418, + 6886056.049288, + 582676.925582 + ], "boundingZoom": 11, "trafficmodelid": "1335294634919" }, diff --git a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json index 25222a8ca9ce..65e659de036a 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/examples/GetTrafficIncidentViewport.json @@ -2,9 +2,19 @@ "parameters": { "api-version": "1.0", "format": "json", - "boundingbox": "-939584.4813015489,-23954526.723651607,14675583.153020501,25043442.895825107", + "boundingbox": [ + -939584.4813015489, + -23954526.723651607, + 14675583.153020501, + 25043442.895825107 + ], "boundingzoom": 2, - "overviewbox": "-939584.4813018347,-23954526.723651607,14675583.153020501,25043442.8958229083", + "overviewbox": [ + -939584.4813018347, + -23954526.723651607, + 14675583.153020501, + 25043442.8958229083 + ], "overviewzoom": 2, "copyright": true }, diff --git a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json index 5dc97f7255c3..ca0a4ad858f2 100644 --- a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json @@ -108,7 +108,7 @@ "paths": { "/traffic/flow/tile/{format}": { "get": { - "description": "__Traffic Flow Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.", + "description": "__Traffic Flow Tile__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.", "operationId": "Traffic_GetTrafficFlowTile", "x-ms-examples": { "Request tile depicting the traffic flow": { @@ -209,7 +209,7 @@ }, "/traffic/flow/segment/{format}": { "get": { - "description": "__Traffic Flow Segment__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.", + "description": "__Traffic Flow Segment__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.", "operationId": "Traffic_GetTrafficFlowSegment", "x-ms-examples": { "Request traffic flow segment information": { @@ -315,7 +315,7 @@ }, "/traffic/incident/tile/{format}": { "get": { - "description": "__Traffic Incident Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.", + "description": "__Traffic Incident Tile__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.", "operationId": "Traffic_GetTrafficIncidentTile", "x-ms-examples": { "Request a tile depicting a traffic incident": { @@ -414,7 +414,7 @@ }, "/traffic/incident/detail/{format}": { "get": { - "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).", + "description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).", "operationId": "Traffic_GetTrafficIncidentDetail", "x-ms-examples": { "Request information about a traffic incident": { @@ -579,7 +579,7 @@ }, "/traffic/incident/viewport/{format}": { "get": { - "description": "__Traffic Incident Viewport__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.", + "description": "__Traffic Incident Viewport__\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.", "operationId": "Traffic_GetTrafficIncidentViewport", "x-ms-examples": { "Request traffic incident information for the selected viewport": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentAirQuality.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentAirQuality.json index 585c0e5a8ba6..de7bbce809b2 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentAirQuality.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentAirQuality.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.13887" + "query": [ + 47.632346, + -122.13887 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentConditions.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentConditions.json index 98c2f89394f2..5a25b2c1bd17 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentConditions.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetCurrentConditions.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.641268,-122.125679" + "query": [ + 47.641268, + -122.125679 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyAirQuality.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyAirQuality.json index d29b245313e3..fe44725f9336 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyAirQuality.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyAirQuality.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.13887", + "query": [ + 47.632346, + -122.13887 + ], "duration": 3 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyForecast.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyForecast.json index 500e7b6fae25..82906dcd3660 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyForecast.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyForecast.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "62.6490341,30.0734812", + "query": [ + 62.6490341, + 30.0734812 + ], "duration": 5 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalActuals.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalActuals.json index 0ac282f918cb..b851bd38fd51 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalActuals.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalActuals.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "40.78,-77.89", + "query": [ + 40.78, + -77.89 + ], "startDate": "2012-01-20", "endDate": "2012-01-22" }, diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalNormals.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalNormals.json index ff8c6bffb6e0..322351eb1fd3 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalNormals.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalNormals.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "39.952583,-75.165222", + "query": [ + 39.952583, + -75.165222 + ], "startDate": "2012-01-20", "endDate": "2012-01-22" }, diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalRecords.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalRecords.json index 30546ad89f96..4b6fc8d60355 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalRecords.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyHistoricalRecords.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "39.952583,-75.165222", + "query": [ + 39.952583, + -75.165222 + ], "startDate": "2012-01-20", "endDate": "2012-01-22" }, diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyIndices.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyIndices.json index 558a54297a5f..6f3f9ef7cf86 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyIndices.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetDailyIndices.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "43.84745,-79.37849", + "query": [ + 43.84745, + -79.37849 + ], "indexGroupId": 11 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyAirQuality.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyAirQuality.json index 267a9e8ef4ad..c616f992c346 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyAirQuality.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyAirQuality.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.138874", + "query": [ + 47.632346, + -122.138874 + ], "duration": 12 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyForecast.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyForecast.json index 050ef21fe48b..4168222d89ba 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyForecast.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetHourlyForecast.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.138874", + "query": [ + 47.632346, + -122.138874 + ], "duration": 12 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetMinuteForecast.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetMinuteForecast.json index 180649a4e9dd..846a8de1a109 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetMinuteForecast.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetMinuteForecast.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.138874", + "query": [ + 47.632346, + -122.138874 + ], "interval": 15 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetQuarterDayForecast.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetQuarterDayForecast.json index 207b56061083..04f3e1a957ff 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetQuarterDayForecast.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetQuarterDayForecast.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "47.632346,-122.138874", + "query": [ + 47.632346, + -122.138874 + ], "duration": 1 }, "responses": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/examples/GetSevereWeatherAlerts.json b/specification/maps/data-plane/Weather/stable/1.1/examples/GetSevereWeatherAlerts.json index 138e941341d0..920dceb2e119 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/examples/GetSevereWeatherAlerts.json +++ b/specification/maps/data-plane/Weather/stable/1.1/examples/GetSevereWeatherAlerts.json @@ -2,7 +2,10 @@ "parameters": { "api-version": "1.1", "format": "json", - "query": "48.057,-81.091" + "query": [ + 48.057, + -81.091 + ] }, "responses": { "200": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/weather.json b/specification/maps/data-plane/Weather/stable/1.1/weather.json index 30df0095f59e..7e58dbf2488e 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/weather.json +++ b/specification/maps/data-plane/Weather/stable/1.1/weather.json @@ -259,7 +259,7 @@ "paths": { "/weather/forecast/hourly/{format}": { "get": { - "description": "**Get Hourly Forecast**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nRequest detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.\n\nIn S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).", + "description": "**Get Hourly Forecast**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nRequest detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.\n\nIn S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).", "operationId": "Weather_GetHourlyForecast", "x-ms-examples": { "Successfully retrieve detailed weather forecast by the hour": { @@ -307,7 +307,7 @@ }, "/weather/forecast/minute/{format}": { "get": { - "description": "**Get Minute Forecast**\n \n \n**Applies to**: S1 pricing tier.\n\n\nGet Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).", + "description": "**Get Minute Forecast**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nGet Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).", "operationId": "Weather_GetMinuteForecast", "x-ms-examples": { "Successfully retrieve minute-by-minute forecasts for a given location": { @@ -352,7 +352,7 @@ }, "/weather/forecast/quarterDay/{format}": { "get": { - "description": "**Get Quarter-Day Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nService returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.", + "description": "**Get Quarter-Day Forecast**\n\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nService returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.", "operationId": "Weather_GetQuarterDayForecast", "x-ms-examples": { "Successfully retrieve detailed weather forecast by a given location": { @@ -400,7 +400,7 @@ }, "/weather/currentConditions/{format}": { "get": { - "description": "**Get Current Conditions**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nGet Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeel™ Temperature and UV index are also returned.", + "description": "**Get Current Conditions**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nGet Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeel™ Temperature and UV index are also returned.", "operationId": "Weather_GetCurrentConditions", "x-ms-examples": { "Successfully retrieve detailed current weather conditions for a given coordinate location": { @@ -454,7 +454,7 @@ }, "/weather/forecast/daily/{format}": { "get": { - "description": "**Get Daily Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.\n\nIn S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.", + "description": "**Get Daily Forecast**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nThe service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.\n\nIn S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.", "operationId": "Weather_GetDailyForecast", "x-ms-examples": { "Successfully retrieve detailed daily weather forecast for a given coordinate location": { @@ -502,7 +502,7 @@ }, "/weather/route/{format}": { "get": { - "description": "**Get Weather along route**\n \n \n **Applies to**: S1 pricing tier.\n\n Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. \n This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes. \n \n The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.\n \n In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. \n The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.\n\n The API covers all regions of the planet except latitudes above Greenland and Antarctica.", + "description": "**Get Weather along route**\n \n \n **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. \n This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes. \n \n The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.\n \n In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. \n The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.\n\n The API covers all regions of the planet except latitudes above Greenland and Antarctica.", "operationId": "Weather_GetWeatherAlongRoute", "x-ms-examples": { "Successfully retrieve detailed weather casts along a route described as a sequence of waypoints": { @@ -545,7 +545,7 @@ }, "/weather/severe/alerts/{format}": { "get": { - "description": "**Get Severe Weather Alerts**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nSevere weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.", + "description": "**Get Severe Weather Alerts**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nSevere weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.", "operationId": "Weather_GetSevereWeatherAlerts", "x-ms-examples": { "Successfully retrieve severe weather alerts": { @@ -590,7 +590,7 @@ }, "/weather/indices/daily/{format}": { "get": { - "description": "**Get Daily Indices**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThere may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.", + "description": "**Get Daily Indices**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThere may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.", "operationId": "Weather_GetDailyIndices", "x-ms-examples": { "Successfully retrieve daily indices values from current day": { @@ -647,7 +647,7 @@ }, "/weather/tropical/storms/active/{format}": { "get": { - "description": "**Get Tropical Storm Active**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet all government-issued active tropical storms. Information about the tropical storms includes, government ID, basin ID, year of origin, name and if it is subtropical.", + "description": "**Get Tropical Storm Active**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet all government-issued active tropical storms. Information about the tropical storms includes, government ID, basin ID, year of origin, name and if it is subtropical.", "operationId": "Weather_GetTropicalStormActive", "x-ms-examples": { "Get Tropical Storm Active": { @@ -680,7 +680,7 @@ }, "/weather/tropical/storms/{format}": { "get": { - "description": "**Get Tropical Storm Search**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nSearch government-issued tropical storms by year, basin ID, and government ID. Information about the tropical storms includes, government ID, basin ID, status, year, name and if it is subtropical.", + "description": "**Get Tropical Storm Search**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nSearch government-issued tropical storms by year, basin ID, and government ID. Information about the tropical storms includes, government ID, basin ID, status, year, name and if it is subtropical.", "operationId": "Weather_GetTropicalStormSearch", "x-ms-client-name": "SearchTropicalStorm", "x-ms-examples": { @@ -726,7 +726,7 @@ }, "/weather/tropical/storms/forecasts/{format}": { "get": { - "description": "**Get Tropical Storm Forecasts**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet individual government-issued tropical storm forecasts. Information about the forecasted tropical storms includes, location, status, date the forecast was created, window, wind speed and wind radii.", + "description": "**Get Tropical Storm Forecasts**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet individual government-issued tropical storm forecasts. Information about the forecasted tropical storms includes, location, status, date the forecast was created, window, wind speed and wind radii.", "operationId": "Weather_GetTropicalStormForecast", "x-ms-examples": { "Get Tropical Storm Forecasts": { @@ -785,7 +785,7 @@ }, "/weather/tropical/storms/locations/{format}": { "get": { - "description": "**Get Tropical Storm Locations**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet location of individual government-issued tropical storms. Information about the tropical storms includes, location coordinates, geometry, basin ID, date, wind details and wind radii.", + "description": "**Get Tropical Storm Locations**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet location of individual government-issued tropical storms. Information about the tropical storms includes, location coordinates, geometry, basin ID, date, wind details and wind radii.", "operationId": "Weather_GetTropicalStormLocations", "x-ms-examples": { "Get Tropical Storm Locations": { @@ -847,7 +847,7 @@ }, "/weather/airQuality/current/{format}": { "get": { - "description": "**Get Current Air Quality**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet detailed information about the concentration of pollutants and overall status for current air quality. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", + "description": "**Get Current Air Quality**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet detailed information about the concentration of pollutants and overall status for current air quality. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", "operationId": "Weather_GetCurrentAirQuality", "x-ms-examples": { "Get Current Air Quality": { @@ -889,7 +889,7 @@ }, "/weather/airQuality/forecasts/daily/{format}": { "get": { - "description": "**Get Air Quality Daily Forecasts**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet detailed information about the concentration of pollutants and overall status of forecasted daily air quality. The service can provide forecasted daily air quality information for the upcoming 1 to 7 days. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", + "description": "**Get Air Quality Daily Forecasts**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet detailed information about the concentration of pollutants and overall status of forecasted daily air quality. The service can provide forecasted daily air quality information for the upcoming 1 to 7 days. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", "operationId": "Weather_GetAirQualityDailyForecasts", "x-ms-examples": { "Get Daily Air Quality Forecasts": { @@ -986,7 +986,7 @@ }, "/weather/airQuality/forecasts/hourly/{format}": { "get": { - "description": "**Get Air Quality Hourly Forecasts**\n\n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\nGet detailed information about the concentration of pollutants and overall status for forecasted upcoming hourly air quality. The service can provide forecasted hourly air quality information for the upcoming time spans of 1, 12, 24, 48, 72, and 96 hours. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", + "description": "**Get Air Quality Hourly Forecasts**\n\n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nGet detailed information about the concentration of pollutants and overall status for forecasted upcoming hourly air quality. The service can provide forecasted hourly air quality information for the upcoming time spans of 1, 12, 24, 48, 72, and 96 hours. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.", "operationId": "Weather_GetAirQualityHourlyForecasts", "x-ms-examples": { "Get Hourly Air Quality Forecasts": { @@ -1080,7 +1080,7 @@ }, "/weather/historical/actuals/daily/{format}": { "get": { - "description": "**Get Daily Historical Actuals**\n \n \n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\n\nGet Daily Historical Actuals service returns climatology data such as past daily actual observed temperatures, precipitation, snowfall, snow depth and cooling/heating degree day information, for the day at a given coordinate location. The data is requested for a specified date range, up to 31 days in a single API request. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", + "description": "**Get Daily Historical Actuals**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nGet Daily Historical Actuals service returns climatology data such as past daily actual observed temperatures, precipitation, snowfall, snow depth and cooling/heating degree day information, for the day at a given coordinate location. The data is requested for a specified date range, up to 31 days in a single API request. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", "operationId": "Weather_GetDailyHistoricalActuals", "x-ms-examples": { "Successful Daily Historical Actuals Request": { @@ -1135,7 +1135,7 @@ }, "/weather/historical/records/daily/{format}": { "get": { - "description": "**Get Daily Historical Records**\n \n \n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\n\nGet Daily Historical Records service returns climatology data such as past daily record temperatures, precipitation and snowfall at a given coordinate location. Availability of records data will vary by location. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", + "description": "**Get Daily Historical Records**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nGet Daily Historical Records service returns climatology data such as past daily record temperatures, precipitation and snowfall at a given coordinate location. Availability of records data will vary by location. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", "operationId": "Weather_GetDailyHistoricalRecords", "x-ms-examples": { "Successful Daily Historical Records Request": { @@ -1190,7 +1190,7 @@ }, "/weather/historical/normals/daily/{format}": { "get": { - "description": "**Get Daily Historical Normals**\n \n \n**Applies to**: Gen 1 (S0 and S1) and Gen 2 pricing tiers.\n\n\nGet Daily Historical Normals service returns climatology data such as past daily normal temperatures, precipitation and cooling/heating degree day information for the day at a given coordinate location. Normals are a 30-year average for temperatures and precipitation for a specific location. As is standard practice in climatology, the 30-year average covers years 1991-2020, this data will be used for one decade and then will reset in the year 2030. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", + "description": "**Get Daily Historical Normals**\n \n \n**Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\n\nGet Daily Historical Normals service returns climatology data such as past daily normal temperatures, precipitation and cooling/heating degree day information for the day at a given coordinate location. Normals are a 30-year average for temperatures and precipitation for a specific location. As is standard practice in climatology, the 30-year average covers years 1991-2020, this data will be used for one decade and then will reset in the year 2030. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.", "operationId": "Weather_GetDailyHistoricalNormals", "x-ms-examples": { "Successful Daily Historical Normals Request": { diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json index b7e9f4e9862f..cd5b66857a9f 100644 --- a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json +++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json @@ -1163,7 +1163,10 @@ "uniqueItems": false, "items": { "$ref": "#/definitions/OperationDetail" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -1239,7 +1242,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1268,7 +1274,10 @@ "type": "array", "items": { "$ref": "#/definitions/Dimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "aggregationType": { "type": "string", @@ -1392,6 +1401,7 @@ "description": "Specifies a CORS rule for the Map Account.", "$ref": "#/definitions/CorsRule" }, + "x-ms-identifiers": [], "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. " } }, diff --git a/specification/maps/resource-manager/readme.python.md b/specification/maps/resource-manager/readme.python.md index d4591dab403f..bcdd43dca48c 100644 --- a/specification/maps/resource-manager/readme.python.md +++ b/specification/maps/resource-manager/readme.python.md @@ -5,8 +5,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.rdbms.mariadb @@ -17,11 +16,7 @@ modelerfour: ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mariadb ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms -``` \ No newline at end of file diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-06-01/Marketplace.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-06-01/Marketplace.json index 0425f494c645..b9497354c2b4 100644 --- a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-06-01/Marketplace.json +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-06-01/Marketplace.json @@ -1351,7 +1351,10 @@ "type": "array", "items": { "$ref": "#/definitions/Recipient" - } + }, + "x-ms-identifiers": [ + "principalId" + ] }, "sendToAllMarketplaceAdmins": { "description": "Gets or sets whether to send email to all marketplace admins for new requests", @@ -1473,7 +1476,10 @@ "type": "array", "items": { "$ref": "#/definitions/OfferProperties" - } + }, + "x-ms-identifiers": [ + "uniqueOfferId" + ] }, "nextLink": { "description": "URL to get the next set of PrivateStore list results if there are any.", @@ -1557,7 +1563,10 @@ "type": "array", "items": { "$ref": "#/definitions/Plan" - } + }, + "x-ms-identifiers": [ + "skuId" + ] } } }, @@ -1688,7 +1697,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/PlanRequesterDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] }, "collectionIds": { "description": "Gets or sets list of associated collection ids", @@ -1718,7 +1730,8 @@ "readOnly": true, "items": { "$ref": "#/definitions/UserRequestDetails" - } + }, + "x-ms-identifiers": [] } } }, @@ -1806,7 +1819,10 @@ "type": "array", "items": { "$ref": "#/definitions/planDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] }, "isClosed": { "description": "Gets a value indicating whether the request is closed", @@ -1927,19 +1943,32 @@ "type": "array", "items": { "$ref": "#/definitions/StopSellNotifications" - } + }, + "x-ms-identifiers": [ + "offerId", + "messageCode" + ] }, "newNotifications": { "type": "array", "items": { "$ref": "#/definitions/NewNotifications" - } + }, + "x-ms-identifiers": [ + "offerId", + "messageCode" + ] }, "approvalRequests": { "type": "array", "items": { "$ref": "#/definitions/RequestApprovalsDetails" - } + }, + "x-ms-identifiers": [ + "offerId", + "publisherId", + "messageCode" + ] } } }, @@ -1973,7 +2002,10 @@ "type": "array", "items": { "$ref": "#/definitions/PlanNotificationDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] } } }, @@ -2007,7 +2039,10 @@ "type": "array", "items": { "$ref": "#/definitions/PlanNotificationDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] } } }, @@ -2055,7 +2090,10 @@ "type": "array", "items": { "$ref": "#/definitions/PlanNotificationDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] } } }, @@ -2160,14 +2198,20 @@ "type": "array", "items": { "$ref": "#/definitions/CollectionsDetails" - } + }, + "x-ms-identifiers": [ + "collectionId" + ] }, "failed": { "description": "Failed collections", "type": "array", "items": { "$ref": "#/definitions/CollectionsDetails" - } + }, + "x-ms-identifiers": [ + "collectionId" + ] } } }, @@ -2208,14 +2252,20 @@ "type": "array", "items": { "$ref": "#/definitions/CollectionsDetails" - } + }, + "x-ms-identifiers": [ + "collectionId" + ] }, "failed": { "description": "Failed collections", "type": "array", "items": { "$ref": "#/definitions/CollectionsDetails" - } + }, + "x-ms-identifiers": [ + "collectionId" + ] } } }, @@ -2261,7 +2311,10 @@ "type": "array", "items": { "$ref": "#/definitions/QueryApprovedPlansDetails" - } + }, + "x-ms-identifiers": [ + "planId" + ] }, "QueryApprovedPlansDetails": { "description": "Query approved plans response", @@ -2401,6 +2454,9 @@ "items": { "$ref": "#/definitions/SingleOperation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Marketplace operations supported by the Microsoft.Marketplace resource provider." }, "nextLink": { diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/Marketplace.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/Marketplace.json new file mode 100644 index 000000000000..8cb04be9e645 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/Marketplace.json @@ -0,0 +1,3055 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "Marketplace RP Service", + "description": "REST APIs for Private Marketplace" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Marketplace/privateStores": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/UseCacheParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_List", + "description": "Gets the list of available private stores.", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PrivateStoreList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetPrivateStores": { + "$ref": "./examples/GetPrivateStores.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_Get", + "description": "Get information about the private store", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PrivateStore" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrivateStore": { + "$ref": "./examples/GetPrivateStore.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_CreateOrUpdate", + "description": "Changes private store properties", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/PrivateStore" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "Change successful" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateStores_update": { + "$ref": "./examples/PrivateStores_update.json" + } + } + }, + "delete": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_Delete", + "description": "Deletes the private store. All that is not saved will be lost.", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "Private store was deleted successfully." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeletePrivateStores": { + "$ref": "./examples/DeletePrivateStore.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/queryOffers": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_QueryOffers", + "description": "List of offers, regardless the collections", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "List of offers", + "schema": { + "$ref": "#/definitions/QueryOffers" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryOffers": { + "$ref": "./examples/QueryOffers.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/billingAccounts": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_BillingAccounts", + "description": "Tenant billing accounts names", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BillingAccountsResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingAccounts": { + "$ref": "./examples/BillingAccounts.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collectionsToSubscriptionsMapping": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_CollectionsToSubscriptionsMapping", + "description": "For a given subscriptions list, the API will return a map of collections and the related subscriptions from the supplied list.", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/CollectionsToSubscriptionsMappingPayload" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CollectionsToSubscriptionsMappingResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CollectionsToSubscriptionsMapping": { + "$ref": "./examples/CollectionsToSubscriptionsMapping.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collections": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_List", + "description": "Gets private store collections list", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "Collections list information retrieved", + "schema": { + "$ref": "#/definitions/CollectionsList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrivateStoreCollectionsList": { + "$ref": "./examples/GetPrivateStoreCollectionsList.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collections/{collectionId}": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_Get", + "description": "Gets private store collection", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Collection information retrieved", + "schema": { + "$ref": "#/definitions/Collection" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrivateStoreCollection": { + "$ref": "./examples/GetPrivateStoreCollection.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_CreateOrUpdate", + "description": "Create or update private store collection", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/Collection" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Create or update collection properties", + "schema": { + "$ref": "#/definitions/Collection" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CreatePrivateStoreCollection": { + "$ref": "./examples/CreatePrivateStoreCollection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_Delete", + "description": "Delete a collection from the given private store.", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Collection was deleted successfully" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeletePrivateStoreCollection": { + "$ref": "./examples/DeletePrivateStoreCollection.json" + } + } + }, + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_Post", + "description": "Delete Private store collection. This is a workaround.", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/PrivateStoreOperation" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation succeeded" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PostPrivateStoreCollection": { + "$ref": "./examples/PostPrivateStoreCollection.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collections/{collectionId}/transferOffers": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollection_TransferOffers", + "description": "transferring offers (copy or move) from source collection to target collection(s)", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/TransferOffersProperties" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TransferOffersResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransferOffers": { + "$ref": "./examples/TransferOffers.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/queryApprovedPlans": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_QueryApprovedPlans", + "description": "Get map of plans and related approved subscriptions.", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/QueryApprovedPlansPayload" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "Map of plan ids and their related approved subscriptions.", + "schema": { + "$ref": "#/definitions/QueryApprovedPlansResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryApprovedPlans": { + "$ref": "./examples/QueryApprovedPlans.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/bulkCollectionsAction": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_BulkCollectionsAction", + "description": "Perform an action on bulk collections", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/BulkCollectionsPayload" + } + } + ], + "responses": { + "200": { + "description": "The collections id and name that the action was performed on", + "schema": { + "$ref": "#/definitions/BulkCollectionsResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BulkCollectionsAction": { + "$ref": "./examples/BulkCollectionsAction.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collections/{collectionId}/offers": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollectionOffer_List", + "description": "Get a list of all private offers in the given private store and collection", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfferListResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetPrivateStoreOffers": { + "$ref": "./examples/GetPrivateStoreOffers.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/collections/{collectionId}/offers/{offerId}": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollectionOffer_Get", + "description": "Gets information about a specific offer.", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Offer information retrieved", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetPrivateStoreCollectionOffer": { + "$ref": "./examples/GetPrivateStoreCollectionOffer.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollectionOffer_CreateOrUpdate", + "description": "Update or add an offer to a specific collection of the private store.", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Offer" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateStoreOffer_update": { + "$ref": "./examples/PrivateStoreOffer_update.json" + } + } + }, + "delete": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollectionOffer_Delete", + "description": "Deletes an offer from the given collection of private store.", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Offer was deleted successfully" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DeletePrivateStoreOffer": { + "$ref": "./examples/DeletePrivateStoreOffer.json" + } + } + }, + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStoreCollectionOffer_Post", + "description": "Delete Private store offer. This is a workaround.", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/PrivateStoreOperation" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "$ref": "#/parameters/CollectionIdParameter" + } + ], + "responses": { + "200": { + "description": "Operation succeeded" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PostPrivateStoreCollectionOffer": { + "$ref": "./examples/PostPrivateStoreCollectionOffer.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/requestApprovals": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_GetApprovalRequestsList", + "description": "Get all open approval requests of current user", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RequestApprovalsList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetApprovalRequestsList": { + "$ref": "./examples/GetApprovalRequestsList.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/requestApprovals/{requestApprovalId}": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_GetRequestApproval", + "description": "Get open request approval details", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/RequestApprovalIdPathParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RequestApprovalResource" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetApprovalRequest": { + "$ref": "./examples/GetRequestApproval.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_CreateApprovalRequest", + "description": "Create approval request", + "parameters": [ + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/RequestApprovalResource" + } + }, + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/RequestApprovalIdPathParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RequestApprovalResource" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CreateApprovalRequest": { + "$ref": "./examples/CreateApprovalRequest.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/requestApprovals/{requestApprovalId}/query": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_QueryRequestApproval", + "description": "Get request statuses foreach plan, this api is used as a complex GET action.", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/RequestApprovalIdPathParameter" + }, + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/QueryRequestApprovalProperties" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/QueryRequestApproval" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryRequestApproval": { + "$ref": "./examples/QueryRequestApproval.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/adminRequestApprovals": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_AdminRequestApprovalsList", + "description": "Get list of admin request approvals", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AdminRequestApprovalsList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AdminRequestApprovalsList": { + "$ref": "./examples/AdminRequestApprovalsList.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/adminRequestApprovals/{adminRequestApprovalId}": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_GetAdminRequestApproval", + "description": "Get open approval requests", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/AdminRequestApprovalIdPathParameter" + }, + { + "$ref": "#/parameters/PublisherIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AdminRequestApprovalsResource" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetAdminRequestApproval": { + "$ref": "./examples/GetAdminRequestApproval.json" + } + } + }, + "put": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_UpdateAdminRequestApproval", + "description": "Update the admin action, weather the request is approved or rejected and the approved plans", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/AdminRequestApprovalIdPathParameter" + }, + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/AdminRequestApprovalsResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AdminRequestApprovalsResource" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "UpdateAdminRequestApproval": { + "$ref": "./examples/UpdateAdminRequestApproval.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/queryNotificationsState": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_QueryNotificationsState", + "description": "Get private store notifications state", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateStoreNotificationsState" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NotificationsState": { + "$ref": "./examples/NotificationsState.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/offers/{offerId}/acknowledgeNotification": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_AcknowledgeOfferNotification", + "description": "Acknowledge notification for offer", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/OfferIdPathParameter" + }, + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/AcknowledgeOfferNotificationProperties" + } + } + ], + "responses": { + "200": { + "description": "OK, notification was acknowledged by the RP" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AcknowledgeNotification": { + "$ref": "./examples/AcknowledgeNotification.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/requestApprovals/{requestApprovalId}/withdrawPlan": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_WithdrawPlan", + "description": "Withdraw a user request approval on specific plan", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/RequestApprovalIdPathParameter" + }, + { + "in": "body", + "name": "payload", + "schema": { + "$ref": "#/definitions/WithdrawProperties" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WithdrawPlan": { + "$ref": "./examples/WithdrawPlan.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/fetchAllSubscriptionsInTenant": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_FetchAllSubscriptionsInTenant", + "description": "Fetch all subscriptions in tenant, only for marketplace admin", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SubscriptionsResponse" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "FetchAllSubscriptionsInTenant": { + "$ref": "./examples/FetchAllSubscriptionsInTenant.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/listNewPlansNotifications": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_ListNewPlansNotifications", + "description": "List new plans notifications", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NewPlansNotificationsList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListNewPlansNotifications": { + "$ref": "./examples/ListNewPlansNotifications.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/listStopSellOffersPlansNotifications": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_ListStopSellOffersPlansNotifications", + "description": "List stop sell notifications for both stop sell offers and stop sell plans", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + }, + { + "in": "body", + "name": "stopSellSubscriptions", + "schema": { + "$ref": "#/definitions/StopSellSubscriptions" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StopSellOffersPlansNotificationsList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListStopSellOffersPlansNotifications": { + "$ref": "./examples/ListStopSellOffersPlansNotifications.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/privateStores/{privateStoreId}/listSubscriptionsContext": { + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "PrivateStores" + ], + "operationId": "PrivateStore_ListSubscriptionsContext", + "description": "List all the subscriptions in the private store context", + "parameters": [ + { + "$ref": "#/parameters/PrivateStoreIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SubscriptionsContextList" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ListSubscriptionsContext": { + "$ref": "./examples/ListSubscriptionsContext.json" + } + } + } + }, + "/providers/Microsoft.Marketplace/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Microsoft.Marketplace REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Microsoft.Marketplace error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + } + } + } + }, + "parameters": { + "PrivateStoreIdParameter": { + "name": "privateStoreId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The store ID - must use the tenant ID" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the request." + }, + "CollectionIdParameter": { + "name": "collectionId", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The collection ID" + }, + "OfferIdPathParameter": { + "in": "path", + "name": "offerId", + "type": "string", + "x-ms-parameter-location": "method", + "required": true, + "description": "The offer ID to update or delete" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "type": "string", + "x-ms-parameter-location": "method", + "required": true, + "description": "Subscription id of the private offers" + }, + "UseCacheParameter": { + "name": "use-cache", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Determines if to use cache or DB for serving this request" + }, + "AdminRequestApprovalIdPathParameter": { + "in": "path", + "name": "adminRequestApprovalId", + "type": "string", + "x-ms-parameter-location": "method", + "required": true, + "description": "The admin request approval ID to get create or update" + }, + "RequestApprovalIdPathParameter": { + "in": "path", + "name": "requestApprovalId", + "type": "string", + "x-ms-parameter-location": "method", + "required": true, + "description": "The request approval ID to get create or update" + }, + "PublisherIdParameter": { + "name": "publisherId", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "type": "string", + "description": "The publisher id of this offer." + }, + "SkipTokenParameter": { + "name": "next-page-token", + "in": "header", + "type": "string", + "description": "The skip token to get the next page.", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "PrivateStoreList": { + "description": "Describes the json payload for the list of available private stores (between zero and one, inclusive)", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateStore" + } + }, + "nextLink": { + "description": "URL to get the next set of PrivateStore list results if there are any.", + "type": "string" + } + } + }, + "PrivateStore": { + "description": "The PrivateStore data structure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateStoreProperties", + "description": "The PrivateStore data structure.", + "x-ms-client-flatten": true + } + } + }, + "PrivateStoreProperties": { + "description": "Describes the json payload on whether or not the private store is enabled for a given tenant", + "type": "object", + "properties": { + "availability": { + "description": "Indicates private store availability", + "type": "string", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "Availability", + "modelAsString": true + } + }, + "privateStoreId": { + "description": "Private Store id", + "type": "string", + "readOnly": true + }, + "eTag": { + "description": "Identifier for purposes of race condition", + "type": "string" + }, + "privateStoreName": { + "description": "Private Store Name", + "type": "string" + }, + "tenantId": { + "description": "Tenant id", + "type": "string" + }, + "isGov": { + "description": "Is government", + "type": "boolean" + }, + "collectionIds": { + "description": "Gets list of associated collection ids", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "branding": { + "description": "Gets or sets list of branding characteristics", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "notificationsSettings": { + "description": "Gets or sets notifications settings", + "$ref": "#/definitions/NotificationsSettingsProperties", + "x-ms-client-flatten": true + } + } + }, + "NotificationsSettingsProperties": { + "description": "Describes the json payload for notifications settings", + "type": "object", + "properties": { + "recipients": { + "description": "Gets or sets list of notified recipients for new requests", + "type": "array", + "items": { + "$ref": "#/definitions/Recipient" + }, + "x-ms-identifiers": [ + "principalId" + ] + }, + "sendToAllMarketplaceAdmins": { + "description": "Gets or sets whether to send email to all marketplace admins for new requests", + "type": "boolean" + } + } + }, + "Recipient": { + "description": "Describes the json payload for a notified recipient for new requests", + "type": "object", + "properties": { + "principalId": { + "description": "Principal ID", + "type": "string" + }, + "emailAddress": { + "description": "Email Address", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Display Name", + "type": "string", + "readOnly": true + } + } + }, + "CollectionsList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Collection" + } + }, + "nextLink": { + "description": "URL to get the next set of offer list results if there are any.", + "type": "string" + } + } + }, + "Collection": { + "description": "The Collection data structure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CollectionProperties", + "description": "The collection data structure.", + "x-ms-client-flatten": true + } + } + }, + "CollectionProperties": { + "description": "The collection details", + "type": "object", + "properties": { + "collectionId": { + "description": "Gets collection Id.", + "type": "string", + "readOnly": true + }, + "collectionName": { + "description": "Gets or sets collection name.", + "type": "string" + }, + "claim": { + "description": "Gets or sets the association with Commercial's Billing Account.", + "type": "string" + }, + "allSubscriptions": { + "description": "Indicating whether all subscriptions are selected (=true) or not (=false).", + "type": "boolean" + }, + "subscriptionsList": { + "description": "Gets or sets subscription ids list. Empty list indicates all subscriptions are selected, null indicates no update is done, explicit list indicates the explicit selected subscriptions. On insert, null is considered as bad request", + "type": "array", + "items": { + "type": "string" + } + }, + "enabled": { + "description": "Indicating whether the collection is enabled or disabled.", + "type": "boolean" + }, + "numberOfOffers": { + "description": "Gets the number of offers associated with the collection.", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "OfferListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Offer" + } + }, + "nextLink": { + "description": "URL to get the next set of offer list results if there are any.", + "type": "string" + } + } + }, + "QueryOffers": { + "description": "List of offers", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OfferProperties" + }, + "x-ms-identifiers": [ + "uniqueOfferId" + ] + }, + "nextLink": { + "description": "URL to get the next set of PrivateStore list results if there are any.", + "type": "string" + } + } + }, + "Offer": { + "description": "The privateStore offer data structure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/OfferProperties", + "description": "The privateStore offer data structure.", + "x-ms-client-flatten": true + } + } + }, + "OfferProperties": { + "type": "object", + "properties": { + "uniqueOfferId": { + "description": "Offers unique id", + "type": "string", + "readOnly": true + }, + "offerDisplayName": { + "description": "It will be displayed prominently in the marketplace", + "type": "string", + "readOnly": true + }, + "publisherDisplayName": { + "description": "Publisher name that will be displayed prominently in the marketplace", + "type": "string", + "readOnly": true + }, + "eTag": { + "description": "Identifier for purposes of race condition", + "type": "string" + }, + "privateStoreId": { + "readOnly": true, + "description": "Private store unique id", + "type": "string" + }, + "createdAt": { + "readOnly": true, + "description": "Private store offer creation date", + "type": "string" + }, + "modifiedAt": { + "readOnly": true, + "description": "Private store offer modification date", + "type": "string" + }, + "specificPlanIdsLimitation": { + "description": "Plan ids limitation for this offer", + "type": "array", + "items": { + "type": "string" + } + }, + "updateSuppressedDueIdempotence": { + "description": "Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.", + "type": "boolean" + }, + "iconFileUris": { + "description": "Icon File Uris", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "plans": { + "description": "Offer plans", + "type": "array", + "items": { + "$ref": "#/definitions/Plan" + }, + "x-ms-identifiers": [ + "planId" + ] + } + } + }, + "Plan": { + "type": "object", + "properties": { + "skuId": { + "description": "Identifier for this plan", + "type": "string", + "readOnly": true + }, + "planId": { + "description": "Text identifier for this plan", + "type": "string", + "readOnly": true + }, + "planDisplayName": { + "description": "Friendly name for the plan for display in the marketplace", + "type": "string", + "readOnly": true + }, + "accessibility": { + "description": "Plan accessibility", + "type": "string", + "enum": [ + "Unknown", + "Public", + "PrivateTenantOnLevel", + "PrivateSubscriptionOnLevel" + ], + "x-ms-enum": { + "name": "accessibility", + "modelAsString": true + } + }, + "altStackReference": { + "description": "Alternative stack type", + "type": "string", + "readOnly": true + }, + "stackType": { + "description": "Stack type (classic or arm)", + "type": "string", + "readOnly": true + } + } + }, + "AdminRequestApprovalsList": { + "description": "List of admin request approval resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AdminRequestApprovalsResource" + } + }, + "nextLink": { + "description": "URL to get the next set of notifications list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "AdminRequestApprovalsResource": { + "description": "Admin request approval resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AdminRequestApprovalProperties", + "description": "The privateStore admin Approval request data structure.", + "x-ms-client-flatten": true + } + } + }, + "AdminRequestApprovalProperties": { + "description": "Admin approval request resource properties", + "type": "object", + "properties": { + "offerId": { + "description": "Gets or sets offer Id", + "type": "string" + }, + "displayName": { + "description": "Gets display name", + "type": "string", + "readOnly": true + }, + "publisherId": { + "description": "Gets or sets publisher Id", + "type": "string" + }, + "adminAction": { + "description": "Gets or sets admin action", + "type": "string", + "enum": [ + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "adminAction", + "modelAsString": true + } + }, + "approvedPlans": { + "description": "Gets or sets Approved plans ids, empty in case of rejected", + "type": "array", + "items": { + "type": "string" + } + }, + "comment": { + "description": "Gets or sets admin comment", + "type": "string" + }, + "administrator": { + "description": "Gets or sets admin details", + "type": "string" + }, + "plans": { + "description": "Gets list of plans with requesters details", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PlanRequesterDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + }, + "collectionIds": { + "description": "Gets or sets list of associated collection ids", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PlanRequesterDetails": { + "description": "Plan with requesters details", + "properties": { + "planId": { + "description": "Gets the plan id", + "type": "string", + "readOnly": true + }, + "planDisplayName": { + "description": "Gets the plan display name", + "type": "string", + "readOnly": true + }, + "requesters": { + "description": "Gets requesters details list", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UserRequestDetails" + }, + "x-ms-identifiers": [ + "user" + ] + } + } + }, + "UserRequestDetails": { + "description": "user request details", + "type": "object", + "properties": { + "user": { + "description": "Gets user id", + "type": "string", + "readOnly": true + }, + "date": { + "description": "Gets request date", + "type": "string", + "readOnly": true + }, + "justification": { + "description": "Gets justification", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "Gets the subscription id that the user is requesting to add the plan to", + "type": "string" + }, + "subscriptionName": { + "description": "Gets the subscription name that the user is requesting to add the plan to", + "type": "string" + } + } + }, + "RequestApprovalsList": { + "description": "List of admin request approval resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RequestApprovalResource" + } + }, + "nextLink": { + "description": "URL to get the next set of notifications list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "RequestApprovalResource": { + "description": "Request approval resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RequestApprovalProperties", + "description": "The privateStore approval request data structure.", + "x-ms-client-flatten": true + } + } + }, + "RequestApprovalProperties": { + "description": "Approval request resource properties", + "type": "object", + "properties": { + "offerId": { + "description": "Gets or sets unique offer id.", + "type": "string" + }, + "offerDisplayName": { + "description": "Gets offer display name", + "type": "string", + "readOnly": true + }, + "publisherId": { + "description": "The offer's publisher id", + "type": "string" + }, + "plansDetails": { + "description": "Gets or sets the plans details", + "type": "array", + "items": { + "$ref": "#/definitions/planDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + }, + "isClosed": { + "description": "Gets a value indicating whether the request is closed", + "type": "boolean", + "readOnly": true + }, + "messageCode": { + "description": "Gets or sets the request approval message code", + "type": "integer", + "format": "int64" + } + } + }, + "planDetails": { + "description": "Return plan with request details", + "type": "object", + "properties": { + "planId": { + "description": "Gets or sets Plan Id ", + "type": "string" + }, + "status": { + "description": "Gets the plan status", + "type": "string", + "readOnly": true, + "enum": [ + "Pending", + "Rejected", + "Approved", + "None" + ], + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + }, + "requestDate": { + "description": "Gets request date", + "format": "date-time", + "readOnly": true + }, + "justification": { + "description": "Gets or sets user's justification for the plan's request", + "type": "string" + }, + "subscriptionId": { + "description": "Gets or sets the subscription id that the user is requesting to add the plan to", + "type": "string" + }, + "subscriptionName": { + "description": "Gets or sets the subscription name that the user is requesting to add the plan to", + "type": "string" + } + } + }, + "QueryRequestApproval": { + "description": "Gets the request plans with indication on each plan whether is approved by the admin, has pending request or not requested yet", + "type": "object", + "properties": { + "uniqueOfferId": { + "description": "Gets or sets unique offer id.", + "type": "string" + }, + "plansDetails": { + "description": "Gets or sets the plans details", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/planDetails" + } + }, + "etag": { + "description": "Gets or sets e-tag field ", + "type": "string" + }, + "messageCode": { + "description": "Gets or sets the notification message id", + "type": "integer", + "format": "int64" + } + } + }, + "QueryRequestApprovalProperties": { + "description": "The details to get the request plans statuses", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RequestDetails", + "description": "The details to get the request plans statuses" + } + } + }, + "RequestDetails": { + "description": "Request details needed to get the plans statuses", + "type": "object", + "properties": { + "publisherId": { + "description": "The offer's publisher id", + "type": "string" + }, + "planIds": { + "description": "Current plans list", + "type": "array", + "items": { + "type": "string" + } + }, + "subscriptionId": { + "description": "Gets or sets the subscription id", + "type": "string" + } + } + }, + "NewPlansNotificationsList": { + "description": "List of all new plans notifications for public offers", + "type": "object", + "properties": { + "newPlansNotifications": { + "type": "array", + "items": { + "$ref": "#/definitions/NewNotifications" + }, + "x-ms-identifiers": [] + } + } + }, + "SubscriptionsContextList": { + "description": "List of subscription Ids in the private store", + "type": "object", + "properties": { + "subscriptionsIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateStoreNotificationsState": { + "description": "Get private store notifications state", + "type": "object", + "properties": { + "stopSellNotifications": { + "type": "array", + "items": { + "$ref": "#/definitions/StopSellNotifications" + }, + "x-ms-identifiers": [] + }, + "newNotifications": { + "type": "array", + "items": { + "$ref": "#/definitions/NewNotifications" + }, + "x-ms-identifiers": [] + }, + "approvalRequests": { + "type": "array", + "items": { + "$ref": "#/definitions/RequestApprovalsDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "NewNotifications": { + "description": "New plans notification details", + "type": "object", + "properties": { + "offerId": { + "description": "Gets offer id", + "type": "string" + }, + "displayName": { + "description": "Gets offer display name", + "type": "string" + }, + "isFuturePlansEnabled": { + "description": "Gets a value indicating whether future plans is enabled.", + "type": "boolean" + }, + "messageCode": { + "description": "Gets or sets the notification message id", + "type": "integer", + "format": "int64" + }, + "icon": { + "description": "Gets or sets the icon url", + "type": "string" + }, + "plans": { + "description": "Gets or sets removed plans notifications", + "type": "array", + "items": { + "$ref": "#/definitions/PlanNotificationDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + } + } + }, + "StopSellNotifications": { + "description": "Stop sell notification details", + "type": "object", + "properties": { + "offerId": { + "description": "Gets offer id", + "type": "string" + }, + "displayName": { + "description": "Gets offer display name", + "type": "string" + }, + "isEntire": { + "description": "Gets a value indicating whether entire offer is in stop sell or only few of its plans", + "type": "boolean" + }, + "messageCode": { + "description": "Gets or sets the notification message id", + "type": "integer", + "format": "int64" + }, + "icon": { + "description": "Gets or sets the icon url", + "type": "string" + }, + "plans": { + "description": "Gets or sets removed plans notifications", + "type": "array", + "items": { + "$ref": "#/definitions/PlanNotificationDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + } + } + }, + "PlanNotificationDetails": { + "description": "Plan notification details", + "type": "object", + "properties": { + "planId": { + "description": "Gets or sets the plan id", + "type": "string" + }, + "planDisplayName": { + "description": "Gets or sets the plan display name", + "type": "string" + } + } + }, + "RequestApprovalsDetails": { + "description": "Request approvals details", + "type": "object", + "properties": { + "offerId": { + "description": "Gets offer id", + "type": "string" + }, + "displayName": { + "description": "Gets offer display name", + "type": "string" + }, + "publisherId": { + "description": "Gets or sets publisher id", + "type": "string" + }, + "messageCode": { + "description": "Gets or sets the notification message id", + "type": "integer", + "format": "int64" + }, + "icon": { + "description": "Gets or sets the icon url", + "type": "string" + }, + "plans": { + "description": "Gets or sets removed plans notifications", + "type": "array", + "items": { + "$ref": "#/definitions/PlanNotificationDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + } + } + }, + "AcknowledgeOfferNotificationProperties": { + "description": "Notification update request payload", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AcknowledgeOfferNotificationDetails", + "description": "Notification update request payload details", + "x-ms-client-flatten": true + } + } + }, + "AcknowledgeOfferNotificationDetails": { + "description": "Notification update request payload details", + "type": "object", + "properties": { + "acknowledge": { + "description": "Gets or sets a value indicating whether acknowledge action flag is enabled", + "type": "boolean" + }, + "dismiss": { + "description": "Gets or sets a value indicating whether dismiss action flag is enabled", + "type": "boolean" + }, + "removeOffer": { + "description": "Gets or sets a value indicating whether remove offer action flag is enabled", + "type": "boolean" + }, + "addPlans": { + "description": "Gets or sets added plans", + "type": "array", + "items": { + "type": "string" + } + }, + "removePlans": { + "description": "Gets or sets remove plans", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "WithdrawProperties": { + "description": "Withdraw properties", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/WithdrawDetails", + "description": "Withdraw properties details", + "x-ms-client-flatten": true + } + } + }, + "WithdrawDetails": { + "description": "Withdraw properties details", + "type": "object", + "properties": { + "planId": { + "description": "Gets or sets Plan Id ", + "type": "string" + }, + "publisherId": { + "description": "The offer's publisher id", + "type": "string" + } + } + }, + "BillingAccountsResponse": { + "description": "Billing accounts response object", + "type": "object", + "properties": { + "billingAccounts": { + "description": "Billing accounts list", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TransferOffersProperties": { + "description": "Transfer offers properties", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TransferOffersDetails", + "description": "transfer offers properties details", + "x-ms-client-flatten": true + } + } + }, + "TransferOffersResponse": { + "description": "The transfer items response. The response contains two lists that indicate for each collection whether the operation succeeded or failed", + "type": "object", + "properties": { + "succeeded": { + "description": "Succeeded collections", + "type": "array", + "items": { + "$ref": "#/definitions/CollectionsDetails" + }, + "x-ms-identifiers": [ + "collectionId" + ] + }, + "failed": { + "description": "Failed collections", + "type": "array", + "items": { + "$ref": "#/definitions/CollectionsDetails" + }, + "x-ms-identifiers": [ + "collectionId" + ] + } + } + }, + "BulkCollectionsPayload": { + "description": "Bulk collections action properties", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/BulkCollectionsDetails", + "description": "bulk collections properties details", + "x-ms-client-flatten": true + } + } + }, + "BulkCollectionsDetails": { + "description": "Bulk collection details", + "type": "object", + "properties": { + "collectionIds": { + "description": "collection ids list that the action is performed on", + "type": "array", + "items": { + "type": "string" + } + }, + "action": { + "description": "Action to perform (For example: EnableCollections, DisableCollections)", + "type": "string" + } + } + }, + "BulkCollectionsResponse": { + "description": "The bulk collections response. The response contains two lists that indicate for each collection whether the operation succeeded or failed", + "type": "object", + "properties": { + "succeeded": { + "description": "Succeeded collections", + "type": "array", + "items": { + "$ref": "#/definitions/CollectionsDetails" + }, + "x-ms-identifiers": [ + "collectionId" + ] + }, + "failed": { + "description": "Failed collections", + "type": "array", + "items": { + "$ref": "#/definitions/CollectionsDetails" + }, + "x-ms-identifiers": [ + "collectionId" + ] + } + } + }, + "QueryApprovedPlansPayload": { + "description": "Query approved plans payload", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/QueryApprovedPlans", + "description": "Query approved plans details", + "x-ms-client-flatten": true + } + } + }, + "QueryApprovedPlans": { + "description": "Query approved plans details", + "type": "object", + "properties": { + "offerId": { + "description": "Offer id", + "type": "string" + }, + "planIds": { + "description": "Offer plan ids", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QueryApprovedPlansResponse": { + "description": "Query approved plans response", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/QueryApprovedPlansResponseDetails" + } + } + }, + "QueryApprovedPlansResponseDetails": { + "description": "A list indicating for each plan which subscriptions are approved. Plan Id is unique", + "type": "array", + "items": { + "$ref": "#/definitions/QueryApprovedPlansDetails" + }, + "x-ms-identifiers": [ + "planId" + ] + }, + "QueryApprovedPlansDetails": { + "description": "Query approved plans response", + "type": "object", + "properties": { + "planId": { + "description": "Plan id", + "type": "string" + }, + "subscriptionIds": { + "description": "Approved subscription ids list. In case all subscriptions are approved for a plan, allSubscriptions flag is true and list is empty ( else flag is set to false). In case both subscriptions list is empty and allSubscriptions flag is false, the plan is not approved for any subscription.", + "type": "array", + "items": { + "type": "string" + } + }, + "allSubscriptions": { + "description": "Indicates whether all subscriptions are approved for this plan", + "type": "boolean" + } + } + }, + "CollectionsDetails": { + "description": "Collection name and id.", + "type": "object", + "properties": { + "collectionName": { + "description": "Collection name.", + "type": "string" + }, + "collectionId": { + "description": "Collection id.", + "type": "string" + } + } + }, + "TransferOffersDetails": { + "description": "Transfer offers response details", + "type": "object", + "properties": { + "targetCollections": { + "description": "Target collections ids", + "type": "array", + "items": { + "type": "string" + } + }, + "operation": { + "description": "Operation to perform (For example: Copy or Move)", + "type": "string" + }, + "offerIdsList": { + "description": "Offers ids list to transfer from source collection to target collection(s)", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CollectionsToSubscriptionsMappingPayload": { + "description": "The subscriptions list to get the related collections", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CollectionsToSubscriptionsMappingProperties", + "description": "Subscriptions ids list" + } + } + }, + "CollectionsToSubscriptionsMappingProperties": { + "description": "The subscriptions list to get the related collections", + "type": "object", + "properties": { + "subscriptionIds": { + "description": "Subscriptions ids list", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CollectionsToSubscriptionsMappingResponse": { + "description": "A map of collections subscriptions details", + "type": "object", + "properties": { + "details": { + "$ref": "#/definitions/CollectionsToSubscriptionsMappingResponseProperties", + "description": "The map of collections subscriptions" + } + } + }, + "CollectionsToSubscriptionsMappingResponseProperties": { + "description": "Collections - subscriptions mapping details, map key is collectionId. In case subscriptions list is null or empty: no subscription from the list is related to that collection.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/collectionsSubscriptionsMappingDetails" + } + }, + "collectionsSubscriptionsMappingDetails": { + "description": "Collection name and related subscriptions list", + "type": "object", + "properties": { + "collectionName": { + "description": "Collection name", + "type": "string" + }, + "subscriptions": { + "description": "Subscriptions ids list", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "StopSellOffersPlansNotificationsList": { + "description": "List of stop sell offers and plans notifications.", + "type": "object", + "properties": { + "stopSellNotifications": { + "type": "array", + "items": { + "$ref": "#/definitions/StopSellOffersPlansNotificationsListProperties" + }, + "x-ms-identifiers": [ + "offerId" + ] + } + } + }, + "StopSellOffersPlansNotificationsListProperties": { + "description": "List of stop sell offers and plans notifications.", + "type": "object", + "properties": { + "offerId": { + "description": "The offer id", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The offer display name", + "type": "string", + "readOnly": true + }, + "isEntire": { + "description": "A value indicating whether entire offer is in stop sell or only few of its plans", + "type": "boolean", + "readOnly": true + }, + "messageCode": { + "description": "The notification message code", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "icon": { + "description": "The icon url", + "type": "string", + "readOnly": true + }, + "plans": { + "description": "The list of removed plans notifications", + "type": "array", + "items": { + "$ref": "#/definitions/PlanNotificationDetails" + }, + "x-ms-identifiers": [ + "planId" + ], + "readOnly": true + }, + "publicContext": { + "description": "True if the offer has public plans", + "type": "boolean", + "readOnly": true + }, + "subscriptionsIds": { + "description": "The subscriptions related to private plans", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "StopSellSubscriptions": { + "description": "Private plans subscriptions", + "type": "object", + "properties": { + "subscriptions": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SubscriptionsResponse": { + "description": "Subscription list operation response.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Subscription" + }, + "description": "An array of subscriptions.", + "readOnly": true + }, + "skipToken": { + "type": "string", + "description": "The skip token to retrieve the next page.", + "readOnly": true + }, + "count": { + "description": "Number of subscriptions on the page", + "type": "integer", + "format": "int64", + "readOnly": true + } + } + }, + "Subscription": { + "description": "Subscription information.", + "type": "object", + "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." + }, + "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": true + } + } + } + }, + "PrivateStoreOperation": { + "description": "Set the Operation for the POST method. Ping or Delete", + "type": "string", + "enum": [ + "DeletePrivateStoreOffer", + "DeletePrivateStoreCollection", + "DeletePrivateStoreCollectionOffer", + "Ping" + ], + "x-ms-enum": { + "name": "Operation", + "modelAsString": true + } + }, + "OperationListResult": { + "description": "Result of the request to list Marketplace operations. It contains a list of operations and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SingleOperation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of Microsoft.Marketplace operations supported by the Microsoft.Marketplace resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "readOnly": true + } + } + }, + "SingleOperation": { + "description": "Microsoft.Marketplace REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "description": "Service provider: Microsoft.Marketplace", + "type": "string" + }, + "resource": { + "readOnly": true, + "description": "Resource on which the operation is performed", + "type": "string" + }, + "operation": { + "readOnly": true, + "description": "Operation type", + "type": "string" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Friendly description for the operation," + } + } + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationProperties": { + "description": "Operation properties.", + "type": "object", + "properties": {} + }, + "ErrorResponse": { + "description": "Error response indicates Microsoft.Marketplace 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.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "Resource": { + "description": "An Azure resource.", + "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 + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource" + } + }, + "x-ms-azure-resource": true + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": 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/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AcknowledgeNotification.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AcknowledgeNotification.json new file mode 100644 index 000000000000..6a4bebfe88e7 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AcknowledgeNotification.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "payload": { + "properties": { + "removePlans": [ + "testPlanA" + ], + "addPlans": null, + "acknowledge": false, + "dismiss": false, + "removeOffer": false + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AdminRequestApprovalsList.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AdminRequestApprovalsList.json new file mode 100644 index 000000000000..943d3706284d --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/AdminRequestApprovalsList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + }, + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/adminRequestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "/providers/Microsoft.Marketplace/privateStores/adminRequestApprovals", + "properties": { + "publisherId": "marketplacetestthirdparty", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "displayName": "Offer display name", + "plans": [ + { + "planId": "testA", + "planDisplayName": "Plan display name A", + "requesters": [ + { + "user": "testUser3", + "date": "2021-02-01T11:42:12.9526511+02:00", + "justification": "Because I want to....", + "subscriptionId": "404a1952-706a-453a-989b-647cc4ca5f9c", + "subscriptionName": "Test subscription" + } + ] + }, + { + "planId": "*", + "planDisplayName": "* (this means the user requested any plan, here you will get only *)", + "requesters": [ + { + "user": "testUser3", + "date": "2021-02-01T11:42:12.9526511+02:00", + "justification": "try me :)", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + } + ] + } + ], + "adminAction": "Pending", + "collectionIds": [], + "approvedPlans": null, + "comment": null, + "administrator": null + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BillingAccounts.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BillingAccounts.json new file mode 100644 index 000000000000..df65346def6d --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BillingAccounts.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "billingAccounts": [ + "Billing Account 1", + "Billing Account 2" + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BulkCollectionsAction.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BulkCollectionsAction.json new file mode 100644 index 000000000000..5636c0575b26 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/BulkCollectionsAction.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01", + "payload": { + "properties": { + "collectionIds": [ + "c752f021-1c37-4af5-b82f-74c51c27b44a", + "f47ef1c7-e908-4f39-ae29-db181634ad8d" + ], + "action": "EnableCollections" + } + } + }, + "responses": { + "200": { + "body": { + "succeeded": [ + { + "collectionId": "c752f021-1c37-4af5-b82f-74c51c27b44a", + "collectionName": "Test collection" + } + ], + "failed": [ + { + "collectionId": "f47ef1c7-e908-4f39-ae29-db181634ad8d", + "collectionName": "Test collection 2" + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CollectionsToSubscriptionsMapping.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CollectionsToSubscriptionsMapping.json new file mode 100644 index 000000000000..9d76ff31b64e --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CollectionsToSubscriptionsMapping.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01", + "payload": { + "properties": { + "subscriptionIds": [ + "b340914e-353d-453a-85fb-8f9b65b51f91", + "f2baa04d-5bfc-461b-b6d8-61b403c9ec48" + ] + } + } + }, + "responses": { + "200": { + "body": { + "details": { + "4eb49758-f591-486f-bd58-dff00fb7a8d8": { + "collectionName": "Test Collection", + "subscriptions": [ + "b340914e-353d-453a-85fb-8f9b65b51f91", + "f2baa04d-5bfc-461b-b6d8-61b403c9ec48" + ] + }, + "74c02e27-2524-436c-831d-d64565f31153": { + "collectionName": "Test Collection 2", + "subscriptions": null + } + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreateApprovalRequest.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreateApprovalRequest.json new file mode 100644 index 000000000000..e78450632b12 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreateApprovalRequest.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "requestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "RequestApprovalResource": { + "parameters": { + "properties": { + "publisherId": "marketplacetestthirdparty", + "plansDetails": [ + { + "planId": "testPlanA", + "justification": "Because I want to....", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + }, + { + "planId": "*", + "justification": "try me :)", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + }, + "id": "/providers/Microsoft.Marketplace/privateStores/9afd3c45-5230-4d58-9469-2cacc00bba68/requestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/requestApprovals", + "properties": { + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "publisherId": "marketplacetestthirdparty", + "offerDisplayName": "Offer Display name", + "plansDetails": [ + { + "planId": "testPlanA", + "requestDate": "2021-02-01T10:23:17.6571572+02:00", + "justification": "Because I want to....", + "status": "Pending", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + }, + { + "planId": "*", + "requestDate": "2021-02-01T10:23:17.6571572+02:00", + "justification": "try me :)", + "status": "Pending", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + } + ], + "isClosed": false, + "messageCode": 0 + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreatePrivateStoreCollection.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreatePrivateStoreCollection.json new file mode 100644 index 000000000000..96227de205f7 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/CreatePrivateStoreCollection.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "d0f5aa2c-ecc3-4d87-906a-f8c486dcc4f1", + "api-version": "2020-01-01", + "payload": { + "properties": { + "collectionName": "Test Collection", + "claim": "", + "allSubscriptions": false, + "subscriptionsList": [ + "b340914e-353d-453a-85fb-8f9b65b51f91", + "f2baa04d-5bfc-461b-b6d8-61b403c9ec48" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/d0f5aa2c-ecc3-4d87-906a-f8c486dcc4f1", + "type": "Microsoft.Marketplace/privateStores/collections", + "name": "d0f5aa2c-ecc3-4d87-906a-f8c486dcc4f1", + "properties": { + "collectionName": "Test Collection", + "claim": "", + "allSubscriptions": false, + "subscriptionsList": [ + "b340914e-353d-453a-85fb-8f9b65b51f91", + "f2baa04d-5bfc-461b-b6d8-61b403c9ec48" + ] + }, + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-04-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-01T10:23:17.6571572+02:00" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStore.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStore.json new file mode 100644 index 000000000000..687da4cc1916 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStore.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreCollection.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreCollection.json new file mode 100644 index 000000000000..abbcf1c3f409 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreCollection.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "d0f5aa2c-ecc3-4d87-906a-f8c486dcc4f1", + "api-version": "2020-06-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreOffer.json new file mode 100644 index 000000000000..d6f950545e67 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/DeletePrivateStoreOffer.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/FetchAllSubscriptionsInTenant.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/FetchAllSubscriptionsInTenant.json new file mode 100644 index 000000000000..03db96d78c5b --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/FetchAllSubscriptionsInTenant.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/090dcec8-3415-4e13-9377-07f489cdfeed", + "subscriptionId": "090dcec8-3415-4e13-9377-07f489cdfeed", + "displayName": "Test subscription", + "state": "Enabled" + } + ], + "count": 1 + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetAdminRequestApproval.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetAdminRequestApproval.json new file mode 100644 index 000000000000..8f84eb70ecde --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetAdminRequestApproval.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "adminRequestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "publisherId": "marketplacetestthirdparty", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + }, + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/adminRequestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "/providers/Microsoft.Marketplace/privateStores/adminRequestApprovals", + "properties": { + "publisherId": "marketplacetestthirdparty", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "displayName": "Offer display name", + "plans": [ + { + "planId": "testA", + "planDisplayName": "Plan display name A", + "requesters": [ + { + "user": "testUser3", + "date": "2021-02-01T11:42:12.9526511+02:00", + "justification": "Because I want to....", + "subscriptionId": "1fs4r5t6-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 1" + } + ] + }, + { + "planId": "*", + "planDisplayName": "* (this means the user requested any plan, here you will get only *)", + "requesters": [ + { + "user": "testUser3", + "date": "2021-02-01T11:42:12.9526511+02:00", + "justification": "try me :)", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + } + ] + } + ], + "adminAction": "Pending", + "approvedPlans": null, + "comment": null, + "administrator": null, + "collectionIds": [] + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetApprovalRequestsList.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetApprovalRequestsList.json new file mode 100644 index 000000000000..3f834e4fc7f0 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetApprovalRequestsList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + }, + "id": "/providers/Microsoft.Marketplace/privateStores/9afd3c45-5230-4d58-9469-2cacc00bba68/requestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/requestApprovals", + "properties": { + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "publisherId": "marketplacetestthirdparty", + "offerDisplayName": "Offer Display name", + "plansDetails": [ + { + "planId": "testPlanA", + "requestDate": "2021-02-01T10:23:17.6571572+02:00", + "justification": "Because I want to....", + "status": "Pending", + "subscriptionId": "", + "subscriptionName": "" + }, + { + "planId": "*", + "requestDate": "2021-02-01T10:23:17.6571572+02:00", + "justification": "try me :)", + "status": "Pending", + "subscriptionId": "", + "subscriptionName": "" + } + ], + "isClosed": false, + "messageCode": 0 + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetOperations.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetOperations.json new file mode 100644 index 000000000000..0f766da49a2a --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetOperations.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Marketplace/privateStores", + "isDataAction": false, + "display": { + "provider": "Microsoft.Marketplace", + "resource": "Resources", + "operation": "Get Private Stores (singleton) " + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStore.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStore.json new file mode 100644 index 000000000000..0f10800c2a43 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStore.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "type": "Microsoft.Marketplace/privateStores", + "name": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "properties": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "availability": "enabled", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350345\"", + "tenantId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "isGov": false, + "collectionIds": [ + "ab80ed4-c5de-4593-b3c1-c46d4a3a56c7", + "a09107d4-c585-4594-b3c6-c46d4a3a56c8" + ], + "branding": { + "iconUrl": "https://some-images.someDomail.com/image/stroeIcon.12345678-4321", + "color": "blue" + }, + "notificationsSettings": { + "recipients": [ + { + "principalId": "6d583005-403b-407a-8ac0-c4af72b47ce9", + "emailAddress": "john_doe@microsoft.com", + "displayName": "John Doe" + }, + { + "principalId": "c5b680d4-aac2-4940-9e1c-399454056ff2", + "emailAddress": "jane_doe@microsoft.com", + "displayName": "Jane Doe" + } + ], + "sendToAllMarketplaceAdmins": true + } + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollection.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollection.json new file mode 100644 index 000000000000..f8faa9efc01a --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollection.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "type": "Microsoft.Marketplace/privateStores/collections", + "name": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "properties": { + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "collectionName": "Default Collection", + "claim": "", + "allSubscriptions": true, + "subscriptionsList": [] + }, + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionOffer.json new file mode 100644 index 000000000000..f107ee023a2e --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionOffer.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/56a1a02d-8cf8-45df-bf37-d5f7120fcb3d/offers/marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/collections/offers", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-2", + "offerDisplayName": "md-test-third-party-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350000\"", + "specificPlanIdsLimitation": [ + "0001", + "0002", + "0003" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionsList.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionsList.json new file mode 100644 index 000000000000..4272e592f449 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreCollectionsList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "id": "providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections", + "type": "Microsoft.Marketplace/privateStores/collections", + "name": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "properties": { + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "collectionName": "Default Collection", + "claim": "", + "allSubscriptions": true, + "subscriptionsList": [] + }, + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + } + }, + { + "id": "providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections", + "type": "Microsoft.Marketplace/privateStores/collections", + "name": "fba3f52c-874a-4010-87cf-c1cfa6ed3490", + "properties": { + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "collectionName": "Dev collection", + "claim": "", + "allSubscriptions": false, + "subscriptionsList": [ + "7c927b63-59cf-4a0f-9d13-41e11f1ddf76" + ] + }, + "systemData": { + "createdBy": "user@somedoamin.com", + "createdByType": "User", + "createdAt": "2021-02-01T10:23:17.6571572+02:00", + "lastModifiedBy": "user@somedoamin.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-02-01T10:23:17.6571572+02:00" + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreOffers.json new file mode 100644 index 000000000000..3781531618a6 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStoreOffers.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/56a1a02d-8cf8-45df-bf37-d5f7120fcb3d/offers/marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/collections/offers", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-2", + "offerDisplayName": "md-test-third-party-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350000\"", + "specificPlanIdsLimitation": [ + "0001", + "0002", + "0003" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + } + }, + { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/56a1a02d-8cf8-45df-bf37-d5f7120fcb3d/offers/marketplacetestthirdparty.md-test-third-party-3", + "type": "Microsoft.Marketplace/privateStores/collections/offers", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-3", + "offerDisplayName": "md-test-third-party-3", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0304-5e248b350043\"", + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStores.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStores.json new file mode 100644 index 000000000000..6635c728b8c4 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetPrivateStores.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "type": "Microsoft.Marketplace/privateStores", + "name": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "properties": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "availability": "enabled", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350332\"", + "tenantId": "f686d426-123a-42db-81b7-ab578e110ccd", + "isGov": false, + "collectionIds": [ + "ab80ed4-c5de-4593-b3c1-c46d4a3a56c7", + "a09107d4-c585-4594-b3c6-c46d4a3a56c8" + ], + "branding": { + "iconUrl": "https://some-images.someDomail.com/image/stroeIcon.12345678-4321", + "color": "blue" + }, + "notificationsSettings": { + "recipients": [ + { + "principalId": "6d583005-403b-407a-8ac0-c4af72b47ce9", + "emailAddress": "john_doe@microsoft.com", + "displayName": "John Doe" + }, + { + "principalId": "c5b680d4-aac2-4940-9e1c-399454056ff2", + "emailAddress": "jane_doe@microsoft.com", + "displayName": "Jane Doe" + } + ], + "sendToAllMarketplaceAdmins": true + } + } + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetRequestApproval.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetRequestApproval.json new file mode 100644 index 000000000000..33eef3708eb1 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/GetRequestApproval.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "requestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/requestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/requestApprovals", + "systemData": { + "createdBy": "test@somedomain.com", + "createdByType": "User", + "createdAt": "2020-10-05T17:18:19.1234567Z", + "lastModifiedBy": "testuser@somedomail.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-10-05T17:18:19.1234567Z" + }, + "properties": { + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "publisherId": "marketplacetestthirdparty", + "offerDisplayName": "Offer display Name", + "plansDetails": [ + { + "planId": "testPlanA", + "justification": "Because I want to....", + "requestDate": "2020-10-05T17:18:19.1234567Z", + "status": "Pending", + "subscriptionId": "", + "subscriptionName": "" + }, + { + "planId": "testPlanB", + "justification": "Because I want to....", + "requestDate": "2020-10-05T17:18:19.1234567Z", + "status": "Pending", + "subscriptionId": "", + "subscriptionName": "" + } + ], + "isClosed": false, + "messageCode": 0 + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListNewPlansNotifications.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListNewPlansNotifications.json new file mode 100644 index 000000000000..d934eb2a2026 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListNewPlansNotifications.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "newPlansNotifications": [ + { + "offerId": "publisherIdC.legacyIdC", + "displayName": "Offer display name C", + "isFuturePlansEnabled": false, + "plans": [ + { + "planDisplayName": "Display Name Test", + "planId": "plan-test" + } + ], + "messageCode": 10000, + "icon": "https://some-images.someDomail.com/image/apps.12345678-76545678" + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListStopSellOffersPlansNotifications.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListStopSellOffersPlansNotifications.json new file mode 100644 index 000000000000..bb867b7b3fd3 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListStopSellOffersPlansNotifications.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01", + "properties": { + "subscriptions": [ + "e5ca195c-ce39-42d1-bf68-fadf6ac9a3bc", + "32154dd8-345c-4647-be42-37923858ef0c" + ] + } + }, + "responses": { + "200": { + "body": { + "stopSellNotifications": [ + { + "offerId": "publisherId.legacyId", + "displayName": "Offer display name", + "isEntire": false, + "plans": [ + { + "planDisplayName": "test123", + "planId": "aaa" + } + ], + "messageCode": 10002, + "icon": "https://some-images.someDomail.com/image/apps.12345678-4321", + "publicContext": false, + "subscriptionsIds": [ + "090dcec8-3415-4e13-9377-07f489cdfeed" + ] + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListSubscriptionsContext.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListSubscriptionsContext.json new file mode 100644 index 000000000000..2d45bc7d1927 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/ListSubscriptionsContext.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "subscriptionsIds": [ + "090dcec8-3415-4e13-9377-07f489cdfeed", + "030dcec2-4323-5e13-9376-96f489cdfeed" + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/NotificationsState.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/NotificationsState.json new file mode 100644 index 000000000000..e2eba27a3815 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/NotificationsState.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "stopSellNotifications": [ + { + "offerId": "publisherId.legacyId", + "displayName": "Offer display name", + "isEntire": false, + "plans": [ + { + "planDisplayName": "test123", + "planId": "aaa" + } + ], + "messageCode": 10002, + "icon": "https://some-images.someDomail.com/image/apps.12345678-4321" + }, + { + "offerId": "publisherIdB.legacyIdB", + "displayName": "Offer display name B", + "isEntire": true, + "plans": null, + "messageCode": 10003, + "icon": "https://some-images.someDomail.com/image/apps.12345678-7654" + } + ], + "newNotifications": [ + { + "offerId": "publisherIdC.legacyIdC", + "displayName": "Offer display name C", + "isFuturePlansEnabled": false, + "plans": [ + { + "planDisplayName": "Display Name Test", + "planId": "plan-test" + } + ], + "messageCode": 10000, + "icon": "https://some-images.someDomail.com/image/apps.12345678-76545678" + } + ], + "approvalRequests": [ + { + "publisherId": "publisherId", + "offerId": "publisherId.legacyId", + "displayName": "Offer display name", + "plans": [ + { + "planDisplayName": "Plan Test display name", + "planId": "test-plan" + }, + { + "planDisplayName": "Plan Test display name B", + "planId": "test-planB" + } + ], + "icon": "https://some-images.someDomail.com/image/apps.12345678-09876567894321", + "messageCode": 0 + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollection.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollection.json new file mode 100644 index 000000000000..6437a7720871 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollection.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01", + "Operation": "DeletePrivateStoreCollection" + }, + "responses": { + "200": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollectionOffer.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollectionOffer.json new file mode 100644 index 000000000000..8c989584be13 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PostPrivateStoreCollectionOffer.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "properties": { + "Operation": "DeletePrivateStoreCollectionOffer" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStoreOffer_update.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStoreOffer_update.json new file mode 100644 index 000000000000..4bd12e3f994e --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStoreOffer_update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "payload": { + "properties": { + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350666\"" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/collections/56a1a02d-8cf8-45df-bf37-d5f7120fcb3d/offers/marketplacetestthirdparty.md-test-third-party-2", + "type": "Microsoft.Marketplace/privateStores/collections/offers", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "properties": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-2", + "offerDisplayName": "md-test-third-party-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350666\"", + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStores_update.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStores_update.json new file mode 100644 index 000000000000..7a34b38d1382 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/PrivateStores_update.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01", + "payload": { + "properties": { + "availability": "disabled", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350345\"" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryApprovedPlans.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryApprovedPlans.json new file mode 100644 index 000000000000..b74c07c3efb6 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryApprovedPlans.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01", + "payload": { + "properties": { + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "planIds": [ + "testPlanA", + "testPlanB", + "testPlanC" + ] + } + } + }, + "responses": { + "200": { + "body": { + "details": [ + { + "planId": "testPlanA", + "subscriptionIds": [ + "85e3e079-c718-4e4c-abbe-f72fceba8305", + "7752d461-4bf1-4185-8b56-8a3f11486ac6" + ], + "allSubscriptions": false + }, + { + "planId": "testPlanB", + "subscriptionIds": [], + "allSubscriptions": true + }, + { + "planId": "testPlanC", + "subscriptionIds": [], + "allSubscriptions": false + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryOffers.json new file mode 100644 index 000000000000..cd21f77f0076 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryOffers.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "nextLink": "", + "value": [ + { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-2", + "offerDisplayName": "md-test-third-party-2", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0000-5e248b350000\"", + "specificPlanIdsLimitation": [ + "0001", + "0002", + "0003" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + }, + { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-3", + "offerDisplayName": "md-test-third-party-3", + "publisherDisplayName": "Marketplace Test Third Party", + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "eTag": "\"9301f4fd-0000-0100-0304-5e248b350043\"", + "specificPlanIdsLimitation": [ + "0001", + "0002" + ], + "modifiedAt": "05/29/2015 5:50", + "createdAt": "05/28/2015 5:50" + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryRequestApproval.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryRequestApproval.json new file mode 100644 index 000000000000..dbcd011954fe --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/QueryRequestApproval.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "requestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "payload": { + "properties": { + "publisherId": "marketplacetestthirdparty", + "planIds": [ + "testPlanA", + "testPlanB", + "*" + ] + } + } + }, + "responses": { + "200": { + "body": { + "uniqueOfferId": "marketplacetestthirdparty.md-test-third-party-2", + "plansDetails": { + "*": { + "planId": "*", + "status": "None", + "requestDate": null, + "justification": null, + "subscriptionId": "", + "subscriptionName": "" + }, + "byol": { + "planId": "testPlanA", + "status": "None", + "requestDate": null, + "justification": "", + "subscriptionId": "", + "subscriptionName": "" + }, + "hourly": { + "planId": "testPlanB", + "status": "ApprovedByAdmin", + "requestDate": null, + "justification": "", + "subscriptionId": "4ca4753c-5a1e-4913-b849-2c68880e03c2", + "subscriptionName": "Test subscription 2" + } + }, + "etag": null, + "messageCode": 0 + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/TransferOffers.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/TransferOffers.json new file mode 100644 index 000000000000..88b15afe0230 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/TransferOffers.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "collectionId": "56a1a02d-8cf8-45df-bf37-d5f7120fcb3d", + "api-version": "2021-12-01", + "payload": { + "properties": { + "targetCollections": [ + "c752f021-1c37-4af5-b82f-74c51c27b44a", + "f47ef1c7-e908-4f39-ae29-db181634ad8d" + ], + "operation": "copy", + "offerIdsList": [ + "marketplacetestthirdparty.md-test-third-party-2", + "marketplacetestthirdparty.md-test-third-party-3" + ] + } + } + }, + "responses": { + "200": { + "body": { + "succeeded": [ + { + "collectionId": "c752f021-1c37-4af5-b82f-74c51c27b44a", + "collectionName": "Test collection" + } + ], + "failed": [ + { + "collectionId": "f47ef1c7-e908-4f39-ae29-db181634ad8d", + "collectionName": "Test collection 2" + } + ] + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/UpdateAdminRequestApproval.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/UpdateAdminRequestApproval.json new file mode 100644 index 000000000000..6093d7bde622 --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/UpdateAdminRequestApproval.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "adminRequestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "payload": { + "properties": { + "publisherId": "marketplacetestthirdparty", + "adminAction": "Approved", + "approvedPlans": [ + "testPlan" + ], + "comment": "I'm ok with that", + "collectionIds": [ + "f8ee227e-85d7-477d-abbf-854d6decaf70", + "39246ad6-c521-4fed-8de7-77dede2e873f" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Marketplace/privateStores/a0e28e55-90c4-41d8-8e34-bb7ef7775406/adminRequestApprovals/marketplacetestthirdparty.md-test-third-party-2", + "name": "marketplacetestthirdparty.md-test-third-party-2", + "type": "/providers/Microsoft.Marketplace/privateStores/adminRequestApprovals", + "systemData": { + "createdBy": "test@somedomain.com", + "createdByType": "User", + "createdAt": "2020-10-05T17:18:19.1234567Z", + "lastModifiedBy": "testuser@somedomail.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-10-05T17:18:19.1234567Z" + }, + "properties": { + "publisherId": "marketplacetestthirdparty", + "offerId": "marketplacetestthirdparty.md-test-third-party-2", + "displayName": "Offer display name", + "plans": null, + "adminAction": "Approved", + "approvedPlans": [ + "testPlan" + ], + "collectionIds": [ + "f8ee227e-85d7-477d-abbf-854d6decaf70", + "39246ad6-c521-4fed-8de7-77dede2e873f" + ], + "comment": "I'm ok with that", + "administrator": "admin@someDomain.com" + } + } + } + } +} diff --git a/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/WithdrawPlan.json b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/WithdrawPlan.json new file mode 100644 index 000000000000..8a4c96b15e0d --- /dev/null +++ b/specification/marketplace/resource-manager/Microsoft.Marketplace/stable/2021-12-01/examples/WithdrawPlan.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "privateStoreId": "a0e28e55-90c4-41d8-8e34-bb7ef7775406", + "requestApprovalId": "marketplacetestthirdparty.md-test-third-party-2", + "api-version": "2021-12-01", + "payload": { + "properties": { + "publisherId": "marketplacetestthirdparty", + "planId": "*" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/marketplace/resource-manager/readme.md b/specification/marketplace/resource-manager/readme.md index 3fd58d9bba5e..7e9bf9f8f956 100644 --- a/specification/marketplace/resource-manager/readme.md +++ b/specification/marketplace/resource-manager/readme.md @@ -26,12 +26,22 @@ These are the global settings for the Marketplace API. ``` yaml openapi-type: arm -tag: package-2021-06-01 +tag: package-2021-12 ``` + ### Composite packages The following packages may be composed from multiple api-versions. + +### Tag: package-2021-12 + +These settings apply only when `--tag=package-2021-12` is specified on the command line. + +```yaml $(tag) == 'package-2021-12' +input-file: + - Microsoft.Marketplace/stable/2021-12-01/Marketplace.json +``` ### Tag: package-composite-v2 These settings apply only when `--tag=package-composite-v2` is specified on the command line. @@ -119,6 +129,3 @@ csharp: modelerfour: lenient-model-deduplication: true ``` - - - diff --git a/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json b/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json index 5cbb73ca9b36..3130847d3279 100644 --- a/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json +++ b/specification/marketplacenotifications/resource-manager/Microsoft.MarketplaceNotifications/stable/2021-03-03/MarketplaceNotifications.json @@ -250,7 +250,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationDetail" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", diff --git a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/Agreements.json b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/Agreements.json index 1fc48b67edb3..fbf4b0d1c8e5 100644 --- a/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/Agreements.json +++ b/specification/marketplaceordering/resource-manager/Microsoft.MarketplaceOrdering/stable/2021-01-01/Agreements.json @@ -503,6 +503,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.MarketplaceOrdering operations supported by the Microsoft.MarketplaceOrdering resource provider." }, "nextLink": { diff --git a/specification/marketplaceordering/resource-manager/readme.python.md b/specification/marketplaceordering/resource-manager/readme.python.md index 4f307479b21e..bc5e2765645d 100644 --- a/specification/marketplaceordering/resource-manager/readme.python.md +++ b/specification/marketplaceordering/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.marketplaceordering @@ -14,15 +13,11 @@ clear-output-folder: true package-version: 1.0.0b1 ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering/azure/mgmt/marketplaceordering ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/marketplaceordering/azure-mgmt-marketplaceordering -``` Workaround invalid date-time returned by the server. @@ -31,4 +26,4 @@ directive: - from: swagger-document where: $.definitions.AgreementProperties.properties.retrieveDatetime transform: delete $.format -``` \ No newline at end of file +``` diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AccountFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AccountFilters.json index 733ba040b867..ffff8427e37b 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AccountFilters.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AccountFilters.json @@ -162,6 +162,7 @@ "items": { "$ref": "#/definitions/FilterTrackPropertyCondition" }, + "x-ms-identifiers": [], "description": "The track selections." } }, @@ -186,6 +187,7 @@ "items": { "$ref": "#/definitions/FilterTrackSelection" }, + "x-ms-identifiers": [], "description": "The tracks selection conditions." } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Accounts.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Accounts.json index a97ceddf5a99..f9a3d42da45b 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Accounts.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Accounts.json @@ -187,6 +187,9 @@ "items": { "$ref": "#/definitions/MetricDimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "The metric dimensions.", "readOnly": true }, @@ -236,6 +239,9 @@ "items": { "$ref": "#/definitions/LogSpecification" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of log specifications.", "readOnly": true }, @@ -244,6 +250,9 @@ "items": { "$ref": "#/definitions/MetricSpecification" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of metric specifications.", "readOnly": true } @@ -754,6 +763,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "A collection of Operation items." } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AssetsAndAssetFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AssetsAndAssetFilters.json index 19977db7e6e2..44e6a3aef780 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AssetsAndAssetFilters.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/AssetsAndAssetFilters.json @@ -141,6 +141,9 @@ "items": { "$ref": "#/definitions/AssetFileEncryptionMetadata" }, + "x-ms-identifiers": [ + "assetFileId" + ], "description": "Asset File encryption metadata." } }, @@ -154,6 +157,9 @@ "items": { "$ref": "#/definitions/AssetStreamingLocator" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of Streaming Locators.", "readOnly": true } @@ -371,6 +377,7 @@ "items": { "$ref": "#/definitions/FilterTrackPropertyCondition" }, + "x-ms-identifiers": [], "description": "The track selections." } }, @@ -395,6 +402,7 @@ "items": { "$ref": "#/definitions/FilterTrackSelection" }, + "x-ms-identifiers": [], "description": "The tracks selection conditions." } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/ContentKeyPolicies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/ContentKeyPolicies.json index 4a7551a27e8a..3f486723c33a 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/ContentKeyPolicies.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/ContentKeyPolicies.json @@ -473,6 +473,7 @@ "items": { "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" }, + "x-ms-identifiers": [], "description": "A list of alternative verification keys." }, "requiredClaims": { @@ -480,6 +481,7 @@ "items": { "$ref": "#/definitions/ContentKeyPolicyTokenClaim" }, + "x-ms-identifiers": [], "description": "A list of required token claims." }, "restrictionTokenType": { @@ -577,6 +579,7 @@ "items": { "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense" }, + "x-ms-identifiers": [], "description": "The PlayReady licenses." }, "responseCustomData": { @@ -751,6 +754,9 @@ "items": { "$ref": "#/definitions/ContentKeyPolicyOption" }, + "x-ms-identifiers": [ + "policyOptionId" + ], "description": "The Key Policy options." } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Encoding.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Encoding.json index 7677a3a1ac0a..3b8b30be726a 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Encoding.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/Encoding.json @@ -362,6 +362,7 @@ "items": { "$ref": "#/definitions/H265Layer" }, + "x-ms-identifiers": [], "description": "The collection of output H.265 layers to be produced by the encoder." } }, @@ -552,6 +553,7 @@ "items": { "$ref": "#/definitions/TrackDescriptor" }, + "x-ms-identifiers": [], "description": "The list of TrackDescriptors which define the metadata and selection of tracks in the input." } }, @@ -1037,6 +1039,9 @@ "items": { "$ref": "#/definitions/Overlay" }, + "x-ms-identifiers": [ + "inputLabel" + ], "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays." } }, @@ -1220,6 +1225,7 @@ "items": { "$ref": "#/definitions/H264Layer" }, + "x-ms-identifiers": [], "description": "The collection of output H.264 layers to be produced by the encoder." } }, @@ -1239,6 +1245,7 @@ "items": { "$ref": "#/definitions/JpgLayer" }, + "x-ms-identifiers": [], "description": "A collection of output JPEG image layers to be produced by the encoder." }, "spriteColumn": { @@ -1280,6 +1287,7 @@ "items": { "$ref": "#/definitions/OutputFile" }, + "x-ms-identifiers": [], "description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ." } }, @@ -1326,6 +1334,7 @@ "items": { "$ref": "#/definitions/PngLayer" }, + "x-ms-identifiers": [], "description": "A collection of output PNG image layers to be produced by the encoder." } }, @@ -1471,6 +1480,7 @@ "items": { "$ref": "#/definitions/Codec" }, + "x-ms-identifiers": [], "description": "The list of codecs to be used when encoding the input video." }, "formats": { @@ -1478,6 +1488,7 @@ "items": { "$ref": "#/definitions/Format" }, + "x-ms-identifiers": [], "description": "The list of outputs to be produced by the encoder." } }, @@ -1755,6 +1766,7 @@ "items": { "$ref": "#/definitions/TransformOutput" }, + "x-ms-identifiers": [], "description": "An array of one or more TransformOutputs that the Transform should generate." } }, @@ -1831,6 +1843,7 @@ "items": { "$ref": "#/definitions/InputDefinition" }, + "x-ms-identifiers": [], "description": "Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata." } }, @@ -1904,6 +1917,7 @@ "items": { "$ref": "#/definitions/JobInput" }, + "x-ms-identifiers": [], "description": "List of inputs to a Job." } }, @@ -2176,6 +2190,9 @@ "items": { "$ref": "#/definitions/JobErrorDetail" }, + "x-ms-identifiers": [ + "code" + ], "description": "An array of details about specific errors that led to this reported error.", "readOnly": true } @@ -2296,6 +2313,7 @@ "items": { "$ref": "#/definitions/JobOutput" }, + "x-ms-identifiers": [], "description": "The outputs for the Job." }, "priority": { @@ -2367,6 +2385,7 @@ "items": { "$ref": "#/definitions/JobInputClip" }, + "x-ms-identifiers": [], "description": "JobInputs that make up the timeline." } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/StreamingPoliciesAndStreamingLocators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/StreamingPoliciesAndStreamingLocators.json index aa12f16d26e1..8e9331623350 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/StreamingPoliciesAndStreamingLocators.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/StreamingPoliciesAndStreamingLocators.json @@ -92,6 +92,7 @@ "items": { "$ref": "#/definitions/TrackPropertyCondition" }, + "x-ms-identifiers": [], "description": "TrackSelections is a track property condition list which can specify track(s)" } }, @@ -127,6 +128,7 @@ "items": { "$ref": "#/definitions/TrackSelection" }, + "x-ms-identifiers": [], "description": "Tracks which use this content key" } }, @@ -144,6 +146,9 @@ "items": { "$ref": "#/definitions/StreamingPolicyContentKey" }, + "x-ms-identifiers": [ + "label" + ], "description": "Representing tracks needs separate content key" } }, @@ -272,6 +277,7 @@ "items": { "$ref": "#/definitions/TrackSelection" }, + "x-ms-identifiers": [], "description": "Representing which tracks should not be encrypted" }, "contentKeys": { @@ -297,6 +303,7 @@ "items": { "$ref": "#/definitions/TrackSelection" }, + "x-ms-identifiers": [], "description": "Representing which tracks should not be encrypted" }, "contentKeys": { @@ -322,6 +329,7 @@ "items": { "$ref": "#/definitions/TrackSelection" }, + "x-ms-identifiers": [], "description": "Representing which tracks should not be encrypted" }, "contentKeys": { @@ -443,6 +451,7 @@ "items": { "$ref": "#/definitions/TrackSelection" }, + "x-ms-identifiers": [], "description": "Tracks which use this Content Key", "readOnly": true } @@ -616,6 +625,7 @@ "items": { "$ref": "#/definitions/StreamingPath" }, + "x-ms-identifiers": [], "description": "Streaming Paths supported by current Streaming Locator" }, "downloadPaths": { diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/streamingservice.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/streamingservice.json index a157ea33a196..d0bf97497d93 100644 --- a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/streamingservice.json +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-06-01/streamingservice.json @@ -1321,6 +1321,9 @@ "items": { "$ref": "#/definitions/LiveEventEndpoint" }, + "x-ms-identifiers": [ + "url" + ], "description": "The input endpoints for the live event." } }, @@ -1353,6 +1356,9 @@ "items": { "$ref": "#/definitions/IPRange" }, + "x-ms-identifiers": [ + "name" + ], "description": "The IP allow list." } }, @@ -1377,6 +1383,9 @@ "items": { "$ref": "#/definitions/LiveEventEndpoint" }, + "x-ms-identifiers": [ + "url" + ], "description": "The endpoints for preview. Do not share the preview URL with the live event audience." }, "accessControl": { @@ -1521,7 +1530,8 @@ "description": "Provides a mechanism to select the audio track in the input live feed, to which speech-to-text transcription is applied. This property is reserved for future use, any value set on this property will be ignored.", "items": { "$ref": "#/definitions/LiveEventInputTrackSelection" - } + }, + "x-ms-identifiers": [] }, "outputTranscriptionTrack": { "type": "object", @@ -1585,6 +1595,9 @@ "items": { "$ref": "#/definitions/LiveEventTranscription" }, + "x-ms-identifiers": [ + "language" + ], "description": "Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature." }, "provisioningState": { @@ -1764,6 +1777,9 @@ "items": { "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey" }, + "x-ms-identifiers": [ + "identifier" + ], "description": "authentication key list" } }, diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AccountFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AccountFilters.json new file mode 100644 index 000000000000..9a051070efbf --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AccountFilters.json @@ -0,0 +1,518 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "x-ms-identifiers": [], + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AccountFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Account Filter." + }, + "AccountFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "A collection of AccountFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AccountFilter items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters": { + "get": { + "summary": "List Account Filters", + "description": "List Account Filters in the Media Services account.", + "operationId": "AccountFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Account Filters": { + "$ref": "examples/accountFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/accountFilters/{filterName}": { + "get": { + "summary": "Get an Account Filter.", + "description": "Get the details of an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Account Filter by name": { + "$ref": "examples/accountFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Account Filter", + "description": "Creates or updates an Account Filter in the Media Services account.", + "operationId": "AccountFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Account Filter": { + "$ref": "examples/accountFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Account Filter.", + "description": "Deletes an Account Filter in the Media Services account.", + "operationId": "AccountFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Account Filter": { + "$ref": "examples/accountFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Account Filter", + "description": "Updates an existing Account Filter in the Media Services account.", + "operationId": "AccountFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Account Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Account Filter": { + "$ref": "examples/accountFilters-update.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AssetsAndAssetFilters.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AssetsAndAssetFilters.json new file mode 100644 index 000000000000..a3719ea6b4b6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/AssetsAndAssetFilters.json @@ -0,0 +1,2023 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "AssetProperties": { + "properties": { + "assetId": { + "type": "string", + "format": "uuid", + "description": "The Asset ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Asset.", + "readOnly": true, + "x-nullable": false + }, + "alternateId": { + "type": "string", + "description": "The alternate ID of the Asset." + }, + "description": { + "type": "string", + "description": "The Asset description." + }, + "container": { + "type": "string", + "description": "The name of the asset blob container." + }, + "storageAccountName": { + "type": "string", + "description": "The name of the storage account." + }, + "storageEncryptionFormat": { + "type": "string", + "enum": [ + "None", + "MediaStorageClientEncryption" + ], + "x-ms-enum": { + "name": "AssetStorageEncryptionFormat", + "values": [ + { + "value": "None", + "description": "The Asset does not use client-side storage encryption (this is the only allowed value for new Assets)." + }, + { + "value": "MediaStorageClientEncryption", + "description": "The Asset is encrypted with Media Services client-side encryption." + } + ], + "modelAsString": true + }, + "description": "The Asset encryption format. One of None or MediaStorageEncryption.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "The Asset properties." + }, + "AssetContainerSas": { + "properties": { + "assetContainerSasUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Asset container SAS URLs." + } + }, + "type": "object", + "description": "The Asset Storage container SAS URLs." + }, + "AssetFileEncryptionMetadata": { + "properties": { + "initializationVector": { + "type": "string", + "description": "The Asset File initialization vector." + }, + "assetFileName": { + "type": "string", + "description": "The Asset File name." + }, + "assetFileId": { + "type": "string", + "format": "uuid", + "description": "The Asset File Id." + } + }, + "type": "object", + "required": [ + "assetFileId" + ], + "description": "The Asset File Storage encryption metadata." + }, + "StorageEncryptedAssetDecryptionData": { + "properties": { + "key": { + "type": "string", + "format": "byte", + "description": "The Asset File storage encryption key." + }, + "assetFileEncryptionMetadata": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFileEncryptionMetadata" + }, + "x-ms-identifiers": [ + "assetFileId" + ], + "description": "Asset File encryption metadata." + } + }, + "type": "object", + "description": "Data needed to decrypt asset files encrypted with legacy storage encryption." + }, + "ListStreamingLocatorsResponse": { + "properties": { + "streamingLocators": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetStreamingLocator" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of Streaming Locators.", + "readOnly": true + } + }, + "type": "object", + "description": "The Streaming Locators associated with this Asset." + }, + "AssetStreamingLocator": { + "properties": { + "name": { + "type": "string", + "description": "Streaming Locator name.", + "readOnly": true + }, + "assetName": { + "type": "string", + "description": "Asset Name.", + "readOnly": true + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "StreamingLocatorId of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator.", + "readOnly": true + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator.", + "readOnly": true + } + }, + "type": "object", + "description": "Properties of the Streaming Locator." + }, + "Asset": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssetProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Asset." + }, + "PresentationTimeRange": { + "properties": { + "startTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute start time boundary." + }, + "endTimestamp": { + "type": "integer", + "format": "int64", + "description": "The absolute end time boundary." + }, + "presentationWindowDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end sliding window." + }, + "liveBackoffDuration": { + "type": "integer", + "format": "int64", + "description": "The relative to end right edge." + }, + "timescale": { + "type": "integer", + "format": "int64", + "description": "The time scale of time stamps." + }, + "forceEndTimestamp": { + "type": "boolean", + "description": "The indicator of forcing existing of end time stamp." + } + }, + "type": "object", + "description": "The presentation time range, this is asset related and not recommended for Account Filter." + }, + "FilterTrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "Type", + "Name", + "Language", + "FourCC", + "Bitrate" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "The unknown track property type." + }, + { + "value": "Type", + "description": "The type." + }, + { + "value": "Name", + "description": "The name." + }, + { + "value": "Language", + "description": "The language." + }, + { + "value": "FourCC", + "description": "The fourCC." + }, + { + "value": "Bitrate", + "description": "The bitrate." + } + ], + "modelAsString": true + }, + "description": "The track property type." + }, + "value": { + "type": "string", + "description": "The track property value." + }, + "operation": { + "type": "string", + "enum": [ + "Equal", + "NotEqual" + ], + "x-ms-enum": { + "name": "FilterTrackPropertyCompareOperation", + "values": [ + { + "value": "Equal", + "description": "The equal operation." + }, + { + "value": "NotEqual", + "description": "The not equal operation." + } + ], + "modelAsString": true + }, + "description": "The track property condition operation." + } + }, + "type": "object", + "required": [ + "property", + "value", + "operation" + ], + "description": "The class to specify one track property condition." + }, + "FirstQuality": { + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The first quality bitrate." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Filter First Quality" + }, + "FilterTrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "The track selections." + } + }, + "type": "object", + "required": [ + "trackSelections" + ], + "description": "Representing a list of FilterTrackPropertyConditions to select a track. The filters are combined using a logical AND operation." + }, + "MediaFilterProperties": { + "properties": { + "presentationTimeRange": { + "$ref": "#/definitions/PresentationTimeRange", + "description": "The presentation time range." + }, + "firstQuality": { + "$ref": "#/definitions/FirstQuality", + "description": "The first quality." + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/FilterTrackSelection" + }, + "x-ms-identifiers": [], + "description": "The tracks selection conditions." + } + }, + "type": "object", + "description": "The Media Filter properties." + }, + "AssetFilter": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MediaFilterProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "An Asset Filter." + }, + "HlsSettings": { + "properties": { + "default": { + "type": "boolean", + "description": "The default for the HLS setting." + }, + "forced": { + "type": "boolean", + "description": "The forced for the HLS setting." + }, + "characteristics": { + "type": "string", + "description": "The characteristics for the HLS setting." + } + }, + "type": "object", + "description": "The HLS setting for a text track." + }, + "TrackBase": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for concrete track types. A derived type must be used to represent the Track." + }, + "AudioTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": {}, + "type": "object", + "description": "Represents an audio track in the asset." + }, + "VideoTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a video track in the asset." + }, + "TextTrack": { + "x-ms-discriminator-value": "#Microsoft.Media.TextTrack", + "allOf": [ + { + "$ref": "#/definitions/TrackBase" + } + ], + "properties": { + "fileName": { + "type": "string", + "description": "The file name to the source file. This file is located in the storage container of the asset." + }, + "displayName": { + "type": "string", + "description": "The display name of the text track on a video player. In HLS, this maps to the NAME attribute of EXT-X-MEDIA." + }, + "languageCode": { + "type": "string", + "description": "The RFC5646 language code for the text track.", + "readOnly": true + }, + "playerVisibility": { + "type": "string", + "enum": [ + "Hidden", + "Visible" + ], + "x-ms-enum": { + "name": "Visibility", + "values": [ + { + "value": "Hidden", + "description": "The track is hidden to video player." + }, + { + "value": "Visible", + "description": "The track is visible to video player." + } + ], + "modelAsString": true + }, + "description": "When PlayerVisibility is set to \"Visible\", the text track will be present in the DASH manifest or HLS playlist when requested by a client. When the PlayerVisibility is set to \"Hidden\", the text will not be available to the client. The default value is \"Visible\"." + }, + "hlsSettings": { + "$ref": "#/definitions/HlsSettings", + "description": "The HLS specific setting for the text track." + } + }, + "type": "object", + "description": "Represents a text track in an asset. A text track is usually used for sparse data related to the audio or video tracks." + }, + "AssetTrackProperties": { + "properties": { + "track": { + "$ref": "#/definitions/TrackBase", + "description": "Detailed information about a track in the asset." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Failed", + "InProgress", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "values": [ + { + "value": "Failed", + "description": "Provisioning state failed." + }, + { + "value": "InProgress", + "description": "Provisioning state in progress." + }, + { + "value": "Succeeded", + "description": "Provisioning state succeeded." + } + ], + "modelAsString": true + }, + "description": "Provisioning state of the asset track.", + "readOnly": true, + "x-nullable": false + } + }, + "type": "object", + "description": "Properties of a video, audio or text track in the asset." + }, + "AssetTrack": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssetTrackProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "description": "An Asset Track resource." + }, + "AssetTrackOperationStatus": { + "properties": { + "name": { + "type": "string", + "description": "Operation identifier." + }, + "id": { + "type": "string", + "description": "Operation resource ID." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Operation start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Operation end time." + }, + "status": { + "type": "string", + "description": "Operation status." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "name", + "status" + ], + "description": "Status of asset track operation." + }, + "AssetCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Asset" + }, + "description": "A collection of Asset items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Asset items." + }, + "ListContainerSasInput": { + "description": "The parameters to the list SAS request.", + "properties": { + "permissions": { + "description": "The permissions to set on the SAS URL.", + "type": "string", + "enum": [ + "Read", + "ReadWrite", + "ReadWriteDelete" + ], + "x-ms-enum": { + "name": "AssetContainerPermission", + "values": [ + { + "value": "Read", + "description": "The SAS URL will allow read access to the container." + }, + { + "value": "ReadWrite", + "description": "The SAS URL will allow read and write access to the container." + }, + { + "value": "ReadWriteDelete", + "description": "The SAS URL will allow read, write and delete access to the container." + } + ], + "modelAsString": true + } + }, + "expiryTime": { + "description": "The SAS URL expiration time. This must be less than 24 hours from the current time.", + "type": "string", + "format": "date-time" + } + }, + "type": "object" + }, + "AssetFilterCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "A collection of AssetFilter items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of AssetFilter items." + }, + "AssetTrackCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "A collection of AssetTrack items." + } + }, + "type": "object", + "description": "A collection of AssetTrack items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets": { + "get": { + "summary": "List Assets", + "description": "List Assets in the Media Services account with optional filtering and ordering", + "operationId": "Assets_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Asset", + "x-ms-examples": { + "List all Assets": { + "$ref": "examples/assets-list-all.json" + }, + "List Asset ordered by date": { + "$ref": "examples/assets-list-by-date.json" + }, + "List Asset created in a date range": { + "$ref": "examples/assets-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}": { + "get": { + "summary": "Get an Asset", + "description": "Get the details of an Asset in the Media Services account", + "operationId": "Assets_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset by name": { + "$ref": "examples/assets-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset", + "description": "Creates or updates an Asset in the Media Services account", + "operationId": "Assets_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset": { + "$ref": "examples/assets-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset.", + "description": "Deletes an Asset in the Media Services account", + "operationId": "Assets_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset": { + "$ref": "examples/assets-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset", + "description": "Updates an existing Asset in the Media Services account", + "operationId": "Assets_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Asset" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Asset" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset": { + "$ref": "examples/assets-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listContainerSas": { + "post": { + "summary": "List the Asset URLs", + "description": "Lists storage container URLs with shared access signatures (SAS) for uploading and downloading Asset content. The signatures are derived from the storage account keys.", + "operationId": "Assets_ListContainerSas", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetContainerSas" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListContainerSasInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-sas-urls.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/getEncryptionKey": { + "post": { + "summary": "Gets the Asset storage key", + "description": "Gets the Asset storage encryption keys used to decrypt content created by version 2 of the Media Services API", + "operationId": "Assets_GetEncryptionKey", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageEncryptedAssetDecryptionData" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get Asset Storage Encryption Keys": { + "$ref": "examples/assets-get-encryption-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/listStreamingLocators": { + "post": { + "summary": "List Streaming Locators", + "description": "Lists Streaming Locators which are associated with this asset.", + "operationId": "Assets_ListStreamingLocators", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListStreamingLocatorsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Asset SAS URLs": { + "$ref": "examples/assets-list-streaming-locators.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters": { + "get": { + "summary": "List Asset Filters", + "description": "List Asset Filters associated with the specified Asset.", + "operationId": "AssetFilters_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilterCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Asset Filters": { + "$ref": "examples/assetFilters-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/assetFilters/{filterName}": { + "get": { + "summary": "Get an Asset Filter.", + "description": "Get the details of an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Asset Filter by name": { + "$ref": "examples/assetFilters-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Asset Filter", + "description": "Creates or updates an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create an Asset Filter": { + "$ref": "examples/assetFilters-create.json" + } + } + }, + "delete": { + "summary": "Delete an Asset Filter.", + "description": "Deletes an Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete an Asset Filter": { + "$ref": "examples/assetFilters-delete.json" + } + } + }, + "patch": { + "summary": "Update an Asset Filter", + "description": "Updates an existing Asset Filter associated with the specified Asset.", + "operationId": "AssetFilters_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetFilter" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "filterName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Filter name" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetFilter" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update an Asset Filter": { + "$ref": "examples/assetFilters-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks": { + "get": { + "summary": "List Tracks in the Asset", + "description": "Lists the Tracks in the asset", + "operationId": "Tracks_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrackCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Lists all Tracks": { + "$ref": "examples/asset-tracks-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}": { + "get": { + "summary": "Get a Track", + "description": "Get the details of a Track in the Asset", + "operationId": "Tracks_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Track by name": { + "$ref": "examples/asset-tracks-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update a Track", + "description": "Create or update a Track in the asset", + "operationId": "Tracks_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "201": { + "description": "Created", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a Track": { + "$ref": "examples/asset-tracks-create.json" + } + } + }, + "delete": { + "summary": "Delete a Track", + "description": "Deletes a Track in the asset", + "operationId": "Tracks_Delete", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a Track": { + "$ref": "examples/asset-tracks-delete.json" + } + } + }, + "patch": { + "summary": "Update an Track", + "description": "Updates an existing Track in the asset", + "operationId": "Tracks_Update", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AssetTrack" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a Track": { + "$ref": "examples/asset-tracks-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/updateTrackData": { + "post": { + "summary": "Update the track data", + "description": "Update the track data. Call this API after any changes are made to the track data stored in the asset container. For example, you have modified the WebVTT captions file in the Azure blob storage container for the asset, viewers will not see the new version of the captions unless this API is called. Note, the changes may not be reflected immediately. CDN cache may also need to be purged if applicable.", + "operationId": "Tracks_UpdateTrackData", + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the data for a tracks": { + "$ref": "examples/asset-tracks-update-data.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/operationStatuses/{operationId}": { + "get": { + "summary": "Get operation status.", + "description": "Get asset track operation status.", + "operationId": "OperationStatuses_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrackOperationStatus" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get status of asynchronous operation when it is completed.": { + "$ref": "examples/asset-tracks-operation-status-by-id-terminal-state.json" + }, + "Get status of asynchronous operation when it is ongoing.": { + "$ref": "examples/asset-tracks-operation-status-by-id-non-terminal-state.json" + }, + "Get status of asynchronous operation when it is completed with error.": { + "$ref": "examples/asset-tracks-operation-status-by-id-terminal-state-failed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/operationResults/{operationId}": { + "get": { + "summary": "Get operation result.", + "description": "Get asset track operation result.", + "operationId": "OperationResults_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AssetTrack" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "assetName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset name." + }, + { + "name": "trackName", + "in": "path", + "required": true, + "type": "string", + "description": "The Asset Track name." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation Id." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get result of asynchronous operation.": { + "$ref": "examples/asset-tracks-operation-result-by-id.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/ContentKeyPolicies.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/ContentKeyPolicies.json new file mode 100644 index 000000000000..5f765822749d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/ContentKeyPolicies.json @@ -0,0 +1,1175 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction": { + "properties": { + "bestEffort": { + "type": "boolean", + "description": "Indicates whether this restriction is enforced on a Best Effort basis." + }, + "configurationData": { + "type": "integer", + "format": "int32", + "description": "Configures the restriction control bits. Must be between 0 and 3 inclusive." + } + }, + "type": "object", + "required": [ + "bestEffort", + "configurationData" + ], + "description": "Configures the Explicit Analog Television Output Restriction control bits. For further details see the PlayReady Compliance Rules." + }, + "ContentKeyPolicyPlayReadyContentKeyLocation": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for content key ID location. A derived class must be used to represent the location." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": {}, + "type": "object", + "description": "Specifies that the content key ID is in the PlayReady header." + }, + "ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation" + } + ], + "properties": { + "keyId": { + "type": "string", + "format": "uuid", + "description": "The content key ID.", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyId" + ], + "description": "Specifies that the content key ID is specified in the PlayReady configuration." + }, + "ContentKeyPolicyPlayReadyPlayRight": { + "properties": { + "firstPlayExpiration": { + "type": "string", + "format": "duration", + "description": "The amount of time that the license is valid after the license is first used to play content." + }, + "scmsRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures the Serial Copy Management System (SCMS) in the license. Must be between 0 and 3 inclusive." + }, + "agcAndColorStripeRestriction": { + "type": "integer", + "format": "int32", + "description": "Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive." + }, + "explicitAnalogTelevisionOutputRestriction": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyExplicitAnalogTelevisionRestriction", + "description": "Configures the Explicit Analog Television Output Restriction in the license. Configuration data must be between 0 and 3 inclusive." + }, + "digitalVideoOnlyContentRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComponentVideoRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "imageConstraintForAnalogComputerMonitorRestriction": { + "type": "boolean", + "description": "Enables the Image Constraint For Analog Component Video Restriction in the license." + }, + "allowPassingVideoContentToUnknownOutput": { + "type": "string", + "enum": [ + "Unknown", + "NotAllowed", + "Allowed", + "AllowedWithVideoConstriction" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyUnknownOutputPassingOption", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyUnknownOutputPassingOption that is unavailable in current API version." + }, + { + "value": "NotAllowed", + "description": "Passing the video portion of protected content to an Unknown Output is not allowed." + }, + { + "value": "Allowed", + "description": "Passing the video portion of protected content to an Unknown Output is allowed." + }, + { + "value": "AllowedWithVideoConstriction", + "description": "Passing the video portion of protected content to an Unknown Output is allowed but with constrained resolution." + } + ], + "modelAsString": true + }, + "description": "Configures Unknown output handling settings of the license." + }, + "uncompressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital video." + }, + "compressedDigitalVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital video." + }, + "analogVideoOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "compressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for compressed digital audio." + }, + "uncompressedDigitalAudioOpl": { + "type": "integer", + "format": "int32", + "description": "Specifies the output protection level for uncompressed digital audio." + } + }, + "type": "object", + "required": [ + "digitalVideoOnlyContentRestriction", + "imageConstraintForAnalogComponentVideoRestriction", + "imageConstraintForAnalogComputerMonitorRestriction", + "allowPassingVideoContentToUnknownOutput" + ], + "description": "Configures the Play Right in the PlayReady license." + }, + "ContentKeyPolicyTokenClaim": { + "properties": { + "claimType": { + "type": "string", + "description": "Token claim type." + }, + "claimValue": { + "type": "string", + "description": "Token claim value." + } + }, + "type": "object", + "description": "Represents a token claim." + }, + "ContentKeyPolicyPlayReadyLicense": { + "properties": { + "allowTestDevices": { + "type": "boolean", + "description": "A flag indicating whether test devices can use the license." + }, + "beginDate": { + "type": "string", + "format": "date-time", + "description": "The begin date of license" + }, + "expirationDate": { + "type": "string", + "format": "date-time", + "description": "The expiration date of license." + }, + "relativeBeginDate": { + "type": "string", + "format": "duration", + "description": "The relative begin date of license." + }, + "relativeExpirationDate": { + "type": "string", + "format": "duration", + "description": "The relative expiration date of license." + }, + "gracePeriod": { + "type": "string", + "format": "duration", + "description": "The grace period of license." + }, + "playRight": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyPlayRight", + "description": "The license PlayRight" + }, + "licenseType": { + "type": "string", + "enum": [ + "Unknown", + "NonPersistent", + "Persistent" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyLicenseType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyLicenseType that is unavailable in current API version." + }, + { + "value": "NonPersistent", + "description": "Non persistent license." + }, + { + "value": "Persistent", + "description": "Persistent license. Allows offline playback." + } + ], + "modelAsString": true + }, + "description": "The license type." + }, + "contentKeyLocation": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyContentKeyLocation", + "description": "The content key location." + }, + "contentType": { + "type": "string", + "enum": [ + "Unknown", + "Unspecified", + "UltraVioletDownload", + "UltraVioletStreaming" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyPlayReadyContentType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyPlayReadyContentType that is unavailable in current API version." + }, + { + "value": "Unspecified", + "description": "Unspecified content type." + }, + { + "value": "UltraVioletDownload", + "description": "Ultraviolet download content type." + }, + { + "value": "UltraVioletStreaming", + "description": "Ultraviolet streaming content type." + } + ], + "modelAsString": true + }, + "description": "The PlayReady content type." + } + }, + "type": "object", + "required": [ + "allowTestDevices", + "licenseType", + "contentKeyLocation", + "contentType" + ], + "description": "The PlayReady license" + }, + "ContentKeyPolicyRestriction": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy restrictions. A derived class must be used to create a restriction." + }, + "ContentKeyPolicyOpenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyOpenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents an open restriction. License or key will be delivered on every request." + }, + "ContentKeyPolicyUnknownRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyRestriction that is unavailable in the current API version." + }, + "ContentKeyPolicyConfiguration": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy configuration. A derived class must be used to create a configuration." + }, + "ContentKeyPolicyRestrictionTokenKey": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for Content Key Policy key for token validation. A derived class must be used to create a token key." + }, + "ContentKeyPolicySymmetricTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "keyValue": { + "type": "string", + "format": "byte", + "description": "The key value of the key", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "keyValue" + ], + "description": "Specifies a symmetric key for token validation." + }, + "ContentKeyPolicyRsaTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "exponent": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter exponent", + "x-nullable": true + }, + "modulus": { + "type": "string", + "format": "byte", + "description": "The RSA Parameter modulus", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "exponent", + "modulus" + ], + "description": "Specifies a RSA key for token validation" + }, + "ContentKeyPolicyX509CertificateTokenKey": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyX509CertificateTokenKey", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + } + ], + "properties": { + "rawBody": { + "type": "string", + "format": "byte", + "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)", + "x-nullable": true + } + }, + "type": "object", + "required": [ + "rawBody" + ], + "description": "Specifies a certificate for token validation." + }, + "ContentKeyPolicyTokenRestriction": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyRestriction" + } + ], + "properties": { + "issuer": { + "type": "string", + "description": "The token issuer." + }, + "audience": { + "type": "string", + "description": "The audience for the token." + }, + "primaryVerificationKey": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey", + "description": "The primary verification key." + }, + "alternateVerificationKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyRestrictionTokenKey" + }, + "x-ms-identifiers": [], + "description": "A list of alternative verification keys." + }, + "requiredClaims": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyTokenClaim" + }, + "x-ms-identifiers": [], + "description": "A list of required token claims." + }, + "restrictionTokenType": { + "type": "string", + "enum": [ + "Unknown", + "Swt", + "Jwt" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyRestrictionTokenType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyRestrictionTokenType that is unavailable in current API version." + }, + { + "value": "Swt", + "description": "Simple Web Token." + }, + { + "value": "Jwt", + "description": "JSON Web Token." + } + ], + "modelAsString": true + }, + "description": "The type of token." + }, + "openIdConnectDiscoveryDocument": { + "type": "string", + "description": "The OpenID connect discovery document." + } + }, + "type": "object", + "required": [ + "issuer", + "audience", + "primaryVerificationKey", + "restrictionTokenType" + ], + "description": "Represents a token restriction. Provided token must match these requirements for successful license or key delivery." + }, + "ContentKeyPolicyClearKeyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a configuration for non-DRM keys." + }, + "ContentKeyPolicyUnknownConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyUnknownConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": {}, + "type": "object", + "description": "Represents a ContentKeyPolicyConfiguration that is unavailable in the current API version." + }, + "ContentKeyPolicyWidevineConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "widevineTemplate": { + "type": "string", + "description": "The Widevine template." + } + }, + "type": "object", + "required": [ + "widevineTemplate" + ], + "description": "Specifies a configuration for Widevine licenses." + }, + "ContentKeyPolicyPlayReadyConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "licenses": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyPlayReadyLicense" + }, + "x-ms-identifiers": [], + "description": "The PlayReady licenses." + }, + "responseCustomData": { + "type": "string", + "description": "The custom response data." + } + }, + "type": "object", + "required": [ + "licenses" + ], + "description": "Specifies a configuration for PlayReady licenses." + }, + "ContentKeyPolicyFairPlayOfflineRentalConfiguration": { + "properties": { + "playbackDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Playback duration" + }, + "storageDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Storage duration" + } + }, + "type": "object", + "required": [ + "playbackDurationSeconds", + "storageDurationSeconds" + ] + }, + "ContentKeyPolicyFairPlayConfiguration": { + "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration", + "allOf": [ + { + "$ref": "#/definitions/ContentKeyPolicyConfiguration" + } + ], + "properties": { + "ask": { + "type": "string", + "format": "byte", + "description": "The key that must be used as FairPlay Application Secret key.", + "x-nullable": true + }, + "fairPlayPfxPassword": { + "type": "string", + "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format.", + "x-nullable": true + }, + "fairPlayPfx": { + "type": "string", + "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).", + "x-nullable": true + }, + "rentalAndLeaseKeyType": { + "type": "string", + "enum": [ + "Unknown", + "Undefined", + "DualExpiry", + "PersistentUnlimited", + "PersistentLimited" + ], + "x-ms-enum": { + "name": "ContentKeyPolicyFairPlayRentalAndLeaseKeyType", + "values": [ + { + "value": "Unknown", + "description": "Represents a ContentKeyPolicyFairPlayRentalAndLeaseKeyType that is unavailable in current API version." + }, + { + "value": "Undefined", + "description": "Key duration is not specified." + }, + { + "value": "DualExpiry", + "description": "Dual expiry for offline rental." + }, + { + "value": "PersistentUnlimited", + "description": "Content key can be persisted with an unlimited duration" + }, + { + "value": "PersistentLimited", + "description": "Content key can be persisted and the valid duration is limited by the Rental Duration value" + } + ], + "modelAsString": true + }, + "description": "The rental and lease key type." + }, + "rentalDuration": { + "type": "integer", + "format": "int64", + "description": "The rental duration. Must be greater than or equal to 0." + }, + "offlineRentalConfiguration": { + "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration", + "description": "Offline rental policy" + } + }, + "type": "object", + "required": [ + "ask", + "fairPlayPfxPassword", + "fairPlayPfx", + "rentalAndLeaseKeyType", + "rentalDuration" + ], + "description": "Specifies a configuration for FairPlay licenses." + }, + "ContentKeyPolicyOption": { + "properties": { + "policyOptionId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy Option ID.", + "readOnly": true, + "x-nullable": false + }, + "name": { + "type": "string", + "description": "The Policy Option description." + }, + "configuration": { + "$ref": "#/definitions/ContentKeyPolicyConfiguration", + "description": "The key delivery configuration." + }, + "restriction": { + "$ref": "#/definitions/ContentKeyPolicyRestriction", + "description": "The requirements that must be met to deliver keys with this configuration" + } + }, + "type": "object", + "required": [ + "configuration", + "restriction" + ], + "description": "Represents a policy option." + }, + "ContentKeyPolicyProperties": { + "properties": { + "policyId": { + "type": "string", + "format": "uuid", + "description": "The legacy Policy ID.", + "readOnly": true, + "x-nullable": false + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The last modified date of the Policy", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "A description for the Policy." + }, + "options": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicyOption" + }, + "x-ms-identifiers": [ + "policyOptionId" + ], + "description": "The Key Policy options." + } + }, + "type": "object", + "required": [ + "options" + ], + "description": "The properties of the Content Key Policy." + }, + "ContentKeyPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ContentKeyPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Content Key Policy resource." + }, + "ContentKeyPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "A collection of ContentKeyPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of ContentKeyPolicy items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies": { + "get": { + "summary": "List Content Key Policies", + "description": "Lists the Content Key Policies in the account", + "operationId": "ContentKeyPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/ContentKeyPolicy", + "x-ms-examples": { + "Lists all Content Key Policies": { + "$ref": "examples/content-key-policies-list-all.json" + }, + "Lists Content Key Policies ordered by last modified.": { + "$ref": "examples/content-key-policies-list-by-lastModified.json" + }, + "Lists Content Key Policies with created and last modified filters.": { + "$ref": "examples/content-key-policies-list-in-date-range.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}": { + "get": { + "summary": "Get a Content Key Policy", + "description": "Get the details of a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Content Key Policy by name": { + "$ref": "examples/content-key-policies-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or update an Content Key Policy", + "description": "Create or update a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Content Key Policy with PlayReady option and Open Restriction": { + "$ref": "examples/content-key-policies-create-playready-open.json" + }, + "Creates a Content Key Policy with Widevine option and Token Restriction": { + "$ref": "examples/content-key-policies-create-widevine-token.json" + }, + "Creates a Content Key Policy with ClearKey option and Token Restriction": { + "$ref": "examples/content-key-policies-create-nodrm-token.json" + }, + "Creates a Content Key Policy with multiple options": { + "$ref": "examples/content-key-policies-create-multiple-options.json" + } + } + }, + "delete": { + "summary": "Delete a Content Key Policy", + "description": "Deletes a Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Key Policy": { + "$ref": "examples/content-key-policies-delete.json" + } + } + }, + "patch": { + "summary": "Update a Content Key Policy", + "description": "Updates an existing Content Key Policy in the Media Services account", + "operationId": "ContentKeyPolicies_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ContentKeyPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Content Key Policy": { + "$ref": "examples/content-key-policies-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/contentKeyPolicies/{contentKeyPolicyName}/getPolicyPropertiesWithSecrets": { + "post": { + "summary": "Get a Content Key Policy with secrets", + "description": "Get a Content Key Policy including secret values", + "operationId": "ContentKeyPolicies_GetPolicyPropertiesWithSecrets", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContentKeyPolicyProperties" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "contentKeyPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Content Key Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get an Content Key Policy with secrets": { + "$ref": "examples/content-key-policies-get-with-secrets.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/Encoding.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/Encoding.json new file mode 100644 index 000000000000..70756c53fb91 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/Encoding.json @@ -0,0 +1,3233 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "Preset": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for all Presets, which define the recipe or instructions on how the input media files should be processed." + }, + "Codec": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "label": { + "type": "string", + "description": "An optional label for the codec. The label can be used to control muxing behavior." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Describes the basic properties of all codecs." + }, + "Audio": { + "x-ms-discriminator-value": "#Microsoft.Media.Audio", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "channels": { + "type": "integer", + "format": "int32", + "description": "The number of channels in the audio." + }, + "samplingRate": { + "type": "integer", + "format": "int32", + "description": "The sampling rate to use for encoding in hertz." + }, + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The bitrate, in bits per second, of the output encoded audio." + } + }, + "type": "object", + "description": "Defines the common properties for all audio codecs." + }, + "AacAudio": { + "x-ms-discriminator-value": "#Microsoft.Media.AacAudio", + "allOf": [ + { + "$ref": "#/definitions/Audio" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "AacLc", + "HeAacV1", + "HeAacV2" + ], + "x-ms-enum": { + "name": "AacAudioProfile", + "values": [ + { + "value": "AacLc", + "description": "Specifies that the output audio is to be encoded into AAC Low Complexity profile (AAC-LC)." + }, + { + "value": "HeAacV1", + "description": "Specifies that the output audio is to be encoded into HE-AAC v1 profile." + }, + { + "value": "HeAacV2", + "description": "Specifies that the output audio is to be encoded into HE-AAC v2 profile." + } + ], + "modelAsString": true + }, + "description": "The encoding profile to be used when encoding audio with AAC." + } + }, + "type": "object", + "description": "Describes Advanced Audio Codec (AAC) audio encoding settings." + }, + "Layer": { + "properties": { + "width": { + "type": "string", + "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." + }, + "height": { + "type": "string", + "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." + }, + "label": { + "type": "string", + "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." + } + }, + "type": "object", + "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." + }, + "H265VideoLayer": { + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. For example: a target bitrate of 3000Kbps or 3Mbps means this value should be 3000000 This is a required field." + }, + "maxBitrate": { + "type": "integer", + "format": "int32", + "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate." + }, + "bFrames": { + "type": "integer", + "format": "int32", + "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level." + }, + "frameRate": { + "type": "string", + "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video." + }, + "slices": { + "type": "integer", + "format": "int32", + "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame." + }, + "adaptiveBFrame": { + "type": "boolean", + "description": "Specifies whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer." + }, + "H265Layer": { + "allOf": [ + { + "$ref": "#/definitions/H265VideoLayer" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "Auto", + "Main", + "Main10" + ], + "x-ms-enum": { + "name": "H265VideoProfile", + "values": [ + { + "value": "Auto", + "description": "Tells the encoder to automatically determine the appropriate H.265 profile." + }, + { + "value": "Main", + "description": "Main profile (https://x265.readthedocs.io/en/default/cli.html?highlight=profile#profile-level-tier)" + }, + { + "description": "Main 10 profile (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Main_10)", + "value": "Main10" + } + ], + "modelAsString": true + }, + "description": "We currently support Main. Default is Auto." + }, + "level": { + "type": "string", + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.265 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + }, + "bufferWindow": { + "type": "string", + "format": "duration", + "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)." + }, + "crf": { + "description": "The value of CRF to be used when encoding this layer. This setting takes effect when RateControlMode of video codec is set at CRF mode. The range of CRF value is between 0 and 51, where lower values would result in better quality, at the expense of higher file sizes. Higher values mean more compression, but at some point quality degradation will be noticed. Default value is 28.", + "format": "float", + "type": "number" + }, + "referenceFrames": { + "type": "integer", + "format": "int32", + "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting." + } + }, + "type": "object", + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.265 video codec." + }, + "Video": { + "x-ms-discriminator-value": "#Microsoft.Media.Video", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "The distance between two key frames. The value should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 format. The default is 2 seconds(PT2S). Note that this setting is ignored if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will follow the input source setting." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" + }, + "syncMode": { + "type": "string", + "enum": [ + "Auto", + "Passthrough", + "Cfr", + "Vfr" + ], + "x-ms-enum": { + "name": "VideoSyncMode", + "values": [ + { + "value": "Auto", + "description": "This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr." + }, + { + "value": "Passthrough", + "description": "The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior" + }, + { + "value": "Cfr", + "description": "Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value" + }, + { + "value": "Vfr", + "description": "Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input" + } + ], + "modelAsString": true + }, + "description": "The Video Sync Mode" + } + }, + "type": "object", + "description": "Describes the basic properties for encoding the input video." + }, + "H265Video": { + "x-ms-discriminator-value": "#Microsoft.Media.H265Video", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "sceneChangeDetection": { + "type": "boolean", + "description": "Specifies whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video." + }, + "complexity": { + "type": "string", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], + "x-ms-enum": { + "name": "H265Complexity", + "values": [ + { + "value": "Speed", + "description": "Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time." + }, + { + "value": "Balanced", + "description": "Tells the encoder to use settings that achieve a balance between speed and quality." + }, + { + "value": "Quality", + "description": "Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time." + } + ], + "modelAsString": true + }, + "description": "Tells the encoder how to choose its encoding settings. Quality will provide for a higher compression ratio but at a higher cost and longer compute time. Speed will produce a relatively larger file but is faster and more economical. The default value is Balanced." + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/H265Layer" + }, + "x-ms-identifiers": [], + "description": "The collection of output H.265 layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes all the properties for encoding a video with the H.265 codec." + }, + "TrackDescriptor": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for all TrackDescriptor types, which define the metadata and selection for tracks that should be processed by a Job" + }, + "AudioTrackDescriptor": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioTrackDescriptor", + "allOf": [ + { + "$ref": "#/definitions/TrackDescriptor" + } + ], + "properties": { + "channelMapping": { + "type": "string", + "enum": [ + "FrontLeft", + "FrontRight", + "Center", + "LowFrequencyEffects", + "BackLeft", + "BackRight", + "StereoLeft", + "StereoRight" + ], + "x-ms-enum": { + "name": "ChannelMapping", + "values": [ + { + "value": "FrontLeft", + "description": "The Front Left Channel." + }, + { + "value": "FrontRight", + "description": "The Front Right Channel." + }, + { + "value": "Center", + "description": "The Center Channel." + }, + { + "value": "LowFrequencyEffects", + "description": "Low Frequency Effects Channel. Sometimes referred to as the Subwoofer." + }, + { + "value": "BackLeft", + "description": "The Back Left Channel. Sometimes referred to as the Left Surround Channel." + }, + { + "value": "BackRight", + "description": "The Back Right Channel. Sometimes referred to as the Right Surround Channel." + }, + { + "value": "StereoLeft", + "description": "The Left Stereo channel. Sometimes referred to as Down Mix Left." + }, + { + "value": "StereoRight", + "description": "The Right Stereo channel. Sometimes referred to as Down Mix Right." + } + ], + "modelAsString": true + }, + "description": "Optional designation for single channel audio tracks. Can be used to combine the tracks into stereo or multi-channel audio tracks." + } + }, + "type": "object", + "description": "A TrackSelection to select audio tracks." + }, + "SelectAudioTrackByAttribute": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectAudioTrackByAttribute", + "allOf": [ + { + "$ref": "#/definitions/AudioTrackDescriptor" + } + ], + "properties": { + "attribute": { + "type": "string", + "enum": [ + "Bitrate", + "Language" + ], + "x-ms-enum": { + "name": "TrackAttribute", + "values": [ + { + "value": "Bitrate", + "description": "The bitrate of the track." + }, + { + "value": "Language", + "description": "The language of the track." + } + ], + "modelAsString": true + }, + "description": "The TrackAttribute to filter the tracks by." + }, + "filter": { + "type": "string", + "enum": [ + "All", + "Top", + "Bottom", + "ValueEquals" + ], + "x-ms-enum": { + "name": "AttributeFilter", + "values": [ + { + "value": "All", + "description": "All tracks will be included." + }, + { + "value": "Top", + "description": "The first track will be included when the attribute is sorted in descending order. Generally used to select the largest bitrate." + }, + { + "value": "Bottom", + "description": "The first track will be included when the attribute is sorted in ascending order. Generally used to select the smallest bitrate." + }, + { + "value": "ValueEquals", + "description": "Any tracks that have an attribute equal to the value given will be included." + } + ], + "modelAsString": true + }, + "description": "The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks." + }, + "filterValue": { + "type": "string", + "description": "The value to filter the tracks by. Only used when AttributeFilter.ValueEquals is specified for the Filter property." + } + }, + "type": "object", + "required": [ + "attribute", + "filter" + ], + "description": "Select audio tracks from the input by specifying an attribute and an attribute filter." + }, + "SelectAudioTrackById": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectAudioTrackById", + "allOf": [ + { + "$ref": "#/definitions/AudioTrackDescriptor" + } + ], + "properties": { + "trackId": { + "type": "integer", + "format": "int64", + "description": "Track identifier to select" + } + }, + "type": "object", + "required": [ + "trackId" + ], + "description": "Select audio tracks from the input by specifying a track identifier." + }, + "InputDefinition": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "includedTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackDescriptor" + }, + "x-ms-identifiers": [], + "description": "The list of TrackDescriptors which define the metadata and selection of tracks in the input." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for defining an input. Use sub classes of this class to specify tracks selections and related metadata." + }, + "FromAllInputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.FromAllInputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": {}, + "type": "object", + "description": "An InputDefinition that looks across all of the files provided to select tracks specified by the IncludedTracks property. Generally used with the AudioTrackByAttribute and VideoTrackByAttribute to allow selection of a single track across a set of input files." + }, + "FromEachInputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.FromEachInputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": {}, + "type": "object", + "description": "An InputDefinition that looks at each input file provided to select tracks specified by the IncludedTracks property. Generally used with the AudioTrackByAttribute and VideoTrackByAttribute to select tracks from each file given." + }, + "InputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.InputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": { + "filename": { + "type": "string", + "description": "Name of the file that this input definition applies to." + } + }, + "type": "object", + "description": "An InputDefinition for a single file. TrackSelections are scoped to the file specified." + }, + "FaceDetectorPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.FaceDetectorPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "resolution": { + "type": "string", + "enum": [ + "SourceResolution", + "StandardDefinition" + ], + "x-ms-enum": { + "name": "AnalysisResolution", + "values": [ + { + "value": "SourceResolution" + }, + { + "value": "StandardDefinition" + } + ], + "modelAsString": true + }, + "description": "Specifies the maximum resolution at which your video is analyzed. The default behavior is \"SourceResolution,\" which will keep the input video at its original resolution when analyzed. Using \"StandardDefinition\" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to \"StandardDefinition\" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected." + }, + "mode": { + "type": "string", + "enum": [ + "Analyze", + "Redact", + "Combined" + ], + "x-ms-enum": { + "name": "FaceRedactorMode", + "values": [ + { + "value": "Analyze", + "description": "Analyze mode detects faces and outputs a metadata file with the results. Allows editing of the metadata file before faces are blurred with Redact mode." + }, + { + "value": "Redact", + "description": "Redact mode consumes the metadata file from Analyze mode and redacts the faces found." + }, + { + "value": "Combined", + "description": "Combined mode does the Analyze and Redact steps in one pass when editing the analyzed faces is not desired." + } + ], + "modelAsString": true + }, + "description": "This mode provides the ability to choose between the following settings: 1) Analyze - For detection only.This mode generates a metadata JSON file marking appearances of faces throughout the video.Where possible, appearances of the same person are assigned the same ID. 2) Combined - Additionally redacts(blurs) detected faces. 3) Redact - This enables a 2-pass process, allowing for selective redaction of a subset of detected faces.It takes in the metadata file from a prior analyze pass, along with the source video, and a user-selected subset of IDs that require redaction." + }, + "blurType": { + "type": "string", + "enum": [ + "Box", + "Low", + "Med", + "High", + "Black" + ], + "x-ms-enum": { + "name": "BlurType", + "values": [ + { + "value": "Box", + "description": "Box: debug filter, bounding box only" + }, + { + "value": "Low", + "description": "Low: box-car blur filter" + }, + { + "value": "Med", + "description": "Med: Gaussian blur filter" + }, + { + "value": "High", + "description": "High: Confuse blur filter" + }, + { + "value": "Black", + "description": "Black: Black out filter" + } + ], + "modelAsString": true + }, + "description": "Blur type" + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" + } + }, + "type": "object", + "description": "Describes all the settings to be used when analyzing a video in order to detect (and optionally redact) all the faces present." + }, + "AudioAnalyzerPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioAnalyzerPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "audioLanguage": { + "type": "string", + "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. The language must be specified explicitly for AudioAnalysisMode::Basic, since automatic language detection is not included in basic mode. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463" + }, + "mode": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "x-ms-enum": { + "name": "AudioAnalysisMode", + "values": [ + { + "value": "Standard", + "description": "Performs all operations included in the Basic mode, additionally performing language detection and speaker diarization." + }, + { + "value": "Basic", + "description": "This mode performs speech-to-text transcription and generation of a VTT subtitle/caption file. The output of this mode includes an Insights JSON file including only the keywords, transcription,and timing information. Automatic language detection and speaker diarization are not included in this mode." + } + ], + "modelAsString": true + }, + "description": "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen." + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" + } + }, + "type": "object", + "description": "The Audio Analyzer preset applies a pre-defined set of AI-based analysis operations, including speech transcription. Currently, the preset supports processing of content with a single audio track." + }, + "Overlay": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "inputLabel": { + "type": "string", + "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG, PNG, GIF or BMP format, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats." + }, + "start": { + "type": "string", + "format": "duration", + "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video." + }, + "end": { + "type": "string", + "format": "duration", + "description": "The end position, with reference to the input video, at which the overlay ends. The value should be in ISO 8601 format. For example, PT30S to end the overlay at 30 seconds into the input video. If not specified or the value is greater than the input video duration, the overlay will be applied until the end of the input video if the overlay media duration is greater than the input video duration, else the overlay will last as long as the overlay media duration." + }, + "fadeInDuration": { + "type": "string", + "format": "duration", + "description": "The duration over which the overlay fades in onto the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade in (same as PT0S)." + }, + "fadeOutDuration": { + "type": "string", + "format": "duration", + "description": "The duration over which the overlay fades out of the input video. The value should be in ISO 8601 duration format. If not specified the default behavior is to have no fade out (same as PT0S)." + }, + "audioGainLevel": { + "type": "number", + "format": "double", + "description": "The gain level of audio in the overlay. The value should be in the range [0, 1.0]. The default is 1.0." + } + }, + "type": "object", + "required": [ + "@odata.type", + "inputLabel" + ], + "description": "Base type for all overlays - image, audio or video." + }, + "AudioOverlay": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioOverlay", + "allOf": [ + { + "$ref": "#/definitions/Overlay" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties of an audio overlay." + }, + "CopyVideo": { + "x-ms-discriminator-value": "#Microsoft.Media.CopyVideo", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": {}, + "type": "object", + "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding." + }, + "Image": { + "x-ms-discriminator-value": "#Microsoft.Media.Image", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "start": { + "type": "string", + "description": "The position in the input video from where to start generating thumbnails. The value can be in ISO 8601 format (For example, PT05S to start at 5 seconds), or a frame count (For example, 10 to start at the 10th frame), or a relative value to stream duration (For example, 10% to start at 10% of stream duration). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video and will only produce one thumbnail, no matter what other settings are for Step and Range. The default value is macro {Best}." + }, + "step": { + "type": "string", + "description": "The intervals at which thumbnails are generated. The value can be in ISO 8601 format (For example, PT05S for one image every 5 seconds), or a frame count (For example, 30 for one image every 30 frames), or a relative value to stream duration (For example, 10% for one image every 10% of stream duration). Note: Step value will affect the first generated thumbnail, which may not be exactly the one specified at transform preset start time. This is due to the encoder, which tries to select the best thumbnail between start time and Step position from start time as the first output. As the default value is 10%, it means if stream has long duration, the first generated thumbnail might be far away from the one specified at start time. Try to select reasonable value for Step if the first thumbnail is expected close to start time, or set Range value at 1 if only one thumbnail is needed at start time." + }, + "range": { + "type": "string", + "description": "The position relative to transform preset start time in the input video at which to stop generating thumbnails. The value can be in ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds from start time), or a frame count (For example, 300 to stop at the 300th frame from the frame at start time. If this value is 1, it means only producing one thumbnail at start time), or a relative value to the stream duration (For example, 50% to stop at half of stream duration from start time). The default value is 100%, which means to stop at the end of the stream." + } + }, + "type": "object", + "required": [ + "start" + ], + "description": "Describes the basic properties for generating thumbnails from the input video" + }, + "Format": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "filenamePattern": { + "type": "string", + "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename." + } + }, + "type": "object", + "required": [ + "@odata.type", + "filenamePattern" + ], + "description": "Base class for output." + }, + "ImageFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.ImageFormat", + "allOf": [ + { + "$ref": "#/definitions/Format" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for an output image file." + }, + "JpgFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.JpgFormat", + "allOf": [ + { + "$ref": "#/definitions/ImageFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings for producing JPEG thumbnails." + }, + "PngFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.PngFormat", + "allOf": [ + { + "$ref": "#/definitions/ImageFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings for producing PNG thumbnails." + }, + "CopyAudio": { + "x-ms-discriminator-value": "#Microsoft.Media.CopyAudio", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": {}, + "type": "object", + "description": "A codec flag, which tells the encoder to copy the input audio bitstream." + }, + "Deinterlace": { + "properties": { + "parity": { + "type": "string", + "enum": [ + "Auto", + "TopFieldFirst", + "BottomFieldFirst" + ], + "x-ms-enum": { + "name": "DeinterlaceParity", + "values": [ + { + "value": "Auto", + "description": "Automatically detect the order of fields" + }, + { + "value": "TopFieldFirst", + "description": "Apply top field first processing of input video." + }, + { + "value": "BottomFieldFirst", + "description": "Apply bottom field first processing of input video." + } + ], + "modelAsString": true + }, + "description": "The field parity for de-interlacing, defaults to Auto." + }, + "mode": { + "type": "string", + "enum": [ + "Off", + "AutoPixelAdaptive" + ], + "x-ms-enum": { + "name": "DeinterlaceMode", + "values": [ + { + "value": "Off", + "description": "Disables de-interlacing of the source video." + }, + { + "value": "AutoPixelAdaptive", + "description": "Apply automatic pixel adaptive de-interlacing on each frame in the input video." + } + ], + "modelAsString": true + }, + "description": "The deinterlacing mode. Defaults to AutoPixelAdaptive." + } + }, + "type": "object", + "description": "Describes the de-interlacing settings." + }, + "Rectangle": { + "properties": { + "left": { + "type": "string", + "description": "The number of pixels from the left-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "top": { + "type": "string", + "description": "The number of pixels from the top-margin. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "width": { + "type": "string", + "description": "The width of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + }, + "height": { + "type": "string", + "description": "The height of the rectangular region in pixels. This can be absolute pixel value (e.g 100), or relative to the size of the video (For example, 50%)." + } + }, + "type": "object", + "description": "Describes the properties of a rectangular window applied to the input media before processing it." + }, + "Filters": { + "properties": { + "deinterlace": { + "$ref": "#/definitions/Deinterlace", + "description": "The de-interlacing settings." + }, + "rotation": { + "type": "string", + "enum": [ + "Auto", + "None", + "Rotate0", + "Rotate90", + "Rotate180", + "Rotate270" + ], + "x-ms-enum": { + "name": "Rotation", + "values": [ + { + "value": "Auto", + "description": "Automatically detect and rotate as needed." + }, + { + "value": "None", + "description": "Do not rotate the video. If the output format supports it, any metadata about rotation is kept intact." + }, + { + "value": "Rotate0", + "description": "Do not rotate the video but remove any metadata about the rotation." + }, + { + "value": "Rotate90", + "description": "Rotate 90 degrees clockwise." + }, + { + "value": "Rotate180", + "description": "Rotate 180 degrees clockwise." + }, + { + "value": "Rotate270", + "description": "Rotate 270 degrees clockwise." + } + ], + "modelAsString": true + }, + "description": "The rotation, if any, to be applied to the input video, before it is encoded. Default is Auto" + }, + "crop": { + "$ref": "#/definitions/Rectangle", + "description": "The parameters for the rectangular window with which to crop the input video." + }, + "overlays": { + "type": "array", + "items": { + "$ref": "#/definitions/Overlay" + }, + "x-ms-identifiers": [ + "inputLabel" + ], + "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays." + } + }, + "type": "object", + "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding." + }, + "VideoLayer": { + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. This is a required field." + }, + "maxBitrate": { + "type": "integer", + "format": "int32", + "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate." + }, + "bFrames": { + "type": "integer", + "format": "int32", + "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level." + }, + "frameRate": { + "type": "string", + "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video." + }, + "slices": { + "type": "integer", + "format": "int32", + "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame." + }, + "adaptiveBFrame": { + "type": "boolean", + "description": "Whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer." + }, + "H264Layer": { + "allOf": [ + { + "$ref": "#/definitions/VideoLayer" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "Auto", + "Baseline", + "Main", + "High", + "High422", + "High444" + ], + "x-ms-enum": { + "name": "H264VideoProfile", + "values": [ + { + "value": "Auto", + "description": "Tells the encoder to automatically determine the appropriate H.264 profile." + }, + { + "value": "Baseline", + "description": "Baseline profile" + }, + { + "value": "Main", + "description": "Main profile" + }, + { + "value": "High", + "description": "High profile." + }, + { + "value": "High422", + "description": "High 4:2:2 profile." + }, + { + "value": "High444", + "description": "High 4:4:4 predictive profile." + } + ], + "modelAsString": true + }, + "description": "We currently support Baseline, Main, High, High422, High444. Default is Auto." + }, + "level": { + "type": "string", + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + }, + "bufferWindow": { + "type": "string", + "format": "duration", + "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)." + }, + "crf": { + "description": "The value of CRF to be used when encoding this layer. This setting takes effect when RateControlMode of video codec is set at CRF mode. The range of CRF value is between 0 and 51, where lower values would result in better quality, at the expense of higher file sizes. Higher values mean more compression, but at some point quality degradation will be noticed. Default value is 23.", + "format": "float", + "type": "number" + }, + "referenceFrames": { + "type": "integer", + "format": "int32", + "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting." + }, + "entropyMode": { + "type": "string", + "enum": [ + "Cabac", + "Cavlc" + ], + "x-ms-enum": { + "name": "EntropyMode", + "values": [ + { + "value": "Cabac", + "description": "Context Adaptive Binary Arithmetic Coder (CABAC) entropy encoding." + }, + { + "value": "Cavlc", + "description": "Context Adaptive Variable Length Coder (CAVLC) entropy encoding." + } + ], + "modelAsString": true + }, + "description": "The entropy mode to be used for this layer. If not specified, the encoder chooses the mode that is appropriate for the profile and level." + } + }, + "type": "object", + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.264 video codec." + }, + "H264Video": { + "x-ms-discriminator-value": "#Microsoft.Media.H264Video", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "complexity": { + "type": "string", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], + "x-ms-enum": { + "name": "H264Complexity", + "values": [ + { + "value": "Speed", + "description": "Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time." + }, + { + "value": "Balanced", + "description": "Tells the encoder to use settings that achieve a balance between speed and quality." + }, + { + "value": "Quality", + "description": "Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time." + } + ], + "modelAsString": true + }, + "description": "Tells the encoder how to choose its encoding settings. The default value is Balanced." + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/H264Layer" + }, + "x-ms-identifiers": [], + "description": "The collection of output H.264 layers to be produced by the encoder." + }, + "rateControlMode": { + "description": "The video rate control mode", + "enum": [ + "ABR", + "CBR", + "CRF" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "H264RateControlMode", + "values": [ + { + "description": "Average Bitrate (ABR) mode that hits the target bitrate: Default mode.", + "value": "ABR" + }, + { + "description": "Constant Bitrate (CBR) mode that tightens bitrate variations around target bitrate.", + "value": "CBR" + }, + { + "description": "Constant Rate Factor (CRF) mode that targets at constant subjective quality.", + "value": "CRF" + } + ] + } + }, + "sceneChangeDetection": { + "type": "boolean", + "description": "Whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video." + } + }, + "type": "object", + "description": "Describes all the properties for encoding a video with the H.264 codec." + }, + "JpgImage": { + "x-ms-discriminator-value": "#Microsoft.Media.JpgImage", + "allOf": [ + { + "$ref": "#/definitions/Image" + } + ], + "properties": { + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/JpgLayer" + }, + "x-ms-identifiers": [], + "description": "A collection of output JPEG image layers to be produced by the encoder." + }, + "spriteColumn": { + "type": "integer", + "format": "int32", + "description": "Sets the number of columns used in thumbnail sprite image. The number of rows are automatically calculated and a VTT file is generated with the coordinate mappings for each thumbnail in the sprite. Note: this value should be a positive integer and a proper value is recommended so that the output image resolution will not go beyond JPEG maximum pixel resolution limit 65535x65535." + } + }, + "type": "object", + "description": "Describes the properties for producing a series of JPEG images from the input video." + }, + "JpgLayer": { + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "quality": { + "type": "integer", + "format": "int32", + "description": "The compression quality of the JPEG output. Range is from 0-100 and the default is 70." + } + }, + "type": "object", + "description": "Describes the settings to produce a JPEG image from the input video." + }, + "MultiBitrateFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.MultiBitrateFormat", + "allOf": [ + { + "$ref": "#/definitions/Format" + } + ], + "properties": { + "outputFiles": { + "type": "array", + "items": { + "$ref": "#/definitions/OutputFile" + }, + "x-ms-identifiers": [], + "description": "The list of output files to produce. Each entry in the list is a set of audio and video layer labels to be muxed together ." + } + }, + "type": "object", + "description": "Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection." + }, + "OutputFile": { + "properties": { + "labels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1." + } + }, + "type": "object", + "required": [ + "labels" + ], + "description": "Represents an output file produced." + }, + "Mp4Format": { + "x-ms-discriminator-value": "#Microsoft.Media.Mp4Format", + "allOf": [ + { + "$ref": "#/definitions/MultiBitrateFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for an output ISO MP4 file." + }, + "PngImage": { + "x-ms-discriminator-value": "#Microsoft.Media.PngImage", + "allOf": [ + { + "$ref": "#/definitions/Image" + } + ], + "properties": { + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/PngLayer" + }, + "x-ms-identifiers": [], + "description": "A collection of output PNG image layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes the properties for producing a series of PNG images from the input video." + }, + "PngLayer": { + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the settings to produce a PNG image from the input video." + }, + "BuiltInStandardEncoderPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "configurations": { + "$ref": "#/definitions/PresetConfigurations", + "description": "Optional configuration settings for encoder. Configurations is only supported for ContentAwareEncoding and H265ContentAwareEncoding BuiltInStandardEncoderPreset." + }, + "presetName": { + "type": "string", + "enum": [ + "H264SingleBitrateSD", + "H264SingleBitrate720p", + "H264SingleBitrate1080p", + "AdaptiveStreaming", + "AACGoodQualityAudio", + "ContentAwareEncodingExperimental", + "ContentAwareEncoding", + "CopyAllBitrateNonInterleaved", + "H264MultipleBitrate1080p", + "H264MultipleBitrate720p", + "H264MultipleBitrateSD", + "H265ContentAwareEncoding", + "H265AdaptiveStreaming", + "H265SingleBitrate720p", + "H265SingleBitrate1080p", + "H265SingleBitrate4K" + ], + "x-ms-enum": { + "name": "EncoderNamedPreset", + "values": [ + { + "value": "H264SingleBitrateSD", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H264SingleBitrate720p", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H264SingleBitrate1080p", + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "AdaptiveStreaming", + "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best." + }, + { + "value": "AACGoodQualityAudio", + "description": "Produces a single MP4 file containing only stereo audio encoded at 192 kbps." + }, + { + "value": "ContentAwareEncodingExperimental", + "description": "Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "ContentAwareEncoding", + "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "CopyAllBitrateNonInterleaved", + "description": "Copy all video and audio streams from the input asset as non-interleaved video and audio output files. This preset can be used to clip an existing asset or convert a group of key frame (GOP) aligned MP4 files as an asset that can be streamed." + }, + { + "value": "H264MultipleBitrate1080p", + "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 180p." + }, + { + "value": "H264MultipleBitrate720p", + "description": "Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 180p." + }, + { + "value": "H264MultipleBitrateSD", + "description": "Produces a set of 5 GOP-aligned MP4 files, ranging from 1900kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 240p." + }, + { + "value": "H265ContentAwareEncoding", + "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "H265AdaptiveStreaming", + "description": "Produces a set of GOP aligned MP4 files with H.265 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best." + }, + { + "value": "H265SingleBitrate720p", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 1800 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H265SingleBitrate1080p", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 3500 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H265SingleBitrate4K", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 9500 kbps and a picture height of 2160 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + } + ], + "modelAsString": true + }, + "description": "The built-in preset to be used for encoding videos." + } + }, + "type": "object", + "required": [ + "presetName" + ], + "description": "Describes a built-in preset for encoding the input video with the Standard Encoder." + }, + "StandardEncoderPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.StandardEncoderPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "filters": { + "$ref": "#/definitions/Filters", + "description": "One or more filtering operations that are applied to the input media before encoding." + }, + "codecs": { + "type": "array", + "items": { + "$ref": "#/definitions/Codec" + }, + "x-ms-identifiers": [], + "description": "The list of codecs to be used when encoding the input video." + }, + "formats": { + "type": "array", + "items": { + "$ref": "#/definitions/Format" + }, + "x-ms-identifiers": [], + "description": "The list of outputs to be produced by the encoder." + } + }, + "type": "object", + "required": [ + "codecs", + "formats" + ], + "description": "Describes all the settings to be used when encoding the input video with the Standard Encoder." + }, + "VideoAnalyzerPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoAnalyzerPreset", + "allOf": [ + { + "$ref": "#/definitions/AudioAnalyzerPreset" + } + ], + "properties": { + "insightsToExtract": { + "type": "string", + "enum": [ + "AudioInsightsOnly", + "VideoInsightsOnly", + "AllInsights" + ], + "x-ms-enum": { + "name": "InsightsType", + "values": [ + { + "value": "AudioInsightsOnly", + "description": "Generate audio only insights. Ignore video even if present. Fails if no audio is present." + }, + { + "value": "VideoInsightsOnly", + "description": "Generate video only insights. Ignore audio if present. Fails if no video is present." + }, + { + "value": "AllInsights", + "description": "Generate both audio and video insights. Fails if either audio or video Insights fail." + } + ], + "modelAsString": true + }, + "description": "Defines the type of insights that you want the service to generate. The allowed values are 'AudioInsightsOnly', 'VideoInsightsOnly', and 'AllInsights'. The default is AllInsights. If you set this to AllInsights and the input is audio only, then only audio insights are generated. Similarly if the input is video only, then only video insights are generated. It is recommended that you not use AudioInsightsOnly if you expect some of your inputs to be video only; or use VideoInsightsOnly if you expect some of your inputs to be audio only. Your Jobs in such conditions would error out." + } + }, + "type": "object", + "description": "A video analyzer preset that extracts insights (rich metadata) from both audio and video, and outputs a JSON format file." + }, + "TransportStreamFormat": { + "x-ms-discriminator-value": "#Microsoft.Media.TransportStreamFormat", + "allOf": [ + { + "$ref": "#/definitions/MultiBitrateFormat" + } + ], + "properties": {}, + "type": "object", + "description": "Describes the properties for generating an MPEG-2 Transport Stream (ISO/IEC 13818-1) output video file(s)." + }, + "VideoOverlay": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoOverlay", + "allOf": [ + { + "$ref": "#/definitions/Overlay" + } + ], + "properties": { + "position": { + "$ref": "#/definitions/Rectangle", + "description": "The location in the input video where the overlay is applied." + }, + "opacity": { + "type": "number", + "format": "double", + "description": "The opacity of the overlay. This is a value in the range [0 - 1.0]. Default is 1.0 which mean the overlay is opaque." + }, + "cropRectangle": { + "$ref": "#/definitions/Rectangle", + "description": "An optional rectangular window used to crop the overlay image or video." + } + }, + "type": "object", + "description": "Describes the properties of a video overlay." + }, + "VideoTrackDescriptor": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoTrackDescriptor", + "allOf": [ + { + "$ref": "#/definitions/TrackDescriptor" + } + ], + "properties": {}, + "type": "object", + "description": "A TrackSelection to select video tracks." + }, + "SelectVideoTrackByAttribute": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectVideoTrackByAttribute", + "allOf": [ + { + "$ref": "#/definitions/VideoTrackDescriptor" + } + ], + "properties": { + "attribute": { + "type": "string", + "enum": [ + "Bitrate", + "Language" + ], + "x-ms-enum": { + "name": "TrackAttribute", + "values": [ + { + "value": "Bitrate", + "description": "The bitrate of the track." + }, + { + "value": "Language", + "description": "The language of the track." + } + ], + "modelAsString": true + }, + "description": "The TrackAttribute to filter the tracks by." + }, + "filter": { + "type": "string", + "enum": [ + "All", + "Top", + "Bottom", + "ValueEquals" + ], + "x-ms-enum": { + "name": "AttributeFilter", + "values": [ + { + "value": "All", + "description": "All tracks will be included." + }, + { + "value": "Top", + "description": "The first track will be included when the attribute is sorted in descending order. Generally used to select the largest bitrate." + }, + { + "value": "Bottom", + "description": "The first track will be included when the attribute is sorted in ascending order. Generally used to select the smallest bitrate." + }, + { + "value": "ValueEquals", + "description": "Any tracks that have an attribute equal to the value given will be included." + } + ], + "modelAsString": true + }, + "description": "The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks." + }, + "filterValue": { + "type": "string", + "description": "The value to filter the tracks by. Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000'). The TrackAttribute.Language is not supported for video tracks." + } + }, + "type": "object", + "required": [ + "attribute", + "filter" + ], + "description": "Select video tracks from the input by specifying an attribute and an attribute filter." + }, + "SelectVideoTrackById": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectVideoTrackById", + "allOf": [ + { + "$ref": "#/definitions/VideoTrackDescriptor" + } + ], + "properties": { + "trackId": { + "type": "integer", + "format": "int64", + "description": "Track identifier to select" + } + }, + "type": "object", + "required": [ + "trackId" + ], + "description": "Select video tracks from the input by specifying a track identifier." + }, + "TransformOutput": { + "properties": { + "onError": { + "type": "string", + "enum": [ + "StopProcessingJob", + "ContinueJob" + ], + "x-ms-enum": { + "name": "OnErrorType", + "values": [ + { + "value": "StopProcessingJob", + "description": "Tells the service that if this TransformOutput fails, then any other incomplete TransformOutputs can be stopped." + }, + { + "value": "ContinueJob", + "description": "Tells the service that if this TransformOutput fails, then allow any other TransformOutput to continue." + } + ], + "modelAsString": true + }, + "description": "A Transform can define more than one outputs. This property defines what the service should do when one output fails - either continue to produce other outputs, or, stop the other outputs. The overall Job state will not reflect failures of outputs that are specified with 'ContinueJob'. The default is 'StopProcessingJob'." + }, + "relativePriority": { + "type": "string", + "enum": [ + "Low", + "Normal", + "High" + ], + "x-ms-enum": { + "name": "Priority", + "values": [ + { + "value": "Low", + "description": "Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs." + }, + { + "value": "Normal", + "description": "Used for TransformOutputs that can be generated at Normal priority." + }, + { + "value": "High", + "description": "Used for TransformOutputs that should take precedence over others." + } + ], + "modelAsString": true + }, + "description": "Sets the relative priority of the TransformOutputs within a Transform. This sets the priority that the service uses for processing TransformOutputs. The default priority is Normal." + }, + "preset": { + "$ref": "#/definitions/Preset", + "description": "Preset that describes the operations that will be used to modify, transcode, or extract insights from the source file to generate the output." + } + }, + "type": "object", + "required": [ + "preset" + ], + "description": "Describes the properties of a TransformOutput, which are the rules to be applied while generating the desired output." + }, + "TransformProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Transform was created, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "An optional verbose description of the Transform." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the Transform was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/TransformOutput" + }, + "x-ms-identifiers": [], + "description": "An array of one or more TransformOutputs that the Transform should generate." + } + }, + "type": "object", + "required": [ + "outputs" + ], + "description": "A Transform." + }, + "Transform": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransformProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Transform encapsulates the rules or instructions for generating desired outputs from input media, such as by transcoding or by extracting insights. After the Transform is created, it can be applied to input media by creating Jobs." + }, + "JobInput": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for inputs to a Job." + }, + "JobInputClip": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputClip", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "files": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure." + }, + "start": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media." + }, + "end": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media." + }, + "label": { + "type": "string", + "description": "A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'." + }, + "inputDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/InputDefinition" + }, + "x-ms-identifiers": [], + "description": "Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata." + } + }, + "type": "object", + "description": "Represents input files for a Job." + }, + "ClipTime": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media." + }, + "AbsoluteClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.AbsoluteClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "duration", + "description": "The time position on the timeline of the input media. It is usually specified as an ISO8601 period. e.g PT30S for 30 seconds." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as an absolute time position in the media file. The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, + "UtcClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.UtcClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "date-time", + "description": "The time position on the timeline of the input media based on Utc time." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as a Utc time position in the media file. The Utc time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, + "JobInputs": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputs", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobInput" + }, + "x-ms-identifiers": [], + "description": "List of inputs to a Job." + } + }, + "type": "object", + "description": "Describes a list of inputs to a Job." + }, + "JobInputAsset": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputAsset", + "allOf": [ + { + "$ref": "#/definitions/JobInputClip" + } + ], + "properties": { + "assetName": { + "type": "string", + "description": "The name of the input Asset." + } + }, + "type": "object", + "required": [ + "assetName" + ], + "description": "Represents an Asset for input into a Job." + }, + "JobInputHttp": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputHttp", + "allOf": [ + { + "$ref": "#/definitions/JobInputClip" + } + ], + "properties": { + "baseUri": { + "type": "string", + "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure." + } + }, + "type": "object", + "description": "Represents HTTPS job input." + }, + "JobOutput": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "error": { + "$ref": "#/definitions/JobError", + "description": "If the JobOutput is in the Error state, it contains the details of the error.", + "readOnly": true + }, + "presetOverride": { + "$ref": "#/definitions/Preset", + "description": "A preset used to override the preset in the corresponding transform output." + }, + "state": { + "type": "string", + "enum": [ + "Canceled", + "Canceling", + "Error", + "Finished", + "Processing", + "Queued", + "Scheduled" + ], + "x-ms-enum": { + "name": "JobState", + "values": [ + { + "value": "Canceled", + "description": "The job was canceled. This is a final state for the job." + }, + { + "value": "Canceling", + "description": "The job is in the process of being canceled. This is a transient state for the job." + }, + { + "value": "Error", + "description": "The job has encountered an error. This is a final state for the job." + }, + { + "value": "Finished", + "description": "The job is finished. This is a final state for the job." + }, + { + "value": "Processing", + "description": "The job is processing. This is a transient state for the job." + }, + { + "value": "Queued", + "description": "The job is in a queued state, waiting for resources to become available. This is a transient state." + }, + { + "value": "Scheduled", + "description": "The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states." + } + ], + "modelAsString": true + }, + "description": "Describes the state of the JobOutput.", + "readOnly": true, + "x-nullable": false + }, + "progress": { + "type": "integer", + "format": "int32", + "description": "If the JobOutput is in a Processing state, this contains the Job completion percentage. The value is an estimate and not intended to be used to predict Job completion times. To determine if the JobOutput is complete, use the State property.", + "readOnly": true, + "x-nullable": false + }, + "label": { + "type": "string", + "description": "A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output finished processing.", + "readOnly": true, + "x-nullable": true + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Describes all the properties of a JobOutput." + }, + "JobError": { + "properties": { + "code": { + "type": "string", + "enum": [ + "ServiceError", + "ServiceTransientError", + "DownloadNotAccessible", + "DownloadTransientError", + "UploadNotAccessible", + "UploadTransientError", + "ConfigurationUnsupported", + "ContentMalformed", + "ContentUnsupported" + ], + "x-ms-enum": { + "name": "JobErrorCode", + "values": [ + { + "value": "ServiceError", + "description": "Fatal service error, please contact support." + }, + { + "value": "ServiceTransientError", + "description": "Transient error, please retry, if retry is unsuccessful, please contact support." + }, + { + "value": "DownloadNotAccessible", + "description": "While trying to download the input files, the files were not accessible, please check the availability of the source." + }, + { + "value": "DownloadTransientError", + "description": "While trying to download the input files, there was an issue during transfer (storage service, network errors), see details and check your source." + }, + { + "value": "UploadNotAccessible", + "description": "While trying to upload the output files, the destination was not reachable, please check the availability of the destination." + }, + { + "value": "UploadTransientError", + "description": "While trying to upload the output files, there was an issue during transfer (storage service, network errors), see details and check your destination." + }, + { + "value": "ConfigurationUnsupported", + "description": "There was a problem with the combination of input files and the configuration settings applied, fix the configuration settings and retry with the same input, or change input to match the configuration." + }, + { + "value": "ContentMalformed", + "description": "There was a problem with the input content (for example: zero byte files, or corrupt/non-decodable files), check the input files." + }, + { + "value": "ContentUnsupported", + "description": "There was a problem with the format of the input (not valid media file, or an unsupported file/codec), check the validity of the input files." + } + ], + "modelAsString": true + }, + "description": "Error code describing the error.", + "readOnly": true, + "x-nullable": false + }, + "message": { + "type": "string", + "description": "A human-readable language-dependent representation of the error.", + "readOnly": true + }, + "category": { + "type": "string", + "enum": [ + "Service", + "Download", + "Upload", + "Configuration", + "Content" + ], + "x-ms-enum": { + "name": "JobErrorCategory", + "values": [ + { + "value": "Service", + "description": "The error is service related." + }, + { + "value": "Download", + "description": "The error is download related." + }, + { + "value": "Upload", + "description": "The error is upload related." + }, + { + "value": "Configuration", + "description": "The error is configuration related." + }, + { + "value": "Content", + "description": "The error is related to data in the input files." + } + ], + "modelAsString": true + }, + "description": "Helps with categorization of errors.", + "readOnly": true, + "x-nullable": false + }, + "retry": { + "type": "string", + "enum": [ + "DoNotRetry", + "MayRetry" + ], + "x-ms-enum": { + "name": "JobRetry", + "values": [ + { + "value": "DoNotRetry", + "description": "Issue needs to be investigated and then the job resubmitted with corrections or retried once the underlying issue has been corrected." + }, + { + "value": "MayRetry", + "description": "Issue may be resolved after waiting for a period of time and resubmitting the same Job." + } + ], + "modelAsString": true + }, + "description": "Indicates that it may be possible to retry the Job. If retry is unsuccessful, please contact Azure support via Azure Portal.", + "readOnly": true, + "x-nullable": false + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetail" + }, + "x-ms-identifiers": [ + "code" + ], + "description": "An array of details about specific errors that led to this reported error.", + "readOnly": true + } + }, + "type": "object", + "description": "Details of JobOutput errors." + }, + "JobOutputAsset": { + "x-ms-discriminator-value": "#Microsoft.Media.JobOutputAsset", + "allOf": [ + { + "$ref": "#/definitions/JobOutput" + } + ], + "properties": { + "assetName": { + "type": "string", + "description": "The name of the output Asset." + } + }, + "type": "object", + "required": [ + "assetName" + ], + "description": "Represents an Asset used as a JobOutput." + }, + "JobErrorDetail": { + "properties": { + "code": { + "type": "string", + "description": "Code describing the error detail.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error.", + "readOnly": true + } + }, + "type": "object", + "description": "Details of JobOutput errors." + }, + "JobProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the customer has created the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "state": { + "type": "string", + "enum": [ + "Canceled", + "Canceling", + "Error", + "Finished", + "Processing", + "Queued", + "Scheduled" + ], + "x-ms-enum": { + "name": "JobState", + "values": [ + { + "value": "Canceled", + "description": "The job was canceled. This is a final state for the job." + }, + { + "value": "Canceling", + "description": "The job is in the process of being canceled. This is a transient state for the job." + }, + { + "value": "Error", + "description": "The job has encountered an error. This is a final state for the job." + }, + { + "value": "Finished", + "description": "The job is finished. This is a final state for the job." + }, + { + "value": "Processing", + "description": "The job is processing. This is a transient state for the job." + }, + { + "value": "Queued", + "description": "The job is in a queued state, waiting for resources to become available. This is a transient state." + }, + { + "value": "Scheduled", + "description": "The job is being scheduled to run on an available resource. This is a transient state, between queued and processing states." + } + ], + "modelAsString": true + }, + "description": "The current state of the job.", + "readOnly": true, + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Optional customer supplied description of the Job." + }, + "input": { + "$ref": "#/definitions/JobInput", + "description": "The inputs for the Job." + }, + "lastModified": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time when the customer has last updated the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "readOnly": true, + "x-nullable": false + }, + "outputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobOutput" + }, + "x-ms-identifiers": [], + "description": "The outputs for the Job." + }, + "priority": { + "type": "string", + "enum": [ + "Low", + "Normal", + "High" + ], + "x-ms-enum": { + "name": "Priority", + "values": [ + { + "value": "Low", + "description": "Used for TransformOutputs that can be generated after Normal and High priority TransformOutputs." + }, + { + "value": "Normal", + "description": "Used for TransformOutputs that can be generated at Normal priority." + }, + { + "value": "High", + "description": "Used for TransformOutputs that should take precedence over others." + } + ], + "modelAsString": true + }, + "description": "Priority with which the job should be processed. Higher priority jobs are processed before lower priority jobs. If not set, the default is normal." + }, + "correlationData": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Customer provided key, value pairs that will be returned in Job and JobOutput state events." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job finished processing.", + "readOnly": true, + "x-nullable": true + } + }, + "type": "object", + "required": [ + "input", + "outputs" + ], + "description": "Properties of the Job." + }, + "JobInputSequence": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputSequence", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobInputClip" + }, + "x-ms-identifiers": [], + "description": "JobInputs that make up the timeline." + } + }, + "type": "object", + "description": "A Sequence contains an ordered list of Clips where each clip is a JobInput. The Sequence will be treated as a single input." + }, + "Job": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Job resource type. The progress and state can be obtained by polling a Job or subscribing to events using EventGrid." + }, + "PresetConfigurations": { + "description": "An object of optional configuration settings for encoder.", + "properties": { + "complexity": { + "description": "Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Complexity", + "values": [ + { + "description": "Configures the encoder to use settings optimized for faster encoding. Quality is sacrificed to decrease encoding time.", + "value": "Speed" + }, + { + "description": "Configures the encoder to use settings that achieve a balance between speed and quality.", + "value": "Balanced" + }, + { + "description": "Configures the encoder to use settings optimized to produce higher quality output at the expense of slower overall encode time.", + "value": "Quality" + } + ] + } + }, + "interleaveOutput": { + "description": "Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.", + "enum": [ + "NonInterleavedOutput", + "InterleavedOutput" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "InterleaveOutput", + "values": [ + { + "description": "The output is video-only or audio-only.", + "value": "NonInterleavedOutput" + }, + { + "description": "The output includes both audio and video.", + "value": "InterleavedOutput" + } + ] + } + }, + "keyFrameIntervalInSeconds": { + "description": "The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.", + "format": "float", + "type": "number" + }, + "maxBitrateBps": { + "description": "The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.", + "format": "int32", + "type": "integer" + }, + "maxHeight": { + "description": "The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.", + "format": "int32", + "type": "integer" + }, + "maxLayers": { + "description": "The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.", + "format": "int32", + "type": "integer" + }, + "minBitrateBps": { + "description": "The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.", + "format": "int32", + "type": "integer" + }, + "minHeight": { + "description": "The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "TransformCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + }, + "description": "A collection of Transform items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Transform items." + }, + "JobCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Job" + }, + "description": "A collection of Job items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of Job items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms": { + "get": { + "summary": "List Transforms", + "description": "Lists the Transforms in the account.", + "operationId": "Transforms_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TransformCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Transform", + "x-ms-examples": { + "Lists the Transforms": { + "$ref": "examples/transforms-list-all.json" + }, + "Lists the Transforms filter by name": { + "$ref": "examples/transforms-list-all-filter-by-name.json" + }, + "Lists the Transforms filter by created": { + "$ref": "examples/transforms-list-all-filter-by-created.json" + }, + "Lists the Transforms filter by lastmodified": { + "$ref": "examples/transforms-list-all-filter-by-lastmodified.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}": { + "get": { + "summary": "Get Transform", + "description": "Gets a Transform.", + "operationId": "Transforms_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Transform by name": { + "$ref": "examples/transforms-get-by-name.json" + } + } + }, + "put": { + "summary": "Create or Update Transform", + "description": "Creates or updates a new Transform.", + "operationId": "Transforms_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transform" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create or update a Transform": { + "$ref": "examples/transforms-create.json" + } + } + }, + "delete": { + "summary": "Delete Transform", + "description": "Deletes a Transform.", + "operationId": "Transforms_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Transform": { + "$ref": "examples/transforms-delete.json" + } + } + }, + "patch": { + "summary": "Update Transform", + "description": "Updates a Transform.", + "operationId": "Transforms_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Transform" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Transform" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Transform.": { + "$ref": "examples/transforms-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs": { + "get": { + "summary": "List Jobs", + "description": "Lists all of the Jobs for the Transform.", + "operationId": "Jobs_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/Job", + "x-ms-examples": { + "Lists all of the Jobs for the Transform.": { + "$ref": "examples/jobs-list-all.json" + }, + "Lists Jobs for the Transform filter by name.": { + "$ref": "examples/jobs-list-all-filter-by-name.json" + }, + "Lists Jobs for the Transform filter by state equal.": { + "$ref": "examples/jobs-list-all-filter-by-state-eq.json" + }, + "Lists Jobs for the Transform filter by state not equal.": { + "$ref": "examples/jobs-list-all-filter-by-state-ne.json" + }, + "Lists Jobs for the Transform filter by name and state.": { + "$ref": "examples/jobs-list-all-filter-by-name-and-state.json" + }, + "Lists Jobs for the Transform filter by created.": { + "$ref": "examples/jobs-list-all-filter-by-created.json" + }, + "Lists Jobs for the Transform filter by lastmodified.": { + "$ref": "examples/jobs-list-all-filter-by-lastmodified.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}": { + "get": { + "summary": "Get Job", + "description": "Gets a Job.", + "operationId": "Jobs_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Job by name": { + "$ref": "examples/jobs-get-by-name.json" + } + } + }, + "put": { + "summary": "Create Job", + "description": "Creates a Job.", + "operationId": "Jobs_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Create a Job": { + "$ref": "examples/jobs-create.json" + } + } + }, + "delete": { + "summary": "Delete Job", + "description": "Deletes a Job.", + "operationId": "Jobs_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Job": { + "$ref": "examples/jobs-delete.json" + } + } + }, + "patch": { + "summary": "Update Job", + "description": "Update is only supported for description and priority. Updating Priority will take effect when the Job state is Queued or Scheduled and depending on the timing the priority update may be ignored.", + "operationId": "Jobs_Update", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Job" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update a Job": { + "$ref": "examples/jobs-update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/transforms/{transformName}/jobs/{jobName}/cancelJob": { + "post": { + "summary": "Cancel Job", + "description": "Cancel a Job.", + "operationId": "Jobs_CancelJob", + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "transformName", + "in": "path", + "required": true, + "type": "string", + "description": "The Transform name." + }, + { + "name": "jobName", + "in": "path", + "required": true, + "type": "string", + "description": "The Job name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Cancel a Job": { + "$ref": "examples/jobs-cancel.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/StreamingPoliciesAndStreamingLocators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/StreamingPoliciesAndStreamingLocators.json new file mode 100644 index 000000000000..79cd435a61ae --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/StreamingPoliciesAndStreamingLocators.json @@ -0,0 +1,1268 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "This Swagger was generated by the API Framework.", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "definitions": { + "TrackPropertyCondition": { + "properties": { + "property": { + "type": "string", + "enum": [ + "Unknown", + "FourCC" + ], + "x-ms-enum": { + "name": "TrackPropertyType", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property" + }, + { + "value": "FourCC", + "description": "Track FourCC" + } + ], + "modelAsString": true + }, + "description": "Track property type" + }, + "operation": { + "type": "string", + "enum": [ + "Unknown", + "Equal" + ], + "x-ms-enum": { + "name": "TrackPropertyCompareOperation", + "values": [ + { + "value": "Unknown", + "description": "Unknown track property compare operation" + }, + { + "value": "Equal", + "description": "Equal operation" + } + ], + "modelAsString": true + }, + "description": "Track property condition operation" + }, + "value": { + "type": "string", + "description": "Track property value" + } + }, + "type": "object", + "required": [ + "property", + "operation" + ], + "description": "Class to specify one track property condition" + }, + "TrackSelection": { + "properties": { + "trackSelections": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackPropertyCondition" + }, + "x-ms-identifiers": [], + "description": "TrackSelections is a track property condition list which can specify track(s)" + } + }, + "type": "object", + "description": "Class to select a track" + }, + "DefaultKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Default Key" + } + }, + "type": "object", + "description": "Class to specify properties of default content key for each encryption scheme" + }, + "StreamingPolicyContentKey": { + "properties": { + "label": { + "type": "string", + "description": "Label can be used to specify Content Key when creating a Streaming Locator" + }, + "policyName": { + "type": "string", + "description": "Policy used by Content Key" + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Tracks which use this content key" + } + }, + "type": "object", + "description": "Class to specify properties of content key" + }, + "StreamingPolicyContentKeys": { + "properties": { + "defaultKey": { + "$ref": "#/definitions/DefaultKey", + "description": "Default content key for an encryption scheme" + }, + "keyToTrackMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicyContentKey" + }, + "x-ms-identifiers": [], + "description": "Representing tracks needs separate content key" + } + }, + "type": "object", + "description": "Class to specify properties of all content keys in Streaming Policy" + }, + "StreamingPolicyPlayReadyConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "playReadyCustomAttributes": { + "type": "string", + "description": "Custom attributes for PlayReady" + } + }, + "type": "object", + "description": "Class to specify configurations of PlayReady in Streaming Policy" + }, + "StreamingPolicyWidevineConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class to specify configurations of Widevine in Streaming Policy" + }, + "StreamingPolicyFairPlayConfiguration": { + "properties": { + "customLicenseAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + }, + "allowPersistentLicense": { + "type": "boolean", + "description": "All license to be persistent or not" + } + }, + "type": "object", + "required": [ + "allowPersistentLicense" + ], + "description": "Class to specify configurations of FairPlay in Streaming Policy" + }, + "CbcsDrmConfiguration": { + "properties": { + "fairPlay": { + "$ref": "#/definitions/StreamingPolicyFairPlayConfiguration", + "description": "FairPlay configurations" + }, + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCbcs scheme in Streaming Policy" + }, + "CencDrmConfiguration": { + "properties": { + "playReady": { + "$ref": "#/definitions/StreamingPolicyPlayReadyConfiguration", + "description": "PlayReady configurations" + }, + "widevine": { + "$ref": "#/definitions/StreamingPolicyWidevineConfiguration", + "description": "Widevine configurations" + } + }, + "type": "object", + "description": "Class to specify DRM configurations of CommonEncryptionCenc scheme in Streaming Policy" + }, + "EnabledProtocols": { + "properties": { + "download": { + "type": "boolean", + "description": "Enable Download protocol or not" + }, + "dash": { + "type": "boolean", + "description": "Enable DASH protocol or not" + }, + "hls": { + "type": "boolean", + "description": "Enable HLS protocol or not" + }, + "smoothStreaming": { + "type": "boolean", + "description": "Enable SmoothStreaming protocol or not" + } + }, + "type": "object", + "required": [ + "download", + "dash", + "hls", + "smoothStreaming" + ], + "description": "Class to specify which protocols are enabled" + }, + "NoEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + } + }, + "type": "object", + "description": "Class for NoEncryption scheme" + }, + "EnvelopeEncryption": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "customKeyAcquisitionUrlTemplate": { + "type": "string", + "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." + } + }, + "type": "object", + "description": "Class for EnvelopeEncryption encryption scheme" + }, + "CommonEncryptionCenc": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "drm": { + "$ref": "#/definitions/CencDrmConfiguration", + "description": "Configuration of DRMs for CommonEncryptionCenc encryption scheme" + } + }, + "type": "object", + "description": "Class for envelope encryption scheme" + }, + "CommonEncryptionCbcs": { + "properties": { + "enabledProtocols": { + "$ref": "#/definitions/EnabledProtocols", + "description": "Representing supported protocols" + }, + "clearTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Representing which tracks should not be encrypted" + }, + "contentKeys": { + "$ref": "#/definitions/StreamingPolicyContentKeys", + "description": "Representing default content key for each encryption scheme and separate content keys for specific tracks" + }, + "drm": { + "$ref": "#/definitions/CbcsDrmConfiguration", + "description": "Configuration of DRMs for current encryption scheme" + } + }, + "type": "object", + "description": "Class for CommonEncryptionCbcs encryption scheme" + }, + "StreamingPolicyProperties": { + "properties": { + "created": { + "type": "string", + "format": "date-time", + "description": "Creation time of Streaming Policy", + "readOnly": true, + "x-nullable": false + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Default ContentKey used by current Streaming Policy" + }, + "envelopeEncryption": { + "$ref": "#/definitions/EnvelopeEncryption", + "description": "Configuration of EnvelopeEncryption" + }, + "commonEncryptionCenc": { + "$ref": "#/definitions/CommonEncryptionCenc", + "description": "Configuration of CommonEncryptionCenc" + }, + "commonEncryptionCbcs": { + "$ref": "#/definitions/CommonEncryptionCbcs", + "description": "Configuration of CommonEncryptionCbcs" + }, + "noEncryption": { + "$ref": "#/definitions/NoEncryption", + "description": "Configurations of NoEncryption" + } + }, + "type": "object", + "description": "Class to specify properties of Streaming Policy" + }, + "StreamingPolicy": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Streaming Policy resource" + }, + "StreamingLocatorContentKey": { + "properties": { + "id": { + "type": "string", + "format": "uuid", + "description": "ID of Content Key" + }, + "type": { + "type": "string", + "enum": [ + "CommonEncryptionCenc", + "CommonEncryptionCbcs", + "EnvelopeEncryption" + ], + "x-ms-enum": { + "name": "StreamingLocatorContentKeyType", + "values": [ + { + "value": "CommonEncryptionCenc", + "description": "Common Encryption using CENC" + }, + { + "value": "CommonEncryptionCbcs", + "description": "Common Encryption using CBCS" + }, + { + "value": "EnvelopeEncryption", + "description": "Envelope Encryption" + } + ], + "modelAsString": true + }, + "description": "Encryption type of Content Key", + "readOnly": true, + "x-nullable": false + }, + "labelReferenceInStreamingPolicy": { + "type": "string", + "description": "Label of Content Key as specified in the Streaming Policy" + }, + "value": { + "type": "string", + "description": "Value of Content Key" + }, + "policyName": { + "type": "string", + "description": "ContentKeyPolicy used by Content Key", + "readOnly": true + }, + "tracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackSelection" + }, + "x-ms-identifiers": [], + "description": "Tracks which use this Content Key", + "readOnly": true + } + }, + "type": "object", + "required": [ + "id" + ], + "description": "Class for content key in Streaming Locator" + }, + "StreamingPath": { + "properties": { + "streamingProtocol": { + "type": "string", + "enum": [ + "Hls", + "Dash", + "SmoothStreaming", + "Download" + ], + "x-ms-enum": { + "name": "StreamingPolicyStreamingProtocol", + "values": [ + { + "value": "Hls", + "description": "HLS protocol" + }, + { + "value": "Dash", + "description": "DASH protocol" + }, + { + "value": "SmoothStreaming", + "description": "SmoothStreaming protocol" + }, + { + "value": "Download", + "description": "Download protocol" + } + ], + "modelAsString": true + }, + "description": "Streaming protocol" + }, + "encryptionScheme": { + "type": "string", + "enum": [ + "NoEncryption", + "EnvelopeEncryption", + "CommonEncryptionCenc", + "CommonEncryptionCbcs" + ], + "x-ms-enum": { + "name": "EncryptionScheme", + "values": [ + { + "value": "NoEncryption", + "description": "NoEncryption scheme" + }, + { + "value": "EnvelopeEncryption", + "description": "EnvelopeEncryption scheme" + }, + { + "value": "CommonEncryptionCenc", + "description": "CommonEncryptionCenc scheme" + }, + { + "value": "CommonEncryptionCbcs", + "description": "CommonEncryptionCbcs scheme" + } + ], + "modelAsString": true + }, + "description": "Encryption scheme" + }, + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Streaming paths for each protocol and encryptionScheme pair" + } + }, + "type": "object", + "required": [ + "streamingProtocol", + "encryptionScheme" + ], + "description": "Class of paths for streaming" + }, + "StreamingLocatorProperties": { + "properties": { + "assetName": { + "type": "string", + "description": "Asset Name" + }, + "created": { + "type": "string", + "format": "date-time", + "description": "The creation time of the Streaming Locator.", + "readOnly": true, + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the Streaming Locator." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The end time of the Streaming Locator." + }, + "streamingLocatorId": { + "type": "string", + "format": "uuid", + "description": "The StreamingLocatorId of the Streaming Locator." + }, + "streamingPolicyName": { + "type": "string", + "description": "Name of the Streaming Policy used by this Streaming Locator. Either specify the name of Streaming Policy you created or use one of the predefined Streaming Policies. The predefined Streaming Policies available are: 'Predefined_DownloadOnly', 'Predefined_ClearStreamingOnly', 'Predefined_DownloadAndClearStreaming', 'Predefined_ClearKey', 'Predefined_MultiDrmCencStreaming' and 'Predefined_MultiDrmStreaming'" + }, + "defaultContentKeyPolicyName": { + "type": "string", + "description": "Name of the default ContentKeyPolicy used by this Streaming Locator." + }, + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "The ContentKeys used by this Streaming Locator." + }, + "alternativeMediaId": { + "type": "string", + "description": "Alternative Media ID of this Streaming Locator" + }, + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of asset or account filters which apply to this streaming locator" + } + }, + "type": "object", + "required": [ + "assetName", + "streamingPolicyName" + ], + "description": "Properties of the Streaming Locator." + }, + "ListContentKeysResponse": { + "properties": { + "contentKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocatorContentKey" + }, + "description": "ContentKeys used by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listContentKeys action" + }, + "ListPathsResponse": { + "properties": { + "streamingPaths": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPath" + }, + "x-ms-identifiers": [], + "description": "Streaming Paths supported by current Streaming Locator" + }, + "downloadPaths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Download Paths supported by current Streaming Locator" + } + }, + "type": "object", + "description": "Class of response for listPaths action" + }, + "StreamingLocator": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StreamingLocatorProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "type": "object", + "description": "A Streaming Locator resource" + }, + "StreamingPolicyCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "A collection of StreamingPolicy items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingPolicy items." + }, + "StreamingLocatorCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "A collection of StreamingLocator items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of StreamingLocator items." + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies": { + "get": { + "summary": "List Streaming Policies", + "description": "Lists the Streaming Policies in the account", + "operationId": "StreamingPolicies_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicyCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingPolicy", + "x-ms-examples": { + "Lists Streaming Policies": { + "$ref": "examples/streaming-policies-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingPolicies/{streamingPolicyName}": { + "get": { + "summary": "Get a Streaming Policy", + "description": "Get the details of a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Policy by name": { + "$ref": "examples/streaming-policy-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Policy", + "description": "Create a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingPolicy" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingPolicy" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Policy with clear streaming": { + "$ref": "examples/streaming-policies-create-clear.json" + }, + "Creates a Streaming Policy with envelopeEncryption only": { + "$ref": "examples/streaming-policies-create-envelopeEncryption-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCenc only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCenc-only.json" + }, + "Creates a Streaming Policy with commonEncryptionCbcs only": { + "$ref": "examples/streaming-policies-create-commonEncryptionCbcs-only.json" + }, + "Creates a Streaming Policy with secure streaming": { + "$ref": "examples/streaming-policies-create-secure-streaming.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Policy", + "description": "Deletes a Streaming Policy in the Media Services account", + "operationId": "StreamingPolicies_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Policy name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Policy": { + "$ref": "examples/streaming-policies-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators": { + "get": { + "summary": "List Streaming Locators", + "description": "Lists the Streaming Locators in the account", + "operationId": "StreamingLocators_List", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocatorCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Restricts the set of items returned." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the key by which the result collection should be ordered." + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-odata": "#/definitions/StreamingLocator", + "x-ms-examples": { + "Lists Streaming Locators": { + "$ref": "examples/streaming-locators-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}": { + "get": { + "summary": "Get a Streaming Locator", + "description": "Get the details of a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get a Streaming Locator by name": { + "$ref": "examples/streaming-locators-get-by-name.json" + } + } + }, + "put": { + "summary": "Create a Streaming Locator", + "description": "Create a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Create", + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/StreamingLocator" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingLocator" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Creates a Streaming Locator with clear streaming": { + "$ref": "examples/streaming-locators-create-clear.json" + }, + "Creates a Streaming Locator with secure streaming": { + "$ref": "examples/streaming-locators-create-secure.json" + }, + "Creates a Streaming Locator with user defined content keys": { + "$ref": "examples/streaming-locators-create-secure-userDefinedContentKeys.json" + } + } + }, + "delete": { + "summary": "Delete a Streaming Locator", + "description": "Deletes a Streaming Locator in the Media Services account", + "operationId": "StreamingLocators_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete a Streaming Locator": { + "$ref": "examples/streaming-locators-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listContentKeys": { + "post": { + "summary": "List Content Keys", + "description": "List Content Keys used by this Streaming Locator", + "operationId": "StreamingLocators_ListContentKeys", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListContentKeysResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Content Keys": { + "$ref": "examples/streaming-locators-list-content-keys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/streamingLocators/{streamingLocatorName}/listPaths": { + "post": { + "summary": "List Paths", + "description": "List Paths supported by this Streaming Locator", + "operationId": "StreamingLocators_ListPaths", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListPathsResponse" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "name": "streamingLocatorName", + "in": "path", + "required": true, + "type": "string", + "description": "The Streaming Locator name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "List Paths which has streaming paths only": { + "$ref": "examples/streaming-locators-list-paths-streaming-only.json" + }, + "List Paths which has streaming paths and download paths": { + "$ref": "examples/streaming-locators-list-paths-streaming-and-download.json" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The unique identifier for a Microsoft Azure subscription." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the Azure subscription.", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name.", + "x-ms-parameter-location": "method" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The version of the API to be used with the client request." + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-create.json new file mode 100644 index 000000000000..82627f3b3a3d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-create.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "newAccountFilter", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAccountFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/newAccountFilter", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-delete.json new file mode 100644 index 000000000000..71831b8e29e4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-get-by-name.json new file mode 100644 index 000000000000..fafdbcdbd0d7 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-get-by-name.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTrack", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-list-all.json new file mode 100644 index 000000000000..7f1cd088e1ed --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-list-all.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "accountFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-update.json new file mode 100644 index 000000000000..0dd77db1fc73 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/accountFilters-update.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "filterName": "accountFilterWithTimeWindowAndTrack", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "accountFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/accountFilters/accountFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/accountFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-create.json new file mode 100644 index 000000000000..746e7f9f96d6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-create.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text3", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "A new track", + "fileName": "text3.ttml", + "playerVisibility": "Visible" + } + } + } + }, + "responses": { + "201": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "text3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text3", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text3.ttml", + "displayName": "A new track", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + }, + "200": { + "body": { + "name": "text3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text3", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text3.ttml", + "displayName": "A new track", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-delete.json new file mode 100644 index 000000000000..21d1928098f1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text2", + "api-version": "2021-11-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-get-by-name.json new file mode 100644 index 000000000000..3d70f779d823 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-get-by-name.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-list-all.json new file mode 100644 index 000000000000..ef4e305f35f6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-list-all.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "video", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/video", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.VideoTrack" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "audio", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/audio", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.AudioTrack" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + }, + { + "name": "text2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text2", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "text2.vtt", + "displayName": "user uploaded text track", + "languageCode": "en-us", + "playerVisibility": "Hidden", + "hlsSettings": { + "default": true, + "forced": true, + "characteristics": "public.accessibility.transcribes-spoken-dialog,public.easy-to-read" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-result-by-id.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-result-by-id.json new file mode 100644 index 000000000000..74166e3368cb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-result-by-id.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationResults/e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "type": "Microsoft.Media/mediaservices/assets/tracks/operationResults", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "Auto generated", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json new file mode 100644 index 000000000000..5f91c6009e6c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-non-terminal-state.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/5827d9a1-1fb4-4e54-ac40-8eeed9b862c8", + "startTime": "2021-11-01T00:00:00Z", + "status": "InProgress" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json new file mode 100644 index 000000000000..227403733933 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state-failed.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "86835197-3b47-402e-b313-70b82eaba296", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "86835197-3b47-402e-b313-70b82eaba296", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/86835197-3b47-402e-b313-70b82eaba296", + "startTime": "2021-11-01T00:00:00Z", + "endTime": "2021-11-01T00:00:30Z", + "status": "Failed", + "error": { + "code": "ClientError", + "message": "Error while parsing WEBVTT file and creating CMFT header." + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state.json new file mode 100644 index 000000000000..7787f20f5282 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-operation-status-by-id-terminal-state.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "operationId": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1/operationStatuses/e78f8d40-7aaa-4f2f-8ae6-73987e7c5a08", + "startTime": "2021-11-01T00:00:00Z", + "endTime": "2021-11-01T00:00:30Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update-data.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update-data.json new file mode 100644 index 000000000000..fb7b06d50467 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update-data.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text2", + "api-version": "2021-11-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update.json new file mode 100644 index 000000000000..f309ca80a98a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/asset-tracks-update.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "trackName": "text1", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "displayName": "A new name" + } + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationStatuses/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Media/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/assets/ClimbingMountRainer/tracks/text3/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "text1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/tracks/text1", + "type": "Microsoft.Media/mediaservices/assets/tracks", + "properties": { + "track": { + "@odata.type": "#Microsoft.Media.TextTrack", + "fileName": "auto_generated.ttml", + "displayName": "A new name", + "languageCode": "en-us", + "playerVisibility": "Visible" + }, + "provisioningState": "InProgress" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-create.json new file mode 100644 index 000000000000..cea073746adb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-create.json @@ -0,0 +1,172 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "newAssetFilter", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Audio" + }, + { + "property": "Language", + "operation": "NotEqual", + "value": "en" + }, + { + "property": "FourCC", + "operation": "NotEqual", + "value": "EC-3" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "operation": "Equal", + "value": "Video" + }, + { + "property": "Bitrate", + "operation": "Equal", + "value": "3000000-5000000" + } + ] + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + }, + "200": { + "body": { + "name": "newAssetFilter", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/newAssetFilter", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-delete.json new file mode 100644 index 000000000000..d5c0fac2ef0f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-get-by-name.json new file mode 100644 index 000000000000..e476bb7723f6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-get-by-name.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-list-all.json new file mode 100644 index 000000000000..031a1cc08ae4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-list-all.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + }, + { + "name": "assetFilterWithTimeWindow", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindow", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 0, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [] + } + }, + { + "name": "assetFilterWithTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-update.json new file mode 100644 index 000000000000..7521925a221b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assetFilters-update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountRainer", + "filterName": "assetFilterWithTimeWindowAndTrack", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "assetFilterWithTimeWindowAndTrack", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer/assetFilters/assetFilterWithTimeWindowAndTrack", + "type": "Microsoft.Media/mediaservices/assets/assetFilters", + "properties": { + "presentationTimeRange": { + "startTimestamp": 10, + "endTimestamp": 170000000, + "presentationWindowDuration": 9223372036854774806, + "liveBackoffDuration": 0, + "timescale": 10000000, + "forceEndTimestamp": false + }, + "firstQuality": { + "bitrate": 128000 + }, + "tracks": [ + { + "trackSelections": [ + { + "property": "Type", + "value": "Audio", + "operation": "Equal" + }, + { + "property": "Language", + "value": "en", + "operation": "NotEqual" + }, + { + "property": "FourCC", + "value": "EC-3", + "operation": "NotEqual" + } + ] + }, + { + "trackSelections": [ + { + "property": "Type", + "value": "Video", + "operation": "Equal" + }, + { + "property": "Bitrate", + "value": "3000000-5000000", + "operation": "Equal" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-create.json new file mode 100644 index 000000000000..70e3f9968a72 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-create.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountLogan", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Logan", + "storageAccountName": "storage0" + } + } + }, + "responses": { + "201": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.08Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + }, + "200": { + "body": { + "name": "ClimbingMountLogan", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountLogan", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "09194258-36ba-4403-abb3-68780e6bc545", + "created": "2018-08-08T18:29:26.08Z", + "lastModified": "2018-08-08T18:29:26.107Z", + "description": "A documentary showing the ascent of Mount Logan", + "container": "asset-09194258-36ba-4403-abb3-68780e6bc545", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-delete.json new file mode 100644 index 000000000000..3c7f183268b4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-by-name.json new file mode 100644 index 000000000000..7b2e31a7ad43 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-by-name.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountAdams", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-encryption-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-encryption-keys.json new file mode 100644 index 000000000000..a5cdcdc8b703 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-get-encryption-keys.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "key": "AAAAAAAAAAAAAAAAAAAAAA==", + "assetFileEncryptionMetadata": [ + { + "initializationVector": "-988929866", + "assetFileName": "AssetFile0", + "assetFileId": "a9536fa7-bd5d-4f84-a137-d1290982fe95" + }, + { + "initializationVector": "1604993689", + "assetFileName": "AssetFile1", + "assetFileId": "f4060046-94ac-422d-824c-3f1d6aa3ecf2" + }, + { + "initializationVector": "100082635", + "assetFileName": "AssetFile2", + "assetFileId": "485968d3-ddae-4b13-98e7-901201a9620b" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-all.json new file mode 100644 index 000000000000..24d676a1a850 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-all.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "258878ef-fe05-4518-988f-052e86dc19f6", + "created": "2018-08-08T18:29:24.3948982Z", + "lastModified": "2018-08-08T21:29:24.3948982Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-by-date.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-by-date.json new file mode 100644 index 000000000000..6ee0fdc7d5b6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-by-date.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingLittleTahoma", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingLittleTahoma", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "created": "2012-04-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00003", + "description": "A documentary showing the ascent of Little Tahoma", + "container": "asset-e6c7ee55-d1f5-48bc-9c36-2d2157aadbbe", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + }, + { + "name": "ClimbingMountRainer", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainer", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "8cdacfe5-8473-413a-9aec-dd2a478b37c8", + "created": "2018-08-08T18:29:25.0514734Z", + "lastModified": "2018-08-08T21:29:25.0514734Z", + "alternateId": "altClimbingMountRainer", + "description": "descClimbingMountRainer", + "container": "testasset0", + "storageAccountName": "storage0", + "storageEncryptionFormat": "None" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-in-date-range.json new file mode 100644 index 000000000000..ed9df50ad8ac --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-in-date-range.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01", + "$orderby": "properties/created", + "$filter": "properties/created gt 2012-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ClimbingMountRainier", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountRainier", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "alternateId": "CLIMB00001", + "description": "A documentary showing the ascent of Mount Rainier", + "container": "asset-f8eea45c-b814-44c2-9c42-a5174ebdee4c", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountAdams", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountAdams", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "1b648c1a-2268-461d-a1da-742bde23db40", + "created": "2013-02-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "alternateId": "CLIMB00002", + "description": "A documentary showing the ascent of Mount Adams", + "container": "asset-1b648c1a-2268-461d-a1da-742bde23db40", + "storageEncryptionFormat": "None" + } + }, + { + "name": "ClimbingMountSaintHelens", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountSaintHelens", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "14d58c40-ec1f-446c-b041-f5cff949bd1d", + "created": "2013-03-01T00:00:00Z", + "lastModified": "2013-04-01T00:00:00Z", + "alternateId": "CLIMB00005", + "description": "A documentary showing the ascent of Saint Helens", + "container": "asset-14d58c40-ec1f-446c-b041-f5cff949bd1d", + "storageEncryptionFormat": "MediaStorageClientEncryption" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-sas-urls.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-sas-urls.json new file mode 100644 index 000000000000..eabf4f3c664a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-sas-urls.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2021-11-01", + "parameters": { + "permissions": "ReadWrite", + "expiryTime": "2018-01-01T10:00:00.007Z" + } + }, + "responses": { + "200": { + "body": { + "assetContainerSasUrls": [ + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw", + "https://storage0.blob.core.windows.net/asset-89af1750-e681-4fbe-8c4c-9a5567867a6b?sr=b&sig=&se=2018-01-01T10:00:00Z&sp=lrw" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-streaming-locators.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-streaming-locators.json new file mode 100644 index 000000000000..a1c71b3671d3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-list-streaming-locators.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountSaintHelens", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "streamingLocators": [ + { + "name": "secureStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9729344Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "36b74ce3-20b4-4de0-84f1-97e9138e886c", + "streamingPolicyName": "secureStreamingPolicy" + }, + { + "name": "clearStreamingLocator", + "assetName": "ClimbingMountSaintHelens", + "created": "2018-08-08T18:29:26.9487636Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "3e8d9ac3-50f6-4f6d-8482-078ceb56f23a", + "streamingPolicyName": "clearStreamingPolicy" + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-update.json new file mode 100644 index 000000000000..5449669efbd6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/assets-update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "assetName": "ClimbingMountBaker", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "A documentary showing the ascent of Mount Baker in HD" + } + } + }, + "responses": { + "200": { + "body": { + "name": "ClimbingMountBaker", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/assets/ClimbingMountBaker", + "type": "Microsoft.Media/mediaservices/assets", + "properties": { + "assetId": "89af1750-e681-4fbe-8c4c-9a5567867a6b", + "created": "2011-02-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:26.503Z", + "alternateId": "CLIMB00004", + "description": "A documentary showing the ascent of Mount Baker in HD", + "container": "asset-89af1750-e681-4fbe-8c4c-9a5567867a6b", + "storageEncryptionFormat": "None" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-multiple-options.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-multiple-options.json new file mode 100644 index 000000000000..176cb19989ab --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-multiple-options.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyCreatedWithMultipleOptions", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + }, + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyCreatedWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyCreatedWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "07ad673b-dc14-4230-adab-716622f33992", + "created": "2018-08-08T18:29:29.98Z", + "lastModified": "2018-08-08T18:29:29.98Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "8dac9510-770a-401f-8f2b-f72640977ed0", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + }, + { + "policyOptionId": "fc121776-6ced-4135-be92-f928dedc029a", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-nodrm-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-nodrm-token.json new file mode 100644 index 000000000000..c084f4498063 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-nodrm-token.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + }, + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithClearKeyOptionAndSwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndSwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "2926c1bc-4dec-4a11-9d19-3f99006530a9", + "created": "2018-08-08T18:29:29.837Z", + "lastModified": "2018-08-08T18:29:29.837Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "e7d4d465-b6f7-4830-9a21-74a7326ef797", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [], + "restrictionTokenType": "Swt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-playready-open.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-playready-open.json new file mode 100644 index 000000000000..353179050779 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-playready-open.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:29.51Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "c52f9af0-1f53-4775-8edb-af2d9a6e28cd", + "name": "ArmPolicyOptionName", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": true, + "beginDate": "2017-10-16T18:22:53.46Z", + "playRight": { + "scmsRestriction": 2, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": true, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "Persistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "UltraVioletDownload" + } + ] + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-widevine-token.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-widevine-token.json new file mode 100644 index 000000000000..2c75d6701bde --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-create-widevine-token.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "ArmPolicyDescription", + "options": [ + { + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "AQAB", + "modulus": "AQAD" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAAAAAAAAAAAAAAAAAAAAA==" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "PolicyWithWidevineOptionAndJwtTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithWidevineOptionAndJwtTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "bad1d030-7d5c-4643-8f1e-49807a4bf64c", + "created": "2018-08-08T18:29:29.663Z", + "lastModified": "2018-08-08T18:29:29.663Z", + "description": "ArmPolicyDescription", + "options": [ + { + "policyOptionId": "26fee004-8dfa-4828-bcad-5e63c637534f", + "name": "widevineoption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "urn:issuer", + "audience": "urn:audience", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyRsaTokenKey", + "exponent": "", + "modulus": "" + }, + "alternateVerificationKeys": [ + { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + } + ], + "requiredClaims": [], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-delete.json new file mode 100644 index 000000000000..32fc45ccd967 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-by-name.json new file mode 100644 index 000000000000..45f0e1458fa1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-by-name.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-with-secrets.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-with-secrets.json new file mode 100644 index 000000000000..5ed7af0886e4 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-get-with-secrets.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithMultipleOptions", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "AAA=" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-all.json new file mode 100644 index 000000000000..9a6af82323c6 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-all.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier", + "claimValue": null + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt", + "openIdConnectDiscoveryDocument": null + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "name": null, + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "beginDate": null, + "expirationDate": null, + "relativeBeginDate": null, + "relativeExpirationDate": null, + "gracePeriod": null, + "playRight": { + "firstPlayExpiration": null, + "scmsRestriction": null, + "agcAndColorStripeRestriction": null, + "explicitAnalogTelevisionOutputRestriction": null, + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed", + "uncompressedDigitalVideoOpl": null, + "compressedDigitalVideoOpl": null, + "analogVideoOpl": null, + "compressedDigitalAudioOpl": null, + "uncompressedDigitalAudioOpl": null + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-by-lastModified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-by-lastModified.json new file mode 100644 index 000000000000..45d909a231dd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-by-lastModified.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01", + "$orderby": "properties/lastModified" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "PolicyWithPlayReadyOptionAndOpenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithPlayReadyOptionAndOpenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "a9bacd1d-60f5-4af3-8d2b-cf46ca5c9b04", + "created": "2012-11-01T00:00:00Z", + "lastModified": "2012-11-01T00:00:00Z", + "description": "A policy with one PlayReady option and Open Restriction.", + "options": [ + { + "policyOptionId": "294a833f-f128-48be-9edf-8d1bb5b35ff3", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration", + "licenses": [ + { + "allowTestDevices": false, + "playRight": { + "digitalVideoOnlyContentRestriction": false, + "imageConstraintForAnalogComponentVideoRestriction": false, + "imageConstraintForAnalogComputerMonitorRestriction": false, + "allowPassingVideoContentToUnknownOutput": "NotAllowed" + }, + "licenseType": "NonPersistent", + "contentKeyLocation": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader" + }, + "contentType": "Unspecified" + } + ], + "responseCustomData": "testCustomData" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithMultipleOptions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithMultipleOptions", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "ed7f3d1b-cfa7-4181-b966-e0b3027eec3a", + "created": "2015-12-01T00:00:00Z", + "lastModified": "2016-12-02T00:00:00Z", + "description": "A policy with multiple options.", + "options": [ + { + "policyOptionId": "caf1e28c-8288-4301-8c46-c0f9312c512f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + }, + { + "policyOptionId": "da346259-0cd6-4609-89dc-15ac131bd92f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyWidevineConfiguration", + "widevineTemplate": "{\"allowed_track_types\":\"SD_HD\",\"content_key_specs\":[{\"track_type\":\"SD\",\"security_level\":1,\"required_output_protection\":{\"hdcp\":\"HDCP_V2\"}}],\"policy_overrides\":{\"can_play\":true,\"can_persist\":true,\"can_renew\":false}}" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + }, + { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2017-11-01T00:00:00Z", + "description": "A policy with one ClearKey option and Open Restriction.", + "options": [ + { + "policyOptionId": "a3448d09-567a-4642-8309-d17e846be59f", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyTokenRestriction", + "issuer": "http://testacs", + "audience": "urn:test", + "primaryVerificationKey": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicySymmetricTokenKey", + "keyValue": "" + }, + "alternateVerificationKeys": [], + "requiredClaims": [ + { + "claimType": "urn:microsoft:azure:mediaservices:contentkeyidentifier" + }, + { + "claimType": "DRM", + "claimValue": "Widevine" + } + ], + "restrictionTokenType": "Jwt" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-in-date-range.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-in-date-range.json new file mode 100644 index 000000000000..e35562227877 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-list-in-date-range.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01", + "$filter": "properties/lastModified gt 2016-06-01 and properties/created lt 2013-07-01" + }, + "responses": { + "200": { + "body": { + "value": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-update.json new file mode 100644 index 000000000000..c42f8f671ea3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/content-key-policies-update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "contentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "Updated Policy", + "options": [ + { + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "PolicyWithClearKeyOptionAndTokenRestriction", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/contentKeyPolicies/PolicyWithClearKeyOptionAndTokenRestriction", + "type": "Microsoft.Media/mediaservices/contentKeyPolicies", + "properties": { + "policyId": "8352435b-ebea-4681-aae7-e19277771f64", + "created": "2017-12-01T00:00:00Z", + "lastModified": "2018-08-08T18:29:30.303Z", + "description": "Updated Policy", + "options": [ + { + "policyOptionId": "7d3f4bc1-d2bf-43a3-b02e-a7e31ab15d43", + "name": "ClearKeyOption", + "configuration": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyClearKeyConfiguration" + }, + "restriction": { + "@odata.type": "#Microsoft.Media.ContentKeyPolicyOpenRestriction" + } + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-cancel.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-cancel.json new file mode 100644 index 000000000000..1411466bff10 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-cancel.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1" + }, + "responses": { + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-create.json new file mode 100644 index 000000000000..01d37f2763aa --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-create.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1", + "parameters": { + "properties": { + "input": { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "assetName": "job1-InputAsset" + }, + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "assetName": "job1-OutputAsset" + } + ], + "correlationData": { + "key1": "value1", + "Key 2": "Value 2" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-07-12T10:44:30.6393998Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + }, + "lastModified": "2021-07-12T10:44:30.6393998Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "BuiltInStandardEncoderPreset_0", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Normal", + "correlationData": { + "key1": "value1", + "Key 2": "Value 2" + } + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:30.6393998Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:30.6393998Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-delete.json new file mode 100644 index 000000000000..d6ee433e9e79 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "jobToDelete" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-get-by-name.json new file mode 100644 index 000000000000..19eed9fea6fc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-get-by-name.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1" + }, + "responses": { + "200": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {} + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-created.json new file mode 100644 index 000000000000..f4e0c2c92def --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-created.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/created ge 2021-11-01T00:00:10.0000000Z and properties/created le 2021-11-01T00:00:20.0000000Z", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:10Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job2-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:10Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.4143905Z", + "assetName": "job2-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.4143905Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:10Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:10Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:20Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job3-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:20Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.4143905Z", + "endTime": "2021-07-12T10:44:30.4143905Z", + "assetName": "job3-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.4143905Z", + "endTime": "2021-07-12T10:44:30.4143905Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:20Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:20Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-lastmodified.json new file mode 100644 index 000000000000..2bb5f2a10793 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-lastmodified.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/lastmodified ge 2021-11-01T00:00:10.0000000Z and properties/lastmodified le 2021-11-01T00:00:20.0000000Z", + "$orderby": "properties/lastmodified desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:20Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job3-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:20Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.4893941Z", + "endTime": "2021-07-12T10:44:30.4893941Z", + "assetName": "job3-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.4893941Z", + "endTime": "2021-07-12T10:44:30.4893941Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:20Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:20Z" + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:10Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job2-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:10Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.4893941Z", + "assetName": "job2-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.4893941Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:10Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:10Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name-and-state.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name-and-state.json new file mode 100644 index 000000000000..1034180ff11f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name-and-state.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "name eq 'job3' and properties/state eq Microsoft.Media.JobState'finished'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job3-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.3393701Z", + "endTime": "2021-07-12T10:44:30.3393701Z", + "assetName": "job3-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.3393701Z", + "endTime": "2021-07-12T10:44:30.3393701Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name.json new file mode 100644 index 000000000000..3e90973d8de1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-name.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "name eq 'job1' or name eq 'job2'", + "$orderby": "name" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {} + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job2-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.0631403Z", + "assetName": "job2-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.0631403Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-eq.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-eq.json new file mode 100644 index 000000000000..93fbbd71ce2d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-eq.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/state eq Microsoft.Media.JobState'Processing'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job2-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.1393325Z", + "assetName": "job2-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.1393325Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job3-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.1393325Z", + "assetName": "job3-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.1393325Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-ne.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-ne.json new file mode 100644 index 000000000000..15cb4dbc82d8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all-filter-by-state-ne.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "$filter": "properties/state ne Microsoft.Media.JobState'processing'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {} + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + }, + { + "name": "job4", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job4", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job4-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:30.2743374Z", + "endTime": "2021-07-12T10:44:30.2743374Z", + "assetName": "job4-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:30.2743374Z", + "endTime": "2021-07-12T10:44:30.2743374Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all.json new file mode 100644 index 000000000000..8e619592d973 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-list-all.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Queued", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {} + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + }, + { + "name": "job2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job2", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Processing", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job2-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Processing", + "progress": 50, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:29.691737Z", + "assetName": "job2-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:29.691737Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + }, + { + "name": "job3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job3", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Finished", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job3-InputAsset" + } + ] + }, + "lastModified": "2021-11-01T00:00:00Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Finished", + "progress": 100, + "label": "example-custom-label", + "startTime": "2021-07-12T10:34:29.691737Z", + "endTime": "2021-07-12T10:44:29.691737Z", + "assetName": "job3-OutputAsset" + } + ], + "priority": "Low", + "correlationData": {}, + "startTime": "2021-07-12T10:34:29.691737Z", + "endTime": "2021-07-12T10:44:29.691737Z" + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:00Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-update.json new file mode 100644 index 000000000000..ec6f5dc5720c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/jobs-update.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "exampleTransform", + "jobName": "job1", + "parameters": { + "properties": { + "description": "Example job to illustrate update.", + "input": { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "assetName": "job1-InputAsset" + }, + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "assetName": "job1-OutputAsset" + } + ], + "priority": "High" + } + } + }, + "responses": { + "200": { + "body": { + "name": "job1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/exampleTransform/jobs/job1", + "type": "Microsoft.Media/mediaservices/transforms/jobs", + "properties": { + "created": "2021-11-01T00:00:00Z", + "state": "Queued", + "description": "Example job to illustrate update.", + "input": { + "@odata.type": "#Microsoft.Media.JobInputs", + "inputs": [ + { + "@odata.type": "#Microsoft.Media.JobInputAsset", + "files": [], + "inputDefinitions": [], + "assetName": "job1-InputAsset" + } + ] + }, + "lastModified": "2021-07-12T10:44:30.9494087Z", + "outputs": [ + { + "@odata.type": "#Microsoft.Media.JobOutputAsset", + "state": "Queued", + "progress": 0, + "label": "example-custom-label", + "assetName": "job1-OutputAsset" + } + ], + "priority": "High", + "correlationData": {} + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:00Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:30.9494087Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-allocate.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-allocate.json new file mode 100644 index 000000000000..789abe61a734 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-allocate.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01" + }, + "responses": { + "202": {}, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-create.json new file mode 100644 index 000000000000..a532229807d1 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-create.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01", + "parameters": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "input": { + "streamingProtocol": "RTMP", + "keyFrameIntervalDuration": "PT6S", + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + } + }, + "preview": { + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Creating", + "provisioningState": "InProgress", + "created": "2018-03-03T02:25:06.0982751Z", + "lastModified": "2018-03-03T02:25:06.0982751Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "", + "endpoints": [], + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + } + }, + "preview": { + "previewLocator": "c91726b4-880c-4090-94aa-e6ddb1384b37", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + }, + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:06.0982751Z", + "lastModified": "2018-03-03T02:25:06.0982751Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "", + "endpoints": [], + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + } + }, + "preview": { + "previewLocator": "c91726b4-880c-4090-94aa-e6ddb1384b37", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-delete.json new file mode 100644 index 000000000000..511607ce29ee --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-delete.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01", + "parameters": { + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "name": "myLiveEvent1", + "type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents", + "location": "West US", + "tags": { + "dynamicProperties": { + "tag1": "value1", + "tag2": "value2" + } + }, + "properties": { + "description": "test event updated", + "input": { + "streamingProtocol": "FragmentedMP4", + "keyFrameIntervalDuration": "PT6S", + "endpoints": [], + "accessToken": null + }, + "preview": { + "endpoints": [], + "accessControl": { + "iP": { + "allow": [ + { + "nName": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + }, + "previewLocator": null, + "streamingPolicyName": null + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "provisioningState": null, + "resourceState": "Stopped", + "crossSiteAccessPolicies": null, + "useStaticHostname": false, + "streamOptions": [], + "created": "2018-03-02T18:25:07.5748853-08:00", + "lastModified": "2018-03-02T18:25:07.5748853-08:00" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-all.json new file mode 100644 index 000000000000..b3277f092491 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-all.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:08.5564064Z", + "lastModified": "2018-03-03T02:25:08.5564064Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "", + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "http://clouddeployment.media-test.net/de153bb0814542d9b7e2339ce9430dc4/ingest.isml" + } + ] + }, + "preview": { + "previewLocator": "a220e223-faf8-4e03-b9a9-2c2432f48025", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "https://myliveevent1-slitestmedia10.preview-usso.channel.mediaservices.windows.net/a220e223-faf8-4e03-b9a9-2c2432f48025/preview.ism/manifest" + } + ] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": null, + "crossDomainPolicy": null + } + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-by-name.json new file mode 100644 index 000000000000..571d2deca262 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-list-by-name.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": {}, + "properties": { + "description": "", + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:08.3474032Z", + "lastModified": "2018-03-03T02:25:08.3474032Z", + "useStaticHostname": false, + "streamOptions": [ + "Default" + ], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": null, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "http://clouddeployment.media-test.net/ingest.isml" + } + ] + }, + "preview": { + "previewLocator": "763f3ea4-d94f-441c-a634-c833f61a4e04", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowAll", + "address": "0.0.0.0", + "subnetPrefixLength": 0 + } + ] + } + }, + "endpoints": [ + { + "protocol": "FragmentedMP4", + "url": "https://testeventopito4idh2r-weibzmedia05.preview-ts051.channel.media-test.windows-int.net/763f3ea4-d94f-441c-a634-c833f61a4e04/preview.ism/manifest" + } + ] + }, + "encoding": { + "encodingType": "None", + "presetName": null + }, + "crossSiteAccessPolicies": { + "clientAccessPolicy": "", + "crossDomainPolicy": "" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-reset.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-reset.json new file mode 100644 index 000000000000..9d3fc798a4bc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-reset.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-start.json new file mode 100644 index 000000000000..9d3fc798a4bc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-start.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-stop.json new file mode 100644 index 000000000000..56125b9214fe --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-stop.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01", + "parameters": { + "removeOutputsOnStop": false + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-update.json new file mode 100644 index 000000000000..642ac6e07117 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveevent-update.json @@ -0,0 +1,170 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01", + "parameters": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "input": { + "streamingProtocol": "FragmentedMP4", + "keyFrameIntervalDuration": "PT6S", + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0" + } + ] + } + } + }, + "preview": { + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0" + } + ] + } + } + } + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveeventoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "resourceState": "Running", + "provisioningState": "InProgress", + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "", + "endpoints": [], + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + } + }, + "preview": { + "previewLocator": "c10ea3fc-587f-4daf-b2b2-fa8f647a9ed2", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + } + } + } + }, + "200": { + "body": { + "name": "myLiveEvent1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1", + "type": "Microsoft.Media/mediaservices/liveevents", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2", + "tag3": "value3" + }, + "properties": { + "description": "test event updated", + "resourceState": "Running", + "provisioningState": "InProgress", + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z", + "useStaticHostname": false, + "streamOptions": [], + "input": { + "keyFrameIntervalDuration": "PT6S", + "streamingProtocol": "FragmentedMP4", + "accessToken": "", + "endpoints": [], + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + } + }, + "preview": { + "previewLocator": "c10ea3fc-587f-4daf-b2b2-fa8f647a9ed2", + "streamingPolicyName": null, + "accessControl": { + "ip": { + "allow": [ + { + "name": "AllowOne", + "address": "192.1.1.0", + "subnetPrefixLength": null + } + ] + } + }, + "endpoints": [] + }, + "encoding": { + "encodingType": "None", + "presetName": null + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-create.json new file mode 100644 index 000000000000..233d556acf96 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "outputSnapTime": 0, + "resourceState": "Stopped", + "provisioningState": "Succeeded", + "created": "2018-03-03T02:25:09.9431835Z", + "lastModified": "2018-03-03T02:25:09.9431835Z", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + }, + "201": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": "test live output 1", + "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212", + "archiveWindowLength": "PT5M", + "manifestName": "testmanifest", + "outputSnapTime": 0, + "resourceState": "Creating", + "provisioningState": "InProgress", + "created": "2018-03-03T02:25:09.9431835Z", + "lastModified": "2018-03-03T02:25:09.9431835Z", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-delete.json new file mode 100644 index 000000000000..4cacdb165e55 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2021-11-01" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-all.json new file mode 100644 index 000000000000..00294ed84bd5 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-all.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "liveoutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": null, + "assetName": "95dafce4-5320-464c-8597-909373854119", + "archiveWindowLength": "PT30S", + "manifestName": "c3a23d4b-02a6-4937-a1ad-6416f463fdca", + "outputSnapTime": 0, + "resourceState": "Running", + "provisioningState": "Succeeded", + "created": "0001-01-01T00:00:00-08:00", + "lastModified": "0001-01-01T00:00:00-08:00", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-by-name.json new file mode 100644 index 000000000000..4411aa20859b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/liveoutput-list-by-name.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "liveEventName": "myLiveEvent1", + "liveOutputName": "myLiveOutput1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "myLiveOutput1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/liveevents/myLiveEvent1/liveoutputs/myLiveOutput1", + "type": "Microsoft.Media/mediaservices/liveevents/liveoutputs", + "properties": { + "description": null, + "assetName": "cb2ae0bc-677a-4830-9c8e-06ce4c4cb607", + "archiveWindowLength": "PT30S", + "manifestName": "fc7096f5-c488-4b86-8302-f3bfde53fc27", + "outputSnapTime": 0, + "resourceState": "Running", + "provisioningState": "Succeeded", + "created": "0001-01-01T00:00:00-08:00", + "lastModified": "0001-01-01T00:00:00-08:00", + "hls": { + "fragmentsPerTsSegment": 5 + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-clear.json new file mode 100644 index 000000000000..1e53b21c26cb --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-clear.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedClearStreamingLocator", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "streamingPolicyName": "clearStreamingPolicy", + "assetName": "ClimbingMountRainier" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedClearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.4323237Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "e34b0fc4-3be0-4a3c-9793-1f6b7be5b013", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json new file mode 100644 index 000000000000..55dcc252f1f3 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure-userDefinedContentKeys.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "assetName": "ClimbingMountRainier", + "streamingPolicyName": "secureStreamingPolicy", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000A", + "contentKeys": [ + { + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "id": "60000000-0000-0000-0000-000000000001", + "value": "1UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "id": "60000000-0000-0000-0000-000000000004", + "value": "4UqLohAfWsEGkULYxHjYZg==" + }, + { + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "id": "60000000-0000-0000-0000-000000000007", + "value": "7UqLohAfWsEGkULYxHjYZg==" + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocatorWithUserDefinedContentKeys", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.7859424Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "90000000-0000-0000-0000-00000000000a", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "60000000-0000-0000-0000-000000000007", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000004", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "60000000-0000-0000-0000-000000000001", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure.json new file mode 100644 index 000000000000..4a5ac59345cd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-create-secure.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "UserCreatedSecureStreamingLocator", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "streamingPolicyName": "secureStreamingPolicy", + "assetName": "ClimbingMountRainier", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z" + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/UserCreatedSecureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.6243295Z", + "startTime": "2018-03-01T00:00:00Z", + "endTime": "2028-12-31T23:59:59.9999999Z", + "streamingLocatorId": "962775be-41fb-452a-b0dc-72ca2543a945", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [ + { + "id": "1b2d5581-4518-4a51-ad8a-f55d3bf993d4", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "tracks": [] + }, + { + "id": "1a9858b1-3566-4bf1-9fee-60f2fb98e7e4", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "tracks": [] + }, + { + "id": "5faac86a-3aca-4d6b-99c0-6bb8cc3497a1", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "tracks": [] + } + ] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-delete.json new file mode 100644 index 000000000000..3ed03d2d7fbc --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-get-by-name.json new file mode 100644 index 000000000000..f1696d41a027 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-get-by-name.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:32.1154071Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7684043b-f6d1-44a7-8bed-8a4aa474c5a4", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-content-keys.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-content-keys.json new file mode 100644 index 000000000000..75de7463fca8 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-content-keys.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "contentKeys": [ + { + "id": "9259eb06-eeee-4f77-987f-48f4ea5c649f", + "type": "EnvelopeEncryption", + "labelReferenceInStreamingPolicy": "aesDefaultKey", + "value": "QpiqeQROdN5xamnfUF2Wdw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "06bfeff1-2bb6-4f58-af27-a2767f058bca", + "type": "CommonEncryptionCenc", + "labelReferenceInStreamingPolicy": "cencDefaultKey", + "value": "ZjgWhNnqnqcov/h+wrYusw==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + }, + { + "id": "799e78a0-ed6f-4179-9222-ed4ec4223cec", + "type": "CommonEncryptionCbcs", + "labelReferenceInStreamingPolicy": "cbcsDefaultKey", + "value": "FjZ3n3yRcVxRFftdYFbe9g==", + "policyName": "PolicyWithMultipleOptions", + "tracks": [] + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-and-download.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-and-download.json new file mode 100644 index 000000000000..1d38cc3e4170 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-and-download.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "clearStreamingLocator", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=m3u8-aapl)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=m3u8-aapl)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest(format=mpd-time-csf)", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest(format=mpd-time-csf)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "NoEncryption", + "paths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest1.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest2.ism/manifest", + "/262a87b6-b538-4657-bac1-b6897924471d/videoManifest3.ism/manifest" + ] + } + ], + "downloadPaths": [ + "/262a87b6-b538-4657-bac1-b6897924471d/textTrack.vtt", + "/262a87b6-b538-4657-bac1-b6897924471d/video1.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video2.mp4", + "/262a87b6-b538-4657-bac1-b6897924471d/video3.mp4" + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-only.json new file mode 100644 index 000000000000..ee15b07c055d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list-paths-streaming-only.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingLocatorName": "secureStreamingLocator", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "streamingPaths": [ + { + "streamingProtocol": "Hls", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cbc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "EnvelopeEncryption", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cbc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cbc)" + ] + }, + { + "streamingProtocol": "Dash", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=mpd-time-csf,encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=mpd-time-csf,encryption=cenc)" + ] + }, + { + "streamingProtocol": "SmoothStreaming", + "encryptionScheme": "CommonEncryptionCenc", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(encryption=cenc)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(encryption=cenc)" + ] + }, + { + "streamingProtocol": "Hls", + "encryptionScheme": "CommonEncryptionCbcs", + "paths": [ + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest1.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest2.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)", + "/c3cd62e3-d117-4619-bcbd-99f96edd8dbe/videoManifest3.ism/manifest(format=m3u8-aapl,encryption=cbcs-aapl)" + ] + } + ], + "downloadPaths": [] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list.json new file mode 100644 index 000000000000..35aaf789cf12 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-locators-list.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/clearStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9341192Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "6a116ec6-0c85-441f-9c31-89a5bc3adf0a", + "streamingPolicyName": "clearStreamingPolicy", + "contentKeys": [] + } + }, + { + "name": "secureStreamingLocator", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingLocators/secureStreamingLocator", + "type": "Microsoft.Media/mediaservices/streamingLocators", + "properties": { + "assetName": "ClimbingMountRainier", + "created": "2018-08-08T18:29:31.9544387Z", + "endTime": "9999-12-31T23:59:59.9999999Z", + "streamingLocatorId": "7338ef90-ffc8-42de-8bff-de8f99973300", + "streamingPolicyName": "secureStreamingPolicy", + "contentKeys": [] + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-clear.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-clear.json new file mode 100644 index 000000000000..53adcedf861a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-clear.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedClearStreamingPolicy", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedClearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedClearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.1535417Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json new file mode 100644 index 000000000000..84d41e126c1a --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCbcs-only.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.6197199Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCenc-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCenc-only.json new file mode 100644 index 000000000000..6338440a89f9 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-commonEncryptionCenc-only.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + } + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.4678543Z", + "defaultContentKeyPolicyName": "PolicyWithPlayReadyOptionAndOpenRestriction", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-envelopeEncryption-only.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-envelopeEncryption-only.json new file mode 100644 index 000000000000..3f496b4252b2 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-envelopeEncryption-only.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.3055712Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-secure-streaming.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-secure-streaming.json new file mode 100644 index 000000000000..e9c935bd8e93 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-create-secure-streaming.json @@ -0,0 +1,164 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "UserCreatedSecureStreamingPolicy", + "api-version": "2021-11-01", + "parameters": { + "properties": { + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + } + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + } + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + } + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + }, + "responses": { + "201": { + "body": { + "name": "UserCreatedSecureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/UserCreatedSecureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:31.7715696Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Equal", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-delete.json new file mode 100644 index 000000000000..939e5226c838 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "api-version": "2021-11-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-list.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-list.json new file mode 100644 index 000000000000..6083551e2922 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policies-list.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.676067Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + }, + { + "name": "secureStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + }, + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + }, + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCbcsOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCbcs": { + "enabledProtocols": { + "download": false, + "dash": false, + "hls": true, + "smoothStreaming": false + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "cbcsDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "fairPlay": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/fairplay/{ContentKeyId}", + "allowPersistentLicense": true + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithCommonEncryptionCencOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithCommonEncryptionCencOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithMultipleOptions", + "commonEncryptionCenc": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": false, + "smoothStreaming": true + }, + "clearTracks": [ + { + "trackSelections": [ + { + "property": "FourCC", + "operation": "Unknown", + "value": "hev1" + } + ] + } + ], + "contentKeys": { + "defaultKey": { + "label": "cencDefaultKey" + }, + "keyToTrackMappings": [] + }, + "drm": { + "playReady": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/playready/{ContentKeyId}", + "playReadyCustomAttributes": "PlayReady CustomAttributes" + }, + "widevine": { + "customLicenseAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/widevine/{ContentKeyId" + } + } + } + } + }, + { + "name": "secureStreamingPolicyWithEnvelopeEncryptionOnly", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/secureStreamingPolicyWithEnvelopeEncryptionOnly", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.6781134Z", + "defaultContentKeyPolicyName": "PolicyWithClearKeyOptionAndTokenRestriction", + "envelopeEncryption": { + "enabledProtocols": { + "download": false, + "dash": true, + "hls": true, + "smoothStreaming": true + }, + "clearTracks": [], + "contentKeys": { + "defaultKey": { + "label": "aesDefaultKey" + }, + "keyToTrackMappings": [] + }, + "customKeyAcquisitionUrlTemplate": "https://contoso.com/{AssetAlternativeId}/envelope/{ContentKeyId}" + } + } + } + ], + "@odata.nextLink": "http://server/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaServices/contosomedia/streamingPolicies?api-version=2021-11-01&$skiptoken=secureStreamingPolicyWithEnvelopeEncryptionOnly" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policy-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policy-get-by-name.json new file mode 100644 index 000000000000..f0436fddc735 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streaming-policy-get-by-name.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contoso", + "accountName": "contosomedia", + "streamingPolicyName": "clearStreamingPolicy", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "clearStreamingPolicy", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Media/mediaservices/contosomedia/streamingPolicies/clearStreamingPolicy", + "type": "Microsoft.Media/mediaservices/streamingPolicies", + "properties": { + "created": "2018-08-08T18:29:30.8501486Z", + "noEncryption": { + "enabledProtocols": { + "download": true, + "dash": true, + "hls": true, + "smoothStreaming": true + } + } + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-create.json new file mode 100644 index 000000000000..6ecd0b1284ef --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-create.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01", + "parameters": { + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2029-12-31T16:00:00-08:00", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2030-12-31T16:00:00-08:00", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1" + } + ] + } + }, + "cdnEnabled": false + } + } + }, + "responses": { + "201": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2030-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2031-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1", + "subnetPrefixLength": null + } + ] + } + }, + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "InProgress", + "resourceState": "Creating", + "created": "2018-03-03T02:25:09.7561389Z", + "lastModified": "2018-03-03T02:25:09.7561389Z" + } + } + }, + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "accessControl": { + "akamai": { + "akamaiSignatureHeaderAuthenticationKeyList": [ + { + "identifier": "id1", + "expiration": "2030-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + }, + { + "identifier": "id2", + "expiration": "2031-01-01T00:00:00Z", + "base64Key": "dGVzdGlkMQ==" + } + ] + }, + "ip": { + "allow": [ + { + "name": "AllowedIp", + "address": "192.168.1.1", + "subnetPrefixLength": null + } + ] + } + }, + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "Succeeded", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.7561389Z", + "lastModified": "2018-03-03T02:25:09.7561389Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-delete.json new file mode 100644 index 000000000000..12c7f435feac --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-delete.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01", + "parameters": { + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "name": "myStreamingEndpoint1", + "type": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourcegroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints", + "location": "West US", + "tags": { + "dynamicProperties": { + "tag1": "value1", + "tag2": "value2" + } + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "accessControl": null, + "availabilitySetName": "availableset", + "maxCacheAge": null, + "crossSiteAccessPolicies": null, + "customHostNames": [], + "hostName": null, + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": null, + "resourceState": "Stopped", + "created": "2018-03-02T18:25:09.4897514-08:00", + "lastModified": "2018-03-02T18:25:09.4897514-08:00" + } + } + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-all.json new file mode 100644 index 000000000000..1c7db6cf5940 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-all.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T08:00:00Z", + "provisioningState": "Succeeded", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.202013Z", + "lastModified": "2018-03-03T02:25:09.202013Z" + } + }, + { + "name": "default", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/default", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": {}, + "properties": { + "description": "", + "scaleUnits": 0, + "availabilitySetName": null, + "cdnEnabled": true, + "cdnProvider": "StandardVerizon", + "cdnProfile": "AzureMediaStreamingPlatformCdnProfile-StandardVerizon", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T00:00:00-08:00", + "provisioningState": "InProgress", + "resourceState": "Starting", + "created": "2018-03-03T02:25:09.2310128Z", + "lastModified": "2018-03-03T02:25:09.2310128Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-by-name.json new file mode 100644 index 000000000000..f9aa24ea5f9d --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-by-name.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "test event 1", + "scaleUnits": 1, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": "", + "customHostNames": [], + "maxCacheAge": null, + "hostName": "mystreamingendpoint1-slitestmedia10.streaming.mediaservices.windows.net", + "freeTrialEndTime": "0001-01-01T08:00:00Z", + "provisioningState": "Succeeded", + "resourceState": "Stopped", + "created": "2018-03-03T02:25:09.3500423Z", + "lastModified": "2018-03-03T02:25:09.3500423Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-skus.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-skus.json new file mode 100644 index 000000000000..9fc2284213d9 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-list-skus.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Media/mediaservices/streamingEndpoints", + "capacity": { + "scaleType": "Automatic", + "default": 1, + "minimum": 1, + "maximum": 10 + }, + "sku": { + "name": "Premium" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-scale.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-scale.json new file mode 100644 index 000000000000..f0944822c10b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-scale.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01", + "parameters": { + "scaleUnit": 5 + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-start.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-start.json new file mode 100644 index 000000000000..6f538cfe301f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-start.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-stop.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-stop.json new file mode 100644 index 000000000000..6f538cfe301f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-stop.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + } + }, + "200": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-update.json new file mode 100644 index 000000000000..975b022a81bd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/streamingendpoint-update.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "0a6ec948-5a62-437d-b9df-934dc7c1b722", + "resourceGroupName": "mediaresources", + "accountName": "slitestmedia10", + "streamingEndpointName": "myStreamingEndpoint1", + "api-version": "2021-11-01", + "parameters": { + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset" + } + } + }, + "responses": { + "200": { + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "customHostNames": [], + "maxCacheAge": null, + "hostName": null, + "freeTrialEndTime": "0001-01-01T00:00:00Z", + "provisioningState": "Succeeded", + "resourceState": null, + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpointoperations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01", + "location": "https://management.azure.com/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1/operationlocations/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-11-01" + }, + "body": { + "name": "myStreamingEndpoint1", + "id": "/subscriptions/0a6ec948-5a62-437d-b9df-934dc7c1b722/resourceGroups/mediaresources/providers/Microsoft.Media/mediaservices/slitestmedia10/streamingendpoints/myStreamingEndpoint1", + "type": "Microsoft.Media/mediaservices/streamingEndpoints", + "location": "West US", + "tags": { + "tag3": "value3", + "tag5": "value5" + }, + "properties": { + "description": "test event 2", + "scaleUnits": 5, + "availabilitySetName": "availableset", + "cdnEnabled": false, + "cdnProvider": null, + "cdnProfile": null, + "customHostNames": [], + "maxCacheAge": null, + "hostName": null, + "freeTrialEndTime": "0001-01-01T00:00:00Z", + "provisioningState": "Succeeded", + "resourceState": null, + "created": "0001-01-01T00:00:00Z", + "lastModified": "0001-01-01T00:00:00Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-create.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-create.json new file mode 100644 index 000000000000..004712339822 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-create.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "createdTransform", + "parameters": { + "properties": { + "description": "Example Transform to illustrate create and update.", + "outputs": [ + { + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "name": "createdTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:29.3367225Z", + "description": "Example Transform to illustrate create and update.", + "lastModified": "2021-07-12T10:44:29.3367225Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:29.3367225Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:29.3367225Z" + } + } + }, + "200": { + "body": { + "name": "createdTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/createdTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:29.3367225Z", + "description": "Example Transform to illustrate create and update.", + "lastModified": "2021-07-12T10:44:29.3367225Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:29.3367225Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:29.3367225Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-delete.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-delete.json new file mode 100644 index 000000000000..8b1bc1ae017c --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "sampleTransform" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-get-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-get-by-name.json new file mode 100644 index 000000000000..76cde7f91778 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-get-by-name.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "sampleTransform" + }, + "responses": { + "200": { + "body": { + "name": "sampleTransform", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleTransform", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:29.2267128Z", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2021-07-12T10:44:29.2267128Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate1080p" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:29.2267128Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:29.2267128Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-created.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-created.json new file mode 100644 index 000000000000..4c1789c6f245 --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-created.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "properties/created gt 2021-11-01T00:00:00.0000000Z and properties/created le 2021-11-01T00:00:10.0000000Z", + "$orderby": "properties/created" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-11-01T00:00:10Z", + "description": "A sample Transform using the Video Analyzer.", + "lastModified": "2021-11-01T00:00:10Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", + "insightsToExtract": "AllInsights" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:10Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:10Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-lastmodified.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-lastmodified.json new file mode 100644 index 000000000000..e4c344817f6f --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-lastmodified.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "properties/lastmodified gt 2021-11-01T00:00:00.0000000Z and properties/lastmodified le 2021-11-01T00:00:10.0000000Z", + "$orderby": "properties/lastmodified desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-11-01T00:00:10Z", + "description": "A sample Transform using the Video Analyzer.", + "lastModified": "2021-11-01T00:00:10Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", + "insightsToExtract": "AllInsights" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-11-01T00:00:10Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-11-01T00:00:10Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-name.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-name.json new file mode 100644 index 000000000000..594dd6fbaaad --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all-filter-by-name.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "$filter": "(name eq 'sampleEncode') or (name eq 'sampleEncodeAndVideoIndex')", + "$orderby": "name desc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:28.9563077Z", + "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", + "lastModified": "2021-07-12T10:44:28.9563077Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + }, + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", + "insightsToExtract": "AllInsights" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:28.9563077Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:28.9563077Z" + } + }, + { + "name": "sampleEncode", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:28.9563077Z", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2021-07-12T10:44:28.9563077Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:28.9563077Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:28.9563077Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all.json new file mode 100644 index 000000000000..d6bae816296b --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-list-all.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sampleEncode", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncode", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:28.1563119Z", + "description": "A sample Transform using the Standard Encoder with a built in preset.", + "lastModified": "2021-07-12T10:44:28.1563119Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:28.1563119Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:28.1563119Z" + } + }, + { + "name": "sampleEncodeAndVideoIndex", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/sampleEncodeAndVideoIndex", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:28.281304Z", + "description": "A sample Transform using the Standard Encoder with a built-in preset, as well as the Video Analyzer.", + "lastModified": "2021-07-12T10:44:28.281304Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "AdaptiveStreaming" + } + }, + { + "onError": "StopProcessingJob", + "relativePriority": "Normal", + "preset": { + "@odata.type": "#Microsoft.Media.VideoAnalyzerPreset", + "mode": "Standard", + "insightsToExtract": "AllInsights" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:28.281304Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:28.281304Z" + } + } + ] + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-update.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-update.json new file mode 100644 index 000000000000..11a28ba64ecd --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/examples/transforms-update.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "contosoresources", + "accountName": "contosomedia", + "transformName": "transformToUpdate", + "parameters": { + "properties": { + "description": "Example transform to illustrate update.", + "outputs": [ + { + "relativePriority": "High", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate720p" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "transformToUpdate", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoresources/providers/Microsoft.Media/mediaservices/contosomedia/transforms/transformToUpdate", + "type": "Microsoft.Media/mediaservices/transforms", + "properties": { + "created": "2021-07-12T10:44:29.6217348Z", + "description": "Example transform to illustrate update.", + "lastModified": "2021-07-12T10:44:29.6267341Z", + "outputs": [ + { + "onError": "StopProcessingJob", + "relativePriority": "High", + "preset": { + "@odata.type": "#Microsoft.Media.BuiltInStandardEncoderPreset", + "presetName": "H264MultipleBitrate720p" + } + } + ] + }, + "systemData": { + "createdBy": "contoso@microsoft.com", + "createdByType": "User", + "createdAt": "2021-07-12T10:44:29.6217348Z", + "lastModifiedBy": "contoso@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-07-12T10:44:29.6267341Z" + } + } + } + } +} diff --git a/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/streamingservice.json b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/streamingservice.json new file mode 100644 index 000000000000..fe9050747dea --- /dev/null +++ b/specification/mediaservices/resource-manager/Microsoft.Media/stable/2021-11-01/streamingservice.json @@ -0,0 +1,2189 @@ +{ + "schemes": [ + "https" + ], + "swagger": "2.0", + "info": { + "title": "Azure Media Services", + "description": "Live event and streaming endpoint management APIs", + "version": "2021-11-01" + }, + "host": "management.azure.com", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents": { + "get": { + "tags": [ + "LiveEvents" + ], + "summary": "List live events", + "description": "Lists all the live events in the account.", + "operationId": "LiveEvents_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEventListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all LiveEvents": { + "$ref": "examples/liveevent-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}": { + "get": { + "tags": [ + "LiveEvents" + ], + "summary": "Get Live Event", + "description": "Gets properties of a live event.", + "operationId": "LiveEvents_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a LiveEvent by name": { + "$ref": "examples/liveevent-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "LiveEvents" + ], + "summary": "Create Live Event", + "description": "Creates a new live event.", + "operationId": "LiveEvents_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StreamingResourceAutoStart" + }, + { + "name": "parameters", + "description": "Live event properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEvent" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a LiveEvent": { + "$ref": "examples/liveevent-create.json" + } + } + }, + "patch": { + "tags": [ + "LiveEvents" + ], + "description": "Updates settings on an existing live event.", + "operationId": "LiveEvents_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Live event properties needed for patch.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEvent" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/LiveEvent" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a LiveEvent": { + "$ref": "examples/liveevent-update.json" + } + } + }, + "delete": { + "tags": [ + "LiveEvents" + ], + "summary": "Delete Live Event", + "description": "Deletes a live event.", + "operationId": "LiveEvents_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the live event was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a LiveEvent": { + "$ref": "examples/liveevent-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/allocate": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Allocate resources for a live event", + "description": "A live event is in StandBy state after allocation completes, and is ready to start.", + "operationId": "LiveEvents_Allocate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Allocate a LiveEvent": { + "$ref": "examples/liveevent-allocate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/start": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Start Live Event", + "description": "A live event in Stopped or StandBy state will be in Running state after the start operation completes.", + "operationId": "LiveEvents_Start", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start a LiveEvent": { + "$ref": "examples/liveevent-start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/stop": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Stop Live Event", + "description": "Stops a running live event.", + "operationId": "LiveEvents_Stop", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "LiveEvent stop parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveEventActionInput" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop a LiveEvent": { + "$ref": "examples/liveevent-stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/reset": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Reset Live Event", + "description": "Resets an existing live event. All live outputs for the live event are deleted and the live event is stopped and will be started again. All assets used by the live outputs and streaming locators created on these assets are unaffected. ", + "operationId": "LiveEvents_Reset", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reset a LiveEvent": { + "$ref": "examples/liveevent-reset.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs": { + "get": { + "tags": [ + "LiveOutputs" + ], + "summary": "List Live Outputs", + "description": "Lists the live outputs of a live event.", + "operationId": "LiveOutputs_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutputListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all LiveOutputs": { + "$ref": "examples/liveoutput-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/liveOutputs/{liveOutputName}": { + "get": { + "tags": [ + "LiveOutputs" + ], + "summary": "Get Live Output", + "description": "Gets a live output.", + "operationId": "LiveOutputs_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a LiveOutput by name": { + "$ref": "examples/liveoutput-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "LiveOutputs" + ], + "summary": "Create Live Output", + "description": "Creates a new live output.", + "operationId": "LiveOutputs_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Live Output properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LiveOutput" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", + "schema": { + "$ref": "#/definitions/LiveOutput" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a LiveOutput": { + "$ref": "examples/liveoutput-create.json" + } + } + }, + "delete": { + "tags": [ + "LiveOutputs" + ], + "summary": "Delete Live Output", + "description": "Deletes a live output. Deleting a live output does not delete the asset the live output is writing to.", + "operationId": "LiveOutputs_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/LiveOutputName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the live output was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a LiveOutput": { + "$ref": "examples/liveoutput-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints": { + "get": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "List StreamingEndpoints", + "description": "Lists the streaming endpoints in the account.", + "operationId": "StreamingEndpoints_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpointListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all streaming endpoints": { + "$ref": "examples/streamingendpoint-list-all.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}": { + "get": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Get StreamingEndpoint", + "description": "Gets a streaming endpoint.", + "operationId": "StreamingEndpoints_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a streaming endpoint by name": { + "$ref": "examples/streamingendpoint-list-by-name.json" + } + } + }, + "put": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Create StreamingEndpoint", + "description": "Creates a streaming endpoint.", + "operationId": "StreamingEndpoints_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/StreamingResourceAutoStart" + }, + { + "name": "parameters", + "description": "Streaming endpoint properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a streaming endpoint": { + "$ref": "examples/streamingendpoint-create.json" + } + } + }, + "patch": { + "tags": [ + "StreamingEndpoint" + ], + "summary": "Update StreamingEndpoint", + "description": "Updates a existing streaming endpoint.", + "operationId": "StreamingEndpoints_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Streaming endpoint properties needed for creation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", + "schema": { + "$ref": "#/definitions/StreamingEndpoint" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a streaming endpoint": { + "$ref": "examples/streamingendpoint-update.json" + } + } + }, + "delete": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Delete StreamingEndpoint", + "description": "Deletes a streaming endpoint.", + "operationId": "StreamingEndpoints_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "204": { + "description": "No content. The request has been accepted but the Streaming Endpoint was not found." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a streaming endpoint": { + "$ref": "examples/streamingendpoint-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/skus": { + "get": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "List StreamingEndpoint skus", + "description": "List streaming endpoint supported skus.", + "operationId": "StreamingEndpoints_Skus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/StreamingEndpointSkuInfoListResult" + } + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List a streaming endpoint sku": { + "$ref": "examples/streamingendpoint-list-skus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/start": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Start StreamingEndpoint", + "description": "Starts an existing streaming endpoint.", + "operationId": "StreamingEndpoints_Start", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start a streaming endpoint": { + "$ref": "examples/streamingendpoint-start.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/stop": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Stop StreamingEndpoint", + "description": "Stops an existing streaming endpoint.", + "operationId": "StreamingEndpoints_Stop", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop a streaming endpoint": { + "$ref": "examples/streamingendpoint-stop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}/scale": { + "post": { + "tags": [ + "StreamingEndpoints" + ], + "summary": "Scale StreamingEndpoint", + "description": "Scales an existing streaming endpoint.", + "operationId": "StreamingEndpoints_Scale", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/StreamingEndpointName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "parameters", + "description": "Streaming endpoint scale parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StreamingEntityScaleUnit" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Scale a StreamingEndpoint": { + "$ref": "examples/streamingendpoint-scale.json" + } + } + } + } + }, + "definitions": { + "Hls": { + "type": "object", + "properties": { + "fragmentsPerTsSegment": { + "format": "int32", + "type": "integer", + "description": "The number of fragments in an HTTP Live Streaming (HLS) TS segment in the output of the live event. This value does not affect the packing ratio for HLS CMAF output." + } + }, + "description": "HTTP Live Streaming (HLS) packing setting for the live output." + }, + "LiveOutputProperties": { + "type": "object", + "required": [ + "assetName", + "archiveWindowLength" + ], + "properties": { + "description": { + "type": "string", + "description": "The description of the live output." + }, + "assetName": { + "type": "string", + "description": "The asset that the live output will write to." + }, + "archiveWindowLength": { + "format": "duration", + "type": "string", + "description": "ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window." + }, + "manifestName": { + "type": "string", + "description": "The manifest file name. If not provided, the service will generate one automatically." + }, + "hls": { + "type": "object", + "$ref": "#/definitions/Hls", + "description": "HTTP Live Streaming (HLS) packing setting for the live output." + }, + "outputSnapTime": { + "type": "integer", + "format": "int64", + "description": "The initial timestamp that the live output will start at, any content before this value will not be archived." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The creation time the live output." + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the live output was last modified." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the live output." + }, + "resourceState": { + "description": "The resource state of the live output.", + "readOnly": true, + "type": "string", + "enum": [ + "Creating", + "Running", + "Deleting" + ], + "x-ms-enum": { + "name": "LiveOutputResourceState", + "values": [ + { + "value": "Creating", + "description": "Live output is being created. No content is archived in the asset until the live output is in running state." + }, + { + "value": "Running", + "description": "Live output is running and archiving live streaming content to the asset if there is valid input from a contribution encoder." + }, + { + "value": "Deleting", + "description": "Live output is being deleted. The live asset is being converted from live to on-demand asset. Any streaming URLs created on the live output asset continue to work." + } + ], + "modelAsString": true + } + } + }, + "description": "The JSON object that contains the properties required to create a live output." + }, + "LiveOutput": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LiveOutputProperties", + "description": "Live output properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "description": "The Live Output." + }, + "LiveOutputListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveOutput" + }, + "description": "The result of the List LiveOutput operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." + } + }, + "description": "The LiveOutput list result.", + "title": "LiveOutputListResult" + }, + "LiveEventEndpoint": { + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The endpoint protocol." + }, + "url": { + "type": "string", + "description": "The endpoint URL." + } + }, + "description": "The live event endpoint." + }, + "LiveEventInputAccessControl": { + "type": "object", + "properties": { + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control properties." + } + }, + "description": "The IP access control for live event input." + }, + "LiveEventInput": { + "type": "object", + "required": [ + "streamingProtocol" + ], + "properties": { + "streamingProtocol": { + "type": "string", + "description": "The input protocol for the live event. This is specified at creation time and cannot be updated.", + "enum": [ + "FragmentedMP4", + "RTMP" + ], + "x-ms-enum": { + "name": "LiveEventInputProtocol", + "values": [ + { + "value": "FragmentedMP4", + "description": "Smooth Streaming input will be sent by the contribution encoder to the live event." + }, + { + "value": "RTMP", + "description": "RTMP input will be sent by the contribution encoder to the live event." + } + ], + "modelAsString": true + } + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/LiveEventInputAccessControl", + "description": "Access control for live event input." + }, + "keyFrameIntervalDuration": { + "type": "string", + "description": "ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events." + }, + "accessToken": { + "type": "string", + "description": "A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." + }, + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventEndpoint" + }, + "x-ms-identifiers": [], + "description": "The input endpoints for the live event." + } + }, + "description": "The live event input." + }, + "IPRange": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The friendly name for the IP address range." + }, + "address": { + "type": "string", + "description": "The IP address." + }, + "subnetPrefixLength": { + "format": "int32", + "type": "integer", + "description": "The subnet mask prefix length (see CIDR notation)." + } + }, + "description": "The IP address range in the CIDR scheme." + }, + "IPAccessControl": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "$ref": "#/definitions/IPRange" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The IP allow list." + } + }, + "description": "The IP access control." + }, + "LiveEventPreviewAccessControl": { + "type": "object", + "properties": { + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control properties." + } + }, + "description": "The IP access control for the live event preview endpoint." + }, + "LiveEventPreview": { + "type": "object", + "properties": { + "endpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventEndpoint" + }, + "x-ms-identifiers": [], + "description": "The endpoints for preview. Do not share the preview URL with the live event audience." + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/LiveEventPreviewAccessControl", + "description": "The access control for live event preview." + }, + "previewLocator": { + "type": "string", + "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." + }, + "streamingPolicyName": { + "type": "string", + "description": "The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated." + }, + "alternativeMediaId": { + "type": "string", + "description": "An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." + } + }, + "description": "Live event preview settings." + }, + "LiveEventEncoding": { + "type": "object", + "properties": { + "encodingType": { + "type": "string", + "description": "Live event type. When encodingType is set to PassthroughBasic or PassthroughStandard, the service simply passes through the incoming video and audio layer(s) to the output. When encodingType is set to Standard or Premium1080p, a live encoder transcodes the incoming stream into multiple bitrates or layers. See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. This property cannot be modified after the live event is created.", + "enum": [ + "None", + "Standard", + "Premium1080p", + "PassthroughBasic", + "PassthroughStandard" + ], + "x-ms-enum": { + "name": "LiveEventEncodingType", + "values": [ + { + "value": "None", + "description": "This is the same as PassthroughStandard, please see description below. This enumeration value is being deprecated." + }, + { + "value": "Standard", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 720p in resolution." + }, + { + "value": "Premium1080p", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 1080p in resolution." + }, + { + "value": "PassthroughBasic", + "description": "The ingested stream passes through the live event from the contribution encoder without any further processing. In the PassthroughBasic mode, ingestion is limited to up to 5Mbps and only 1 concurrent live output is allowed. Live transcription is not available." + }, + { + "value": "PassthroughStandard", + "description": "The ingested stream passes through the live event from the contribution encoder without any further processing. Live transcription is available. Ingestion bitrate limits are much higher and up to 3 concurrent live outputs are allowed." + } + ], + "modelAsString": true + } + }, + "presetName": { + "type": "string", + "description": "The optional encoding preset name, used when encodingType is not None. This value is specified at creation time and cannot be updated. If the encodingType is set to Standard, then the default preset name is ‘Default720p’. Else if the encodingType is set to Premium1080p, the default preset is ‘Default1080p’." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respects the output resolution specified in the encoding preset without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "Specifies how the input video will be resized to fit the desired output resolution(s). Default is None" + }, + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "Use an ISO 8601 time value between 0.5 to 20 seconds to specify the output fragment length for the video and audio tracks of an encoding live event. For example, use PT2S to indicate 2 seconds. For the video track it also defines the key frame interval, or the length of a GoP (group of pictures). If this value is not set for an encoding live event, the fragment duration defaults to 2 seconds. The value cannot be set for pass-through live events." + } + }, + "description": "Specifies the live event type and optional encoding settings for encoding live events." + }, + "LiveEventInputTrackSelection": { + "type": "object", + "properties": { + "property": { + "type": "string", + "description": "Property name to select. This property is reserved for future use, any value set on this property will be ignored." + }, + "operation": { + "type": "string", + "description": "Comparing operation. This property is reserved for future use, any value set on this property will be ignored." + }, + "value": { + "type": "string", + "description": "Property value to select. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "A track selection condition. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventOutputTranscriptionTrack": { + "type": "object", + "required": [ + "trackName" + ], + "properties": { + "trackName": { + "type": "string", + "description": "The output track name. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventTranscription": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Specifies the language (locale) to be used for speech-to-text transcription – it should match the spoken language in the audio track. The value should be in BCP-47 format (e.g: 'en-US'). See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature and the list of supported languages." + }, + "inputTrackSelection": { + "type": "array", + "description": "Provides a mechanism to select the audio track in the input live feed, to which speech-to-text transcription is applied. This property is reserved for future use, any value set on this property will be ignored.", + "items": { + "$ref": "#/definitions/LiveEventInputTrackSelection" + }, + "x-ms-identifiers": [] + }, + "outputTranscriptionTrack": { + "type": "object", + "$ref": "#/definitions/LiveEventOutputTranscriptionTrack", + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "Describes the transcription tracks in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + }, + "CrossSiteAccessPolicies": { + "type": "object", + "properties": { + "clientAccessPolicy": { + "type": "string", + "description": "The content of clientaccesspolicy.xml used by Silverlight." + }, + "crossDomainPolicy": { + "type": "string", + "description": "The content of crossdomain.xml used by Silverlight." + } + }, + "description": "The client access policy." + }, + "LiveEventActionInput": { + "type": "object", + "properties": { + "removeOutputsOnStop": { + "type": "boolean", + "description": "The flag indicates whether live outputs are automatically deleted when live event is being stopped. Deleting live outputs do not delete the underlying assets." + } + }, + "description": "The LiveEvent action input parameter definition." + }, + "LiveEventProperties": { + "type": "object", + "required": [ + "input" + ], + "properties": { + "description": { + "type": "string", + "description": "A description for the live event." + }, + "input": { + "type": "object", + "$ref": "#/definitions/LiveEventInput", + "description": "Live event input settings. It defines how the live event receives input from a contribution encoder." + }, + "preview": { + "type": "object", + "$ref": "#/definitions/LiveEventPreview", + "description": "Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output." + }, + "encoding": { + "type": "object", + "$ref": "#/definitions/LiveEventEncoding", + "description": "Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used." + }, + "transcriptions": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventTranscription" + }, + "x-ms-identifiers": [ + "language" + ], + "description": "Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the live event." + }, + "resourceState": { + "readOnly": true, + "type": "string", + "description": "The resource state of the live event. See https://go.microsoft.com/fwlink/?linkid=2139012 for more information.", + "enum": [ + "Stopped", + "Allocating", + "StandBy", + "Starting", + "Running", + "Stopping", + "Deleting" + ], + "x-ms-enum": { + "name": "LiveEventResourceState", + "values": [ + { + "value": "Stopped", + "description": "This is the initial state of the live event after creation (unless autostart was set to true.) No billing occurs in this state. In this state, the live event properties can be updated but streaming is not allowed." + }, + { + "value": "Allocating", + "description": "Allocate action was called on the live event and resources are being provisioned for this live event. Once allocation completes successfully, the live event will transition to StandBy state." + }, + { + "value": "StandBy", + "description": "Live event resources have been provisioned and is ready to start. Billing occurs in this state. Most properties can still be updated, however ingest or streaming is not allowed during this state." + }, + { + "value": "Starting", + "description": "The live event is being started and resources are being allocated. No billing occurs in this state. Updates or streaming are not allowed during this state. If an error occurs, the live event returns to the Stopped state." + }, + { + "value": "Running", + "description": "The live event resources have been allocated, ingest and preview URLs have been generated, and it is capable of receiving live streams. At this point, billing is active. You must explicitly call Stop on the live event resource to halt further billing." + }, + { + "value": "Stopping", + "description": "The live event is being stopped and resources are being de-provisioned. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + }, + { + "value": "Deleting", + "description": "The live event is being deleted. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + } + ], + "modelAsString": true + } + }, + "crossSiteAccessPolicies": { + "type": "object", + "$ref": "#/definitions/CrossSiteAccessPolicies", + "description": "Live event cross site access policies." + }, + "useStaticHostname": { + "type": "boolean", + "description": "Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state" + }, + "hostnamePrefix": { + "type": "string", + "description": "When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center." + }, + "streamOptions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "LowLatency", + "LowLatencyV2" + ], + "x-ms-enum": { + "name": "StreamOptionsFlag", + "values": [ + { + "value": "Default", + "description": "Live streaming with no special latency optimizations." + }, + { + "value": "LowLatency", + "description": "The live event provides lower end to end latency by reducing its internal buffers." + }, + { + "value": "LowLatencyV2", + "description": "The live event is optimized for end to end latency. This option is only available for encoding live events with RTMP input. The outputs can be streamed using HLS or DASH formats. The outputs' archive or DVR rewind length is limited to 6 hours. Use \"LowLatency\" stream option for all other scenarios." + } + ], + "modelAsString": true + } + }, + "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The creation time for the live event" + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The last modified time of the live event." + } + }, + "description": "The live event properties." + }, + "LiveEvent": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LiveEventProperties", + "description": "The live event properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "The live event." + }, + "LiveEventListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEvent" + }, + "description": "The result of the List Live Event operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." + } + }, + "description": "The LiveEvent list result.", + "title": "LiveEventListResult" + }, + "AkamaiSignatureHeaderAuthenticationKey": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "identifier of the key" + }, + "base64Key": { + "type": "string", + "description": "authentication key" + }, + "expiration": { + "format": "date-time", + "type": "string", + "description": "The expiration time of the authentication key." + } + }, + "description": "Akamai Signature Header authentication key." + }, + "AkamaiAccessControl": { + "type": "object", + "properties": { + "akamaiSignatureHeaderAuthenticationKeyList": { + "type": "array", + "items": { + "$ref": "#/definitions/AkamaiSignatureHeaderAuthenticationKey" + }, + "x-ms-identifiers": [], + "description": "authentication key list" + } + }, + "description": "Akamai access control" + }, + "StreamingEndpointAccessControl": { + "type": "object", + "properties": { + "akamai": { + "type": "object", + "$ref": "#/definitions/AkamaiAccessControl", + "description": "The access control of Akamai" + }, + "ip": { + "type": "object", + "$ref": "#/definitions/IPAccessControl", + "description": "The IP access control of the streaming endpoint." + } + }, + "description": "Streaming endpoint access control definition." + }, + "StreamingEntityScaleUnit": { + "type": "object", + "properties": { + "scaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit number of the streaming endpoint." + } + }, + "description": "scale units definition" + }, + "StreamingEndpointProperties": { + "type": "object", + "required": [ + "scaleUnits" + ], + "properties": { + "description": { + "type": "string", + "description": "The streaming endpoint description." + }, + "scaleUnits": { + "type": "integer", + "format": "int32", + "description": "The number of scale units. Use the Scale operation to adjust this value." + }, + "availabilitySetName": { + "type": "string", + "description": "This feature is deprecated, do not set a value for this property." + }, + "accessControl": { + "type": "object", + "$ref": "#/definitions/StreamingEndpointAccessControl", + "description": "The access control definition of the streaming endpoint." + }, + "maxCacheAge": { + "type": "integer", + "format": "int64", + "description": "Max cache age" + }, + "customHostNames": { + "type": "array", + "items": { + "type": "string", + "description": "custom host name" + }, + "description": "The custom host names of the streaming endpoint" + }, + "hostName": { + "readOnly": true, + "type": "string", + "description": "The streaming endpoint host name." + }, + "cdnEnabled": { + "type": "boolean", + "description": "The CDN enabled flag." + }, + "cdnProvider": { + "type": "string", + "description": "The CDN provider name." + }, + "cdnProfile": { + "type": "string", + "description": "The CDN profile name." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the streaming endpoint." + }, + "resourceState": { + "readOnly": true, + "type": "string", + "description": "The resource state of the streaming endpoint.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping", + "Deleting", + "Scaling" + ], + "x-ms-enum": { + "name": "StreamingEndpointResourceState", + "values": [ + { + "value": "Stopped", + "description": "The initial state of a streaming endpoint after creation. Content is not ready to be streamed from this endpoint." + }, + { + "value": "Starting", + "description": "The streaming endpoint is transitioning to the running state." + }, + { + "value": "Running", + "description": "The streaming endpoint is running. It is able to stream content to clients" + }, + { + "value": "Stopping", + "description": "The streaming endpoint is transitioning to the stopped state." + }, + { + "value": "Deleting", + "description": "The streaming endpoint is being deleted." + }, + { + "value": "Scaling", + "description": "The streaming endpoint is increasing or decreasing scale units." + } + ], + "modelAsString": true + } + }, + "crossSiteAccessPolicies": { + "type": "object", + "$ref": "#/definitions/CrossSiteAccessPolicies", + "description": "The streaming endpoint access policies." + }, + "freeTrialEndTime": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The free trial expiration time." + }, + "created": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the streaming endpoint was created." + }, + "lastModified": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The exact time the streaming endpoint was last modified." + } + }, + "description": "The streaming endpoint properties." + }, + "StreamingEndpoint": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StreamingEndpointProperties", + "description": "The streaming endpoint properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true + }, + "sku": { + "$ref": "#/definitions/ArmStreamingEndpointCurrentSku", + "description": "The streaming endpoint sku." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "The streaming endpoint." + }, + "StreamingEndpointListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StreamingEndpoint" + }, + "description": "The result of the List StreamingEndpoint operation." + }, + "@odata.count": { + "type": "integer", + "format": "int32", + "description": "The number of result." + }, + "@odata.nextLink": { + "type": "string", + "description": "The link to the next set of results. Not empty if value contains incomplete list of streaming endpoints." + } + }, + "description": "The streaming endpoint list result.", + "title": "StreamingEndpointListResult" + }, + "ArmStreamingEndpointCurrentSku": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The streaming endpoint sku name." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The streaming endpoint sku capacity." + } + }, + "description": "The streaming endpoint current sku.", + "type": "object" + }, + "ArmStreamingEndpointSku": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The streaming endpoint sku name." + } + }, + "description": "The streaming endpoint sku.", + "type": "object" + }, + "ArmStreamingEndpointCapacity": { + "properties": { + "scaleType": { + "type": "string", + "readOnly": true + }, + "default": { + "type": "integer", + "format": "int32", + "description": "The streaming endpoint default capacity." + }, + "minimum": { + "type": "integer", + "format": "int32", + "description": "The streaming endpoint minimum capacity." + }, + "maximum": { + "type": "integer", + "format": "int32", + "description": "The streaming endpoint maximum capacity." + } + }, + "description": "The streaming endpoint sku capacity.", + "type": "object" + }, + "ArmStreamingEndpointSkuInfo": { + "properties": { + "resourceType": { + "type": "string" + }, + "capacity": { + "$ref": "#/definitions/ArmStreamingEndpointCapacity" + }, + "sku": { + "$ref": "#/definitions/ArmStreamingEndpointSku" + } + }, + "type": "object" + }, + "StreamingEndpointSkuInfoListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmStreamingEndpointSkuInfo" + }, + "x-ms-identifiers": [], + "description": "The result of the List StreamingEndpoint skus." + } + }, + "type": "object" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "description": "The unique identifier for a Microsoft Azure subscription.", + "in": "path", + "required": true, + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "description": "The version of the API to be used with the client request.", + "in": "query", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group within the Azure subscription.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MediaServicesAccountName": { + "name": "accountName", + "description": "The Media Services account name.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LiveEventName": { + "name": "liveEventName", + "description": "The name of the live event, maximum length is 32.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 32, + "x-ms-parameter-location": "method" + }, + "StreamingResourceAutoStart": { + "name": "autoStart", + "description": "The flag indicates if the resource should be automatically started on creation.", + "in": "query", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "LiveOutputName": { + "name": "liveOutputName", + "description": "The name of the live output.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^([a-zA-Z0-9])+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, + "StreamingEndpointName": { + "name": "streamingEndpointName", + "description": "The name of the streaming endpoint, maximum length is 24.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 24, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mediaservices/resource-manager/readme.go.md b/specification/mediaservices/resource-manager/readme.go.md index 477a44feb716..1f2272ba5404 100644 --- a/specification/mediaservices/resource-manager/readme.go.md +++ b/specification/mediaservices/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ```yaml $(go) && $(multiapi) batch: + - tag: package-2021-11 - tag: package-2021-06 - tag: package-2021-05 - tag: package-2020-05 @@ -31,6 +32,15 @@ batch: - tag: package-2019-05-preview ``` +### Tag: package-2021-11 and go + +These settings apply only when `--tag=package-2021-11 --go` is specified on the command line. +Please also specify the `--go-sdk-folder=`. + +```yaml $(tag) == 'package-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/mediaservices/mgmt/2021-11-01/$(namespace) +``` + ### Tag: package-2021-06 and go These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. diff --git a/specification/mediaservices/resource-manager/readme.md b/specification/mediaservices/resource-manager/readme.md index 28250ed74aab..ff6453e5c550 100644 --- a/specification/mediaservices/resource-manager/readme.md +++ b/specification/mediaservices/resource-manager/readme.md @@ -26,10 +26,57 @@ These are the global settings for the MediaServices API. ```yaml openapi-type: arm -tag: package-2021-06 +tag: package-2021-11 opt-in-extensible-enums: true ``` +### Suppression + +```yaml +directive: + - suppress: R2016 + where: $.definitions.TrackedResource.required + reason: we are still using PUT definition for PATCH, which has location as required property. this is existing suppression added to avoid breaking change. + + - suppress: DeleteOperationResponses + reason: Per ARM Specs, async APIs must return 202 when a response is accepted. + where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}"].delete.responses' + from: AssetsAndAssetFilters.json + + - suppress: RequiredReadOnlySystemData + reason: Per ARM Specs, only top level tracked resources return systemMetadata. + where: + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}"].put' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}"].get' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}"].patch' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaServices/{accountName}/assets/{assetName}/tracks/{trackName}/operationResults/{operationId}"].get' + + from: AssetsAndAssetFilters.json + + - suppress: RequiredReadOnlySystemData + reason: Per ARM Specs, only top level tracked resources return systemMetadata. + where: + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}"].get' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}"].put' + - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources/{name}"].get' + from: Accounts.json +``` + +### Tag: package-2021-11 + +These settings apply only when `--tag=package-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-2021-11' +input-file: + - Microsoft.Media/stable/2021-11-01/AccountFilters.json + - Microsoft.Media/stable/2021-06-01/Accounts.json + - Microsoft.Media/stable/2021-11-01/AssetsAndAssetFilters.json + - Microsoft.Media/stable/2021-11-01/ContentKeyPolicies.json + - Microsoft.Media/stable/2021-11-01/Encoding.json + - Microsoft.Media/stable/2021-11-01/StreamingPoliciesAndStreamingLocators.json + - Microsoft.Media/stable/2021-11-01/streamingservice.json +``` + ### Tag: package-2021-06 These settings apply only when `--tag=package-2021-06` is specified on the command line. diff --git a/specification/mediaservices/resource-manager/readme.python.md b/specification/mediaservices/resource-manager/readme.python.md index 347e51a99c6e..763a5c20f218 100644 --- a/specification/mediaservices/resource-manager/readme.python.md +++ b/specification/mediaservices/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.media @@ -14,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/media/azure-mgmt-media/azure/mgmt/media ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/media/azure-mgmt-media -``` diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json index 68a01ced66c2..9d57554ed3d5 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/stable/2019-10-01/migrate.json @@ -1939,6 +1939,9 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [ + "code" + ], "description": "A list of additional details about the error." } }, @@ -2218,7 +2221,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/VmFamily" - } + }, + "x-ms-identifiers": [ + "familyName" + ] }, "reservedInstanceVmFamilies": { "type": "array", @@ -2308,7 +2314,10 @@ "description": "List of operations.", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/migrateprojects/resource-manager/Microsoft.Migrate/preview/2018-09-01-preview/migrate.json b/specification/migrateprojects/resource-manager/Microsoft.Migrate/preview/2018-09-01-preview/migrate.json index 52c856e35be6..3cff84a1f449 100644 --- a/specification/migrateprojects/resource-manager/Microsoft.Migrate/preview/2018-09-01-preview/migrate.json +++ b/specification/migrateprojects/resource-manager/Microsoft.Migrate/preview/2018-09-01-preview/migrate.json @@ -1160,7 +1160,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatabaseInstanceDiscoveryDetails" - } + }, + "x-ms-identifiers": [ + "instanceId" + ] }, "summary": { "description": "Gets or sets the database instances summary per solution. The key of dictionary is the solution name and value is the corresponding database instance summary object.", @@ -1296,7 +1299,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatabaseAssessmentDetails" - } + }, + "x-ms-identifiers": [ + "assessmentId" + ] }, "lastUpdatedTime": { "format": "date-time", @@ -1557,6 +1563,9 @@ "items": { "$ref": "#/definitions/IEdmSchemaElement" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "vocabularyAnnotations": { @@ -1564,6 +1573,7 @@ "items": { "$ref": "#/definitions/IEdmVocabularyAnnotation" }, + "x-ms-identifiers": [], "readOnly": true }, "referencedModels": { @@ -1571,6 +1581,7 @@ "items": { "$ref": "#/definitions/IEdmModel" }, + "x-ms-identifiers": [], "readOnly": true }, "declaredNamespaces": { @@ -1619,6 +1630,9 @@ "items": { "$ref": "#/definitions/IEdmNavigationPropertyBinding" }, + "x-ms-identifiers": [ + "/navigationProperty/name" + ], "readOnly": true }, "path": { @@ -1651,6 +1665,9 @@ "items": { "$ref": "#/definitions/ODataPathSegment" }, + "x-ms-identifiers": [ + "identifier" + ], "readOnly": true }, "pathTemplate": { @@ -1662,6 +1679,9 @@ "items": { "$ref": "#/definitions/ODataPathSegment" }, + "x-ms-identifiers": [ + "identifier" + ], "readOnly": true } } @@ -1682,6 +1702,7 @@ "items": { "$ref": "#/definitions/SelectItem" }, + "x-ms-identifiers": [], "readOnly": true }, "allSelected": { @@ -1698,6 +1719,7 @@ "items": { "$ref": "#/definitions/TransformationNode" }, + "x-ms-identifiers": [], "readOnly": true } } @@ -1781,6 +1803,9 @@ "items": { "$ref": "#/definitions/IEdmEntityContainerElement" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "schemaElementKind": { @@ -2137,6 +2162,10 @@ "items": { "$ref": "#/definitions/EdmReferentialConstraintPropertyPair" }, + "x-ms-identifiers": [ + "/dependentProperty/name", + "/principalProperty/name" + ], "readOnly": true } } @@ -2161,6 +2190,9 @@ "items": { "$ref": "#/definitions/IEdmProperty" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true }, "typeKind": { @@ -2299,21 +2331,28 @@ "type": "array", "items": { "$ref": "#/definitions/DiscoveryDetails" - } + }, + "x-ms-identifiers": [ + "machineId" + ] }, "assessmentData": { "description": "Gets or sets the assessment details of the machine published by various sources.", "type": "array", "items": { "$ref": "#/definitions/AssessmentDetails" - } + }, + "x-ms-identifiers": [ + "assessmentId" + ] }, "migrationData": { "description": "Gets or sets the migration details of the machine published by various sources.", "type": "array", "items": { "$ref": "#/definitions/MigrationDetails" - } + }, + "x-ms-identifiers": [] }, "lastUpdatedTime": { "format": "date-time", @@ -3082,7 +3121,10 @@ "description": "List of operations.", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/migrateprojects/resource-manager/readme.go.md b/specification/migrateprojects/resource-manager/readme.go.md new file mode 100644 index 000000000000..4d097d11905a --- /dev/null +++ b/specification/migrateprojects/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 + clear-output-folder: true + namespace: migrate +``` + +### Go multi-api + +``` yaml $(go) && $(multiapi) +batch: + - tag: package-2018-09 +``` + +### Tag: package-2018-09 and go + +These settings apply only when `--tag=package-2018-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2018-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-09-01-preview/$(namespace) +``` diff --git a/specification/migrateprojects/resource-manager/readme.md b/specification/migrateprojects/resource-manager/readme.md index 8a87829dcf02..80d9dc4113c7 100644 --- a/specification/migrateprojects/resource-manager/readme.md +++ b/specification/migrateprojects/resource-manager/readme.md @@ -74,30 +74,4 @@ swagger-to-sdk: ## 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: migrate -``` - -### Go multi-api - -``` yaml $(go) && $(multiapi) -batch: - - tag: package-2018-09 -``` - -### Tag: package-2018-09 and go - -These settings apply only when `--tag=package-2018-09 --go` is specified on the command line. -Please also specify `--go-sdk-folder=`. - -``` yaml $(tag)=='package-2018-09' && $(go) -output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-09-01-preview/$(namespace) -``` - - - +See configuration in [readme.go.md](./readme.go.md) diff --git a/specification/mixedreality/resource-manager/readme.python.md b/specification/mixedreality/resource-manager/readme.python.md index 92015bf92be1..53d900e67fe0 100644 --- a/specification/mixedreality/resource-manager/readme.python.md +++ b/specification/mixedreality/resource-manager/readme.python.md @@ -5,7 +5,6 @@ Please also specify `--python-sdks-folder=-. For example: [`8080`, `8082-8085`].", + "type": "array", + "items": { + "type": "string", + "pattern": "^([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(-([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$" + }, + "uniqueItems": true + } + }, + "required": [ + "templateName", + "direction", + "protocol", + "remoteIpList" + ] + }, + "ServiceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Service" + }, + "description": "A list of Services." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for Services API service call." + }, + "QosPolicy": { + "description": "QoS policy", + "type": "object", + "properties": { + "5qi": { + "description": "QoS Flow 5G QoS Indicator value. The 5QI identifies a specific QoS forwarding treatment to be provided to a flow. This must not be a standardized 5QI value selecting a GBR (Guaranteed Bit Rate) QoS. The illegal GBR 5QI values are: 1, 2, 3, 4, 65, 66, 67, 71, 72, 73, 74, 75, 76, 82, 83, 84, and 85. See 3GPP TS23.501 section 5.7.2.1 for a full description of the 5Qi parameter, and table 5.7.4-1 for the definition of which are the GBR 5QI values.", + "$ref": "./ts29571.json#/definitions/5QiPriorityLevel", + "default": 9 + }, + "allocationAndRetentionPriorityLevel": { + "description": "QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemptionCapability` and `preemptionVulnerability` allow it. 1 is the highest level of priority. If this field is not specified then `5qi` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/ArpPriorityLevel", + "default": 9 + }, + "preemptionCapability": { + "description": "QoS Flow preemption capability. The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionCapability", + "default": "NotPreempt" + }, + "preemptionVulnerability": { + "description": "QoS Flow preemption vulnerability. The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionVulnerability", + "default": "Preemptable" + }, + "maximumBitRate": { + "description": "The Maximum Bit Rate (MBR) for all service data flows that use this PCC Rule or Service.", + "$ref": "./ts29571.json#/definitions/Ambr" + } + }, + "required": [ + "maximumBitRate" + ] + }, + "PccRuleQosPolicy": { + "description": "PCC rule QoS policy", + "type": "object", + "properties": { + "guaranteedBitRate": { + "description": "The Guaranteed Bit Rate (GBR) for all service data flows that use this PCC Rule. This is an optional setting. If you do not provide a value, there will be no GBR set for the PCC Rule that uses this QoS definition.", + "$ref": "./ts29571.json#/definitions/Ambr" + } + }, + "allOf": [ + { + "$ref": "#/definitions/QosPolicy" + } + ] + }, + "TrafficControlPermission": { + "type": "string", + "description": "Traffic control permission.", + "enum": [ + "Enabled", + "Blocked" + ], + "x-ms-enum": { + "name": "TrafficControlPermission", + "modelAsString": true + } + }, + "SdfDirection": { + "type": "string", + "description": "Service data flow direction.", + "enum": [ + "Uplink", + "Downlink", + "Bidirectional" + ], + "x-ms-enum": { + "name": "SdfDirection", + "modelAsString": true + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/simPolicy.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/simPolicy.json new file mode 100644 index 000000000000..39e27be3807f --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/simPolicy.json @@ -0,0 +1,471 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage sim policy resources", + "version": "2022-01-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/simPolicies/{simPolicyName}": { + "delete": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_Delete", + "description": "Deletes the specified sim policy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete sim policy": { + "$ref": "./examples/SimPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_Get", + "description": "Gets information about the specified sim policy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get sim policy": { + "$ref": "./examples/SimPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_CreateOrUpdate", + "description": "Creates or updates a SimPolicy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SimPolicy" + }, + "description": "Parameters supplied to the create or update sim policy operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create sim policy": { + "$ref": "./examples/SimPolicyCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_UpdateTags", + "description": "Update sim policy tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Sim Policy tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Sim Policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update sim policy tags": { + "$ref": "./examples/SimPolicyUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/simPolicies": { + "get": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_ListByMobileNetwork", + "description": "Gets all the simPolicies in a mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of sim policy resources.", + "schema": { + "$ref": "#/definitions/SimPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List sim policies in a mobile network": { + "$ref": "./examples/SimPolicyListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SimPolicy": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SimPolicyPropertiesFormat", + "description": "Sim policy Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Sim policy resource." + }, + "SimPolicyPropertiesFormat": { + "description": "SimPolicy properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the sim policy resource.", + "$ref": "./common.json#/definitions/ProvisioningState" + }, + "ueAmbr": { + "description": "Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.", + "$ref": "./ts29571.json#/definitions/Ambr" + }, + "defaultSlice": { + "description": "The default slice to use if the UE does not explicitly specify it. This slice must exist in the `sliceConfigurations` map.", + "$ref": "./common.json#/definitions/SliceResourceId" + }, + "rfspIndex": { + "description": "RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an optional setting and by default is unspecified.", + "$ref": "./ts29571.json#/definitions/RfspIndex" + }, + "registrationTimer": { + "description": "Interval for the UE periodic registration update procedure, in seconds.", + "type": "integer", + "format": "int32", + "minimum": 30, + "default": 3240 + }, + "sliceConfigurations": { + "description": "The allowed slices and the settings to use for them. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "#/definitions/SliceConfiguration" + }, + "x-ms-identifiers": [], + "minItems": 1, + "uniqueItems": true + } + }, + "required": [ + "ueAmbr", + "defaultSlice", + "sliceConfigurations" + ] + }, + "SliceConfiguration": { + "description": "Per-slice settings", + "type": "object", + "properties": { + "slice": { + "description": "A reference to the Slice that these settings apply to", + "$ref": "./common.json#/definitions/SliceResourceId" + }, + "defaultDataNetwork": { + "description": "The default data network to use if the UE does not explicitly specify it. Configuration for this object must exist in the `dataNetworkConfigurations` map.", + "$ref": "./common.json#/definitions/DataNetworkResourceId" + }, + "dataNetworkConfigurations": { + "description": "The allowed data networks and the settings to use for them. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "#/definitions/DataNetworkConfiguration" + }, + "x-ms-identifiers": [], + "minItems": 1, + "uniqueItems": true + } + }, + "required": [ + "slice", + "defaultDataNetwork", + "dataNetworkConfigurations" + ] + }, + "DataNetworkConfiguration": { + "description": "Settings controlling Data Network use", + "type": "object", + "properties": { + "dataNetwork": { + "description": "A reference to the Data Network that these settings apply to", + "$ref": "./common.json#/definitions/DataNetworkResourceId" + }, + "sessionAmbr": { + "description": "Aggregate maximum bit rate across all non-GBR QoS flows of a given PDU session. See 3GPP TS23.501 section 5.7.2.6 for a full description of the Session-AMBR.", + "$ref": "./ts29571.json#/definitions/Ambr" + }, + "5qi": { + "description": "Default QoS Flow 5G QoS Indicator value. The 5QI identifies a specific QoS forwarding treatment to be provided to a flow. This must not be a standardized 5QI value selecting a GBR (Guaranteed Bit Rate) QoS. The illegal GBR 5QI values are: 1, 2, 3, 4, 65, 66, 67, 71, 72, 73, 74, 75, 76, 82, 83, 84, and 85. See 3GPP TS23.501 section 5.7.2.1 for a full description of the 5Qi parameter, and table 5.7.4-1 for the definition of which are the GBR 5QI values.", + "$ref": "./ts29571.json#/definitions/5QiPriorityLevel", + "default": 9 + }, + "allocationAndRetentionPriorityLevel": { + "description": "Default QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemptionCapability` and `preemptionVulnerability` allow it. 1 is the highest level of priority. If this field is not specified then `5qi` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/ArpPriorityLevel", + "default": 9 + }, + "preemptionCapability": { + "description": "Default QoS Flow preemption capability. The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionCapability", + "default": "NotPreempt" + }, + "preemptionVulnerability": { + "description": "Default QoS Flow preemption vulnerability. The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionVulnerability", + "default": "Preemptable" + }, + "defaultSessionType": { + "description": "The default PDU session type, which is used if the UE does not request a specific session type.", + "$ref": "./ts29571.json#/definitions/PduSessionType", + "default": "IPv4" + }, + "additionalAllowedSessionTypes": { + "description": "Allowed session types in addition to the default session type. Must not duplicate the default session type.", + "type": "array", + "items": { + "$ref": "./ts29571.json#/definitions/PduSessionType" + }, + "maxItems": 1 + }, + "allowedServices": { + "description": "List of Services that can be used as part of this Sim Policy. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "./common.json#/definitions/ServiceResourceId" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "required": [ + "dataNetwork", + "sessionAmbr", + "allowedServices" + ] + }, + "SimPolicyListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SimPolicy" + }, + "description": "A list of SimPolicies." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for SimPolicies API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/slice.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/slice.json new file mode 100644 index 000000000000..95158ca53bbc --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/slice.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage network slice resources in mobile network", + "version": "2022-01-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/slices/{sliceName}": { + "delete": { + "tags": [ + "Slices" + ], + "operationId": "Slices_Delete", + "description": "Deletes the specified mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete mobile network slice": { + "$ref": "./examples/SliceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Slices" + ], + "operationId": "Slices_Get", + "description": "Gets information about the specified mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get mobile network slice": { + "$ref": "./examples/SliceGet.json" + } + } + }, + "put": { + "tags": [ + "Slices" + ], + "operationId": "Slices_CreateOrUpdate", + "description": "Creates or updates a mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Slice" + }, + "description": "Parameters supplied to the create or update mobile network slice operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create mobile network slice": { + "$ref": "./examples/SliceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Slices" + ], + "operationId": "Slices_UpdateTags", + "description": "Update slice tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update mobile network slice tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update mobile network slice tags": { + "$ref": "./examples/SliceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/slices": { + "get": { + "tags": [ + "Slices" + ], + "operationId": "Slices_ListByMobileNetwork", + "description": "Lists all slices in the mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/SliceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile network slices in a mobile network": { + "$ref": "./examples/SliceListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Slice": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SlicePropertiesFormat", + "description": "Slice properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Network slice resource." + }, + "SlicePropertiesFormat": { + "description": "Network slice properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network slice resource." + }, + "snssai": { + "$ref": "./ts29571.json#/definitions/Snssai", + "description": "The S-NSSAI (single network slice selection assistance information). Unique at the scope of a MobileNetwork." + }, + "description": { + "type": "string", + "description": "An optional description for this network slice." + } + }, + "required": [ + "snssai" + ] + }, + "SliceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Slice" + }, + "description": "A list of data networks in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for attached data network API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/ts29571.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/ts29571.json new file mode 100644 index 000000000000..1251078d8a1a --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-01-01-preview/ts29571.json @@ -0,0 +1,297 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the virtual network functions deployed using mobile network. They are standard mobile network properties defined by 3GPP in TS 29.571 v16.6.0.", + "version": "2022-01-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": {}, + "definitions": { + "Ipv4Addr": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$", + "description": "IPv4 address.", + "example": "198.51.100.1" + }, + "Ipv4AddrRm": { + "$ref": "#/definitions/Ipv4Addr", + "x-nullable": true, + "description": "IPv4 address or null." + }, + "Ipv4AddrMask": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$", + "description": "IPv4 address mask.", + "example": "198.51.0.0/16" + }, + "Ipv4AddrMaskRm": { + "$ref": "#/definitions/Ipv4AddrMask", + "x-nullable": true, + "description": "IPv4 address mask or null." + }, + "BitRate": { + "type": "string", + "pattern": "^\\d+(\\.\\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$", + "description": "Bit rate." + }, + "BitRateRm": { + "$ref": "#/definitions/BitRate", + "x-nullable": true, + "description": "Bit rate or null." + }, + "Ambr": { + "description": "Aggregate Maximum Bit Rate.", + "type": "object", + "properties": { + "uplink": { + "$ref": "#/definitions/BitRate", + "description": "Uplink bit rate." + }, + "downlink": { + "$ref": "#/definitions/BitRate", + "description": "Downlink bit rate." + } + }, + "required": [ + "uplink", + "downlink" + ] + }, + "AmbrRm": { + "$ref": "#/definitions/Ambr", + "x-nullable": true, + "description": "Aggregate Maximum Bit Rate or null." + }, + "RfspIndex": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 256, + "description": "RAT/Frequency Selection Priority Index" + }, + "RfspIndexRm": { + "$ref": "#/definitions/RfspIndex", + "x-nullable": true, + "description": "RAT/Frequency Selection Priority Index or null" + }, + "5Qi": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255, + "description": "5G QoS Identifier." + }, + "5QiRm": { + "$ref": "#/definitions/5Qi", + "x-nullable": true, + "description": "5G QoS Identifier or null." + }, + "5QiPriorityLevel": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 127, + "description": "5G QoS Identifier priority level." + }, + "5QiPriorityLevelRm": { + "$ref": "#/definitions/5QiPriorityLevel", + "x-nullable": true, + "description": "5G QoS Identifier priority level or null." + }, + "ArpPriorityLevel": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 15, + "description": "ARP priority level." + }, + "ArpPriorityLevelRm": { + "$ref": "#/definitions/ArpPriorityLevel", + "x-nullable": true, + "description": "ARP priority level or null." + }, + "PreemptionCapability": { + "type": "string", + "description": "Preemption capability.", + "enum": [ + "NotPreempt", + "MayPreempt" + ], + "x-ms-enum": { + "name": "PreemptionCapability", + "modelAsString": true + } + }, + "PreemptionVulnerability": { + "type": "string", + "description": "Preemption vulnerability.", + "enum": [ + "NotPreemptable", + "Preemptable" + ], + "x-ms-enum": { + "name": "PreemptionVulnerability", + "modelAsString": true + } + }, + "Arp": { + "description": "Allocation and Retention Priority (ARP) parameters.", + "type": "object", + "properties": { + "priorityLevel": { + "$ref": "#/definitions/ArpPriorityLevel", + "description": "ARP priority level." + }, + "preemptCap": { + "$ref": "#/definitions/PreemptionCapability", + "description": "ARP preemption capability." + }, + "preemptVuln": { + "$ref": "#/definitions/PreemptionVulnerability", + "description": "ARP preemption vulnerability" + } + }, + "required": [ + "priorityLevel", + "preemptCap", + "preemptVuln" + ] + }, + "Mcc": { + "type": "string", + "pattern": "^\\d{3}$", + "description": "Mobile Country Code." + }, + "MccRm": { + "$ref": "#/definitions/Mcc", + "x-nullable": true, + "description": "Mobile Country Code or null." + }, + "Mnc": { + "type": "string", + "pattern": "^\\d{2,3}$", + "description": "Mobile Network Code." + }, + "MncRm": { + "$ref": "#/definitions/Mnc", + "x-nullable": true, + "description": "Mobile Network Code or null." + }, + "PlmnId": { + "description": "Public Land Mobile Network (PLMN) ID.", + "type": "object", + "properties": { + "mcc": { + "$ref": "#/definitions/Mcc", + "description": "Mobile Country Code (MCC)." + }, + "mnc": { + "$ref": "#/definitions/Mnc", + "description": "Mobile Network Code (MNC)." + } + }, + "required": [ + "mcc", + "mnc" + ] + }, + "PlmnIdRm": { + "$ref": "#/definitions/PlmnId", + "x-nullable": true, + "description": "Public Land Mobile Network ID or null." + }, + "Tac": { + "type": "string", + "pattern": "(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)", + "description": "Tracking Area Code (TAC)." + }, + "TacRm": { + "$ref": "#/definitions/Tac", + "x-nullable": true, + "description": "Tracking Area Code (TAC) or null." + }, + "CoreNetworkType": { + "type": "string", + "description": "Core network type.", + "enum": [ + "5GC", + "EPC" + ], + "x-ms-enum": { + "name": "CoreNetworkType", + "modelAsString": true + } + }, + "CoreNetworkTypeRm": { + "$ref": "#/definitions/CoreNetworkType", + "x-nullable": true, + "description": "Core network type or null." + }, + "PduSessionType": { + "type": "string", + "description": "PDU session type (IPv4/IPv6).", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "PduSessionType", + "modelAsString": true + } + }, + "PduSessionTypeRm": { + "$ref": "#/definitions/PduSessionType", + "x-nullable": true, + "description": "PDU session type or null." + }, + "Snssai": { + "description": "Single-Network Slice Selection Assistance Information (S-NSSAI).", + "type": "object", + "properties": { + "sst": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255, + "description": "Slice/Service Type (SST)." + }, + "sd": { + "type": "string", + "pattern": "^[A-Fa-f0-9]{6}$", + "description": "Slice Differentiator (SD)." + } + }, + "required": [ + "sst" + ] + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/attachedDataNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/attachedDataNetwork.json new file mode 100644 index 000000000000..a703742ec780 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/attachedDataNetwork.json @@ -0,0 +1,514 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage attached data network resources in mobile network attached to a particular packet core instance", + "version": "2022-03-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.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}/attachedDataNetworks/{attachedDataNetworkName}": { + "delete": { + "tags": [ + "AttachedDataNetwork" + ], + "operationId": "AttachedDataNetworks_Delete", + "description": "Deletes the specified attached data network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/AttachedDataNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete attached data network resource": { + "$ref": "./examples/AttachedDataNetworkDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "AttachedDataNetwork" + ], + "operationId": "AttachedDataNetworks_Get", + "description": "Gets information about the specified attached data network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/AttachedDataNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting attached data network resource.", + "schema": { + "$ref": "#/definitions/AttachedDataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get attached data network": { + "$ref": "./examples/AttachedDataNetworkGet.json" + } + } + }, + "put": { + "tags": [ + "AttachedDataNetwork" + ], + "operationId": "AttachedDataNetworks_CreateOrUpdate", + "description": "Creates or updates an attached data network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/AttachedDataNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDataNetwork" + }, + "description": "Parameters supplied to the create or update attached data network operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting attached data network resource.", + "schema": { + "$ref": "#/definitions/AttachedDataNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting attached data network resource.", + "schema": { + "$ref": "#/definitions/AttachedDataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create attached data network": { + "$ref": "./examples/AttachedDataNetworkCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AttachedDataNetwork" + ], + "operationId": "AttachedDataNetworks_UpdateTags", + "description": "Updates an attached data network update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/AttachedDataNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update attached data network tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting attached data network resource.", + "schema": { + "$ref": "#/definitions/AttachedDataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update attached data network tags": { + "$ref": "./examples/AttachedDataNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}/attachedDataNetworks": { + "get": { + "tags": [ + "AttachedDataNetwork" + ], + "operationId": "AttachedDataNetworks_ListByPacketCoreDataPlane", + "description": "Gets all the data networks associated with a packet core data plane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of attached data network resources.", + "schema": { + "$ref": "#/definitions/AttachedDataNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List attached data networks in a data plane": { + "$ref": "./examples/AttachedDataNetworkListByPacketCoreDataPlane.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AttachedDataNetwork": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AttachedDataNetworkPropertiesFormat", + "description": "Data network properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Attached data network resource." + }, + "AttachedDataNetworkPropertiesFormat": { + "description": "Data network properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the attached data network resource." + }, + "userPlaneDataInterface": { + "$ref": "./common.json#/definitions/InterfaceProperties", + "description": "The user plane interface on the data network. In 5G networks this is called as N6 interface whereas in 4G networks this is called as SGi interface." + }, + "naptConfiguration": { + "$ref": "#/definitions/NaptConfiguration", + "description": "The Network Address and Port Translation configuration.\nIf not specified the attached data network uses a default NAPT configuration with NAPT enabled." + }, + "userEquipmentAddressPoolPrefix": { + "type": "array", + "items": { + "$ref": "./ts29571.json#/definitions/Ipv4AddrMask" + }, + "minItems": 1, + "uniqueItems": true, + "description": "The user equipment address pool prefixes for the attached data network that are dynamically assigned by the core to UEs when they set up a PDU session.\nAt least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size." + }, + "userEquipmentStaticAddressPoolPrefix": { + "type": "array", + "items": { + "$ref": "./ts29571.json#/definitions/Ipv4AddrMask" + }, + "minItems": 1, + "uniqueItems": true, + "description": "The user equipment address pool prefixes for the attached data network that are statically assigned by the core to UEs when they set up a PDU session.\nThe mapping of static IP to sim is configured in staticIpConfiguration on the sim resource.\nAt least one of userEquipmentAddressPoolPrefix and userEquipmentStaticAddressPoolPrefix must be defined. If both are defined then they must be the same size." + } + }, + "required": [ + "userPlaneDataInterface" + ] + }, + "AttachedDataNetworkListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AttachedDataNetwork" + }, + "description": "A list of data networks in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for attached data network API service call." + }, + "NaptConfiguration": { + "description": "The Network Address and Port Translation settings to use for the attached data network.", + "type": "object", + "properties": { + "enabled": { + "description": "Whether NAPT is enabled for connections to this attachedDataNetwork.", + "$ref": "#/definitions/NaptEnabled" + }, + "portRange": { + "description": "Range of port numbers to use as translated ports on each translated address.\nIf not specified and NAPT is enabled, this range defaults to 1,024 - 65,535. (Ports under 1,024 should not be used because these are special purpose ports reserved by IANA.)", + "$ref": "#/definitions/PortRange" + }, + "portReuseHoldTime": { + "description": "The minimum time (in seconds) that will pass before a port that was used by a closed pinhole can be recycled for use by another pinhole. All hold times must be minimum 1 second.", + "$ref": "#/definitions/PortReuseHoldTimes" + }, + "pinholeLimits": { + "description": "Maximum number of UDP and TCP pinholes that can be open simultaneously on the core interface.", + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 65536, + "default": 65536 + }, + "pinholeTimeouts": { + "description": "Expiry times of inactive NAPT pinholes, in seconds. All timers must be at least 1 second.", + "$ref": "#/definitions/PinholeTimeouts" + } + } + }, + "NaptEnabled": { + "description": "Whether Network Address and Port Translation is enabled.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "NaptEnabled", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "NAPT is enabled" + }, + { + "value": "Disabled", + "description": "NAPT is disabled" + } + ] + }, + "default": "Enabled" + }, + "PortRange": { + "description": "Range of port numbers to use as translated ports on each translated address.\nIf not specified and NAPT is enabled, this range defaults to 1,024 - 65,535. (Ports under 1,024 should not be used because these are special purpose ports reserved by IANA.)", + "type": "object", + "properties": { + "minPort": { + "description": "The minimum port number", + "type": "integer", + "format": "int32", + "minimum": 1024, + "maximum": 65535, + "default": 1024 + }, + "maxPort": { + "description": "The maximum port number", + "type": "integer", + "format": "int32", + "minimum": 1024, + "maximum": 65535, + "default": 65535 + } + } + }, + "PortReuseHoldTimes": { + "description": "The minimum time (in seconds) that will pass before a port that was used by a closed pinhole can be recycled for use by another pinhole. All hold times must be minimum 1 second.", + "type": "object", + "properties": { + "tcp": { + "description": "Minimum time in seconds that will pass before a TCP port that was used by a closed pinhole can be reused. Default for TCP is 2 minutes.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 120 + }, + "udp": { + "description": "Minimum time in seconds that will pass before a UDP port that was used by a closed pinhole can be reused. Default for UDP is 1 minute.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 60 + } + } + }, + "PinholeTimeouts": { + "description": "Expiry times of inactive NAPT pinholes, in seconds. All timers must be at least 1 second.", + "type": "object", + "properties": { + "tcp": { + "description": "Pinhole timeout for TCP pinholes in seconds. Default for TCP is 2 hours 4 minutes per RFC 5382 section 5.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 7440 + }, + "udp": { + "description": "Pinhole timeout for UDP pinholes in seconds. Default for UDP is 5 minutes per RFC 4787 section 4.3.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 300 + }, + "icmp": { + "description": "Pinhole timeout for ICMP pinholes in seconds. Default for ICMP Echo is 60 seconds per RFC 5508 section 3.2.", + "type": "integer", + "format": "int32", + "minimum": 1, + "default": 60 + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/common.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/common.json new file mode 100644 index 000000000000..2175ce083174 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/common.json @@ -0,0 +1,367 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the virtual network functions deployed using mobile network", + "version": "2022-03-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": {}, + "definitions": { + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to another sub resource.", + "x-ms-azure-resource": true + }, + "DataNetworkResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[dD][aA][tT][aA][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+$", + "description": "Data Network resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to a Data Network resource.", + "x-ms-azure-resource": true + }, + "AttachedDataNetworkResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[pP][aA][cC][kK][eE][tT][cC][oO][rR][eE][cC][oO][nN][tT][rR][oO][lL][pP][lL][aA][nN][eE][sS]/[^/?#]+/[pP][aA][cC][kK][eE][tT][cC][oO][rR][eE][dD][aA][tT][aA][pP][lL][aA][nN][eE][sS]/[^/?#]+/[aA][tT][tT][aA][cC][hH][eE][dD][dD][aA][tT][aA][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+$", + "description": "Attached Data Network resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to an Attached Data Network resource.", + "x-ms-azure-resource": true + }, + "MobileNetworkResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+$", + "description": "Mobile Network resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to a Mobile Network resource.", + "x-ms-azure-resource": true + }, + "ServiceResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][eE][rR][vV][iI][cC][eE][sS]/[^/?#]+$", + "description": "Service resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to a Service resource.", + "x-ms-azure-resource": true + }, + "SimPolicyResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][iI][mM][pP][oO][lL][iI][cC][iI][eE][sS]/[^/?#]+$", + "description": "SIM Policy resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to a SIM Policy resource.", + "x-ms-azure-resource": true + }, + "SliceResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK]/[mM][oO][bB][iI][lL][eE][nN][eE][tT][wW][oO][rR][kK][sS]/[^/?#]+/[sS][lL][iI][cC][eE][sS]/[^/?#]+$", + "description": "Slice resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to a Slice resource.", + "x-ms-azure-resource": true + }, + "CustomLocationResourceId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^/[sS][uU][bB][sS][cC][rR][iI][pP][tT][iI][oO][nN][sS]/[^/?#]+/[rR][eE][sS][oO][uU][rR][cC][eE][gG][rR][oO][uU][pP][sS]/[^/?#]+/[pP][rR][oO][vV][iI][dD][eE][rR][sS]/[mM][iI][cC][rR][oO][sS][oO][fF][tT]\\.[eE][xX][tT][eE][nN][dD][eE][dD][lL][oO][cC][aA][tT][iI][oO][nN]/[cC][uU][sS][tT][oO][mM][lL][oO][cC][aA][tT][iI][oO][nN][sS]/[^/?#]+$", + "description": "Azure ARC custom location resource ID." + } + }, + "required": [ + "id" + ], + "description": "Reference to an Azure ARC custom location resource.", + "x-ms-azure-resource": true + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Unknown", + "Succeeded", + "Accepted", + "Deleting", + "Failed", + "Canceled", + "Deleted" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Unknown" + }, + { + "value": "Succeeded" + }, + { + "value": "Accepted" + }, + { + "value": "Deleting" + }, + { + "value": "Failed" + }, + { + "value": "Canceled" + }, + { + "value": "Deleted" + } + ] + } + }, + "TagsObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "SimState": { + "type": "string", + "readOnly": true, + "description": "The state of the sim resource.", + "enum": [ + "Disabled", + "Enabled", + "Invalid" + ], + "x-ms-enum": { + "name": "SimState", + "modelAsString": true, + "values": [ + { + "value": "Disabled", + "description": "The sim is disabled because not all configuration required for enabling is present." + }, + { + "value": "Enabled", + "description": "The sim is enabled." + }, + { + "value": "Invalid", + "description": "The sim cannot be enabled because some of the associated configuration is invalid." + } + ] + } + }, + "InterfaceProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The logical name for this interface. This should match one of the interfaces configured on your Azure Stack Edge machine." + }, + "ipv4Address": { + "$ref": "./ts29571.json#/definitions/Ipv4Addr", + "description": "The IPv4 address." + }, + "ipv4Subnet": { + "$ref": "./ts29571.json#/definitions/Ipv4AddrMask", + "description": "The IPv4 subnet." + }, + "ipv4Gateway": { + "$ref": "./ts29571.json#/definitions/Ipv4Addr", + "description": "The default IPv4 gateway (router)." + } + }, + "required": [ + "name" + ], + "description": "Interface properties" + } + }, + "parameters": { + "AttachedDataNetworkNameParameter": { + "name": "attachedDataNetworkName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*(\\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*)*$", + "maxLength": 64, + "description": "The name of the attached data network.", + "x-ms-parameter-location": "method" + }, + "DataNetworkNameParameter": { + "name": "dataNetworkName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*(\\.[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])*)*$", + "maxLength": 64, + "description": "The name of the mobile network dataNetwork.", + "x-ms-parameter-location": "method" + }, + "MobileNetworkNameParameter": { + "name": "mobileNetworkName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the mobile network.", + "x-ms-parameter-location": "method" + }, + "PacketCoreControlPlaneNameParameter": { + "name": "packetCoreControlPlaneName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the packet core control plane.", + "x-ms-parameter-location": "method" + }, + "PacketCoreDataPlaneNameParameter": { + "name": "packetCoreDataPlaneName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the packet core data plane.", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^(?!(default|requested|service)$)[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the service. You must not use any of the following reserved strings - `default`, `requested` or `service`", + "x-ms-parameter-location": "method" + }, + "SimNameParameter": { + "name": "simName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the SIM.", + "x-ms-parameter-location": "method" + }, + "SimPolicyNameParameter": { + "name": "simPolicyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the SIM policy.", + "x-ms-parameter-location": "method" + }, + "SiteNameParameter": { + "name": "siteName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the mobile network site.", + "x-ms-parameter-location": "method" + }, + "SliceNameParameter": { + "name": "sliceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64, + "description": "The name of the mobile network slice.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/dataNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/dataNetwork.json new file mode 100644 index 000000000000..f519ccc214db --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/dataNetwork.json @@ -0,0 +1,349 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage data network resources in mobile network to a particular packet core instance", + "version": "2022-03-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/dataNetworks/{dataNetworkName}": { + "delete": { + "tags": [ + "DataNetworks" + ], + "operationId": "DataNetworks_Delete", + "description": "Deletes the specified mobile network dataNetwork.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/DataNetworkNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete mobile network dataNetwork": { + "$ref": "./examples/DataNetworkDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "DataNetworks" + ], + "operationId": "DataNetworks_Get", + "description": "Gets information about the specified mobile network dataNetwork.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/DataNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting mobile network dataNetwork resource.", + "schema": { + "$ref": "#/definitions/DataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get mobile network dataNetwork": { + "$ref": "./examples/DataNetworkGet.json" + } + } + }, + "put": { + "tags": [ + "DataNetworks" + ], + "operationId": "DataNetworks_CreateOrUpdate", + "description": "Creates or updates a mobile network dataNetwork.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/DataNetworkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataNetwork" + }, + "description": "Parameters supplied to the create or update mobile network dataNetwork operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network dataNetwork resource.", + "schema": { + "$ref": "#/definitions/DataNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting mobile network dataNetwork resource.", + "schema": { + "$ref": "#/definitions/DataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create mobile network dataNetwork": { + "$ref": "./examples/DataNetworkCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "DataNetworks" + ], + "operationId": "DataNetworks_UpdateTags", + "description": "Update data network tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/DataNetworkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update data network tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting data network resource.", + "schema": { + "$ref": "#/definitions/DataNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update data network tags": { + "$ref": "./examples/DataNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/dataNetworks": { + "get": { + "tags": [ + "DataNetworks" + ], + "operationId": "DataNetworks_ListByMobileNetwork", + "description": "Lists all dataNetworks in the mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/DataNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile network dataNetworks in a mobile network": { + "$ref": "./examples/DataNetworkListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DataNetwork": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DataNetworkPropertiesFormat", + "description": "Data network properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Data network resource." + }, + "DataNetworkPropertiesFormat": { + "description": "Data network properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the data network resource." + }, + "description": { + "type": "string", + "description": "An optional description for this data network." + } + } + }, + "DataNetworkListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DataNetwork" + }, + "description": "A list of data networks in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for data network API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkCreate.json new file mode 100644 index 000000000000..e531955a6bed --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkCreate.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "packetCoreDataPlaneName": "TestPacketCoreDP", + "attachedDataNetworkName": "TestAttachedDataNetwork", + "parameters": { + "location": "eastus", + "properties": { + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestAttachedDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoresControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork", + "type": "Microsoft.MobileNetwork/attachedDataNetwork", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + }, + "201": { + "body": { + "name": "TestAttachedDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoresControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork", + "type": "Microsoft.MobileNetwork/attachedDataNetwork", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkDelete.json new file mode 100644 index 000000000000..1ec3cdcef89d --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "packetCoreDataPlaneName": "TestPacketCoreDP", + "attachedDataNetworkName": "TestAttachedDataNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkGet.json new file mode 100644 index 000000000000..595eb14444a3 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkGet.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "packetCoreDataPlaneName": "TestPacketCoreDP", + "attachedDataNetworkName": "TestAttachedDataNetwork" + }, + "responses": { + "200": { + "body": { + "name": "TestAttachedDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork", + "type": "Microsoft.MobileNetwork/attachedDataNetwork", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkListByPacketCoreDataPlane.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkListByPacketCoreDataPlane.json new file mode 100644 index 000000000000..e3f6f3fea552 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkListByPacketCoreDataPlane.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "packetCoreDataPlaneName": "TestPacketCoreDP" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestAttachedDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork", + "type": "Microsoft.MobileNetwork/attachedDataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkUpdateTags.json new file mode 100644 index 000000000000..24097f4c7b20 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/AttachedDataNetworkUpdateTags.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "packetCoreDataPlaneName": "TestPacketCoreDP", + "attachedDataNetworkName": "TestAttachedDataNetwork", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestAccessPoint", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork", + "type": "Microsoft.MobileNetwork/attachedDataNetwork", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "userPlaneDataInterface": { + "name": "N6" + }, + "naptConfiguration": { + "enabled": "Enabled", + "portRange": { + "minPort": 1024, + "maxPort": 65535 + }, + "portReuseHoldTime": { + "tcp": 120, + "udp": 60 + }, + "pinholeLimits": 65536, + "pinholeTimeouts": { + "tcp": 7440, + "udp": 300, + "icmp": 60 + } + }, + "userEquipmentAddressPoolPrefix": [ + "2.2.0.0/16" + ], + "userEquipmentStaticAddressPoolPrefix": [ + "2.4.0.0/16" + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkCreate.json new file mode 100644 index 000000000000..78002b1b3a71 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "dataNetworkName": "testDataNetwork", + "parameters": { + "location": "eastus", + "properties": { + "description": "myFavouriteDataNetwork" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testDataNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks/dataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "description": "myFavouriteDataNetwork" + } + } + }, + "201": { + "body": { + "name": "testDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testDataNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks/dataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Created", + "description": "myFavouriteDataNetwork" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkDelete.json new file mode 100644 index 000000000000..68b14c799f57 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "dataNetworkName": "testDataNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkGet.json new file mode 100644 index 000000000000..166af9d9dea5 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "dataNetworkName": "testDataNetwork" + }, + "responses": { + "200": { + "body": { + "name": "testDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testDataNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks/dataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "description": "myFavouriteDataNetwork" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkListByMobileNetwork.json new file mode 100644 index 000000000000..2de6ba9b44a7 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkListByMobileNetwork.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testDataNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks/dataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "description": "myFavouriteDataNetwork" + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkUpdateTags.json new file mode 100644 index 000000000000..00666b2f23be --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/DataNetworkUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "dataNetworkName": "testDataNetwork", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testDataNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testDataNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks/dataNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "description": "myFavouriteDataNetwork" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkCreate.json new file mode 100644 index 000000000000..d2d2d1688efd --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkCreate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "parameters": { + "location": "eastus", + "properties": { + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + }, + "201": { + "body": { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Created", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkDelete.json new file mode 100644 index 000000000000..00c4daf9b0da --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkGet.json new file mode 100644 index 000000000000..0e26ac138d97 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListByResourceGroup.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListByResourceGroup.json new file mode 100644 index 000000000000..57c155d54a7a --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListBySubscription.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListBySubscription.json new file mode 100644 index 000000000000..fe63d5de5fe7 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkUpdateTags.json new file mode 100644 index 000000000000..3e3a20450cc5 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/MobileNetworkUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testMobileNetwork", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork", + "type": "Microsoft.MobileNetwork/mobileNetworks", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "publicLandMobileNetworkIdentifier": { + "mcc": "001", + "mnc": "01" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/OperationList.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/OperationList.json new file mode 100644 index 000000000000..88ea8defb7d4 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/OperationList.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2022-03-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "isDataAction": false, + "name": "Microsoft.MobileNetwork/mobileNetworks/read", + "display": { + "provider": "Microsoft.MobileNetwok", + "resource": "MobileNetwork", + "operation": "Get mobileNetwork", + "description": "Gets mobileNetwork" + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneCreate.json new file mode 100644 index 000000000000..cf139944dfc2 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneCreate.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "parameters": { + "location": "eastus", + "properties": { + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + }, + "201": { + "body": { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneDelete.json new file mode 100644 index 000000000000..2c545bf9f14e --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneGet.json new file mode 100644 index 000000000000..6b7e0fa4adab --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP" + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListByResourceGroup.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListByResourceGroup.json new file mode 100644 index 000000000000..00d890910c38 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListBySubscription.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListBySubscription.json new file mode 100644 index 000000000000..e75492e96768 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneListBySubscription.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneUpdateTags.json new file mode 100644 index 000000000000..cef08f282bb7 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreControlPlaneUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "TestPacketCoreCP", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreCP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP", + "type": "Microsoft.MobileNetwork/packetCoreControlPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "customLocation": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ExtendedLocation/customLocations/TestCustomLocation" + }, + "coreNetworkTechnology": "5GC", + "version": "0.2.0", + "controlPlaneAccessInterface": { + "name": "N2" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneCreate.json new file mode 100644 index 000000000000..71bc01235e18 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "testPacketCoreCP", + "packetCoreDataPlaneName": "testPacketCoreDP", + "parameters": { + "location": "eastus", + "properties": { + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreDP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP", + "type": "Microsoft.MobileNetwork/packetCoreDataPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + }, + "201": { + "body": { + "name": "TestPacketCoreDP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP", + "type": "Microsoft.MobileNetwork/packetCoreDataPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneDelete.json new file mode 100644 index 000000000000..c73aef31b7cc --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "testPacketCoreCP", + "packetCoreDataPlaneName": "testPacketCoreDP" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneGet.json new file mode 100644 index 000000000000..ebc1f6f897db --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "testPacketCoreCP", + "packetCoreDataPlaneName": "testPacketCoreDP" + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreDP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP", + "type": "Microsoft.MobileNetwork/packetCoreDataPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneListByPacketCoreControlPlane.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneListByPacketCoreControlPlane.json new file mode 100644 index 000000000000..b79ea8bcd143 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneListByPacketCoreControlPlane.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "testPacketCoreCP" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "TestPacketCoreDP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP", + "type": "Microsoft.MobileNetwork/packetCoreDataPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneUpdateTags.json new file mode 100644 index 000000000000..8d16697586aa --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/PacketCoreDataPlaneUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "packetCoreControlPlaneName": "testPacketCoreCP", + "packetCoreDataPlaneName": "testPacketCoreDP", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestPacketCoreDP", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP", + "type": "Microsoft.MobileNetwork/packetCoreDataPlane", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "userPlaneAccessInterface": { + "name": "N3" + } + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceCreate.json new file mode 100644 index 000000000000..ac43ba3a9ea9 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceCreate.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "serviceName": "TestService", + "parameters": { + "location": "eastus", + "properties": { + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/TestService", + "type": "Microsoft.MobileNetwork/service", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/TestService", + "type": "Microsoft.MobileNetwork/service", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceDelete.json new file mode 100644 index 000000000000..4c01df4041ba --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "serviceName": "TestService" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceGet.json new file mode 100644 index 000000000000..433235690883 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceGet.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "serviceName": "TestService" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/TestService", + "type": "Microsoft.MobileNetwork/service", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceListByMobileNetwork.json new file mode 100644 index 000000000000..821cd7d9fb1a --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceListByMobileNetwork.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "testResourceGroupName", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/TestService", + "type": "Microsoft.MobileNetwork/service", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceUpdateTags.json new file mode 100644 index 000000000000..54ec7fba333d --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/ServiceUpdateTags.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "serviceName": "TestService", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestService", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/TestService", + "type": "Microsoft.MobileNetwork/service", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "servicePrecedence": 255, + "serviceQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "pccRules": [ + { + "ruleName": "default-rule", + "rulePrecedence": 255, + "ruleQosPolicy": { + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "maximumBitRate": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + } + }, + "trafficControl": "Enabled", + "serviceDataFlowTemplates": [ + { + "templateName": "IP-to-server", + "direction": "Uplink", + "protocol": [ + "ip" + ], + "remoteIpList": [ + "10.3.4.0/24" + ], + "ports": [] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimCreate.json new file mode 100644 index 000000000000..fe2920c06476 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimCreate.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "simName": "testSim", + "parameters": { + "location": "testLocation", + "properties": { + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "authenticationKey": "00000000000000000000000000000000", + "operatorKeyCode": "00000000000000000000000000000000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sims/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + }, + "201": { + "body": { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sims/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimDelete.json new file mode 100644 index 000000000000..d70d3aee8931 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "testResourceGroupName", + "simName": "testSim" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimGet.json new file mode 100644 index 000000000000..0a6dab7ba5a6 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "testResourceGroupName", + "simName": "testSimName" + }, + "responses": { + "200": { + "body": { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sim/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimIdListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimIdListByMobileNetwork.json new file mode 100644 index 000000000000..a40ca8fb41fd --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimIdListByMobileNetwork.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg", + "mobileNetworkName": "testMobileNetworkName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.MobileNetwork/sims/testSim" + } + ], + "nextLink": "nextLink" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.MobileNetwork/locations/testLocation/operationStatuses/testOperation?api-version=2022-03-01-preview" + }, + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.MobileNetwork/sims/testSim" + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListByResourceGroup.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListByResourceGroup.json new file mode 100644 index 000000000000..2480b885f0f9 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListByResourceGroup.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sims/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListBySubscription.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListBySubscription.json new file mode 100644 index 000000000000..11848859e3ad --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sims/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyCreate.json new file mode 100644 index 000000000000..d179b97e0364 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyCreate.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "simPolicyName": "testPolicy", + "parameters": { + "location": "eastus", + "properties": { + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/testPolicy", + "type": "Microsoft.MobileNetwork/simPolicy", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/testPolicy", + "type": "Microsoft.MobileNetwork/simPolicy", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyDelete.json new file mode 100644 index 000000000000..30ee78dd387a --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "simPolicyName": "testPolicy" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyGet.json new file mode 100644 index 000000000000..0bb1ad6daa4c --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "simPolicyName": "testPolicy" + }, + "responses": { + "200": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/testPolicy", + "type": "Microsoft.MobileNetwork/simPolicy", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyListByMobileNetwork.json new file mode 100644 index 000000000000..f239d8011f36 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyListByMobileNetwork.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "testResourceGroupName", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/testPolicy", + "type": "Microsoft.MobileNetwork/simPolicy", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Accepted", + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyUpdateTags.json new file mode 100644 index 000000000000..69a425f8f24e --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimPolicyUpdateTags.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "simPolicyName": "testPolicy", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/testPolicy", + "type": "Microsoft.MobileNetwork/simPolicy", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "registrationTimer": 3240, + "ueAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "defaultSlice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "sliceConfigurations": [ + { + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "defaultDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "dataNetworkConfigurations": [ + { + "dataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/dataNetworks/testdataNetwork" + }, + "sessionAmbr": { + "uplink": "500 Mbps", + "downlink": "1 Gbps" + }, + "5qi": 9, + "allocationAndRetentionPriorityLevel": 9, + "preemptionCapability": "NotPreempt", + "preemptionVulnerability": "Preemptable", + "defaultSessionType": "IPv4", + "additionalAllowedSessionTypes": [], + "allowedServices": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/services/testService" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimUpdateTags.json new file mode 100644 index 000000000000..1874c253688f --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SimUpdateTags.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "simName": "testSim", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSim", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/sim/testSim", + "type": "Microsoft.MobileNetwork/sims", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "simState": "Enabled", + "integratedCircuitCardIdentifier": "8900000000000000000", + "internationalMobileSubscriberIdentity": "00000", + "mobileNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork" + }, + "deviceType": "Video camera", + "simPolicy": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/simPolicies/MySimPolicy" + }, + "staticIpConfiguration": [ + { + "attachedDataNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/TestPacketCoreCP/packetCoreDataPlanes/TestPacketCoreDP/attachedDataNetworks/TestAttachedDataNetwork" + }, + "slice": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice" + }, + "staticIp": { + "ipv4Address": "2.4.0.1" + } + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteCreate.json new file mode 100644 index 000000000000..50348962d265 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "siteName": "testSite", + "parameters": { + "location": "testLocation", + "properties": { + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSite", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite", + "type": "Microsoft.MobileNetwork/mobileNetworks/sites", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + }, + "201": { + "body": { + "name": "testSite", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite", + "type": "Microsoft.MobileNetwork/mobileNetworks/sites", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Created", + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteDelete.json new file mode 100644 index 000000000000..25e0712d4bdb --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "siteName": "testSite" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteGet.json new file mode 100644 index 000000000000..bf1efabfa08b --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "siteName": "testSite" + }, + "responses": { + "200": { + "body": { + "name": "testSite", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite", + "type": "Microsoft.MobileNetwork/mobileNetworks/sites", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteListByMobileNetwork.json new file mode 100644 index 000000000000..b6673964a12b --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteListByMobileNetwork.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSite", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite", + "type": "Microsoft.MobileNetwork/mobileNetworks/sites", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "properties": { + "provisioningState": "Succeeded", + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteUpdateTags.json new file mode 100644 index 000000000000..3102340416a1 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SiteUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "siteName": "testSite", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSite", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/sites/testSite", + "type": "Microsoft.MobileNetwork/mobileNetworks/sites", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "testLocation", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "networkFunctions": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.HybridNetwork/networkFunctions/testNf" + } + ] + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceCreate.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceCreate.json new file mode 100644 index 000000000000..a66477a4a464 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceCreate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "sliceName": "testSlice", + "parameters": { + "location": "eastus", + "properties": { + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSlice", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice", + "type": "Microsoft.MobileNetwork/mobileNetworks/slices", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + }, + "201": { + "body": { + "name": "testSlice", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice", + "type": "Microsoft.MobileNetwork/mobileNetworks/slices", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Created", + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceDelete.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceDelete.json new file mode 100644 index 000000000000..5fb5aba5462c --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "sliceName": "testSlice" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceGet.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceGet.json new file mode 100644 index 000000000000..d7e6f407a557 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "sliceName": "testSlice" + }, + "responses": { + "200": { + "body": { + "name": "testSlice", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice", + "type": "Microsoft.MobileNetwork/mobileNetworks/slices", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceListByMobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceListByMobileNetwork.json new file mode 100644 index 000000000000..917c6120c364 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceListByMobileNetwork.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testSlice", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice", + "type": "Microsoft.MobileNetwork/mobileNetworks/slices", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceUpdateTags.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceUpdateTags.json new file mode 100644 index 000000000000..195a097557ae --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/examples/SliceUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-03-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "mobileNetworkName": "testMobileNetwork", + "sliceName": "testSlice", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testSlice", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.MobileNetwork/mobileNetworks/testMobileNetwork/slices/testSlice", + "type": "Microsoft.MobileNetwork/mobileNetworks/slices", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "location": "eastus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "snssai": { + "sst": 1, + "sd": "1abcde" + }, + "description": "myFavouriteSlice" + } + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/mobileNetwork.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/mobileNetwork.json new file mode 100644 index 000000000000..578d202a9de6 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/mobileNetwork.json @@ -0,0 +1,1189 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage mobile network resources", + "version": "2022-03-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.MobileNetwork/mobileNetworks/{mobileNetworkName}": { + "delete": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_Delete", + "description": "Deletes the specified mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete mobile network": { + "$ref": "./examples/MobileNetworkDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_Get", + "description": "Gets information about the specified mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting mobile network resource.", + "schema": { + "$ref": "#/definitions/MobileNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get mobile network": { + "$ref": "./examples/MobileNetworkGet.json" + } + } + }, + "put": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_CreateOrUpdate", + "description": "Creates or updates a mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MobileNetwork" + }, + "description": "Parameters supplied to the create or update mobile network operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network resource.", + "schema": { + "$ref": "#/definitions/MobileNetwork" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting mobile network resource.", + "schema": { + "$ref": "#/definitions/MobileNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create mobile network": { + "$ref": "./examples/MobileNetworkCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_UpdateTags", + "description": "Updates a mobile network update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update mobile network tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network resource.", + "schema": { + "$ref": "#/definitions/MobileNetwork" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update mobile network tags": { + "$ref": "./examples/MobileNetworkUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MobileNetwork/mobileNetworks": { + "get": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_ListBySubscription", + "description": "Lists all the mobile networks in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/MobileNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile networks in a subscription": { + "$ref": "./examples/MobileNetworkListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks": { + "get": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_ListByResourceGroup", + "description": "Lists all the mobile networks in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/MobileNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile networks in resource group": { + "$ref": "./examples/MobileNetworkListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/listSimIds": { + "post": { + "tags": [ + "MobileNetworks" + ], + "operationId": "MobileNetworks_ListSimIds", + "description": "List sim ids under a mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "List sim profile ids successful.", + "schema": { + "$ref": "#/definitions/SimIdListResult" + } + }, + "202": { + "description": "Accepted. Returns an operation URI that can be queried to find the current state of the operation.", + "schema": { + "$ref": "#/definitions/SimIdListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List sim profile ids by network": { + "$ref": "./examples/SimIdListByMobileNetwork.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/sites/{siteName}": { + "delete": { + "tags": [ + "Sites" + ], + "operationId": "Sites_Delete", + "description": "Deletes the specified mobile network site.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SiteNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete mobile network site": { + "$ref": "./examples/SiteDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Sites" + ], + "operationId": "Sites_Get", + "description": "Gets information about the specified mobile network site.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SiteNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting mobile network site resource.", + "schema": { + "$ref": "#/definitions/Site" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get mobile network site": { + "$ref": "./examples/SiteGet.json" + } + } + }, + "put": { + "tags": [ + "Sites" + ], + "operationId": "Sites_CreateOrUpdate", + "description": "Creates or updates a mobile network site.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SiteNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Site" + }, + "description": "Parameters supplied to the create or update mobile network site operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network site resource.", + "schema": { + "$ref": "#/definitions/Site" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting mobile network site resource.", + "schema": { + "$ref": "#/definitions/Site" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create mobile network site": { + "$ref": "./examples/SiteCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Sites" + ], + "operationId": "Sites_UpdateTags", + "description": "Updates a site update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SiteNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update network site tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network site resource.", + "schema": { + "$ref": "#/definitions/Site" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update mobile network site tags": { + "$ref": "./examples/SiteUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/sites": { + "get": { + "tags": [ + "Sites" + ], + "operationId": "Sites_ListByMobileNetwork", + "description": "Lists all sites in the mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/SiteListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile network sites in a mobile network": { + "$ref": "./examples/SiteListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/sims/{simName}": { + "delete": { + "tags": [ + "Sims" + ], + "operationId": "Sims_Delete", + "description": "Deletes the specified sim.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete sim": { + "$ref": "./examples/SimDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Sims" + ], + "operationId": "Sims_Get", + "description": "Gets information about the specified sim.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting sim resource.", + "schema": { + "$ref": "#/definitions/Sim" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get sim": { + "$ref": "./examples/SimGet.json" + } + } + }, + "put": { + "tags": [ + "Sims" + ], + "operationId": "Sims_CreateOrUpdate", + "description": "Creates or updates a Sim.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Sim" + }, + "description": "Parameters supplied to the create or update sim operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting sim resource.", + "schema": { + "$ref": "#/definitions/Sim" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting sim resource.", + "schema": { + "$ref": "#/definitions/Sim" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create sim": { + "$ref": "./examples/SimCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Sims" + ], + "operationId": "Sims_UpdateTags", + "description": "Updates a sim update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update sim tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting sim resource.", + "schema": { + "$ref": "#/definitions/Sim" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update sim tags": { + "$ref": "./examples/SimUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MobileNetwork/sims": { + "get": { + "tags": [ + "Sims" + ], + "operationId": "Sims_ListBySubscription", + "description": "Gets all the sims in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of sim resources.", + "schema": { + "$ref": "#/definitions/SimListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List sims in a subscription": { + "$ref": "./examples/SimListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/sims": { + "get": { + "tags": [ + "Sims" + ], + "operationId": "Sims_ListByResourceGroup", + "description": "Gets all the Sims in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of sim resources.", + "schema": { + "$ref": "#/definitions/SimListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List sims in a resource group": { + "$ref": "./examples/SimListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "MobileNetwork": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MobileNetworkPropertiesFormat", + "description": "Mobile network properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Mobile network resource." + }, + "MobileNetworkPropertiesFormat": { + "type": "object", + "description": "Mobile network properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the mobile network resource." + }, + "publicLandMobileNetworkIdentifier": { + "$ref": "./ts29571.json#/definitions/PlmnId", + "description": "The unique public land mobile network identifier for the network. This is made up of the Mobile Country Code and Mobile Network Code, as defined in https://www.itu.int/rec/T-REC-E.212. The values 001-01 and 001-001 can be used for testing and the values 999-99 and 999-999 can be used on internal private networks." + }, + "serviceKey": { + "type": "string", + "readOnly": true, + "description": "The mobile network resource identifier" + } + }, + "required": [ + "publicLandMobileNetworkIdentifier" + ] + }, + "MobileNetworkListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MobileNetwork" + }, + "description": "A list of mobile networks in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for mobile networks API service call." + }, + "Sim": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SimPropertiesFormat", + "description": "Sim Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Sim resource." + }, + "SimPropertiesFormat": { + "type": "object", + "description": "Sim properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the sim resource." + }, + "simState": { + "readOnly": true, + "$ref": "./common.json#/definitions/SimState", + "description": "The state of the sim resource." + }, + "internationalMobileSubscriberIdentity": { + "type": "string", + "pattern": "^[0-9]{5,15}$", + "x-ms-mutability": [ + "create", + "read" + ], + "description": "The International Mobile Subscriber Identity (IMSI) for the sim." + }, + "integratedCircuitCardIdentifier": { + "type": "string", + "pattern": "^89[0-9]{17,18}$", + "description": "The Integrated Circuit Card ID (ICC Id) for the sim." + }, + "authenticationKey": { + "type": "string", + "pattern": "^[0-9a-fA-F]{32}$", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ], + "description": "The ki value for the sim." + }, + "operatorKeyCode": { + "type": "string", + "pattern": "^[0-9a-fA-F]{32}$", + "x-ms-secret": true, + "x-ms-mutability": [ + "create", + "update" + ], + "description": "The Opc value for the sim." + }, + "mobileNetwork": { + "$ref": "./common.json#/definitions/MobileNetworkResourceId", + "description": "Mobile network that this sim belongs to" + }, + "deviceType": { + "type": "string", + "description": "An optional free-form text field that can be used to record the device type this sim is associated with, for example 'Video camera'. The Azure portal allows Sims to be grouped and filtered based on this value." + }, + "simPolicy": { + "$ref": "./common.json#/definitions/SimPolicyResourceId", + "description": "The simPolicy used by this sim." + }, + "staticIpConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/SimStaticIpProperties" + }, + "minItems": 1, + "uniqueItems": true, + "description": "A list of static IP addresses assigned to this sim. Each address is assigned at a defined network scope, made up of {attached data network, slice}.", + "x-ms-identifiers": [ + "attachedDataNetwork", + "slice" + ] + } + }, + "required": [ + "internationalMobileSubscriberIdentity" + ] + }, + "SimStaticIpProperties": { + "type": "object", + "description": "Static IP configuration for a sim, scoped to a particular attached data network and slice.", + "properties": { + "attachedDataNetwork": { + "$ref": "./common.json#/definitions/AttachedDataNetworkResourceId", + "description": "The attached data network on which the static IP address will be used. The combination of attachedDataNetwork and slice defines the network scope of the IP address." + }, + "slice": { + "$ref": "./common.json#/definitions/SliceResourceId", + "description": "The network slice on which the static IP address will be used. The combination of attachedDataNetwork and slice defines the network scope of the IP address." + }, + "staticIp": { + "type": "object", + "description": "The static IP configuration for the sim to use at the defined network scope.", + "properties": { + "ipv4Address": { + "$ref": "./ts29571.json#/definitions/Ipv4Addr", + "description": "The IPv4 address assigned to the sim at this network scope. This address must be in the userEquipmentStaticAddressPoolPrefix defined in the attachedDataNetwork." + } + } + } + } + }, + "SimIdListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "description": "A list of sim profile ids in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list sim ids API service call." + }, + "SimListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Sim" + }, + "description": "A list of Sims in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for list Sims API service call." + }, + "Site": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SitePropertiesFormat", + "description": "Site properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "description": "Site resource." + }, + "SitePropertiesFormat": { + "type": "object", + "description": "Site properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the site resource. **TODO**: Confirm if this is needed" + }, + "networkFunctions": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SubResource" + }, + "description": "An array of ids of the network functions deployed on the site, maintained by the user." + } + } + }, + "SiteListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Site" + }, + "description": "A list of sites in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for sites API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/operation.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/operation.json new file mode 100644 index 000000000000..d744586b6d9c --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/operation.json @@ -0,0 +1,136 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the operations.", + "version": "2022-03-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": { + "/providers/Microsoft.MobileNetwork/operations": { + "get": { + "tags": [ + "operations" + ], + "operationId": "Operations_List", + "description": "Gets a list of the operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Registration Operations": { + "$ref": "./examples/OperationList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Operation": { + "properties": { + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation applies to data-plane." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Operation name: {provider}/{resource}/{operation}" + }, + "display": { + "readOnly": true, + "description": "The object that represents the operation.", + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Service provider: Microsoft.MobileNetwork" + }, + "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.MobileNetwork operation." + }, + "OperationList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.MobileNetwork operations.", + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "type": "object", + "description": "List of the operations." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreControlPlane.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreControlPlane.json new file mode 100644 index 000000000000..62f25fdbc993 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreControlPlane.json @@ -0,0 +1,396 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage packet core control plane resources", + "version": "2022-03-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.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}": { + "delete": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_Delete", + "description": "Deletes the specified packet core control plane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete packet core control plane": { + "$ref": "./examples/PacketCoreControlPlaneDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_Get", + "description": "Gets information about the specified packet core control plane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting packet core control plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get packet core control plane": { + "$ref": "./examples/PacketCoreControlPlaneGet.json" + } + } + }, + "put": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_CreateOrUpdate", + "description": "Creates or updates a PacketCoreControlPlane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PacketCoreControlPlane" + }, + "description": "Parameters supplied to the create or update packet core control plane operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting packet core control plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlane" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting packet core control plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create packet core control plane": { + "$ref": "./examples/PacketCoreControlPlaneCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_UpdateTags", + "description": "Updates a PacketCoreControlPlane update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update PacketCoreControlPlane tags." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting packet core control plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update packet core control plane tags": { + "$ref": "./examples/PacketCoreControlPlaneUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.MobileNetwork/packetCoreControlPlanes": { + "get": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_ListBySubscription", + "description": "Lists all the packetCoreControlPlanes in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of packet core control plane resources.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlaneListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List packet core control planes in a subscription": { + "$ref": "./examples/PacketCoreControlPlaneListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/packetCoreControlPlanes": { + "get": { + "tags": [ + "PacketCoreControlPlanes" + ], + "operationId": "PacketCoreControlPlanes_ListByResourceGroup", + "description": "Lists all the packetCoreControlPlanes in a resource group.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of packet core control plane resources.", + "schema": { + "$ref": "#/definitions/PacketCoreControlPlaneListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List packet core control planes in resource group": { + "$ref": "./examples/PacketCoreControlPlaneListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PacketCoreControlPlane": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCoreControlPlanePropertiesFormat", + "description": "Packet core control plane Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Packet core control plane resource." + }, + "PacketCoreControlPlanePropertiesFormat": { + "description": "PacketCoreControlPlane properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the packet core control plane resource." + }, + "mobileNetwork": { + "$ref": "./common.json#/definitions/MobileNetworkResourceId", + "description": "Mobile network that this packet core control plane belongs to" + }, + "customLocation": { + "$ref": "./common.json#/definitions/CustomLocationResourceId", + "description": "Azure ARC custom location where the packet core is deployed." + }, + "coreNetworkTechnology": { + "$ref": "./ts29571.json#/definitions/CoreNetworkType", + "description": "The core network technology generation." + }, + "version": { + "type": "string", + "description": "The version of the packet core software that is deployed." + }, + "controlPlaneAccessInterface": { + "$ref": "./common.json#/definitions/InterfaceProperties", + "description": "The control plane interface on the access network. In 5G networks this is called as N2 interface whereas in 4G networks this is called as S1-MME interface." + } + }, + "required": [ + "mobileNetwork", + "controlPlaneAccessInterface" + ] + }, + "PacketCoreControlPlaneListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCoreControlPlane" + }, + "description": "A list of packet core control planes in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for packet core control planes API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreDataPlane.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreDataPlane.json new file mode 100644 index 000000000000..1e0735c5587d --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreDataPlane.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage packet core data plane resources", + "version": "2022-03-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.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes/{packetCoreDataPlaneName}": { + "delete": { + "tags": [ + "PacketCoreDataPlanes" + ], + "operationId": "PacketCoreDataPlanes_Delete", + "description": "Deletes the specified packet core data plane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete packet core data plane": { + "$ref": "./examples/PacketCoreDataPlaneDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "PacketCoreDataPlanes" + ], + "operationId": "PacketCoreDataPlanes_Get", + "description": "Gets information about the specified packet core data plane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting packet core data plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreDataPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get packet core data plane": { + "$ref": "./examples/PacketCoreDataPlaneGet.json" + } + } + }, + "put": { + "tags": [ + "PacketCoreDataPlanes" + ], + "operationId": "PacketCoreDataPlanes_CreateOrUpdate", + "description": "Creates or updates a PacketCoreDataPlane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PacketCoreDataPlane" + }, + "description": "Parameters supplied to the create or update packet core data plane operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting packet core data plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreDataPlane" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting packet core data plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreDataPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create packet core data plane": { + "$ref": "./examples/PacketCoreDataPlaneCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "PacketCoreDataPlanes" + ], + "operationId": "PacketCoreDataPlanes_UpdateTags", + "description": "Updates a PacketCoreDataPlane update tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreDataPlaneNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update PacketCoreDataPlane tags." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting packet core data plane resource.", + "schema": { + "$ref": "#/definitions/PacketCoreDataPlane" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update packet core data plane tags": { + "$ref": "./examples/PacketCoreDataPlaneUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/packetCoreControlPlanes/{packetCoreControlPlaneName}/packetCoreDataPlanes": { + "get": { + "tags": [ + "PacketCoreDataPlanes" + ], + "operationId": "PacketCoreDataPlanes_ListByPacketCoreControlPlane", + "description": "Lists all the packetCoreDataPlanes associated with a packetCoreControlPlane.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/PacketCoreControlPlaneNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of packet core data plane resources.", + "schema": { + "$ref": "#/definitions/PacketCoreDataPlaneListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List packet core data planes in a control plane": { + "$ref": "./examples/PacketCoreDataPlaneListByPacketCoreControlPlane.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "PacketCoreDataPlane": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PacketCoreDataPlanePropertiesFormat", + "description": "Packet core data plane Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Packet core data plane resource." + }, + "PacketCoreDataPlanePropertiesFormat": { + "description": "PacketCoreDataPlane properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the packet core data plane resource." + }, + "userPlaneAccessInterface": { + "$ref": "./common.json#/definitions/InterfaceProperties", + "description": "The user plane interface on the access network. In 5G networks this is called as N3 interface whereas in 4G networks this is called the S1-U interface." + } + }, + "required": [ + "userPlaneAccessInterface" + ] + }, + "PacketCoreDataPlaneListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PacketCoreDataPlane" + }, + "description": "A list of packet core data planes in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for packet core data planes API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/service.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/service.json new file mode 100644 index 000000000000..1a25a199966e --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/service.json @@ -0,0 +1,569 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage service resources", + "version": "2022-03-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/services/{serviceName}": { + "delete": { + "tags": [ + "Service" + ], + "operationId": "Services_Delete", + "description": "Deletes the specified service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete service": { + "$ref": "./examples/ServiceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_Get", + "description": "Gets information about the specified service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting service resource.", + "schema": { + "$ref": "#/definitions/Service" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get service": { + "$ref": "./examples/ServiceGet.json" + } + } + }, + "put": { + "tags": [ + "Service" + ], + "operationId": "Services_CreateOrUpdate", + "description": "Creates or updates a Service.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Service" + }, + "description": "Parameters supplied to the create or update service operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting service resource.", + "schema": { + "$ref": "#/definitions/Service" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting service resource.", + "schema": { + "$ref": "#/definitions/Service" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create service": { + "$ref": "./examples/ServiceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Service" + ], + "operationId": "Services_UpdateTags", + "description": "Update service tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update service tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting service resource.", + "schema": { + "$ref": "#/definitions/Service" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update service tags": { + "$ref": "./examples/ServiceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/services": { + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_ListByMobileNetwork", + "description": "Gets all the services in a mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of service resources.", + "schema": { + "$ref": "#/definitions/ServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List services in a mobile network": { + "$ref": "./examples/ServiceListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Service": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServicePropertiesFormat", + "description": "Service Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Service resource." + }, + "ServicePropertiesFormat": { + "description": "Service properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the service resource.", + "$ref": "./common.json#/definitions/ProvisioningState" + }, + "servicePrecedence": { + "description": "A precedence value that is used to decide between services when identifying the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique among all services configured in the Mobile Network.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255 + }, + "serviceQosPolicy": { + "description": "The QoS policy to use for packets matching this service. This can be overridden for particular flows using the ruleQosPolicy field in a PccRuleConfiguration. If this field is null then the UE's simPolicy will define the QoS settings.", + "$ref": "#/definitions/QosPolicy" + }, + "pccRules": { + "description": "The set of PCC Rules that make up this service.", + "type": "array", + "items": { + "$ref": "#/definitions/PccRuleConfiguration" + }, + "minItems": 1, + "uniqueItems": true, + "x-ms-identifiers": [ + "ruleName" + ] + } + }, + "required": [ + "servicePrecedence", + "pccRules" + ] + }, + "PccRuleConfiguration": { + "description": "PCC rule configuration", + "type": "object", + "properties": { + "ruleName": { + "description": "The name of the rule. This must be unique within the parent Service. You must not use any of the following reserved strings - `default`, `requested` or `service`.", + "type": "string", + "pattern": "^(?!(default|requested|service)$)[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64 + }, + "rulePrecedence": { + "description": "A precedence value that is used to decide between PCC Rules when identifying the QoS values to use for a particular Sim. A lower value means a higher priority. This value should be unique among all PCC Rules configured in the Mobile Network.", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255 + }, + "ruleQosPolicy": { + "description": "The QoS policy to use for packets matching this rule. If this field is null then the Service will define the QoS settings.", + "$ref": "#/definitions/PccRuleQosPolicy" + }, + "trafficControl": { + "description": "Determines whether flows that match this PCC Rule are permitted.", + "$ref": "#/definitions/TrafficControlPermission", + "default": "Enabled" + }, + "serviceDataFlowTemplates": { + "description": "The set of service data flow templates to use for this PCC Rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceDataFlowTemplate" + }, + "minItems": 1, + "uniqueItems": true, + "x-ms-identifiers": [ + "templateName" + ] + } + }, + "required": [ + "ruleName", + "rulePrecedence", + "serviceDataFlowTemplates" + ] + }, + "ServiceDataFlowTemplate": { + "description": "Service data flow (SDF) template", + "type": "object", + "properties": { + "templateName": { + "description": "The name of the SDF template. This must be unique within the parent PccRuleConfiguration. You must not use any of the following reserved strings - `default`, `requested` or `service`.", + "type": "string", + "pattern": "^(?!(default|requested|service)$)[a-zA-Z0-9][a-zA-Z0-9_-]*$", + "maxLength": 64 + }, + "direction": { + "description": "The direction of this flow.", + "$ref": "#/definitions/SdfDirection" + }, + "protocol": { + "description": "A list of the allowed protocol(s) for this flow. If you want this flow to be able to use any protocol within the internet protocol suite, use the value `ip`. If you only want to allow a selection of protocols, you must use the corresponding IANA Assigned Internet Protocol Number for each protocol, as described in https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml. For example, for UDP, you must use 17. If you use the value `ip` then you must leave the field `port` unspecified.", + "type": "array", + "items": { + "type": "string", + "pattern": "^(ip|[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$" + }, + "minItems": 1, + "uniqueItems": true + }, + "remoteIpList": { + "description": "The remote IP address(es) to which UEs will connect for this flow. If you want to allow connections on any IP address, use the value `any`. Otherwise, you must provide each of the remote IP addresses to which Fusion Core will connect for this flow. You must provide each IP address in CIDR notation, including the netmask (for example, 192.0.2.54/24).", + "type": "array", + "items": { + "type": "string", + "pattern": "^(any|(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2])))$", + "description": "IPv4 address mask or value `any`", + "example": "198.51.0.0/16" + }, + "minItems": 1, + "uniqueItems": true + }, + "ports": { + "description": "The port(s) to which UEs will connect for this flow. You can specify zero or more ports or port ranges. If you specify one or more ports or port ranges then you must specify a value other than `ip` in the `protocol` field. This is an optional setting. If you do not specify it then connections will be allowed on all ports. Port ranges must be specified as -. For example: [`8080`, `8082-8085`].", + "type": "array", + "items": { + "type": "string", + "pattern": "^([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(-([1-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$" + }, + "uniqueItems": true + } + }, + "required": [ + "templateName", + "direction", + "protocol", + "remoteIpList" + ] + }, + "ServiceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Service" + }, + "description": "A list of Services." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for Services API service call." + }, + "QosPolicy": { + "description": "QoS policy", + "type": "object", + "properties": { + "5qi": { + "description": "QoS Flow 5G QoS Indicator value. The 5QI identifies a specific QoS forwarding treatment to be provided to a flow. This must not be a standardized 5QI value selecting a GBR (Guaranteed Bit Rate) QoS. The illegal GBR 5QI values are: 1, 2, 3, 4, 65, 66, 67, 71, 72, 73, 74, 75, 76, 82, 83, 84, and 85. See 3GPP TS23.501 section 5.7.2.1 for a full description of the 5Qi parameter, and table 5.7.4-1 for the definition of which are the GBR 5QI values.", + "$ref": "./ts29571.json#/definitions/5QiPriorityLevel", + "default": 9 + }, + "allocationAndRetentionPriorityLevel": { + "description": "QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemptionCapability` and `preemptionVulnerability` allow it. 1 is the highest level of priority. If this field is not specified then `5qi` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/ArpPriorityLevel", + "default": 9 + }, + "preemptionCapability": { + "description": "QoS Flow preemption capability. The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionCapability", + "default": "NotPreempt" + }, + "preemptionVulnerability": { + "description": "QoS Flow preemption vulnerability. The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionVulnerability", + "default": "Preemptable" + }, + "maximumBitRate": { + "description": "The Maximum Bit Rate (MBR) for all service data flows that use this PCC Rule or Service.", + "$ref": "./ts29571.json#/definitions/Ambr" + } + }, + "required": [ + "maximumBitRate" + ] + }, + "PccRuleQosPolicy": { + "description": "PCC rule QoS policy", + "type": "object", + "properties": { + "guaranteedBitRate": { + "description": "The Guaranteed Bit Rate (GBR) for all service data flows that use this PCC Rule. This is an optional setting. If you do not provide a value, there will be no GBR set for the PCC Rule that uses this QoS definition.", + "$ref": "./ts29571.json#/definitions/Ambr" + } + }, + "allOf": [ + { + "$ref": "#/definitions/QosPolicy" + } + ] + }, + "TrafficControlPermission": { + "type": "string", + "description": "Traffic control permission.", + "enum": [ + "Enabled", + "Blocked" + ], + "x-ms-enum": { + "name": "TrafficControlPermission", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Traffic matching this rule is allowed to flow." + }, + { + "value": "Blocked", + "description": "Traffic matching this rule is not allowed to flow." + } + ] + } + }, + "SdfDirection": { + "type": "string", + "description": "Service data flow direction.", + "enum": [ + "Uplink", + "Downlink", + "Bidirectional" + ], + "x-ms-enum": { + "name": "SdfDirection", + "modelAsString": true, + "values": [ + { + "value": "Uplink", + "description": "Traffic flowing from the UE to the data network." + }, + { + "value": "Downlink", + "description": "Traffic flowing from the data network to the UE." + }, + { + "value": "Bidirectional", + "description": "Traffic flowing both to and from the UE." + } + ] + } + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/simPolicy.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/simPolicy.json new file mode 100644 index 000000000000..bff31e0979c9 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/simPolicy.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage sim policy resources", + "version": "2022-03-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/simPolicies/{simPolicyName}": { + "delete": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_Delete", + "description": "Deletes the specified sim policy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete sim policy": { + "$ref": "./examples/SimPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_Get", + "description": "Gets information about the specified sim policy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get sim policy": { + "$ref": "./examples/SimPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_CreateOrUpdate", + "description": "Creates or updates a SimPolicy.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SimPolicy" + }, + "description": "Parameters supplied to the create or update sim policy operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting sim policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create sim policy": { + "$ref": "./examples/SimPolicyCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_UpdateTags", + "description": "Update sim policy tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SimPolicyNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Sim Policy tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting Sim Policy resource.", + "schema": { + "$ref": "#/definitions/SimPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update sim policy tags": { + "$ref": "./examples/SimPolicyUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/simPolicies": { + "get": { + "tags": [ + "SimPolicy" + ], + "operationId": "SimPolicies_ListByMobileNetwork", + "description": "Gets all the simPolicies in a mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of sim policy resources.", + "schema": { + "$ref": "#/definitions/SimPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List sim policies in a mobile network": { + "$ref": "./examples/SimPolicyListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SimPolicy": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SimPolicyPropertiesFormat", + "description": "Sim policy Properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Sim policy resource." + }, + "SimPolicyPropertiesFormat": { + "description": "SimPolicy properties.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the sim policy resource.", + "$ref": "./common.json#/definitions/ProvisioningState" + }, + "ueAmbr": { + "description": "Aggregate maximum bit rate across all non-GBR QoS flows of all PDU sessions of a given UE. See 3GPP TS23.501 section 5.7.2.6 for a full description of the UE-AMBR.", + "$ref": "./ts29571.json#/definitions/Ambr" + }, + "defaultSlice": { + "description": "The default slice to use if the UE does not explicitly specify it. This slice must exist in the `sliceConfigurations` map.", + "$ref": "./common.json#/definitions/SliceResourceId" + }, + "rfspIndex": { + "description": "RAT/Frequency Selection Priority Index, defined in 3GPP TS 36.413. This is an optional setting and by default is unspecified.", + "$ref": "./ts29571.json#/definitions/RfspIndex" + }, + "registrationTimer": { + "description": "Interval for the UE periodic registration update procedure, in seconds.", + "type": "integer", + "format": "int32", + "minimum": 30, + "default": 3240 + }, + "sliceConfigurations": { + "description": "The allowed slices and the settings to use for them. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "#/definitions/SliceConfiguration" + }, + "minItems": 1, + "uniqueItems": true, + "x-ms-identifiers": [ + "slice" + ] + } + }, + "required": [ + "ueAmbr", + "defaultSlice", + "sliceConfigurations" + ] + }, + "SliceConfiguration": { + "description": "Per-slice settings", + "type": "object", + "properties": { + "slice": { + "description": "A reference to the Slice that these settings apply to", + "$ref": "./common.json#/definitions/SliceResourceId" + }, + "defaultDataNetwork": { + "description": "The default data network to use if the UE does not explicitly specify it. Configuration for this object must exist in the `dataNetworkConfigurations` map.", + "$ref": "./common.json#/definitions/DataNetworkResourceId" + }, + "dataNetworkConfigurations": { + "description": "The allowed data networks and the settings to use for them. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "#/definitions/DataNetworkConfiguration" + }, + "minItems": 1, + "uniqueItems": true, + "x-ms-identifiers": [ + "dataNetwork" + ] + } + }, + "required": [ + "slice", + "defaultDataNetwork", + "dataNetworkConfigurations" + ] + }, + "DataNetworkConfiguration": { + "description": "Settings controlling Data Network use", + "type": "object", + "properties": { + "dataNetwork": { + "description": "A reference to the Data Network that these settings apply to", + "$ref": "./common.json#/definitions/DataNetworkResourceId" + }, + "sessionAmbr": { + "description": "Aggregate maximum bit rate across all non-GBR QoS flows of a given PDU session. See 3GPP TS23.501 section 5.7.2.6 for a full description of the Session-AMBR.", + "$ref": "./ts29571.json#/definitions/Ambr" + }, + "5qi": { + "description": "Default QoS Flow 5G QoS Indicator value. The 5QI identifies a specific QoS forwarding treatment to be provided to a flow. This must not be a standardized 5QI value selecting a GBR (Guaranteed Bit Rate) QoS. The illegal GBR 5QI values are: 1, 2, 3, 4, 65, 66, 67, 71, 72, 73, 74, 75, 76, 82, 83, 84, and 85. See 3GPP TS23.501 section 5.7.2.1 for a full description of the 5Qi parameter, and table 5.7.4-1 for the definition of which are the GBR 5QI values.", + "$ref": "./ts29571.json#/definitions/5QiPriorityLevel", + "default": 9 + }, + "allocationAndRetentionPriorityLevel": { + "description": "Default QoS Flow allocation and retention priority (ARP) level. Flows with higher priority preempt flows with lower priority, if the settings of `preemptionCapability` and `preemptionVulnerability` allow it. 1 is the highest level of priority. If this field is not specified then `5qi` is used to derive the ARP value. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/ArpPriorityLevel", + "default": 9 + }, + "preemptionCapability": { + "description": "Default QoS Flow preemption capability. The Preemption Capability of a QoS Flow controls whether it can preempt another QoS Flow with a lower priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionCapability", + "default": "NotPreempt" + }, + "preemptionVulnerability": { + "description": "Default QoS Flow preemption vulnerability. The Preemption Vulnerability of a QoS Flow controls whether it can be preempted by QoS Flow with a higher priority level. See 3GPP TS23.501 section 5.7.2.2 for a full description of the ARP parameters.", + "$ref": "./ts29571.json#/definitions/PreemptionVulnerability", + "default": "Preemptable" + }, + "defaultSessionType": { + "description": "The default PDU session type, which is used if the UE does not request a specific session type.", + "$ref": "./ts29571.json#/definitions/PduSessionType", + "default": "IPv4" + }, + "additionalAllowedSessionTypes": { + "description": "Allowed session types in addition to the default session type. Must not duplicate the default session type.", + "type": "array", + "items": { + "$ref": "./ts29571.json#/definitions/PduSessionType" + }, + "maxItems": 1 + }, + "allowedServices": { + "description": "List of Services that can be used as part of this Sim Policy. The list must not contain duplicate items and must contain at least one item.", + "type": "array", + "items": { + "$ref": "./common.json#/definitions/ServiceResourceId" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "required": [ + "dataNetwork", + "sessionAmbr", + "allowedServices" + ] + }, + "SimPolicyListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SimPolicy" + }, + "description": "A list of SimPolicies." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for SimPolicies API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/slice.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/slice.json new file mode 100644 index 000000000000..1c7f1e804af8 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/slice.json @@ -0,0 +1,359 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage network slice resources in mobile network", + "version": "2022-03-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.MobileNetwork/mobileNetworks/{mobileNetworkName}/slices/{sliceName}": { + "delete": { + "tags": [ + "Slices" + ], + "operationId": "Slices_Delete", + "description": "Deletes the specified mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + } + ], + "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": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete mobile network slice": { + "$ref": "./examples/SliceDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Slices" + ], + "operationId": "Slices_Get", + "description": "Gets information about the specified mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get mobile network slice": { + "$ref": "./examples/SliceGet.json" + } + } + }, + "put": { + "tags": [ + "Slices" + ], + "operationId": "Slices_CreateOrUpdate", + "description": "Creates or updates a mobile network slice.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Slice" + }, + "description": "Parameters supplied to the create or update mobile network slice operation." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create mobile network slice": { + "$ref": "./examples/SliceCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Slices" + ], + "operationId": "Slices_UpdateTags", + "description": "Update slice tags.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + }, + { + "$ref": "./common.json#/parameters/SliceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./common.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update mobile network slice tags." + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting mobile network slice resource.", + "schema": { + "$ref": "#/definitions/Slice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update mobile network slice tags": { + "$ref": "./examples/SliceUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileNetwork/mobileNetworks/{mobileNetworkName}/slices": { + "get": { + "tags": [ + "Slices" + ], + "operationId": "Slices_ListByMobileNetwork", + "description": "Lists all slices in the mobile network.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./common.json#/parameters/MobileNetworkNameParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of mobile network resources.", + "schema": { + "$ref": "#/definitions/SliceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List mobile network slices in a mobile network": { + "$ref": "./examples/SliceListByMobileNetwork.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Slice": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SlicePropertiesFormat", + "description": "Slice properties." + }, + "systemData": { + "x-ms-client-flatten": true, + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/systemData", + "readOnly": true, + "description": "Metadata pertaining to creation and last modification of the resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "description": "Network slice resource." + }, + "SlicePropertiesFormat": { + "description": "Network slice properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./common.json#/definitions/ProvisioningState", + "description": "The provisioning state of the network slice resource." + }, + "snssai": { + "$ref": "./ts29571.json#/definitions/Snssai", + "description": "The S-NSSAI (single network slice selection assistance information). Unique at the scope of a MobileNetwork." + }, + "description": { + "type": "string", + "description": "An optional description for this network slice." + } + }, + "required": [ + "snssai" + ] + }, + "SliceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Slice" + }, + "description": "A list of data networks in a resource group." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of results." + } + }, + "description": "Response for attached data network API service call." + } + } +} diff --git a/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/ts29571.json b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/ts29571.json new file mode 100644 index 000000000000..1638283b3c6f --- /dev/null +++ b/specification/mobilenetwork/resource-manager/Microsoft.MobileNetwork/preview/2022-03-01-preview/ts29571.json @@ -0,0 +1,335 @@ +{ + "swagger": "2.0", + "info": { + "title": "MobileNetworkManagementClient", + "description": "The resources in this swagger specification will be used to manage the virtual network functions deployed using mobile network. They are standard mobile network properties defined by 3GPP in TS 29.571 v16.6.0.", + "version": "2022-03-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": {}, + "definitions": { + "Ipv4Addr": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$", + "description": "IPv4 address.", + "example": "198.51.100.1" + }, + "Ipv4AddrRm": { + "$ref": "#/definitions/Ipv4Addr", + "x-nullable": true, + "description": "IPv4 address or null." + }, + "Ipv4AddrMask": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))$", + "description": "IPv4 address mask.", + "example": "198.51.0.0/16" + }, + "Ipv4AddrMaskRm": { + "$ref": "#/definitions/Ipv4AddrMask", + "x-nullable": true, + "description": "IPv4 address mask or null." + }, + "BitRate": { + "type": "string", + "pattern": "^\\d+(\\.\\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$", + "description": "Bit rate." + }, + "BitRateRm": { + "$ref": "#/definitions/BitRate", + "x-nullable": true, + "description": "Bit rate or null." + }, + "Ambr": { + "description": "Aggregate Maximum Bit Rate.", + "type": "object", + "properties": { + "uplink": { + "$ref": "#/definitions/BitRate", + "description": "Uplink bit rate." + }, + "downlink": { + "$ref": "#/definitions/BitRate", + "description": "Downlink bit rate." + } + }, + "required": [ + "uplink", + "downlink" + ] + }, + "AmbrRm": { + "$ref": "#/definitions/Ambr", + "x-nullable": true, + "description": "Aggregate Maximum Bit Rate or null." + }, + "RfspIndex": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 256, + "description": "RAT/Frequency Selection Priority Index" + }, + "RfspIndexRm": { + "$ref": "#/definitions/RfspIndex", + "x-nullable": true, + "description": "RAT/Frequency Selection Priority Index or null" + }, + "5Qi": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255, + "description": "5G QoS Identifier." + }, + "5QiRm": { + "$ref": "#/definitions/5Qi", + "x-nullable": true, + "description": "5G QoS Identifier or null." + }, + "5QiPriorityLevel": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 127, + "description": "5G QoS Identifier priority level." + }, + "5QiPriorityLevelRm": { + "$ref": "#/definitions/5QiPriorityLevel", + "x-nullable": true, + "description": "5G QoS Identifier priority level or null." + }, + "ArpPriorityLevel": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 15, + "description": "ARP priority level." + }, + "ArpPriorityLevelRm": { + "$ref": "#/definitions/ArpPriorityLevel", + "x-nullable": true, + "description": "ARP priority level or null." + }, + "PreemptionCapability": { + "type": "string", + "description": "Preemption capability.", + "enum": [ + "NotPreempt", + "MayPreempt" + ], + "x-ms-enum": { + "name": "PreemptionCapability", + "modelAsString": true, + "values": [ + { + "value": "NotPreempt", + "description": "Cannot preempt" + }, + { + "value": "MayPreempt", + "description": "May preempt" + } + ] + } + }, + "PreemptionVulnerability": { + "type": "string", + "description": "Preemption vulnerability.", + "enum": [ + "NotPreemptable", + "Preemptable" + ], + "x-ms-enum": { + "name": "PreemptionVulnerability", + "modelAsString": true, + "values": [ + { + "value": "NotPreemptable", + "description": "Cannot be preempted" + }, + { + "value": "Preemptable", + "description": "May be preempted" + } + ] + } + }, + "Arp": { + "description": "Allocation and Retention Priority (ARP) parameters.", + "type": "object", + "properties": { + "priorityLevel": { + "$ref": "#/definitions/ArpPriorityLevel", + "description": "ARP priority level." + }, + "preemptCap": { + "$ref": "#/definitions/PreemptionCapability", + "description": "ARP preemption capability." + }, + "preemptVuln": { + "$ref": "#/definitions/PreemptionVulnerability", + "description": "ARP preemption vulnerability" + } + }, + "required": [ + "priorityLevel", + "preemptCap", + "preemptVuln" + ] + }, + "Mcc": { + "type": "string", + "pattern": "^\\d{3}$", + "description": "Mobile Country Code." + }, + "MccRm": { + "$ref": "#/definitions/Mcc", + "x-nullable": true, + "description": "Mobile Country Code or null." + }, + "Mnc": { + "type": "string", + "pattern": "^\\d{2,3}$", + "description": "Mobile Network Code." + }, + "MncRm": { + "$ref": "#/definitions/Mnc", + "x-nullable": true, + "description": "Mobile Network Code or null." + }, + "PlmnId": { + "description": "Public Land Mobile Network (PLMN) ID.", + "type": "object", + "properties": { + "mcc": { + "$ref": "#/definitions/Mcc", + "description": "Mobile Country Code (MCC)." + }, + "mnc": { + "$ref": "#/definitions/Mnc", + "description": "Mobile Network Code (MNC)." + } + }, + "required": [ + "mcc", + "mnc" + ] + }, + "PlmnIdRm": { + "$ref": "#/definitions/PlmnId", + "x-nullable": true, + "description": "Public Land Mobile Network ID or null." + }, + "Tac": { + "type": "string", + "pattern": "(^[A-Fa-f0-9]{4}$)|(^[A-Fa-f0-9]{6}$)", + "description": "Tracking Area Code (TAC)." + }, + "TacRm": { + "$ref": "#/definitions/Tac", + "x-nullable": true, + "description": "Tracking Area Code (TAC) or null." + }, + "CoreNetworkType": { + "type": "string", + "description": "Core network type.", + "enum": [ + "5GC", + "EPC" + ], + "x-ms-enum": { + "name": "CoreNetworkType", + "modelAsString": true, + "values": [ + { + "value": "5GC", + "description": "5G core" + }, + { + "value": "EPC", + "description": "EPC / 4G core" + } + ] + } + }, + "CoreNetworkTypeRm": { + "$ref": "#/definitions/CoreNetworkType", + "x-nullable": true, + "description": "Core network type or null." + }, + "PduSessionType": { + "type": "string", + "description": "PDU session type (IPv4/IPv6).", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "PduSessionType", + "modelAsString": true, + "values": [ + { + "value": "IPv4" + }, + { + "value": "IPv6" + } + ] + } + }, + "PduSessionTypeRm": { + "$ref": "#/definitions/PduSessionType", + "x-nullable": true, + "description": "PDU session type or null." + }, + "Snssai": { + "description": "Single-Network Slice Selection Assistance Information (S-NSSAI).", + "type": "object", + "properties": { + "sst": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 255, + "description": "Slice/Service Type (SST)." + }, + "sd": { + "type": "string", + "pattern": "^[A-Fa-f0-9]{6}$", + "description": "Slice Differentiator (SD)." + } + }, + "required": [ + "sst" + ] + } + } +} diff --git a/specification/mobilenetwork/resource-manager/readme.csharp.md b/specification/mobilenetwork/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..c170674c10d4 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.MobileNetwork + output-folder: $(csharp-sdks-folder)/mobilenetwork/management/Microsoft.MobileNetwork/GeneratedProtocol +``` diff --git a/specification/mobilenetwork/resource-manager/readme.go.md b/specification/mobilenetwork/resource-manager/readme.go.md new file mode 100644 index 000000000000..18de44ea839f --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +``` yaml $(go) && $(track2) +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/mobilenetwork/armmobilenetwork +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +azure-arm: true +``` diff --git a/specification/mobilenetwork/resource-manager/readme.md b/specification/mobilenetwork/resource-manager/readme.md new file mode 100644 index 000000000000..f42d151ec923 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.md @@ -0,0 +1,109 @@ +# mobilenetwork + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for mobilenetwork. + +## 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 mobilenetwork. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2022-03-01-preview +``` + +### Tag: package-2022-03-01-preview + +These settings apply only when `--tag=package-2022-03-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2022-03-01-preview' +input-file: + - Microsoft.MobileNetwork/preview/2022-03-01-preview/attachedDataNetwork.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/common.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/dataNetwork.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/mobileNetwork.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/operation.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreControlPlane.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/packetCoreDataPlane.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/service.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/simPolicy.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/slice.json + - Microsoft.MobileNetwork/preview/2022-03-01-preview/ts29571.json +``` + +### Tag: package-2022-01-01-preview + +These settings apply only when `--tag=package-2022-01-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2022-01-01-preview' +input-file: + - Microsoft.MobileNetwork/preview/2022-01-01-preview/attachedDataNetwork.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/common.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/dataNetwork.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/mobileNetwork.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/operation.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/packetCoreControlPlane.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/packetCoreDataPlane.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/service.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/simPolicy.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/slice.json + - Microsoft.MobileNetwork/preview/2022-01-01-preview/ts29571.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-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-sdk-for-ruby + after_scripts: + - bundle install && rake arm:regen_all_profiles['azure_mgmt_mobilenetwork'] +``` + +## 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) diff --git a/specification/mobilenetwork/resource-manager/readme.python.md b/specification/mobilenetwork/resource-manager/readme.python.md new file mode 100644 index 000000000000..6b0366ab4a42 --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-mobilenetwork +namespace: azure.mgmt.mobilenetwork +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/mobilenetwork/azure-mgmt-mobilenetwork/azure/mgmt/mobilenetwork +``` diff --git a/specification/mobilenetwork/resource-manager/readme.ruby.md b/specification/mobilenetwork/resource-manager/readme.ruby.md new file mode 100644 index 000000000000..eee457be408b --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.ruby.md @@ -0,0 +1,37 @@ +## Ruby + +These settings apply only when `--ruby` is specified on the command line. + +```yaml +package-name: azure_mgmt_mobilenetwork +package-version: 2022-03-01-preview +azure-arm: true +``` + +### Ruby multi-api + +``` yaml $(ruby) && $(multiapi) +batch: + - tag: package-2022-03-01-preview + - tag: package-2022-01-01-preview +``` + +### Tag: package-2022-03-01-preview and ruby + +These settings apply only when `--tag=package-2022-03-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2022-03-01-preview' && $(ruby) +namespace: Microsoft.MobileNetwork +output-folder: $(ruby-sdks-folder)/mobilenetwork +``` + +### Tag: package-2022-01-01-preview and ruby + +These settings apply only when `--tag=package-2022-01-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +```yaml $(tag) == 'package-2022-01-01-preview' && $(ruby) +namespace: Microsoft.MobileNetwork +output-folder: $(ruby-sdks-folder)/mobilenetwork +``` diff --git a/specification/mobilenetwork/resource-manager/readme.typescript.md b/specification/mobilenetwork/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..bb49da2bc7fb --- /dev/null +++ b/specification/mobilenetwork/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +```yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-mobilenetwork" + output-folder: "$(typescript-sdks-folder)/sdk/mobilenetwork/arm-mobilenetwork" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` diff --git a/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/DataCollectionRules.json b/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/DataCollectionRules.json new file mode 100644 index 000000000000..2430c5385d9c --- /dev/null +++ b/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/DataCollectionRules.json @@ -0,0 +1,136 @@ +{ + "swagger": "2.0", + "info": { + "title": "Ingestion Using Data Collection Rules", + "version": "2021-11-01-preview" + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/dataCollectionRules/{ruleId}/streams/{stream}": { + "post": { + "tags": [ + "Data Collection Rules" + ], + "summary": "Ingestion API used to directly ingest data using Data Collection Rules", + "description": "See error response code and error response message for more detail.", + "operationId": "DataCollectionRule_Ingest", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "ruleId", + "description": "The immutable Id of the Data Collection Rule resource.", + "required": true, + "type": "string" + }, + { + "in": "path", + "name": "stream", + "description": "The streamDeclaration name as defined in the Data Collection Rule.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "required": true, + "type": "string", + "description": "The API version to use for this operation." + }, + { + "in": "header", + "name": "Content-Encoding", + "description": "gzip", + "type": "string" + }, + { + "in": "header", + "name": "x-ms-client-request-id", + "description": "Client request Id", + "type": "string" + }, + { + "in": "body", + "name": "body", + "description": "An array of objects matching the schema defined by the provided stream.", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "object" + } + } + } + ], + "x-ms-examples": { + "postIngestUsingDataCollectionRule": { + "$ref": "./examples/post_IngestUsingDataCollectionRule.json" + } + }, + "responses": { + "204": { + "description": "Ingestion request accepted" + }, + "default": { + "description": "An error response object.", + "schema": { + "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "description": "A value that indicates the ingestion service error code.", + "type": "string" + } + } + } + } + } + } + }, + "definitions": {}, + "parameters": { + "Endpoint": { + "name": "endpoint", + "description": "The Data Collection Endpoint for the Data Collection Rule, for example https://dce-name.eastus-2.ingest.monitor.azure.com.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/examples/post_IngestUsingDataCollectionRule.json b/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/examples/post_IngestUsingDataCollectionRule.json new file mode 100644 index 000000000000..78c8aa20623a --- /dev/null +++ b/specification/monitor/data-plane/ingestion/preview/2021-11-01-preview/examples/post_IngestUsingDataCollectionRule.json @@ -0,0 +1,41 @@ +{ + "title": "Post Ingest Using Data Collection Rule", + "description": "Allows data to be ingested directly using Data Collection Rules", + "parameters": { + "endpoint": "https://dce-name.eastus-2.ingest.monitor.azure.com", + "ruleId": "c512b59c-4005-40e2-b13d-ac29cfb46af4", + "stream": "test-rg", + "api-version": "2021-11-01-preview", + "Authorization": "Bearer ey...", + "Content-Type": "application/json", + "Content-Encoding": "gzip", + "x-ms-client-request-id": "", + "body": [ + { + "Time": "2021-12-08T23:51:14.1104269Z", + "Computer": "Computer1", + "AdditionalContext": { + "InstanceName": "user1", + "TimeZone": "Pacific Time", + "Level": 4, + "CounterName": "AppMetric1", + "CounterValue": 15.3 + } + }, + { + "Time": "2021-12-08T23:51:14.1104269Z", + "Computer": "Computer2", + "AdditionalContext": { + "InstanceName": "user2", + "TimeZone": "Central Time", + "Level": 3, + "CounterName": "AppMetric1", + "CounterValue": 23.5 + } + } + ] + }, + "responses": { + "204": {} + } +} diff --git a/specification/monitor/data-plane/ingestion/readme.md b/specification/monitor/data-plane/ingestion/readme.md new file mode 100644 index 000000000000..1c16089af456 --- /dev/null +++ b/specification/monitor/data-plane/ingestion/readme.md @@ -0,0 +1,19 @@ +# My API +> see https://aka.ms/autorest + +### Basic Information +These are the global settings for the Ingestion API. + +``` yaml +openapi-type: data-plane +tag: package-2021-11-preview +``` + +### Tag: package-2021-11-preview + +These settings apply only when `--tag=package-2021-11-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2021-11-preview' +input-file: +- preview/2021-11-01-preview/DataCollectionRules.json +``` diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json index 8c17d69446e6..28aae70ccc7f 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json @@ -304,6 +304,9 @@ "items": { "$ref": "#/definitions/MetricSettings" }, + "x-ms-identifiers": [ + "category" + ], "description": "The list of metric settings." }, "logs": { @@ -311,6 +314,9 @@ "items": { "$ref": "#/definitions/LogSettings" }, + "x-ms-identifiers": [ + "category" + ], "description": "The list of logs settings." }, "workspaceId": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json deleted file mode 100644 index ffe96baf0ae1..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json +++ /dev/null @@ -1,328 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "MonitorManagementClient", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" - }, - "version": "2017-11-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/{resourceUri}/providers/Microsoft.Insights/baseline/{metricName}": { - "get": { - "tags": [ - "Baseline" - ], - "operationId": "MetricBaseline_Get", - "description": "**Gets the baseline values for a specific metric**.", - "parameters": [ - { - "$ref": "#/parameters/ExtendedResourceUriParameter" - }, - { - "$ref": "#/parameters/MetricNameParameter" - }, - { - "$ref": "#/parameters/TimespanParameter" - }, - { - "$ref": "#/parameters/IntervalParameter" - }, - { - "$ref": "#/parameters/AggregationParameter" - }, - { - "$ref": "#/parameters/SensitivitiesParameter" - }, - { - "$ref": "#/parameters/BaselineResultTypeParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "Successful request to get the list of metric values.", - "schema": { - "$ref": "#/definitions/BaselineResponse" - } - } - }, - "x-ms-examples": { - "Get Metric for data": { - "$ref": "./examples/GetBaseline.json" - }, - "Get Metric for metadata": { - "$ref": "./examples/GetBaselineMetadata.json" - } - } - } - } - }, - "definitions": { - "LocalizableString": { - "required": [ - "value" - ], - "properties": { - "value": { - "type": "string", - "description": "the invariant value." - }, - "localizedValue": { - "type": "string", - "description": "the locale specific value." - } - }, - "description": "The localizable string class." - }, - "BaselineMetadataValue": { - "properties": { - "name": { - "$ref": "#/definitions/LocalizableString", - "description": "the name of the metadata." - }, - "value": { - "type": "string", - "description": "the value of the metadata." - } - }, - "description": "Represents a baseline metadata value." - }, - "ErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "BaselineResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "the metric baseline Id." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "the resource type of the baseline resource." - }, - "name": { - "$ref": "#/definitions/LocalizableString", - "readOnly": true, - "description": "the name and the display name of the metric, i.e. it is localizable string." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BaselineProperties", - "description": "the properties of the baseline." - } - }, - "description": "The response to a baseline query." - }, - "BaselineProperties": { - "properties": { - "timespan": { - "type": "string", - "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested." - }, - "interval": { - "type": "string", - "format": "duration", - "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made." - }, - "aggregation": { - "type": "string", - "description": "The aggregation type of the metric." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - }, - "baseline": { - "type": "array", - "items": { - "$ref": "#/definitions/Baseline" - }, - "description": "the baseline values for each sensitivity." - }, - "metadata": { - "type": "array", - "items": { - "$ref": "#/definitions/BaselineMetadataValue" - }, - "description": "the baseline metadata values." - } - }, - "description": "The baseline properties class." - }, - "Baseline": { - "type": "object", - "properties": { - "sensitivity": { - "type": "string", - "enum": [ - "Low", - "Medium", - "High" - ], - "x-ms-enum": { - "name": "Sensitivity", - "modelAsString": false - }, - "description": "the sensitivity of the baseline." - }, - "lowThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single low threshold value." - }, - "description": "The low thresholds of the baseline." - }, - "highThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single high threshold value." - }, - "description": "The high thresholds of the baseline." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - } - }, - "required": [ - "sensitivity", - "lowThresholds", - "highThresholds" - ], - "description": "The baseline values for a single sensitivity value." - } - }, - "parameters": { - "ExtendedResourceUriParameter": { - "name": "resourceUri", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource. It has the following structure: subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}. For example: subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "MetricNameParameter": { - "name": "metricName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the metric to retrieve the baseline for.", - "x-ms-parameter-location": "method" - }, - "TimespanParameter": { - "name": "timespan", - "in": "query", - "required": false, - "type": "string", - "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", - "x-ms-parameter-location": "method" - }, - "IntervalParameter": { - "name": "interval", - "in": "query", - "required": false, - "type": "string", - "format": "duration", - "description": "The interval (i.e. timegrain) of the query.", - "x-ms-parameter-location": "method" - }, - "AggregationParameter": { - "name": "aggregation", - "in": "query", - "required": false, - "type": "string", - "description": "The aggregation type of the metric to retrieve the baseline for.", - "x-ms-parameter-location": "method" - }, - "SensitivitiesParameter": { - "name": "sensitivities", - "in": "query", - "required": false, - "type": "string", - "description": "The list of sensitivities (comma separated) to retrieve.", - "x-ms-parameter-location": "method" - }, - "BaselineResultTypeParameter": { - "name": "resultType", - "in": "query", - "type": "string", - "enum": [ - "Data", - "Metadata" - ], - "x-ms-enum": { - "name": "ResultType", - "modelAsString": false - }, - "description": "Allows retrieving only metadata of the baseline. On data request all information is retrieved.", - "x-ms-parameter-location": "method", - "required": false - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json deleted file mode 100644 index 07d2c07886fa..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json +++ /dev/null @@ -1,228 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "MonitorManagementClient", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" - }, - "version": "2017-11-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/{resourceUri}/providers/Microsoft.Insights/calculatebaseline": { - "post": { - "tags": [ - "Baseline" - ], - "operationId": "MetricBaseline_CalculateBaseline", - "description": "**Lists the baseline values for a resource**.", - "parameters": [ - { - "$ref": "#/parameters/ExtendedResourceUriParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "name": "TimeSeriesInformation", - "description": "Information that need to be specified to calculate a baseline on a time series.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TimeSeriesInformation" - } - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "Successful request to get the list of metric values.", - "schema": { - "$ref": "#/definitions/CalculateBaselineResponse" - } - } - }, - "x-ms-examples": { - "Calculate baseline": { - "$ref": "./examples/CalculateBaseline.json" - } - } - } - } - }, - "definitions": { - "ErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "TimeSeriesInformation": { - "properties": { - "sensitivities": { - "type": "array", - "items": { - "type": "string", - "description": "the requested sensitivity for calculating the baseline." - }, - "description": "the list of sensitivities for calculating the baseline." - }, - "values": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single metric value." - }, - "description": "The metric values to calculate the baseline." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - } - }, - "required": [ - "sensitivities", - "values" - ], - "description": "The time series info needed for calculating the baseline." - }, - "CalculateBaselineResponse": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "the resource type of the baseline resource." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - }, - "baseline": { - "type": "array", - "items": { - "$ref": "#/definitions/Baseline" - }, - "description": "the baseline values for each sensitivity." - } - }, - "required": [ - "type", - "baseline" - ], - "description": "The response to a calculate baseline call." - }, - "Baseline": { - "type": "object", - "properties": { - "sensitivity": { - "type": "string", - "enum": [ - "Low", - "Medium", - "High" - ], - "x-ms-enum": { - "name": "Sensitivity", - "modelAsString": false - }, - "description": "the sensitivity of the baseline." - }, - "lowThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single low threshold value." - }, - "description": "The low thresholds of the baseline." - }, - "highThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single high threshold value." - }, - "description": "The high thresholds of the baseline." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - } - }, - "required": [ - "sensitivity", - "lowThresholds", - "highThresholds" - ], - "description": "The baseline values for a single sensitivity value." - } - }, - "parameters": { - "ExtendedResourceUriParameter": { - "name": "resourceUri", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource. It has the following structure: subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}. For example: subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/CalculateBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/CalculateBaseline.json deleted file mode 100644 index 706ed919758c..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/CalculateBaseline.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default", - "api-version": "2017-11-01-preview", - "TimeSeriesInformation": { - "sensitivities": [ - "Low", - "Medium" - ], - "values": [ - 61.0, - 62.0 - ] - } - }, - "responses": { - "200": { - "body": { - "type": "Microsoft.Insights/calculatebaseline", - "baseline": [ - { - "sensitivity": "Low", - "lowThresholds": [ - 30.0, - 31.1 - ], - "highThresholds": [ - 90.3453, - 91.3453 - ] - }, - { - "sensitivity": "Medium", - "lowThresholds": [ - 50.0, - 51.1 - ], - "highThresholds": [ - 70.3453, - 71.3453 - ] - } - ] - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaseline.json deleted file mode 100644 index 2c84cad30ea4..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaseline.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "metricName": "PercentageCpu", - "aggregation": "Average", - "interval": "PT1H", - "sensitivities": "Low,Medium", - "api-version": "2017-11-01-preview" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/baseline/PercentageCpu", - "type": "Microsoft.Insights/baseline", - "name": { - "value": "PercentageCpu" - }, - "properties": { - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "aggregation": "Average", - "interval": "PT1H", - "timestamps": [ - "2017-04-14T02:20:00Z", - "2017-04-14T03:20:00Z" - ], - "baseline": [ - { - "sensitivity": "Low", - "lowThresholds": [ - 30.0, - 31.1 - ], - "highThresholds": [ - 90.3453, - 91.3453 - ] - }, - { - "sensitivity": "Medium", - "lowThresholds": [ - 50.0, - 51.1 - ], - "highThresholds": [ - 70.3453, - 71.3453 - ] - } - ] - } - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json deleted file mode 100644 index 0f6ea5ff333d..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-11-01-preview/examples/GetBaselineMetadata.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "metricName": "PercentageCpu", - "aggregation": "Average", - "interval": "PT1H", - "resulttype": "metadata", - "api-version": "2017-11-01-preview" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/baseline/PercentageCpu", - "type": "Microsoft.Insights/baseline", - "name": { - "value": "PercentageCpu" - }, - "properties": { - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "aggregation": "Average", - "interval": "PT1H", - "metadata": [ - { - "name": "CurrentTrainingState", - "value": "Trained" - }, - { - "name": "SelectedModel", - "value": "AdjustedBoxplot" - } - ] - } - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json index 40178783e578..68388244a763 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json @@ -236,6 +236,9 @@ "items": { "$ref": "#/definitions/DataContainer" }, + "x-ms-identifiers": [ + "/workspace/id" + ], "description": "Containers that currently store VM Insights data for the specified resource." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json index f98561251d46..8658defc9caa 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json @@ -1122,6 +1122,9 @@ "items": { "$ref": "#/definitions/ErrorResponseCommon" }, + "x-ms-identifiers": [ + "code" + ], "description": "The error details." }, "additionalInfo": { @@ -1130,6 +1133,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionEndpoints_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionEndpoints_API.json new file mode 100644 index 000000000000..7b090352ab12 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionEndpoints_API.json @@ -0,0 +1,576 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Monitor Data Collection Endpoints API", + "description": "Provides operations for working with Azure Monitor data collection endpoints", + "version": "2021-09-01-preview", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints": { + "get": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Lists all data collection endpoints in the specified resource group.", + "operationId": "DataCollectionEndpoints_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection endpoints by resource group": { + "$ref": "./examples/DataCollectionEndpointsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/dataCollectionEndpoints": { + "get": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Lists all data collection endpoints in the specified subscription", + "operationId": "DataCollectionEndpoints_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection endpoints by subscription": { + "$ref": "./examples/DataCollectionEndpointsListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName}": { + "get": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Returns the specified data collection endpoint.", + "operationId": "DataCollectionEndpoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Get data collection endpoint": { + "$ref": "./examples/DataCollectionEndpointsGet.json" + } + } + }, + "put": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Creates or updates a data collection endpoint.", + "operationId": "DataCollectionEndpoints_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + } + ], + "responses": { + "200": { + "description": "Data collection endpoint was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + }, + "201": { + "description": "Data collection endpoint was successfully created", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Create or update data collection endpoint": { + "$ref": "./examples/DataCollectionEndpointsCreate.json" + } + } + }, + "patch": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Updates part of a data collection endpoint.", + "operationId": "DataCollectionEndpoints_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/ResourceForUpdate" + } + } + ], + "responses": { + "200": { + "description": "Data collection endpoint was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Update data collection endpoint": { + "$ref": "./examples/DataCollectionEndpointsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DataCollectionEndpoints" + ], + "summary": "Deletes a data collection endpoint.", + "operationId": "DataCollectionEndpoints_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Data collection endpoint was successfully deleted" + }, + "204": { + "description": "Data collection endpoint did not exist" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Delete data collection endpoint": { + "$ref": "./examples/DataCollectionEndpointsDelete.json" + } + } + } + } + }, + "definitions": { + "ConfigurationAccessEndpointSpec": { + "description": "Definition of the endpoint used for accessing configuration.", + "type": "object", + "properties": { + "endpoint": { + "description": "The endpoint. This property is READ-ONLY.", + "type": "string", + "readOnly": true, + "example": "https://mydce-abcd.eastus-1.control.monitor.azure.com", + "x-ms-mutability": [ + "read" + ] + } + } + }, + "LogsIngestionEndpointSpec": { + "description": "Definition of the endpoint used for ingesting logs.", + "type": "object", + "properties": { + "endpoint": { + "description": "The endpoint. This property is READ-ONLY.", + "type": "string", + "readOnly": true, + "example": "https://mydce-abcd.eastus-1.ingest.monitor.azure.com", + "x-ms-mutability": [ + "read" + ] + } + } + }, + "NetworkRuleSet": { + "description": "Definition of the network rules.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "The configuration to set whether network access from public internet to the endpoints are allowed.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownPublicNetworkAccessOptions", + "modelAsString": true + } + } + } + }, + "DataCollectionEndpoint": { + "description": "Definition of data collection endpoint.", + "type": "object", + "properties": { + "description": { + "description": "Description of the data collection endpoint.", + "type": "string" + }, + "immutableId": { + "description": "The immutable ID of this data collection endpoint resource. This property is READ-ONLY.", + "type": "string", + "example": "dce-b74e0d383fc9415abaa584ec41adece3" + }, + "configurationAccess": { + "description": "The endpoint used by clients to access their configuration.", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationAccessEndpointSpec" + } + ] + }, + "logsIngestion": { + "description": "The endpoint used by clients to ingest logs.", + "allOf": [ + { + "$ref": "#/definitions/LogsIngestionEndpointSpec" + } + ] + }, + "networkAcls": { + "description": "Network access control rules for the endpoints.", + "allOf": [ + { + "$ref": "#/definitions/NetworkRuleSet" + } + ] + }, + "provisioningState": { + "description": "The resource provisioning state. This property is READ-ONLY.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "example": "Creating", + "x-ms-enum": { + "name": "KnownDataCollectionEndpointProvisioningState", + "modelAsString": true + }, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionEndpointResource": { + "description": "Definition of ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "properties": { + "properties": { + "description": "Resource properties.", + "allOf": [ + { + "$ref": "#/definitions/DataCollectionEndpoint" + } + ], + "x-ms-client-flatten": true + }, + "location": { + "description": "The geo-location where the resource lives.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "kind": { + "description": "The kind of the resource.", + "enum": [ + "Linux", + "Windows" + ], + "type": "string", + "example": "Linux", + "x-ms-enum": { + "name": "KnownDataCollectionEndpointResourceKind", + "modelAsString": true + } + }, + "id": { + "description": "Fully qualified ID of the resource.", + "type": "string", + "readOnly": true, + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true, + "example": "myCollectionEndpoint", + "x-ms-mutability": [ + "read" + ] + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true, + "example": "Microsoft.Insights/dataCollectionEndpoints", + "x-ms-mutability": [ + "read" + ] + }, + "etag": { + "description": "Resource entity tag (ETag).", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "DataCollectionEndpointResourceListResult": { + "description": "A pageable list of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectionEndpointResource" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string" + } + } + }, + "ResourceForUpdate": { + "description": "Definition of ARM tracked top level resource properties for update operation.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "DataCollectionEndpointNameParameter": { + "in": "path", + "name": "dataCollectionEndpointName", + "description": "The name of the data collection endpoint. The name is case insensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRuleAssociations_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRuleAssociations_API.json new file mode 100644 index 000000000000..39deafb61691 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRuleAssociations_API.json @@ -0,0 +1,506 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Monitor Data Collection Rule Associations API", + "description": "Provides operations for working with Azure Monitor data collection rule associations", + "version": "2021-09-01-preview", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Lists associations for the specified resource.", + "operationId": "DataCollectionRuleAssociations_ListByResource", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List associations for specified resource": { + "$ref": "./examples/DataCollectionRuleAssociationsListByResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}/associations": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Lists associations for the specified data collection rule.", + "operationId": "DataCollectionRuleAssociations_ListByRule", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List associations for specified data collection rule": { + "$ref": "./examples/DataCollectionRuleAssociationsListByRule.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionEndpoints/{dataCollectionEndpointName}/associations": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Lists associations for the specified data collection endpoint.", + "operationId": "DataCollectionRuleAssociations_ListByDataCollectionEndpoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionEndpointNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List associations for specified data collection endpoint": { + "$ref": "./examples/DataCollectionRuleAssociationsListByDataCollectionEndpoint.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{associationName}": { + "get": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Returns the specified association.", + "operationId": "DataCollectionRuleAssociations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Get association": { + "$ref": "./examples/DataCollectionRuleAssociationsGet.json" + } + } + }, + "put": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Creates or updates an association.", + "operationId": "DataCollectionRuleAssociations_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + } + ], + "responses": { + "200": { + "description": "Association was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "201": { + "description": "Association was successfully created", + "schema": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Create or update association": { + "$ref": "./examples/DataCollectionRuleAssociationsCreate.json" + } + } + }, + "delete": { + "tags": [ + "DataCollectionRuleAssociations" + ], + "summary": "Deletes an association.", + "operationId": "DataCollectionRuleAssociations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Association was successfully deleted" + }, + "204": { + "description": "Association did not exist" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "./dataCollectionRules_API.json#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Delete association": { + "$ref": "./examples/DataCollectionRuleAssociationsDelete.json" + } + } + } + } + }, + "definitions": { + "Metadata": { + "description": "Metadata about the resource", + "type": "object", + "properties": { + "provisionedBy": { + "description": "Azure offering managing this resource on-behalf-of customer.", + "type": "string", + "readOnly": true, + "example": "Azure Security Center", + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionRuleAssociation": { + "description": "Definition of association of a data collection rule with a monitored Azure resource.", + "type": "object", + "properties": { + "description": { + "description": "Description of the association.", + "type": "string" + }, + "dataCollectionRuleId": { + "description": "The resource ID of the data collection rule that is to be associated.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule" + }, + "dataCollectionEndpointId": { + "description": "The resource ID of the data collection endpoint that is to be associated.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint" + }, + "provisioningState": { + "description": "The resource provisioning state.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "example": "Creating", + "x-ms-enum": { + "name": "KnownDataCollectionRuleAssociationProvisioningState", + "modelAsString": true + }, + "x-ms-mutability": [ + "read" + ] + }, + "metadata": { + "description": "Metadata about the resource", + "allOf": [ + { + "$ref": "#/definitions/Metadata" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionRuleAssociationProxyOnlyResource": { + "description": "Definition of generic ARM proxy resource.", + "type": "object", + "properties": { + "properties": { + "description": "Resource properties.", + "allOf": [ + { + "$ref": "#/definitions/DataCollectionRuleAssociation" + } + ], + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified ID of the resource.", + "type": "string", + "readOnly": true, + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true, + "example": "myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true, + "example": "Microsoft.Insights/dataCollectionRules", + "x-ms-mutability": [ + "read" + ] + }, + "etag": { + "description": "Resource entity tag (ETag).", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "DataCollectionRuleAssociationProxyOnlyResourceListResult": { + "description": "A pageable list of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectionRuleAssociationProxyOnlyResource" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string" + } + } + } + }, + "parameters": { + "AssociationNameParameter": { + "in": "path", + "name": "associationName", + "description": "The name of the association. The name is case insensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataCollectionEndpointNameParameter": { + "in": "path", + "name": "dataCollectionEndpointName", + "description": "The name of the data collection endpoint. The name is case insensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataCollectionRuleNameParameter": { + "in": "path", + "name": "dataCollectionRuleName", + "description": "The name of the data collection rule. The name is case insensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceUriParameter": { + "in": "path", + "name": "resourceUri", + "description": "The identifier of the resource.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRules_API.json new file mode 100644 index 000000000000..6f6ad4ea3452 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRules_API.json @@ -0,0 +1,1113 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Monitor Data Collection Rules API", + "description": "Provides operations for working with Azure Monitor data collection rules", + "version": "2021-09-01-preview", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Lists all data collection rules in the specified resource group.", + "operationId": "DataCollectionRules_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection rules by resource group": { + "$ref": "./examples/DataCollectionRulesListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/dataCollectionRules": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Lists all data collection rules in the specified subscription.", + "operationId": "DataCollectionRules_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResourceListResult" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List data collection rules by subscription": { + "$ref": "./examples/DataCollectionRulesListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/dataCollectionRules/{dataCollectionRuleName}": { + "get": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Returns the specified data collection rule.", + "operationId": "DataCollectionRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request completed successfully", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Get data collection rule": { + "$ref": "./examples/DataCollectionRulesGet.json" + } + } + }, + "put": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Creates or updates a data collection rule.", + "operationId": "DataCollectionRules_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "201": { + "description": "Data collection rule was successfully created", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Create or update data collection rule": { + "$ref": "./examples/DataCollectionRulesCreate.json" + } + } + }, + "patch": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Updates part of a data collection rule.", + "operationId": "DataCollectionRules_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "description": "The payload", + "schema": { + "$ref": "#/definitions/ResourceForUpdate" + } + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully updated", + "schema": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Update data collection rule": { + "$ref": "./examples/DataCollectionRulesUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DataCollectionRules" + ], + "summary": "Deletes a data collection rule.", + "operationId": "DataCollectionRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DataCollectionRuleNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Data collection rule was successfully deleted" + }, + "204": { + "description": "Data collection rule did not exist" + }, + "default": { + "description": "Error", + "schema": { + "$ref": "#/definitions/ErrorResponseCommonV2" + } + } + }, + "x-ms-examples": { + "Delete data collection rule": { + "$ref": "./examples/DataCollectionRulesDelete.json" + } + } + } + } + }, + "definitions": { + "Metadata": { + "description": "Metadata about the resource", + "type": "object", + "properties": { + "provisionedBy": { + "description": "Azure offering managing this resource on-behalf-of customer.", + "type": "string", + "readOnly": true, + "example": "Azure Security Center", + "x-ms-mutability": [ + "read" + ] + } + } + }, + "ColumnDefinition": { + "description": "Definition of custom data column.", + "type": "object", + "properties": { + "name": { + "description": "The name of the column.", + "type": "string" + }, + "type": { + "description": "The type of the column data.", + "enum": [ + "string", + "int", + "long", + "real", + "boolean", + "datetime", + "dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownColumnDefinitionType", + "modelAsString": true + } + } + } + }, + "StreamDeclaration": { + "description": "Declaration of a custom stream.", + "type": "object", + "properties": { + "columns": { + "description": "List of columns used by data in this stream.", + "type": "array", + "items": { + "$ref": "#/definitions/ColumnDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "PerfCounterDataSource": { + "description": "Definition of which performance counters will be collected and how they will be collected by this data collection rule.\r\nCollected from both Windows and Linux machines where the counter is present.", + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "type": "array", + "items": { + "enum": [ + "Microsoft-Perf", + "Microsoft-InsightsMetrics" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownPerfCounterDataSourceStreams", + "modelAsString": true + } + } + }, + "samplingFrequencyInSeconds": { + "format": "int32", + "description": "The number of seconds between consecutive counter measurements (samples).", + "type": "integer", + "example": 15 + }, + "counterSpecifiers": { + "description": "A list of specifier names of the performance counters you want to collect.\r\nUse a wildcard (*) to collect a counter for all instances.\r\nTo get a list of performance counters on Windows, run the command 'typeperf'.", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "WindowsEventLogDataSource": { + "description": "Definition of which Windows Event Log events will be collected and how they will be collected.\r\nOnly collected from Windows machines.", + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "type": "array", + "items": { + "enum": [ + "Microsoft-WindowsEvent", + "Microsoft-Event" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownWindowsEventLogDataSourceStreams", + "modelAsString": true + } + } + }, + "xPathQueries": { + "description": "A list of Windows Event Log queries in XPATH format.", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "SyslogDataSource": { + "description": "Definition of which syslog data will be collected and how it will be collected.\r\nOnly collected from Linux machines.", + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "type": "array", + "items": { + "enum": [ + "Microsoft-Syslog" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceStreams", + "modelAsString": true + } + } + }, + "facilityNames": { + "description": "The list of facility names.", + "type": "array", + "items": { + "enum": [ + "auth", + "authpriv", + "cron", + "daemon", + "kern", + "lpr", + "mail", + "mark", + "news", + "syslog", + "user", + "uucp", + "local0", + "local1", + "local2", + "local3", + "local4", + "local5", + "local6", + "local7", + "*" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceFacilityNames", + "modelAsString": true + } + } + }, + "logLevels": { + "description": "The log levels to collect.", + "type": "array", + "items": { + "enum": [ + "Debug", + "Info", + "Notice", + "Warning", + "Error", + "Critical", + "Alert", + "Emergency", + "*" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownSyslogDataSourceLogLevels", + "modelAsString": true + } + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "ExtensionDataSource": { + "description": "Definition of which data will be collected from a separate VM extension that integrates with the Azure Monitor Agent.\r\nCollected from either Windows and Linux machines, depending on which extension is defined.", + "required": [ + "extensionName" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data and usually what table in Log Analytics the data will be sent to.", + "type": "array", + "items": { + "enum": [ + "Microsoft-Event", + "Microsoft-InsightsMetrics", + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownExtensionDataSourceStreams", + "modelAsString": true + } + } + }, + "extensionName": { + "description": "The name of the VM extension.", + "type": "string", + "example": "AzureSecurityLinuxAgent" + }, + "extensionSettings": { + "description": "The extension settings. The format is specific for particular extension.", + "type": "object" + }, + "inputDataSources": { + "description": "The list of data sources this extension needs data from.", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "LogFileTextSettings": { + "description": "Settings for text log files", + "required": [ + "recordStartTimestampFormat" + ], + "type": "object", + "properties": { + "recordStartTimestampFormat": { + "description": "One of the supported timestamp formats", + "enum": [ + "ISO 8601", + "YYYY-MM-DD HH:MM:SS", + "M/D/YYYY HH:MM:SS AM/PM", + "Mon DD, YYYY HH:MM:SS", + "yyMMdd HH:mm:ss", + "ddMMyy HH:mm:ss", + "MMM d hh:mm:ss", + "dd/MMM/yyyy:HH:mm:ss zzz", + "yyyy-MM-ddTHH:mm:ssK" + ], + "type": "string", + "example": "ISO 8601, yyyy-MM-dd HH:mm:ss", + "x-ms-enum": { + "name": "KnownLogFileTextSettingsRecordStartTimestampFormat", + "modelAsString": true + } + } + } + }, + "LogFileSettings": { + "description": "Settings for different log file formats", + "type": "object", + "properties": { + "text": { + "description": "Text settings", + "allOf": [ + { + "$ref": "#/definitions/LogFileTextSettings" + } + ] + } + } + }, + "LogFilesDataSource": { + "description": "Definition of which custom log files will be collected by this data collection rule", + "required": [ + "filePatterns", + "format", + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "List of streams that this data source will be sent to.\r\nA stream indicates what schema will be used for this data source", + "type": "array", + "items": { + "type": "string" + } + }, + "filePatterns": { + "description": "File Patterns where the log files are located", + "type": "array", + "items": { + "type": "string" + } + }, + "format": { + "description": "The data format of the log files", + "enum": [ + "text" + ], + "type": "string", + "example": "text", + "x-ms-enum": { + "name": "KnownLogFilesDataSourceFormat", + "modelAsString": true + } + }, + "settings": { + "description": "The log files specific settings.", + "allOf": [ + { + "$ref": "#/definitions/LogFileSettings" + } + ] + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "IisLogsDataSource": { + "description": "Enables IIS logs to be collected by this data collection rule.", + "required": [ + "streams" + ], + "type": "object", + "properties": { + "streams": { + "description": "IIS streams", + "type": "array", + "items": { + "type": "string" + } + }, + "logDirectories": { + "description": "Absolute paths file location", + "type": "array", + "items": { + "type": "string" + } + }, + "name": { + "description": "A friendly name for the data source. \r\nThis name should be unique across all data sources (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDataSource1" + } + } + }, + "DataSourcesSpec": { + "description": "Specification of data sources that will be collected.", + "type": "object", + "properties": { + "performanceCounters": { + "description": "The list of performance counter data source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/PerfCounterDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "windowsEventLogs": { + "description": "The list of Windows Event Log data source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/WindowsEventLogDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "syslog": { + "description": "The list of Syslog data source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/SyslogDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "extensions": { + "description": "The list of Azure VM extension data source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ExtensionDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "logFiles": { + "description": "The list of Log files source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/LogFilesDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "iisLogs": { + "description": "The list of IIS logs source configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/IisLogsDataSource" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "LogAnalyticsDestination": { + "description": "Log Analytics destination.", + "type": "object", + "properties": { + "workspaceResourceId": { + "description": "The resource ID of the Log Analytics workspace.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace" + }, + "workspaceId": { + "description": "The Customer ID of the Log Analytics workspace.", + "type": "string", + "readOnly": true, + "example": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDest1" + } + } + }, + "AzureMonitorMetricsDestination": { + "description": "Azure Monitor Metrics destination.", + "type": "object", + "properties": { + "name": { + "description": "A friendly name for the destination. \r\nThis name should be unique across all destinations (regardless of type) within the data collection rule.", + "type": "string", + "example": "myDest1" + } + } + }, + "DestinationsSpec": { + "description": "Specification of destinations that can be used in data flows.", + "type": "object", + "properties": { + "logAnalytics": { + "description": "List of Log Analytics destinations.", + "type": "array", + "items": { + "$ref": "#/definitions/LogAnalyticsDestination" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "azureMonitorMetrics": { + "description": "Azure Monitor Metrics destination.", + "allOf": [ + { + "$ref": "#/definitions/AzureMonitorMetricsDestination" + } + ] + } + } + }, + "DataFlow": { + "description": "Definition of which streams are sent to which destinations.", + "type": "object", + "properties": { + "streams": { + "description": "List of streams for this data flow.", + "type": "array", + "items": { + "enum": [ + "Microsoft-Event", + "Microsoft-InsightsMetrics", + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "type": "string", + "x-ms-enum": { + "name": "KnownDataFlowStreams", + "modelAsString": true + } + } + }, + "destinations": { + "description": "List of destinations for this data flow.", + "type": "array", + "items": { + "type": "string" + } + }, + "transformKql": { + "description": "The KQL query to transform stream data.", + "type": "string" + }, + "outputStream": { + "description": "The output stream of the transform. Only required if the transform changes data to a different stream.", + "type": "string", + "example": "\"Microsoft-SecurityEvent\"" + } + } + }, + "DataCollectionRule": { + "description": "Definition of what monitoring data to collect and where that data should be sent.", + "type": "object", + "properties": { + "description": { + "description": "Description of the data collection rule.", + "type": "string" + }, + "immutableId": { + "description": "The immutable ID of this data collection rule. This property is READ-ONLY.", + "type": "string", + "readOnly": true, + "example": "dcr-b74e0d383fc9415abaa584ec41adece3", + "x-ms-mutability": [ + "read" + ] + }, + "dataCollectionEndpointId": { + "description": "The resource ID of the data collection endpoint that this rule can be used with.", + "type": "string", + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint" + }, + "metadata": { + "description": "Metadata about the resource", + "allOf": [ + { + "$ref": "#/definitions/Metadata" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "streamDeclarations": { + "description": "Declaration of custom streams used in this rule.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StreamDeclaration" + } + }, + "dataSources": { + "description": "The specification of data sources. \r\nThis property is optional and can be omitted if the rule is meant to be used via direct calls to the provisioned endpoint.", + "allOf": [ + { + "$ref": "#/definitions/DataSourcesSpec" + } + ] + }, + "destinations": { + "description": "The specification of destinations.", + "allOf": [ + { + "$ref": "#/definitions/DestinationsSpec" + } + ] + }, + "dataFlows": { + "description": "The specification of data flows.", + "type": "array", + "items": { + "$ref": "#/definitions/DataFlow" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "description": "The resource provisioning state.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "example": "Creating", + "x-ms-enum": { + "name": "KnownDataCollectionRuleProvisioningState", + "modelAsString": true + }, + "x-ms-mutability": [ + "read" + ] + } + } + }, + "DataCollectionRuleResource": { + "description": "Definition of ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "properties": { + "properties": { + "description": "Resource properties.", + "allOf": [ + { + "$ref": "#/definitions/DataCollectionRule" + } + ], + "x-ms-client-flatten": true + }, + "location": { + "description": "The geo-location where the resource lives.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "kind": { + "description": "The kind of the resource.", + "enum": [ + "Linux", + "Windows" + ], + "type": "string", + "example": "Linux", + "x-ms-enum": { + "name": "KnownDataCollectionRuleResourceKind", + "modelAsString": true + } + }, + "id": { + "description": "Fully qualified ID of the resource.", + "type": "string", + "readOnly": true, + "example": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true, + "example": "myCollectionRule", + "x-ms-mutability": [ + "read" + ] + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true, + "example": "Microsoft.Insights/dataCollectionRules", + "x-ms-mutability": [ + "read" + ] + }, + "etag": { + "description": "Resource entity tag (ETag).", + "type": "string", + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + ], + "readOnly": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "x-ms-azure-resource": true + }, + "DataCollectionRuleResourceListResult": { + "description": "A pageable list of resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "A list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DataCollectionRuleResource" + } + }, + "nextLink": { + "description": "The URL to use for getting the next set of results.", + "type": "string" + } + } + }, + "ResourceForUpdate": { + "description": "Definition of ARM tracked top level resource properties for update operation.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ErrorResponseCommonV2": { + "title": "Error response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", + "type": "object", + "properties": { + "error": { + "description": "The error object.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail" + } + } + } + }, + "parameters": { + "DataCollectionRuleNameParameter": { + "in": "path", + "name": "dataCollectionRuleName", + "description": "The name of the data collection rule. The name is case insensitive.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsCreate.json new file mode 100644 index 000000000000..8946585eb0d9 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsCreate.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionEndpointName": "myCollectionEndpoint", + "api-version": "2021-09-01-preview", + "body": { + "location": "eastus", + "properties": { + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + }, + "201": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsDelete.json new file mode 100644 index 000000000000..13fcb4c3e387 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionEndpointName": "myCollectionEndpoint", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsGet.json new file mode 100644 index 000000000000..88f8771ac5ef --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionEndpointName": "myCollectionEndpoint", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListByResourceGroup.json new file mode 100644 index 000000000000..7e0a6d9492a8 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListByResourceGroup.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/herCollectionEndpoint", + "name": "herCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "westus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://hercollectionendpoint-xywz.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://hercollectionendpoint-xywz.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListBySubscription.json new file mode 100644 index 000000000000..4f132489c53f --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/herCollectionEndpoint", + "name": "herCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "westus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://hercollectionendpoint-xywz.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://hercollectionendpoint-xywz.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsUpdate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsUpdate.json new file mode 100644 index 000000000000..9ad3733d6e87 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionEndpointsUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionEndpointName": "myCollectionEndpoint", + "api-version": "2021-09-01-preview", + "body": { + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "name": "myCollectionEndpoint", + "type": "Microsoft.Insights/dataCollectionEndpoints", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + }, + "properties": { + "configurationAccess": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.control.monitor.azure.com" + }, + "logsIngestion": { + "endpoint": "https://mycollectionendpoint-abcd.eastus-1.ingest.monitor.azure.com" + }, + "networkAcls": { + "publicNetworkAccess": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsCreate.json new file mode 100644 index 000000000000..bb23e35fc309 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsCreate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2021-09-01-preview", + "body": { + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + }, + "201": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsDelete.json new file mode 100644 index 000000000000..9b24f8abb873 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsDelete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsGet.json new file mode 100644 index 000000000000..ff22ef4e3a64 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "associationName": "myAssociation", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByDataCollectionEndpoint.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByDataCollectionEndpoint.json new file mode 100644 index 000000000000..e40751359087 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByDataCollectionEndpoint.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionEndpointName": "myDataCollectionEndpointName", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByResource.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByResource.json new file mode 100644 index 000000000000..4bb81664d206 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByResource.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "resourceUri": "subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myRuleAssociation", + "name": "myRuleAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/herRuleAssociation", + "name": "herRuleAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myEndpointAssociation", + "name": "myEndpointAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionEndpointId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionEndpoints/myCollectionEndpoint", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "562d96b1-29e9-4250-b2fd-8bebfdf77a9d" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByRule.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByRule.json new file mode 100644 index 000000000000..6e34057af525 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRuleAssociationsListByRule.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVm/providers/Microsoft.Insights/dataCollectionRuleAssociations/myAssociation", + "name": "myAssociation", + "type": "Microsoft.Insights/dataCollectionRuleAssociations", + "properties": { + "dataCollectionRuleId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesCreate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesCreate.json new file mode 100644 index 000000000000..eeade3e2c2cb --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesCreate.json @@ -0,0 +1,359 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2021-09-01-preview", + "body": { + "location": "eastus", + "properties": { + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + }, + "201": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesDelete.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesDelete.json new file mode 100644 index 000000000000..91ab749aaea6 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesGet.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesGet.json new file mode 100644 index 000000000000..60b57aa64248 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesGet.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListByResourceGroup.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListByResourceGroup.json new file mode 100644 index 000000000000..3f6e0d422019 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListByResourceGroup.json @@ -0,0 +1,208 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "name": "herCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "westus", + "tags": { + "tag1": "C" + }, + "properties": { + "immutableId": "dcr-ca1e6d9dad844b2c94e7961c42af917a", + "dataSources": { + "performanceCounters": [ + { + "name": "herPerfCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + } + ], + "windowsEventLogs": [ + { + "name": "herWindowsEventLogs", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!*", + "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace", + "workspaceId": "c49b982a-c4f7-40c4-bd13-d6588f1b4015", + "name": "herWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "herWorkspace" + ] + } + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListBySubscription.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListBySubscription.json new file mode 100644 index 000000000000..c8207a268df8 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesListBySubscription.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "api-version": "2021-09-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + }, + { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.Insights/dataCollectionRules/herCollectionRule", + "name": "herCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "westus", + "tags": { + "tag1": "C" + }, + "properties": { + "immutableId": "dcr-ca1e6d9dad844b2c94e7961c42af917a", + "dataSources": { + "performanceCounters": [ + { + "name": "herPerfCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + } + ], + "windowsEventLogs": [ + { + "name": "herWindowsEventLogs", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!*", + "System!*[System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/herResourceGroup/providers/Microsoft.OperationalInsights/workspaces/herTeamWorkspace", + "workspaceId": "c49b982a-c4f7-40c4-bd13-d6588f1b4015", + "name": "herWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "herWorkspace" + ] + } + ], + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "3afa167b-3255-432b-b66d-e74a348468af" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesUpdate.json b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesUpdate.json new file mode 100644 index 000000000000..946f29803a17 --- /dev/null +++ b/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-09-01-preview/examples/DataCollectionRulesUpdate.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "subscriptionId": "703362b3-f278-4e4b-9179-c76eaf41ffc2", + "resourceGroupName": "myResourceGroup", + "dataCollectionRuleName": "myCollectionRule", + "api-version": "2021-09-01-preview", + "body": { + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.Insights/dataCollectionRules/myCollectionRule", + "name": "myCollectionRule", + "type": "Microsoft.Insights/dataCollectionRules", + "location": "eastus", + "tags": { + "tag1": "A", + "tag2": "B", + "tag3": "C" + }, + "properties": { + "immutableId": "dcr-b74e0d383fc9415abaa584ec41adece3", + "dataSources": { + "performanceCounters": [ + { + "name": "cloudTeamCoreCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 15, + "counterSpecifiers": [ + "\\Processor(_Total)\\% Processor Time", + "\\Memory\\Committed Bytes", + "\\LogicalDisk(_Total)\\Free Megabytes", + "\\PhysicalDisk(_Total)\\Avg. Disk Queue Length" + ] + }, + { + "name": "appTeamExtraCounters", + "streams": [ + "Microsoft-Perf" + ], + "samplingFrequencyInSeconds": 30, + "counterSpecifiers": [ + "\\Process(_Total)\\Thread Count" + ] + } + ], + "windowsEventLogs": [ + { + "name": "cloudSecurityTeamEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "Security!" + ] + }, + { + "name": "appTeam1AppEvents", + "streams": [ + "Microsoft-WindowsEvent" + ], + "xPathQueries": [ + "System![System[(Level = 1 or Level = 2 or Level = 3)]]", + "Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]" + ] + } + ], + "syslog": [ + { + "name": "cronSyslog", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "cron" + ], + "logLevels": [ + "Debug", + "Critical", + "Emergency" + ] + }, + { + "name": "syslogBase", + "streams": [ + "Microsoft-Syslog" + ], + "facilityNames": [ + "syslog" + ], + "logLevels": [ + "Alert", + "Critical", + "Emergency" + ] + } + ] + }, + "destinations": { + "logAnalytics": [ + { + "workspaceResourceId": "/subscriptions/703362b3-f278-4e4b-9179-c76eaf41ffc2/resourceGroups/myResourceGroup/providers/Microsoft.OperationalInsights/workspaces/centralTeamWorkspace", + "workspaceId": "9ba8bc53-bd36-4156-8667-e983e7ae0e4f", + "name": "centralWorkspace" + } + ] + }, + "dataFlows": [ + { + "streams": [ + "Microsoft-Perf", + "Microsoft-Syslog", + "Microsoft-WindowsEvent" + ], + "destinations": [ + "centralWorkspace" + ] + } + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-04-01T12:34:56.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-04-02T12:34:56.1234567Z" + }, + "etag": "070057da-0000-0000-0000-5ba70d6c0000" + } + } + } +} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json index fb881974c69c..49ce8df21615 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/autoscale_API.json @@ -457,6 +457,9 @@ "items": { "$ref": "#/definitions/ScaleRuleMetricDimension" }, + "x-ms-identifiers": [ + "DimensionName" + ], "description": "List of dimension conditions. For example: [{\"DimensionName\":\"AppName\",\"Operator\":\"Equals\",\"Values\":[\"App1\"]},{\"DimensionName\":\"Deployment\",\"Operator\":\"Equals\",\"Values\":[\"default\"]}]." }, "dividePerInstance": { @@ -642,6 +645,9 @@ "items": { "$ref": "#/definitions/ScaleRule" }, + "x-ms-identifiers": [ + "/metricTrigger/metricName" + ], "description": "the collection of rules that provide the triggers and parameters for the scaling action. A maximum of 10 rules can be specified." }, "fixedDate": { @@ -718,6 +724,9 @@ "items": { "$ref": "#/definitions/WebhookNotification" }, + "x-ms-identifiers": [ + "serviceUri" + ], "description": "the collection of webhook notifications." } }, @@ -734,6 +743,9 @@ "items": { "$ref": "#/definitions/AutoscaleProfile" }, + "x-ms-identifiers": [ + "name" + ], "description": "the collection of automatic scaling profiles that specify different scaling parameters for different time periods. A maximum of 20 profiles can be specified." }, "notifications": { @@ -741,6 +753,7 @@ "items": { "$ref": "#/definitions/AutoscaleNotification" }, + "x-ms-identifiers": [], "description": "the collection of notifications." }, "enabled": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json index 564bd12e9d0b..700f8cd7509b 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json @@ -97,6 +97,9 @@ "items": { "$ref": "#/definitions/LocalizableString" }, + "x-ms-identifiers": [ + "value" + ], "description": "the list that includes the Azure event categories." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json index a05bca3254d1..e0dc772f31f5 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json @@ -73,6 +73,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the Microsoft.Insights provider." }, "nextLink": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json index e5d268e6f104..b9a0af81d3f4 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json @@ -165,6 +165,9 @@ "items": { "$ref": "#/definitions/Incident" }, + "x-ms-identifiers": [ + "name" + ], "description": "the incident collection." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json index f1ca8d02838b..1f43a284fde7 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2016-03-01/alertRules_API.json @@ -654,6 +654,7 @@ "items": { "$ref": "#/definitions/RuleAction" }, + "x-ms-identifiers": [], "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." }, "lastUpdatedTime": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json index 2ee9ebc037ef..5be6305c7682 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json @@ -220,6 +220,7 @@ "items": { "$ref": "#/definitions/MetricAvailability" }, + "x-ms-identifiers": [], "description": "the collection of what aggregation intervals are available to be queried." }, "id": { @@ -231,6 +232,9 @@ "items": { "$ref": "#/definitions/LocalizableString" }, + "x-ms-identifiers": [ + "value" + ], "description": "the name and the display name of the dimension, i.e. it is a localizable string." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json index e196cf744cf7..9182b3041d0f 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json @@ -277,6 +277,7 @@ "items": { "$ref": "#/definitions/TimeSeriesElement" }, + "x-ms-identifiers": [], "description": "the time series returned when a data query is performed." } }, @@ -297,6 +298,9 @@ "items": { "$ref": "#/definitions/MetadataValue" }, + "x-ms-identifiers": [ + "name" + ], "description": "the metadata values returned if $filter was specified in the call." }, "data": { @@ -304,6 +308,9 @@ "items": { "$ref": "#/definitions/MetricValue" }, + "x-ms-identifiers": [ + "timeStamp" + ], "description": "An array of data points representing the metric values. This is only returned if a result type of data is specified." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json index dc54541b8016..544705436033 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-03-01/metricAlert_API.json @@ -542,6 +542,9 @@ "items": { "$ref": "#/definitions/MetricAlertAction" }, + "x-ms-identifiers": [ + "actionGroupId" + ], "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." }, "lastUpdatedTime": { @@ -611,6 +614,9 @@ "items": { "$ref": "#/definitions/MetricAlertAction" }, + "x-ms-identifiers": [ + "actionGroupId" + ], "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved." }, "lastUpdatedTime": { @@ -769,6 +775,9 @@ "items": { "$ref": "#/definitions/MetricCriteria" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of metric criteria for this 'all of' operation. " } }, @@ -878,6 +887,9 @@ "items": { "$ref": "#/definitions/MultiMetricCriteria" }, + "x-ms-identifiers": [ + "name" + ], "description": "the list of multiple metric criteria for this 'all of' operation. " } }, @@ -934,6 +946,9 @@ "items": { "$ref": "#/definitions/MetricDimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of dimension conditions." }, "skipMetricValidation": { diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json index cfb450032173..8737cdb24e77 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json @@ -776,6 +776,9 @@ "items": { "$ref": "#/definitions/Dimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Dimensions for creating metric" } }, @@ -798,6 +801,9 @@ "items": { "$ref": "#/definitions/Criteria" }, + "x-ms-identifiers": [ + "metricName" + ], "description": "Criteria of Metric" } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/baseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/baseline_API.json deleted file mode 100644 index d2ba6d2ba226..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/baseline_API.json +++ /dev/null @@ -1,487 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "MonitorManagementClient", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" - }, - "version": "2018-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": { - "/{resourceUri}/providers/Microsoft.Insights/baseline/{metricName}": { - "get": { - "tags": [ - "Baseline" - ], - "operationId": "MetricBaseline_Get", - "description": "**Gets the baseline values for a specific metric**.", - "parameters": [ - { - "$ref": "#/parameters/ExtendedResourceUriParameter" - }, - { - "$ref": "#/parameters/MetricNameParameter" - }, - { - "$ref": "#/parameters/TimespanParameter" - }, - { - "$ref": "#/parameters/IntervalParameter" - }, - { - "$ref": "#/parameters/AggregationParameter" - }, - { - "$ref": "#/parameters/SensitivitiesParameter" - }, - { - "$ref": "#/parameters/BaselineResultTypeParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/MetricNamespaceParameter" - }, - { - "name": "$filter", - "in": "query", - "type": "string", - "description": "The **$filter** is used to describe a set of dimensions with their concrete values which produce a specific metric's time series, in which a baseline is requested for.", - "required": false - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "Successful request to get the list of metric values.", - "schema": { - "$ref": "#/definitions/BaselineResponse" - } - } - }, - "x-ms-examples": { - "Get Metric for data": { - "$ref": "./examples/GetBaseline.json" - }, - "Get Metric for metadata": { - "$ref": "./examples/GetBaselineMetadata.json" - } - } - } - }, - "/{resourceUri}/providers/Microsoft.Insights/baseline": { - "get": { - "tags": [ - "Baseline" - ], - "operationId": "Baseline_Get", - "description": "**Gets the baseline values for a resource**.", - "parameters": [ - { - "$ref": "#/parameters/ExtendedResourceUriParameter" - }, - { - "$ref": "#/parameters/MetricNamesParameter" - }, - { - "$ref": "#/parameters/TimespanParameter" - }, - { - "$ref": "#/parameters/IntervalParameter" - }, - { - "$ref": "#/parameters/AggregationParameter" - }, - { - "$ref": "#/parameters/SensitivitiesParameter" - }, - { - "$ref": "#/parameters/BaselineResultTypeParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/MetricNamespaceParameter" - }, - { - "name": "$filter", - "in": "query", - "type": "string", - "description": "The **$filter** is used to describe a set of dimensions with their concrete values which produce a specific metric's time series, in which a baseline is requested for.", - "required": false - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "Successful request to get the list of metric values.", - "schema": { - "$ref": "#/definitions/BaselineResponse" - } - } - }, - "x-ms-examples": { - "Get Metric for data": { - "$ref": "./examples/GetBaseline.json" - } - } - } - } - }, - "definitions": { - "LocalizableString": { - "required": [ - "value" - ], - "properties": { - "value": { - "type": "string", - "description": "The invariant value." - }, - "localizedValue": { - "type": "string", - "description": "The locale specific value." - } - }, - "description": "The localizable string class." - }, - "BaselineMetadataValue": { - "properties": { - "name": { - "$ref": "#/definitions/LocalizableString", - "description": "The name of the metadata." - }, - "value": { - "type": "string", - "description": "The value of the metadata." - } - }, - "description": "Represents a baseline metadata value." - }, - "ErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "BaselineResponse": { - "type": "object", - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "The metric baseline ID." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "The resource type of the baseline resource." - }, - "name": { - "$ref": "#/definitions/LocalizableString", - "readOnly": true, - "description": "The name and the display name of the metric, i.e. it is localizable string." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "The timestamp for the baseline value in ISO 8601 format." - }, - "description": "The array of timestamps of the baselines." - }, - "baseline": { - "type": "array", - "items": { - "$ref": "#/definitions/Baseline" - }, - "description": "The baseline values for each sensitivity." - }, - "metdata": { - "type": "array", - "items": { - "$ref": "#/definitions/BaselineMetadataValue" - }, - "description": "The baseline metadata values." - }, - "predictionResultType": { - "type": "integer", - "format": "int32", - "enum": [ - 0, - 1, - 2 - ], - "x-ms-enum": { - "name": "PredictionResultType", - "modelAsString": false - }, - "description": "The prediction result type of the baseline." - }, - "errorType": { - "type": "integer", - "format": "int32", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 100, - 200 - ], - "x-ms-enum": { - "name": "ErrorType", - "modelAsString": false - }, - "description": "The error type of the baseline." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BaselineProperties", - "description": "The properties of the baseline." - } - }, - "description": "The response to a baseline query." - }, - "BaselineProperties": { - "properties": { - "timespan": { - "type": "string", - "description": "The timespan for which the data was retrieved. Its value consists of two datetimes concatenated, separated by '/'. This may be adjusted in the future and returned back from what was originally requested." - }, - "interval": { - "type": "string", - "format": "duration", - "description": "The interval (window size) for which the metric data was returned in. This may be adjusted in the future and returned back from what was originally requested. This is not present if a metadata request was made." - }, - "aggregation": { - "type": "string", - "description": "The aggregation type of the metric." - }, - "internalOperationId": { - "type": "string", - "readOnly": true, - "description": "internal operation id" - } - }, - "description": "The baseline properties class." - }, - "Baseline": { - "type": "object", - "properties": { - "sensitivity": { - "type": "string", - "enum": [ - "Low", - "Medium", - "High" - ], - "x-ms-enum": { - "name": "Sensitivity", - "modelAsString": false - }, - "description": "The sensitivity of the baseline." - }, - "lowThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single low threshold value." - }, - "description": "The low thresholds of the baseline." - }, - "highThresholds": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single high threshold value." - }, - "description": "The high thresholds of the baseline." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "the timestamp for the baseline value in ISO 8601 format." - }, - "description": "the array of timestamps of the baselines." - }, - "PredictionResultType": { - "type": "integer", - "format": "int32", - "enum": [ - 0, - 1, - 2 - ], - "x-ms-enum": { - "name": "PredictionResultType", - "modelAsString": false - }, - "description": "The prediction result type of the baseline." - }, - "ErrorType": { - "type": "integer", - "format": "int32", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 100, - 200 - ], - "x-ms-enum": { - "name": "ErrorType", - "modelAsString": false - }, - "description": "The error type of the baseline." - } - }, - "required": [ - "sensitivity", - "lowThresholds", - "highThresholds" - ], - "description": "The baseline values for a single sensitivity value." - } - }, - "parameters": { - "ExtendedResourceUriParameter": { - "name": "resourceUri", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource. It has the following structure: subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}. For example: subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - }, - "MetricNameParameter": { - "name": "metricName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the metric to retrieve the baseline for.", - "x-ms-parameter-location": "method" - }, - "TimespanParameter": { - "name": "timespan", - "in": "query", - "required": false, - "type": "string", - "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", - "x-ms-parameter-location": "method" - }, - "IntervalParameter": { - "name": "interval", - "in": "query", - "required": false, - "type": "string", - "format": "duration", - "description": "The interval (i.e. timegrain) of the query.", - "x-ms-parameter-location": "method" - }, - "MetricNamesParameter": { - "name": "metricnames", - "in": "query", - "required": false, - "type": "string", - "description": "The names of the metrics (comma separated) to retrieve. Special case: If a metricname itself has a comma in it then use %2 to indicate it. Eg: 'Metric,Name1' should be **'Metric%2Name1'**", - "x-ms-parameter-location": "method" - }, - "AggregationParameter": { - "name": "aggregation", - "in": "query", - "required": false, - "type": "string", - "description": "The aggregation type of the metric to retrieve the baseline for.", - "x-ms-parameter-location": "method" - }, - "SensitivitiesParameter": { - "name": "sensitivities", - "in": "query", - "required": false, - "type": "string", - "description": "The list of sensitivities (comma separated) to retrieve.", - "x-ms-parameter-location": "method" - }, - "BaselineResultTypeParameter": { - "name": "resultType", - "in": "query", - "type": "string", - "enum": [ - "Data", - "Metadata" - ], - "x-ms-enum": { - "name": "ResultType", - "modelAsString": false - }, - "description": "Allows retrieving only metadata of the baseline. On data request all information is retrieved.", - "x-ms-parameter-location": "method", - "required": false - }, - "MetricNamespaceParameter": { - "name": "metricnamespace", - "in": "query", - "required": false, - "type": "string", - "description": "Metric namespace to query metric definitions for.", - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json deleted file mode 100644 index cf417bea0957..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json +++ /dev/null @@ -1,222 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "MonitorManagementClient", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" - }, - "version": "2018-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": { - "/{resourceUri}/providers/Microsoft.Insights/calculatebaseline": { - "post": { - "tags": [ - "Baseline" - ], - "operationId": "MetricBaseline_CalculateBaseline", - "description": "**Lists the baseline values for a resource**.", - "parameters": [ - { - "$ref": "#/parameters/ExtendedResourceUriParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "name": "TimeSeriesInformation", - "description": "Information that need to be specified to calculate a baseline on a time series.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TimeSeriesInformation" - } - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "Successful request to get the list of metric values.", - "schema": { - "$ref": "#/definitions/CalculateBaselineResponse" - } - } - }, - "x-ms-examples": { - "Calculate baseline": { - "$ref": "./examples/CalculateBaseline.json" - } - } - } - } - }, - "definitions": { - "ErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } - }, - "TimeSeriesInformation": { - "properties": { - "sensitivities": { - "type": "array", - "items": { - "type": "string", - "description": "The requested sensitivity for calculating the baseline." - }, - "description": "The list of sensitivities for calculating the baseline." - }, - "values": { - "type": "array", - "items": { - "type": "number", - "format": "double", - "description": "A single metric value." - }, - "description": "The metric values to calculate the baseline." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "The timestamp for the baseline value in ISO 8601 format." - }, - "description": "The array of timestamps of the baselines." - } - }, - "required": [ - "sensitivities", - "values" - ], - "description": "The time series info needed for calculating the baseline." - }, - "CalculateBaselineResponse": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The resource type of the baseline resource." - }, - "timestamps": { - "type": "array", - "items": { - "type": "string", - "format": "date-time", - "description": "The timestamp for the baseline value in ISO 8601 format." - }, - "description": "The array of timestamps of the baselines." - }, - "baseline": { - "type": "array", - "items": { - "$ref": "./baseline_API.json#/definitions/Baseline" - }, - "description": "The baseline values for each sensitivity." - }, - "statistics": { - "type": "object", - "properties": { - "isEligible": { - "type": "boolean", - "description": "is series eligible for dynamic threshold analysis" - }, - "status": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of extended status for calculating the baseline." - }, - "seasonalityPeriod": { - "type": "integer", - "format": "int32", - "description": "The seasonality period for calculating the baseline." - } - }, - "description": "The statistics" - }, - "internalOperationId": { - "type": "string", - "readOnly": true, - "description": "internal operation id" - }, - "errorType": { - "type": "integer", - "format": "int32", - "enum": [ - 0, - 1, - 2, - 3, - 4, - 100, - 200 - ], - "x-ms-enum": { - "name": "ErrorType", - "modelAsString": false - }, - "description": "The error type for calculating the baseline." - } - }, - "required": [ - "type", - "baseline" - ], - "description": "The response to a calculate baseline call." - } - }, - "parameters": { - "ExtendedResourceUriParameter": { - "name": "resourceUri", - "in": "path", - "required": true, - "type": "string", - "description": "The identifier of the resource. It has the following structure: subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/{providerName}/{resourceName}. For example: subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "x-ms-parameter-location": "method", - "x-ms-skip-url-encoding": true - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/CalculateBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/CalculateBaseline.json deleted file mode 100644 index 904f1d3a3ef7..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/CalculateBaseline.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b324c52b-4073-4807-93af-e07d289c093e/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/larryshoebox/blobServices/default", - "api-version": "2018-09-01", - "TimeSeriesInformation": { - "sensitivities": [ - "Low", - "Medium" - ], - "values": [ - 61.0, - 62.0 - ] - } - }, - "responses": { - "200": { - "body": { - "type": "Microsoft.Insights/calculatebaseline", - "baseline": [ - { - "sensitivity": "Low", - "lowThresholds": [ - 30.0, - 31.1 - ], - "highThresholds": [ - 90.3453, - 91.3453 - ] - }, - { - "sensitivity": "Medium", - "lowThresholds": [ - 50.0, - 51.1 - ], - "highThresholds": [ - 70.3453, - 71.3453 - ] - } - ] - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaseline.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaseline.json deleted file mode 100644 index 24cb0738a22a..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaseline.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "metricName": "PercentageCpu", - "aggregation": "Average", - "interval": "PT1H", - "sensitivities": "Low,Medium", - "api-version": "2018-09-01" - }, - "responses": { - "200": { - "body": { - "type": "microsoft.insights/baseline", - "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/baseline/PercentageCpu", - "name": { - "value": "PercentageCpu", - "localizedValue": null - }, - "properties": { - "interval": "PT1H", - "aggregation": "Average", - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "internalOperationId": "ab6700cb-7579-42ea-a032-ec0be8537564" - }, - "timestamps": [ - "2021-01-08T00:00:00Z", - "2021-01-08T00:05:00Z", - "2021-01-08T00:10:00Z", - "2021-01-08T00:15:00Z", - "2021-01-08T00:20:00Z", - "2021-01-08T00:25:00Z", - "2021-01-08T00:30:00Z", - "2021-01-08T00:35:00Z", - "2021-01-08T00:40:00Z", - "2021-01-08T00:45:00Z", - "2021-01-08T00:50:00Z", - "2021-01-08T00:55:00Z", - "2021-01-08T01:00:00Z" - ], - "baseline": [ - { - "sensitivity": "Low", - "lowThresholds": [ - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6, - 6 - ], - "highThresholds": [ - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14, - 14 - ], - "timestamps": [ - "2021-01-08T00:00:00Z", - "2021-01-08T00:05:00Z", - "2021-01-08T00:10:00Z", - "2021-01-08T00:15:00Z", - "2021-01-08T00:20:00Z", - "2021-01-08T00:25:00Z", - "2021-01-08T00:30:00Z", - "2021-01-08T00:35:00Z", - "2021-01-08T00:40:00Z", - "2021-01-08T00:45:00Z", - "2021-01-08T00:50:00Z", - "2021-01-08T00:55:00Z", - "2021-01-08T01:00:00Z" - ], - "PredictionResultType": 1, - "ErrorType": 0 - } - ], - "metdata": [ - { - "name": "", - "value": "a" - }, - { - "name": "", - "value": "" - } - ], - "predictionResultType": 1, - "errorType": 0 - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaselineMetadata.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaselineMetadata.json deleted file mode 100644 index 9bda89e44ccd..000000000000 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-09-01/examples/GetBaselineMetadata.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "parameters": { - "resourceUri": "subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1", - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "metricName": "PercentageCpu", - "aggregation": "Average", - "interval": "PT1H", - "resulttype": "metadata", - "api-version": "2018-09-01" - }, - "responses": { - "200": { - "body": { - "id": "/subscriptions/b368ca2f-e298-46b7-b0ab-012281956afa/resourceGroups/vms/providers/Microsoft.Compute/virtualMachines/vm1/providers/Microsoft.Insights/baseline/PercentageCpu", - "type": "Microsoft.Insights/baseline", - "name": { - "value": "PercentageCpu" - }, - "properties": { - "timespan": "2017-04-14T02:20:00Z/2017-04-14T04:20:00Z", - "aggregation": "Average", - "interval": "PT1H" - }, - "metdata": [ - { - "name": "CurrentTrainingState", - "value": "Trained" - }, - { - "name": "SelectedModel", - "value": "AdjustedBoxplot" - } - ] - } - } - } -} diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json index 42b89e85889e..7e59ae215f36 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json @@ -181,6 +181,7 @@ "items": { "$ref": "#/definitions/TimeSeriesBaseline" }, + "x-ms-identifiers": [], "description": "The baseline for each time series that was queried." } }, @@ -202,6 +203,9 @@ "items": { "$ref": "#/definitions/MetricSingleDimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "The dimensions of this time series." }, "timestamps": { @@ -218,6 +222,7 @@ "items": { "$ref": "#/definitions/SingleBaseline" }, + "x-ms-identifiers": [], "description": "The baseline values for each sensitivity." }, "metadataValues": { @@ -225,6 +230,9 @@ "items": { "$ref": "#/definitions/BaselineMetadata" }, + "x-ms-identifiers": [ + "name" + ], "description": "The baseline metadata values." } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json index 80019dd90eb0..e394bfdcb6b4 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json @@ -355,7 +355,10 @@ "type": "array", "items": { "$ref": "#/definitions/ActivityLogAlertResource" - } + }, + "x-ms-identifiers": [ + "id" + ] }, "nextLink": { "description": "Provides the link to retrieve the next set of elements.", @@ -407,7 +410,8 @@ "type": "array", "items": { "$ref": "#/definitions/AlertRuleAnyOfOrLeafCondition" - } + }, + "x-ms-identifiers": [] } }, "required": [ @@ -429,7 +433,8 @@ "type": "array", "items": { "$ref": "#/definitions/AlertRuleLeafCondition" - } + }, + "x-ms-identifiers": [] } } }, @@ -462,7 +467,10 @@ "type": "array", "items": { "$ref": "#/definitions/ActionGroup" - } + }, + "x-ms-identifiers": [ + "actionGroupId" + ] } } }, diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json index c79465ce4dd1..a6a3b1491024 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-04-01/dataCollectionRules_API.json @@ -520,28 +520,40 @@ "type": "array", "items": { "$ref": "#/definitions/PerfCounterDataSource" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "windowsEventLogs": { "description": "The list of Windows Event Log data source configurations.", "type": "array", "items": { "$ref": "#/definitions/WindowsEventLogDataSource" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "syslog": { "description": "The list of Syslog data source configurations.", "type": "array", "items": { "$ref": "#/definitions/SyslogDataSource" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "extensions": { "description": "The list of Azure VM extension data source configurations.", "type": "array", "items": { "$ref": "#/definitions/ExtensionDataSource" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -590,7 +602,10 @@ "type": "array", "items": { "$ref": "#/definitions/LogAnalyticsDestination" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "azureMonitorMetrics": { "description": "Azure Monitor Metrics destination.", @@ -671,7 +686,8 @@ "type": "array", "items": { "$ref": "#/definitions/DataFlow" - } + }, + "x-ms-identifiers": [] }, "provisioningState": { "description": "The resource provisioning state.", diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json index 9a4e94319279..523edc37c20a 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-08-01/scheduledQueryRule_API.json @@ -352,14 +352,15 @@ "description": "The display name of the alert rule" }, "severity": { - "type": "number", + "type": "integer", + "format": "int64", "description": "Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and required only for rules of the kind LogAlert.", "enum": [ - "0", - "1", - "2", - "3", - "4" + 0, + 1, + 2, + 3, + 4 ], "x-ms-enum": { "name": "AlertSeverity", @@ -524,7 +525,8 @@ "description": "A list of conditions to evaluate against the specified scopes", "items": { "$ref": "#/definitions/Condition" - } + }, + "x-ms-identifiers": [] } } }, @@ -564,7 +566,8 @@ "items": { "$ref": "#/definitions/Dimension" }, - "description": "List of Dimensions conditions" + "description": "List of Dimensions conditions", + "x-ms-identifiers": [] }, "operator": { "type": "string", diff --git a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json index 303bc9305f9e..6ebc6927a6cd 100644 --- a/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json +++ b/specification/monitor/resource-manager/Microsoft.Insights/stable/2021-09-01/actionGroups_API.json @@ -516,6 +516,9 @@ "items": { "$ref": "#/definitions/ActionDetail" }, + "x-ms-identifiers": [ + "Name" + ], "description": "The list of action detail" } }, @@ -614,6 +617,9 @@ "items": { "$ref": "#/definitions/EmailReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of email receivers that are part of this action group." }, "smsReceivers": { @@ -621,6 +627,9 @@ "items": { "$ref": "#/definitions/SmsReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of SMS receivers that are part of this action group." }, "webhookReceivers": { @@ -628,6 +637,9 @@ "items": { "$ref": "#/definitions/WebhookReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of webhook receivers that are part of this action group." }, "itsmReceivers": { @@ -635,6 +647,9 @@ "items": { "$ref": "#/definitions/ItsmReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of ITSM receivers that are part of this action group." }, "azureAppPushReceivers": { @@ -642,6 +657,9 @@ "items": { "$ref": "#/definitions/AzureAppPushReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of AzureAppPush receivers that are part of this action group." }, "automationRunbookReceivers": { @@ -649,6 +667,9 @@ "items": { "$ref": "#/definitions/AutomationRunbookReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of AutomationRunbook receivers that are part of this action group." }, "voiceReceivers": { @@ -656,6 +677,9 @@ "items": { "$ref": "#/definitions/VoiceReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of voice receivers that are part of this action group." }, "logicAppReceivers": { @@ -663,6 +687,9 @@ "items": { "$ref": "#/definitions/LogicAppReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of logic app receivers that are part of this action group." }, "azureFunctionReceivers": { @@ -670,6 +697,9 @@ "items": { "$ref": "#/definitions/AzureFunctionReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of azure function receivers that are part of this action group." }, "armRoleReceivers": { @@ -677,6 +707,9 @@ "items": { "$ref": "#/definitions/ArmRoleReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." }, "eventHubReceivers": { @@ -684,6 +717,9 @@ "items": { "$ref": "#/definitions/EventHubReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of event hub receivers that are part of this action group." } }, @@ -710,6 +746,9 @@ "items": { "$ref": "#/definitions/EmailReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of email receivers that are part of this action group." }, "smsReceivers": { @@ -717,6 +756,9 @@ "items": { "$ref": "#/definitions/SmsReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of SMS receivers that are part of this action group." }, "webhookReceivers": { @@ -724,6 +766,9 @@ "items": { "$ref": "#/definitions/WebhookReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of webhook receivers that are part of this action group." }, "itsmReceivers": { @@ -731,6 +776,9 @@ "items": { "$ref": "#/definitions/ItsmReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of ITSM receivers that are part of this action group." }, "azureAppPushReceivers": { @@ -738,6 +786,9 @@ "items": { "$ref": "#/definitions/AzureAppPushReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of AzureAppPush receivers that are part of this action group." }, "automationRunbookReceivers": { @@ -745,6 +796,9 @@ "items": { "$ref": "#/definitions/AutomationRunbookReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of AutomationRunbook receivers that are part of this action group." }, "voiceReceivers": { @@ -752,6 +806,9 @@ "items": { "$ref": "#/definitions/VoiceReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of voice receivers that are part of this action group." }, "logicAppReceivers": { @@ -759,6 +816,9 @@ "items": { "$ref": "#/definitions/LogicAppReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of logic app receivers that are part of this action group." }, "azureFunctionReceivers": { @@ -766,6 +826,9 @@ "items": { "$ref": "#/definitions/AzureFunctionReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of azure function receivers that are part of this action group." }, "armRoleReceivers": { @@ -773,6 +836,9 @@ "items": { "$ref": "#/definitions/ArmRoleReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." }, "eventHubReceivers": { @@ -780,6 +846,9 @@ "items": { "$ref": "#/definitions/EventHubReceiver" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of event hub receivers that are part of this action group." } }, diff --git a/specification/monitor/resource-manager/readme.md b/specification/monitor/resource-manager/readme.md index 957cd1dfb9ce..b47dc96d0e0d 100644 --- a/specification/monitor/resource-manager/readme.md +++ b/specification/monitor/resource-manager/readme.md @@ -35,13 +35,55 @@ title: MonitorManagementClient ``` yaml description: Monitor Management Client openapi-type: arm -tag: package-2021-09 +tag: package-2022-02 directive: - suppress: Example Validations reason: There are open issues (bugs) in the validator affecting some of the examples and since there is no way to selectively disable the validation for a particular example or paths, all of the example validation is being turned off. ``` +### Tag: package-2022-02 + +These settings apply only when `--tag=package-2022-02` is specified on the command line + +``` yaml $(tag) == 'package-2022-02' +input-file: +- Microsoft.Insights/stable/2015-04-01/autoscale_API.json +- Microsoft.Insights/stable/2015-04-01/operations_API.json +- Microsoft.Insights/stable/2016-03-01/alertRulesIncidents_API.json +- Microsoft.Insights/stable/2016-03-01/alertRules_API.json +- Microsoft.Insights/stable/2016-03-01/logProfiles_API.json +- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json +- Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json +- Microsoft.Insights/stable/2021-09-01/actionGroups_API.json +- Microsoft.Insights/stable/2015-04-01/activityLogs_API.json +- Microsoft.Insights/stable/2015-04-01/eventCategories_API.json +- Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json +- Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json +- Microsoft.Insights/stable/2018-01-01/metrics_API.json +- Microsoft.Insights/stable/2019-03-01/metricBaselines_API.json +- Microsoft.Insights/stable/2018-03-01/metricAlert_API.json +- Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json +- Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json +- Microsoft.Insights/preview/2018-11-27-preview/vmInsightsOnboarding_API.json +- Microsoft.Insights/preview/2019-10-17-preview/privateLinkScopes_API.json +- Microsoft.Insights/stable/2020-10-01/activityLogAlerts_API.json +- Microsoft.Insights/preview/2021-09-01-preview/dataCollectionEndpoints_API.json +- Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRuleAssociations_API.json +- Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRules_API.json +``` + +### Tag: package-2022-02-01-preview-only + +These settings apply only when `--tag=package-2022-02-01-preview-only` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02-01-preview-only' +input-file: + - Microsoft.Insights/preview/2021-09-01-preview/dataCollectionEndpoints_API.json + - Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRuleAssociations_API.json + - Microsoft.Insights/preview/2021-09-01-preview/dataCollectionRules_API.json +``` + ### Tag: package-2021-09 These settings apply only when `--tag=package-2021-09` is specified on the command line @@ -381,8 +423,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json - Microsoft.Insights/stable/2018-01-01/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json - Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json - Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json @@ -409,8 +449,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json - Microsoft.Insights/stable/2018-01-01/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json - Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json - Microsoft.Insights/stable/2018-09-01/metricBaselines_API.json @@ -436,8 +474,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json - Microsoft.Insights/stable/2018-01-01/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json - Microsoft.Insights/stable/2018-03-01/metricAlert_API.json - Microsoft.Insights/stable/2018-04-16/scheduledQueryRule_API.json ``` @@ -462,8 +498,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json - Microsoft.Insights/stable/2018-01-01/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json ``` ### Tag: package-2017-12 @@ -486,8 +520,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json - Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json ``` ### Tag: package-2017-09 @@ -510,8 +542,6 @@ input-file: - Microsoft.Insights/stable/2015-04-01/tenantActivityLogs_API.json - Microsoft.Insights/preview/2017-05-01-preview/metricDefinitions_API.json - Microsoft.Insights/preview/2017-05-01-preview/metrics_API.json -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json ``` ### Tag: package-2017-09-preview-only @@ -587,8 +617,6 @@ These settings apply only when `--tag=package-2018-09-01-only` is specified on t ``` yaml $(tag) == 'package-2018-09-01-only' input-file: - Microsoft.Insights/stable/2018-09-01/actionGroups_API.json -- Microsoft.Insights/stable/2018-09-01/baseline_API.json -- Microsoft.Insights/stable/2018-09-01/calculateBaseline_API.json ``` ### Tag: package-2018-06-01-preview-only @@ -639,16 +667,6 @@ input-file: - Microsoft.Insights/preview/2017-12-01-preview/metricNamespaces_API.json ``` -### Tag: package-2017-11-01-preview-only - -These settings apply only when `--tag=package-2017-11-01-preview-only` is specified on the command line. - -``` yaml $(tag) == 'package-2017-11-01-preview-only' -input-file: -- Microsoft.Insights/preview/2017-11-01-preview/baseline_API.json -- Microsoft.Insights/preview/2017-11-01-preview/calculateBaseline_API.json -``` - ### Tag: package-2017-05-01-preview-only These settings apply only when `--tag=package-2017-05-01-preview-only` is specified on the command line. @@ -898,9 +916,9 @@ directive: reason: 'Operations API is defined in a separate swagger spec for Microsoft.Insights namespace (https://github.com/Azure/azure-rest-api-specs/blob/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json)' ``` -This section is a temporary solution to resolve the failure in those pipeline that is still using modeler v1. +This section is a temporary solution to resolve the failure in those pipeline that is still using modeler v1. -``` yaml ($(go) && !$(track2) && ($(tag) == 'package-2021-07' || $(tag) == 'package-2021-09')) || $(csharp) || $(validation) +``` yaml ($(go) && !$(track2) && ($(tag) == 'package-2021-07' || $(tag) == 'package-2021-09' || $(tag) == 'package-2022-02')) || $(csharp) || $(validation) directive: - from: activityLogAlerts_API.json where: $.definitions diff --git a/specification/monitor/resource-manager/readme.python.md b/specification/monitor/resource-manager/readme.python.md index cf483e953155..9cbfd5c2b5f3 100644 --- a/specification/monitor/resource-manager/readme.python.md +++ b/specification/monitor/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-monitor @@ -15,9 +15,10 @@ python-base-folder: monitor/azure-mgmt-monitor/azure/mgmt/monitor Generate all API versions currently shipped for this package -```yaml $(multiapi) && $(track2) +```yaml $(multiapi) && $(python) clear-output-folder: true batch: + - tag: package-2022-02-01-preview-only - tag: package-2021-09-01-only - tag: package-2021-05-01-preview-only - tag: package-2021-04-only @@ -35,7 +36,6 @@ batch: - tag: package-2018-03-01-only - tag: package-2018-01-01-only - tag: package-2017-12-01-preview-only - - tag: package-2017-11-01-preview-only - tag: package-2017-05-01-preview-only - tag: package-2017-04-01-only - tag: package-2017-03-01-preview-only @@ -48,10 +48,19 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/monitor/azure-mgmt-monitor/azure/mgmt/monitor/ -clear-output-folder: false perform-load: false ``` +### Tag: package-2022-02-01-preview-only and python + +These settings apply only when `--tag=package-2022-02-01-preview-only --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2022-02-01-preview-only' +namespace: $(python-base-namespace).v2022_02_01_preview +output-folder: $(python-sdks-folder)/$(python-base-folder)/v2022_02_01_preview +``` + ### Tag: package-2021-09-01-only and python These settings apply only when `--tag=package-2021-09-01-only --python` is specified on the command line. @@ -231,16 +240,6 @@ namespace: $(python-base-namespace).v2017_12_01_preview output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_12_01_preview ``` -### Tag: package-2017-11-01-preview-only and python - -These settings apply only when `--tag=package-2017-11-01-preview-only --python` is specified on the command line. -Please also specify `--python-sdks-folder=`. - -``` yaml $(tag) == 'package-2017-11-01-preview-only' -namespace: $(python-base-namespace).v2017_11_01_preview -output-folder: $(python-sdks-folder)/$(python-base-folder)/v2017_11_01_preview -``` - ### Tag: package-2017-05-01-preview-only and python These settings apply only when `--tag=package-2017-05-01-preview-only --python` is specified on the command line. diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/ManagedIdentity.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/ManagedIdentity.json new file mode 100644 index 000000000000..b1dc33475e5d --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/ManagedIdentity.json @@ -0,0 +1,816 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-30-preview", + "title": "ManagedServiceIdentityClient", + "description": "The Managed Service Identity Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.ManagedIdentity/identities/default": { + "get": { + "operationId": "SystemAssignedIdentities_GetByScope", + "description": "Gets the systemAssignedIdentity available under the specified RP scope.", + "x-ms-examples": { + "MsiOperationsList": { + "$ref": "./examples/SystemAssignedIdentityGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The systemAssignedIdentity was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/SystemAssignedIdentity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.ManagedIdentity/operations": { + "get": { + "operationId": "Operations_List", + "description": "Lists available operations for the Microsoft.ManagedIdentity provider", + "x-ms-examples": { + "MsiOperationsList": { + "$ref": "./examples/MsiOperationsList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ManagedIdentity/userAssignedIdentities": { + "get": { + "operationId": "UserAssignedIdentities_ListBySubscription", + "description": "Lists all the userAssignedIdentities available under the specified subscription.", + "x-ms-examples": { + "IdentityListBySubscription": { + "$ref": "./examples/IdentityListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The list of userAssignedIdentities was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/UserAssignedIdentitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities": { + "get": { + "operationId": "UserAssignedIdentities_ListByResourceGroup", + "description": "Lists all the userAssignedIdentities available under the specified ResourceGroup.", + "x-ms-examples": { + "IdentityListByResourceGroup": { + "$ref": "./examples/IdentityListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The list of userAssignedIdentities was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/UserAssignedIdentitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}/listAssociatedResources": { + "post": { + "operationId": "UserAssignedIdentities_ListAssociatedResources", + "description": "Lists the associated resources for this identity.", + "x-ms-examples": { + "IdentityListAssociatedResources": { + "$ref": "./examples/IdentityListAssociatedResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/OrderbyParameter" + }, + { + "$ref": "#/parameters/TopQueryParameter" + }, + { + "$ref": "#/parameters/SkipQueryParameter" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. List of resources associated with this identity.", + "schema": { + "$ref": "#/definitions/AssociatedResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{resourceName}": { + "put": { + "operationId": "UserAssignedIdentities_CreateOrUpdate", + "description": "Create or update an identity in the specified subscription and resource group.", + "x-ms-examples": { + "IdentityCreate": { + "$ref": "./examples/IdentityCreate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Identity" + }, + "description": "Parameters to create or update the identity" + } + ], + "responses": { + "200": { + "description": "Updated identity", + "schema": { + "$ref": "#/definitions/Identity" + } + }, + "201": { + "description": "Created identity", + "schema": { + "$ref": "#/definitions/Identity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "operationId": "UserAssignedIdentities_Update", + "description": "Update an identity in the specified subscription and resource group.", + "x-ms-examples": { + "IdentityUpdate": { + "$ref": "./examples/IdentityUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IdentityUpdate" + }, + "description": "Parameters to update the identity" + } + ], + "responses": { + "200": { + "description": "Updated identity", + "schema": { + "$ref": "#/definitions/Identity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "operationId": "UserAssignedIdentities_Get", + "description": "Gets the identity.", + "x-ms-examples": { + "IdentityGet": { + "$ref": "./examples/IdentityGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The requested identity.", + "schema": { + "$ref": "#/definitions/Identity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "UserAssignedIdentities_Delete", + "description": "Deletes the identity.", + "x-ms-examples": { + "IdentityDelete": { + "$ref": "./examples/IdentityDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Deleted Identity." + }, + "204": { + "description": "The specified identity does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Identity": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "description": "The properties associated with the identity.", + "$ref": "#/definitions/UserAssignedIdentityProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an identity resource." + }, + "IdentityUpdate": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "description": "The properties associated with the identity.", + "$ref": "#/definitions/UserAssignedIdentityProperties" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Describes an identity resource." + }, + "SystemAssignedIdentity": { + "properties": { + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "readOnly": true, + "description": "The properties associated with the identity.", + "$ref": "#/definitions/SystemAssignedIdentityProperties" + } + }, + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Describes a system assigned identity resource." + }, + "SystemAssignedIdentityProperties": { + "description": "The properties associated with the system assigned identity.", + "type": "object", + "title": "System Assigned Identity properties.", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the tenant which the identity belongs to." + }, + "principalId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the service principal object associated with the created identity." + }, + "clientId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the app associated with the identity. This is a random generated UUID by MSI." + }, + "clientSecretUrl": { + "type": "string", + "readOnly": true, + "description": " The ManagedServiceIdentity DataPlane URL that can be queried to obtain the identity credentials." + } + } + }, + "UserAssignedIdentityProperties": { + "description": "The properties associated with the user assigned identity.", + "type": "object", + "title": "User Assigned Identity properties.", + "properties": { + "tenantId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the tenant which the identity belongs to." + }, + "principalId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the service principal object associated with the created identity." + }, + "clientId": { + "type": "string", + "readOnly": true, + "format": "uuid", + "description": "The id of the app associated with the identity. This is a random generated UUID by MSI." + } + } + }, + "AzureResource": { + "description": "Describes an Azure resource that is attached to an identity.", + "type": "object", + "title": "Azure Resource properties.", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of this resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of this resource." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The type of this resource." + }, + "resourceGroup": { + "type": "string", + "readOnly": true, + "description": "The name of the resource group this resource belongs to." + }, + "subscriptionId": { + "type": "string", + "readOnly": true, + "description": "The ID of the subscription this resource belongs to." + }, + "subscriptionDisplayName": { + "type": "string", + "readOnly": true, + "description": "The name of the subscription this resource belongs to." + } + } + }, + "AssociatedResourcesListResult": { + "type": "object", + "properties": { + "totalCount": { + "type": "number", + "readOnly": true, + "description": "Total number of Azure resources assigned to the identity." + }, + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AzureResource" + }, + "description": "The collection of Azure resources returned by the resource action to get a list of assigned resources." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The url to get the next page of results, if any." + } + }, + "description": "Azure resources returned by the resource action to get a list of assigned resources." + }, + "UserAssignedIdentitiesListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Identity" + }, + "description": "The collection of userAssignedIdentities returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The url to get the next page of results, if any." + } + }, + "description": "Values returned by the List operation." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "description": "A list of additional details about the error.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the ManagedServiceIdentity service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "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 ManagedServiceIdentity service." + }, + "Operation": { + "title": "Microsoft.ManagedIdentity Operation.", + "description": "Operation supported by the Microsoft.ManagedIdentity REST API.", + "type": "object", + "properties": { + "name": { + "title": "Operation Name.", + "description": "The name of the REST Operation. This is of the format {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "title": "Operation Display.", + "description": "The object that describes the operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "title": "Operation Display.", + "description": "The object that describes the operation.", + "properties": { + "provider": { + "title": "Resource Provider Name.", + "description": "Friendly name of the resource provider.", + "type": "string" + }, + "operation": { + "title": "Operation Type.", + "description": "The type of operation. For example: read, write, delete.", + "type": "string" + }, + "resource": { + "title": "Resource Type.", + "description": "The resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "title": "Operation description", + "description": "A description of the operation.", + "type": "string" + } + } + }, + "OperationListResult": { + "title": "Operations List.", + "description": "A list of operations supported by Microsoft.ManagedIdentity Resource Provider.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "title": "Operations List.", + "description": "A list of operations supported by Microsoft.ManagedIdentity Resource Provider." + }, + "nextLink": { + "type": "string", + "title": "Next Link", + "description": "The url to get the next page of results, if any." + } + } + } + }, + "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The resource provider scope of the resource. Parent resource being extended by Managed Identities.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Id of the Subscription to which the identity belongs.", + "required": true, + "type": "string" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the Resource Group to which the identity belongs.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceNameParameter": { + "name": "resourceName", + "in": "path", + "description": "The name of the identity resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Version of API to invoke.", + "required": true, + "type": "string" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "x-ms-parameter-location": "method", + "description": "OData filter expression to apply to the query.", + "required": false, + "type": "string" + }, + "OrderbyParameter": { + "name": "$orderby", + "in": "query", + "x-ms-parameter-location": "method", + "description": "OData orderBy expression to apply to the query.", + "required": false, + "type": "string" + }, + "TopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to return.", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "SkipQueryParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to skip.", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "SkipTokenParameter": { + "in": "query", + "name": "$skiptoken", + "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.", + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityCreate.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityCreate.json new file mode 100644 index 000000000000..209acf08f262 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityCreate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "resourceName": "resourceName", + "parameters": { + "location": "eastus", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + }, + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityDelete.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityDelete.json new file mode 100644 index 000000000000..1025cdf2b3c4 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "resourceName": "resourceName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityGet.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityGet.json new file mode 100644 index 000000000000..94bdc4747bf3 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "resourceName": "resourceName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListAssociatedResources.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListAssociatedResources.json new file mode 100644 index 000000000000..2af364e748c7 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListAssociatedResources.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "1cscb752-d7c9-463f-9731-fd31edada74a", + "resourceGroupName": "testrg", + "resourceName": "testid", + "$filter": "contains(name, 'test')", + "$orderby": "name asc", + "$top": 10, + "$skip": 1 + }, + "responses": { + "200": { + "body": { + "totalCount": 4, + "value": [ + { + "id": "/subscriptions/1cscb752-d7c9-463f-9731-fd31edada74a/resourceGroups/testrg/providers/Microsoft.CognitiveServices/accounts/test1", + "name": "test1", + "type": "microsoft.cognitiveservices/accounts", + "resourceGroup": "testrg", + "subscriptionId": "1cscb752-d7c9-463f-9731-fd31edada74a", + "subscriptionDisplayName": "TestSubscription" + }, + { + "id": "/subscriptions/1cscb752-d7c9-463f-9731-fd31edada74a/resourceGroups/testrg/providers/Microsoft.CognitiveServices/accounts/test2", + "name": "test2", + "type": "microsoft.cognitiveservices/accounts", + "resourceGroup": "testrg", + "subscriptionId": "1cscb752-d7c9-463f-9731-fd31edada74a", + "subscriptionDisplayName": "TestSubscription" + } + ] + }, + "nextLink": "https://management.azure.com/subscriptions/1cscb752-d7c9-463f-9731-fd31edada74a/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testid?skiptoken=ew0KICAiJGlkIjogIjEiLA0KICAiTWF4Um93cyI6IDIsDQogICJSb3dzVG9Ta2lwIjogMiwNCiAgIkt1c3RvQ2x1c3RlclVybCI6ICJodHRwczovL2FybXRvcG9sb2d5Lmt1c3RvLndpbmRvd3MubmV0Ig0KfQ%253d%253d&api-version=2021-09-30" + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListByResourceGroup.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListByResourceGroup.json new file mode 100644 index 000000000000..92061e2dec10 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListByResourceGroup.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ], + "nextLink": "https://serviceRoot/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2021-09-30-preview&$skiptoken=X'12345'" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListBySubscription.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListBySubscription.json new file mode 100644 index 000000000000..750b5f7868f9 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityListBySubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ], + "nextLink": "https://serviceRoot/subscriptions/subId/providers/Microsoft.ManagedIdentity/userAssignedIdentities?api-version=2021-09-30-preview&$skiptoken=X'12345'" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityUpdate.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityUpdate.json new file mode 100644 index 000000000000..6f82d6900b19 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/IdentityUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "subscriptionId": "subid", + "resourceGroupName": "rgName", + "resourceName": "resourceName", + "parameters": { + "location": "eastus", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/rgName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName", + "location": "eastus", + "name": "identityName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/MsiOperationsList.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/MsiOperationsList.json new file mode 100644 index 000000000000..297096120242 --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/MsiOperationsList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Gets an existing user assigned identity", + "operation": "Get User Assigned Identity", + "resource": "User Assigned Identities", + "provider": "Managed Service Identity" + }, + "name": "Microsoft.ManagedIdentity/userAssignedIdentities/read" + }, + { + "display": { + "description": "Creates a new user assigned identity or updates the tags associated with an existing user assigned identity", + "operation": "Create/Update User Assigned Identity", + "resource": "User Assigned Identities", + "provider": "Managed Service Identity" + }, + "name": "Microsoft.ManagedIdentity/userAssignedIdentities/write" + }, + { + "display": { + "description": "Deletes an existing user assigned identity", + "operation": "Delete User Assigned Identity", + "resource": "User Assigned Identities", + "provider": "Managed Service Identity" + }, + "name": "Microsoft.ManagedIdentity/userAssignedIdentities/delete" + } + ], + "nextLink": "https://serviceRoot/providers/Microsoft.ManagedIdentity/operations?api-version=2021-09-30-preview&$skiptoken=X'12345'" + } + } + } +} diff --git a/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/SystemAssignedIdentityGet.json b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/SystemAssignedIdentityGet.json new file mode 100644 index 000000000000..66a93e82cdfd --- /dev/null +++ b/specification/msi/resource-manager/Microsoft.ManagedIdentity/preview/2021-09-30-preview/examples/SystemAssignedIdentityGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-09-30-preview", + "scope": "scope" + }, + "responses": { + "200": { + "body": { + "id": "/scope", + "location": "cus", + "name": "resourceName", + "properties": { + "clientId": "4024ab25-56a8-4370-aea6-6389221caf29", + "clientSecretUrl": "https://serviceRoot/scope/credentials?tid=tenantId&oid=principalId&aid=clientId", + "principalId": "25cc773c-7f05-40fc-a104-32d2300754ad", + "tenantId": "b6c948ef-f6b5-4384-8354-da3a15eca969" + }, + "type": "ResourceProvider" + } + } + } +} diff --git a/specification/msi/resource-manager/readme.go.md b/specification/msi/resource-manager/readme.go.md index 20de31f01819..f36e35b82e82 100644 --- a/specification/msi/resource-manager/readme.go.md +++ b/specification/msi/resource-manager/readme.go.md @@ -21,10 +21,20 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-09 - tag: package-2018-11-30 - tag: package-2015-08-31-preview ``` +### Tag: package-preview-2021-09 and go + +These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-30-preview/$(namespace) +``` + ### Tag: package-2018-11-30 and go These settings apply only when `--tag=package-2018-11-30 --go` is specified on the command line. diff --git a/specification/msi/resource-manager/readme.md b/specification/msi/resource-manager/readme.md index 01a75fd7f0b5..27ca1deba23f 100644 --- a/specification/msi/resource-manager/readme.md +++ b/specification/msi/resource-manager/readme.md @@ -1,10 +1,13 @@ # Managed Service Identity + > see https://aka.ms/autorest This is the AutoRest configuration file for Managed Service Identity. --- + ## Getting Started + To build the SDK for Managed Service Identity, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -12,19 +15,29 @@ To build the SDK for Managed Service Identity, simply [Install AutoRest](https:/ To see additional help and options, run: > `autorest --help` + --- ## Configuration - ### Basic Information + These are the global settings for the Managed Service Identity API. ``` yaml openapi-type: arm -tag: package-2018-11-30 +tag: package-preview-2021-09 ``` + +### Tag: package-preview-2021-09 + +These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-09' +input-file: + - Microsoft.ManagedIdentity/preview/2021-09-30-preview/ManagedIdentity.json +``` ### Tag: package-2018-11-30 These settings apply only when `--tag=package-2018-11-30` is specified on the command line. @@ -44,17 +57,20 @@ input-file: ``` ## Suppression + ``` yaml directive: - suppress: TrackedResourcePatchOperation from: ManagedIdentity.json where: $.definitions.SystemAssignedIdentity reason: The identity type exposed under any scope is not a tracked resource since it is an extension. + - suppress: RequiredReadOnlySystemData + reason: User-assigned and system-assigned identities do not support systemData. ``` --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -145,8 +161,3 @@ java: regenerate-manager: true generate-interface: true ``` - - - - - diff --git a/specification/msi/resource-manager/readme.python.md b/specification/msi/resource-manager/readme.python.md index 4cdd5e5671b5..d662da1be07e 100644 --- a/specification/msi/resource-manager/readme.python.md +++ b/specification/msi/resource-manager/readme.python.md @@ -4,20 +4,48 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-msi -no-namespace-folders: true package-version: 1.0.0b1 +no-namespace-folders: true +``` + +### Python multi-api + +Generate all API versions currently shipped for this package + + +```yaml $(multiapi) && $(python) clear-output-folder: true +batch: + - tag: package-preview-2021-09 + - tag: package-2018-11-30 + - multiapiscript: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) -no-namespace-folders: true -output-folder: $(python-sdks-folder)/resources/azure-mgmt-msi/azure/mgmt/msi +``` yaml $(multiapiscript) +output-folder: $(python-sdks-folder)/resources/azure-mgmt-msi/azure/mgmt/msi/ +perform-load: false ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/resources/azure-mgmt-msi + +### Tag: package-2019-09-preview and python + +These settings apply only when `--tag=package-preview-2021-09 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-preview-2021-09' +namespace: azure.mgmt.msi.v2019_09_01_preview +output-folder: $(python-sdks-folder)/resources/azure-mgmt-msi/azure/mgmt/msi/v2019_09_01_preview +``` + +### Tag: package-2018-11-30 and python + +These settings apply only when `--tag=package-2018-11-30 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2018-11-30' +namespace: azure.mgmt.msi.v2018_11_30 +output-folder: $(python-sdks-folder)/resources/azure-mgmt-msi/azure/mgmt/msi/v2018_11_30 ``` diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json index 5cadc7ca7c48..c7c0489b2f7a 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2017-12-01/mysql.json @@ -2540,6 +2540,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "The list of resource provider operations." } }, diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerCreateWithBYOK.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerCreateWithBYOK.json new file mode 100644 index 000000000000..61a447f1c285 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerCreateWithBYOK.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {} + } + }, + "sku": { + "name": "Standard_D2ds_v4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "administratorLoginPassword": "your_password", + "availabilityZone": "1", + "version": "5.7", + "createMode": "Default", + "storage": { + "storageSizeGB": 100, + "iops": 600, + "autoGrow": "Disabled" + }, + "backup": { + "backupRetentionDays": 7, + "geoRedundantBackup": "Disabled" + }, + "highAvailability": { + "mode": "ZoneRedundant", + "standbyAvailabilityZone": "3" + }, + "dataEncryption": { + "type": "AzureKeyVault", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity", + "primaryKeyUri": "https://test.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a", + "geoBackupUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-geo-identity", + "geoBackupKeyUri": "https://test-geo.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a" + } + }, + "location": "southeastasia", + "tags": { + "num": "1" + } + } + }, + "responses": { + "201": { + "body": { + "sku": { + "name": "Standard_D2ds_v4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storage": { + "storageSizeGB": 100, + "iops": 600, + "autoGrow": "Enabled", + "storageSku": "Premium_LRS" + }, + "version": "5.7", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com", + "availabilityZone": "1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "replicationRole": "None", + "replicaCapacity": 10, + "network": { + "publicNetworkAccess": "Enabled" + }, + "backup": { + "backupRetentionDays": 7, + "geoRedundantBackup": "Disabled", + "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00" + }, + "highAvailability": { + "mode": "ZoneRedundant", + "state": "Healthy", + "standbyAvailabilityZone": "3" + } + }, + "location": "Southeast Asia", + "tags": { + "num": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver", + "name": "mysqltestserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "200": { + "body": { + "sku": { + "name": "Standard_D2ds_v4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storage": { + "storageSizeGB": 100, + "iops": 600, + "autoGrow": "Enabled", + "storageSku": "Premium_LRS" + }, + "version": "5.7", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com", + "availabilityZone": "1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "replicationRole": "None", + "replicaCapacity": 10, + "network": { + "publicNetworkAccess": "Enabled" + }, + "backup": { + "backupRetentionDays": 7, + "geoRedundantBackup": "Disabled", + "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00" + }, + "highAvailability": { + "mode": "ZoneRedundant", + "state": "Healthy", + "standbyAvailabilityZone": "3" + } + }, + "location": "Southeast Asia", + "tags": { + "num": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver", + "name": "mysqltestserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerUpdateWithBYOK.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerUpdateWithBYOK.json new file mode 100644 index 000000000000..938eee088dd0 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/examples/ServerUpdateWithBYOK.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "testrg", + "api-version": "2021-05-01", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {} + } + }, + "properties": { + "dataEncryption": { + "type": "AzureKeyVault", + "primaryUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity", + "primaryKeyUri": "https://test.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a", + "geoBackupUserAssignedIdentityId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-geo-identity", + "geoBackupKeyUri": "https://test-geo.vault.azure.net/keys/key/c8a92236622244c0a4fdb892666f671a" + } + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_D2ds_v4", + "tier": "GeneralPurpose" + }, + "properties": { + "administratorLogin": "cloudsa", + "storage": { + "storageSizeGB": 100, + "iops": 600, + "autoGrow": "Enabled", + "storageSku": "Premium_LRS" + }, + "version": "5.7", + "state": "Ready", + "fullyQualifiedDomainName": "mysqltestserver.database.mysql.azure.com", + "availabilityZone": "1", + "maintenanceWindow": { + "customWindow": "Disabled", + "dayOfWeek": 0, + "startHour": 0, + "startMinute": 0 + }, + "replicationRole": "None", + "replicaCapacity": 10, + "network": { + "publicNetworkAccess": "Enabled" + }, + "backup": { + "backupRetentionDays": 7, + "geoRedundantBackup": "Disabled", + "earliestRestoreDate": "2021-06-17T06:11:38.4150019+00:00" + }, + "highAvailability": { + "mode": "ZoneRedundant", + "state": "Healthy", + "standbyAvailabilityZone": "3" + } + }, + "location": "Southeast Asia", + "tags": { + "num": "1" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver", + "name": "mysqltestserver", + "type": "Microsoft.DBforMySQL/flexibleServers" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/mysql.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/mysql.json index f23df0043e4b..59f6d97fa9d2 100644 --- a/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/mysql.json +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/stable/2021-05-01/mysql.json @@ -49,6 +49,9 @@ }, "Create a replica server": { "$ref": "./examples/ServerCreateReplica.json" + }, + "Create a server with byok": { + "$ref": "./examples/ServerCreateWithBYOK.json" } }, "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.", @@ -111,6 +114,9 @@ }, "Update server customer maintenance window": { "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" + }, + "Update server with byok": { + "$ref": "./examples/ServerUpdateWithBYOK.json" } }, "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", @@ -1489,6 +1495,40 @@ }, "description": "The replication role." }, + "DataEncryption": { + "type": "object", + "description": "The date encryption for cmk.", + "properties": { + "primaryUserAssignedIdentityId": { + "type": "string", + "description": "Primary user identity resource id" + }, + "primaryKeyUri": { + "type": "string", + "description": "Primary key uri" + }, + "geoBackupUserAssignedIdentityId": { + "type": "string", + "description": "Geo backup user identity resource id as identity can't cross region, need identity in same region as geo backup" + }, + "geoBackupKeyUri": { + "type": "string", + "description": "Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup" + }, + "type": { + "type": "string", + "description": "The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk.", + "enum": [ + "AzureKeyVault", + "SystemManaged" + ], + "x-ms-enum": { + "name": "DataEncryptionType", + "modelAsString": false + } + } + } + }, "MaintenanceWindow": { "type": "object", "description": "Maintenance window of a server.", @@ -1722,6 +1762,10 @@ "readOnly": true, "description": "The maximum number of replicas that a primary server can have." }, + "dataEncryption": { + "$ref": "#/definitions/DataEncryption", + "description": "The Data Encryption for CMK." + }, "state": { "type": "string", "readOnly": true, @@ -1779,6 +1823,10 @@ "Server": { "type": "object", "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "The cmk identity for the server." + }, "sku": { "$ref": "#/definitions/Sku", "description": "The SKU (pricing tier) of the server." @@ -1829,6 +1877,10 @@ "replicationRole": { "$ref": "#/definitions/ReplicationRole", "description": "The replication role of the server." + }, + "dataEncryption": { + "$ref": "#/definitions/DataEncryption", + "description": "The Data Encryption for CMK." } }, "description": "The properties that can be updated for a server." @@ -1836,6 +1888,10 @@ "ServerForUpdate": { "type": "object", "properties": { + "identity": { + "$ref": "#/definitions/Identity", + "description": "The cmk identity for the server." + }, "sku": { "$ref": "#/definitions/Sku", "description": "The SKU (pricing tier) of the server." @@ -2464,6 +2520,63 @@ }, "description": "Represents a resource name availability." }, + "Identity": { + "x-ms-client-flatten": true, + "type": "object", + "properties": { + "principalId": { + "type": "string", + "description": "ObjectId from the KeyVault", + "readOnly": true + }, + "tenantId": { + "type": "string", + "description": "TenantId from the KeyVault", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of managed service identity.", + "enum": [ + "UserAssigned" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "description": "", + "items": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "description": "Metadata of user assigned identity." + } + }, + "description": "Properties to configure Identity for Bring your Own Keys" + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user assigned identity", + "type": "string", + "x-ms-client-name": "PrincipalId", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user assigned identity", + "type": "string", + "x-ms-client-name": "ClientId", + "readOnly": true + } + }, + "description": "Metadata of user assigned identity." + }, "OperationDisplay": { "type": "object", "properties": { diff --git a/specification/mysql/resource-manager/readme.python.md b/specification/mysql/resource-manager/readme.python.md index 01806cff47d1..26b757fdbe7d 100644 --- a/specification/mysql/resource-manager/readme.python.md +++ b/specification/mysql/resource-manager/readme.python.md @@ -8,7 +8,7 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-rdbms @@ -20,7 +20,7 @@ package-version: 1.0.0b1 Generate all API versions currently shipped for this package -```yaml $(track2) +```yaml $(python) clear-output-folder: true batch: - tag: package-flexibleserver-2021-05-01 @@ -47,7 +47,7 @@ namespace: azure.mgmt.rdbms.mysql output-folder: $(python-sdks-folder)/rdbms/azure-mgmt-rdbms/azure/mgmt/rdbms/mysql ``` -``` yaml $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_Get.json index b089ed8386cb..21c4f0aa97a0 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_Get.json @@ -8,9 +8,9 @@ "responses": { "200": { "body": { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalCoolAccessVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", "name": "totalCoolAccessVolumesPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 10, "default": 10 diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_List.json index 3e07b8c302be..1129632d756f 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/examples/QuotaLimits_List.json @@ -9,72 +9,72 @@ "body": { "value": [ { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/accountsPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/accountsPerSubscription", "name": "accountsPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 10, "default": 10 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/poolsPerAccount", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/poolsPerAccount", "name": "poolsPerAccount", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 25, "default": 25 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/volumesPerPool", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/volumesPerPool", "name": "volumesPerPool", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 500, "default": 500 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/snapshotsPerVolume", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/snapshotsPerVolume", "name": "snapshotsPerVolume", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 255, "default": 255 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalTiBsPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalTiBsPerSubscription", "name": "totalTiBsPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 1000, "default": 25 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalDPVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalDPVolumesPerSubscription", "name": "totalDPVolumesPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 10, "default": 10 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalVolumesPerSubscription", "name": "totalVolumesPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 500, "default": 500 } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalCoolAccessVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", "name": "totalCoolAccessVolumesPerSubscription", - "type": "Microsoft.NetApp/quotaLimists", + "type": "Microsoft.NetApp/quotaLimits", "properties": { "current": 10, "default": 10 diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_Get.json index 3e6e4db1b855..ad4067c77f91 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_Get.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_Get.json @@ -8,7 +8,7 @@ "responses": { "200": { "body": { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalCoolAccessVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", "name": "eastus/totalCoolAccessVolumesPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_List.json index ed085c3a6031..05f57ef77e31 100644 --- a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_List.json +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-08-01/examples/QuotaLimits_List.json @@ -9,7 +9,7 @@ "body": { "value": [ { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/accountsPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/accountsPerSubscription", "name": "eastus/accountsPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -18,7 +18,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/poolsPerAccount", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/poolsPerAccount", "name": "eastus/poolsPerAccount", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -27,7 +27,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/volumesPerPool", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/volumesPerPool", "name": "eastus/volumesPerPool", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -36,7 +36,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/snapshotsPerVolume", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/snapshotsPerVolume", "name": "eastus/snapshotsPerVolume", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -45,7 +45,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalTiBsPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalTiBsPerSubscription", "name": "eastus/totalTiBsPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -54,7 +54,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalDPVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalDPVolumesPerSubscription", "name": "eastus/totalDPVolumesPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -63,7 +63,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalVolumesPerSubscription", "name": "eastus/totalVolumesPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { @@ -72,7 +72,7 @@ } }, { - "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimists/totalCoolAccessVolumesPerSubscription", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", "name": "eastus/totalCoolAccessVolumesPerSubscription", "type": "Microsoft.NetApp/locations/quotaLimits", "properties": { diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..f44c7214b8fb --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": { + "activeDirectories": [ + { + "site": "SiteName", + "username": "ad_user_name", + "password": "ad_password", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "aesEncryption": true, + "ldapSigning": false, + "ldapOverTLS": false + } + ] + } + } + }, + "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" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..eb4d17ef81cf --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..45370d4588d4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-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", + "activeDirectories": [ + { + "site": "SiteName", + "activeDirectoryId": "02da3711-6c58-2d64-098a-e3af7afaf936", + "username": "ad_user_name", + "domain": "10.10.10.3", + "dns": "10.10.10.3, 10.10.10.4", + "status": "InUse", + "smbServerName": "SMBServer", + "organizationalUnit": "OU=Engineering", + "statusDetails": "Status Details", + "aesEncryption": true, + "ldapSigning": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_List.json new file mode 100644 index 000000000000..34534bd83c8a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "api-version": "2021-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/2021-10-01/examples/Accounts_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..6195e2297adc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Accounts_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01", + "body": { + "tags": { + "Tag1": "Value1" + } + } + }, + "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": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/a0216c17-f9d6-4b99-9faf-9ebd4883d0e4?api-version=2021-08-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1", + "name": "account1", + "type": "Microsoft.NetApp/netAppAccounts", + "location": "eastus", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "provisioningState": "Patching", + "encryption": { + "keySource": "Microsoft.NetApp" + } + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Create.json new file mode 100644 index 000000000000..0d853b7ec93e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Create.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2021-10-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": true, + "provisioningState": "creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Delete.json new file mode 100644 index 000000000000..e6f344de3991 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupPolicyName": "backupPolicyName", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Get.json new file mode 100644 index 000000000000..cdec6ce78cf3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_List.json new file mode 100644 index 000000000000..ef2a5c5f567f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicy1", + "name": "account1/backupPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "eastus", + "properties": { + "dailyBackupsToKeep": 10, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 0, + "enabled": true + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Update.json new file mode 100644 index 000000000000..1401e4eeb824 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/BackupPolicies_Update.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupPolicyName": "backupPolicyName", + "api-version": "2021-10-01", + "body": { + "location": "westus", + "properties": { + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "enabled": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2021-08-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/backupPolocies/backupPolicyName", + "name": "account1/backupPolicyName", + "type": "Microsoft.NetApp/netAppAccounts/backupPolicies", + "location": "westus", + "properties": { + "provisioningState": "Succeeded", + "dailyBackupsToKeep": 5, + "weeklyBackupsToKeep": 10, + "monthlyBackupsToKeep": 10, + "volumesAssigned": 1, + "enabled": false, + "volumeBackups": [ + { + "volumeName": "volume 1", + "backupsCount": 5, + "policyEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Delete.json new file mode 100644 index 000000000000..b5c852fc2e91 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "backupName": "backupName", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Get.json new file mode 100644 index 000000000000..4fb38370a91f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "backupName": "backup1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_List.json new file mode 100644 index 000000000000..97f9b3d098f1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Account_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/accountBackups/backup1", + "name": "account1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/accountBackups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Create.json new file mode 100644 index 000000000000..ee58b541561b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Create.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": { + "label": "myLabel" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Delete.json new file mode 100644 index 000000000000..fa2bf4d6072f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "poolName": "poolName", + "volumeName": "volumeName", + "backupName": "backupName", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Get.json new file mode 100644 index 000000000000..1bff025d350b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_List.json new file mode 100644 index 000000000000..6d2b8c92c2bd --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Update.json new file mode 100644 index 000000000000..a05a37d038e3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Backups_Update.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "backupName": "backup1", + "api-version": "2021-10-01", + "body": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2021-08-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/backups/backup1", + "name": "account1/pool1/volume1/backup1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups", + "location": "eastus", + "properties": { + "creationDate": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded", + "size": 10011, + "label": "myLabel", + "backupType": "Manual" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckFilePathAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckFilePathAvailability.json new file mode 100644 index 000000000000..dcb079d889d2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckFilePathAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2021-10-01", + "body": { + "name": "my-exact-filepth", + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckNameAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..5aabaec1fe7c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckNameAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2021-10-01", + "body": { + "name": "accName", + "type": "netAppAccount", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckQuotaAvailability.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckQuotaAvailability.json new file mode 100644 index 000000000000..39ee64a56b59 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/CheckQuotaAvailability.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2021-10-01", + "body": { + "name": "resource1", + "type": "Microsoft.NetApp/netAppAccounts", + "resourceGroup": "myRG" + } + }, + "responses": { + "200": { + "body": { + "isAvailable": true + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/OperationList.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/OperationList.json new file mode 100644 index 000000000000..7d532efb2e4d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/OperationList.json @@ -0,0 +1,1593 @@ +{ + "parameters": { + "api-version": "2021-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.NetApp/register/action", + "display": { + "provider": "Microsoft.NetApp", + "resource": "Subscription", + "operation": "Subscription Registration Action", + "description": "Subscription Registration Action" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read volume resource", + "description": "Reads a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Write volume resource", + "description": "Writes a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Delete volume resource", + "description": "Deletes a volume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/Revert/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Revert volume resource", + "description": "Revert volume to specific snapshot" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BreakReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Break volume replication resource", + "description": "Break volume replication relations" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read Volume Replication Status.", + "description": "Reads the statuses of the Volume Replication." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ListReplications/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReInitializeReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Re-Initialize replication", + "description": "Attempts to re-initialize an uninitialized replication" + }, + "origin": "user,system" + }, + { + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "AverageReadLatency", + "displayName": "Average read latency", + "displayDescription": "Average read latency in milliseconds per operation", + "unit": "MilliSeconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "AverageReadLatency", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "AverageWriteLatency", + "displayName": "Average write latency", + "displayDescription": "Average write latency in milliseconds per operation", + "unit": "MilliSeconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "AverageWriteLatency", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeLogicalSize", + "displayName": "Volume Consumed Size", + "displayDescription": "Logical size of the volume (used bytes)", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeLogicalSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeSnapshotSize", + "displayName": "Volume snapshot size", + "displayDescription": "Size of all snapshots in volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeSnapshotSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "ReadIops", + "displayName": "Read iops", + "displayDescription": "Read In/out operations per second", + "unit": "CountPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "ReadIops", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "WriteIops", + "displayName": "Write iops", + "displayDescription": "Write In/out operations per second", + "unit": "CountPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "WriteIops", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeAllocatedSize", + "displayName": "Volume allocated size", + "displayDescription": "The provisioned size of a volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeAllocatedSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierSize", + "displayName": "Volume cool tier size", + "displayDescription": "Volume Footprint for Cool Tier", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierDataReadSize", + "displayName": "Volume cool tier data read size", + "displayDescription": "Data read in using GET per volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierDataReadSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeCoolTierDataWriteSize", + "displayName": "Volume cool tier data write size", + "displayDescription": "Data tiered out using PUT per volume", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeCoolTierDataWriteSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLastTransferDuration", + "displayName": "Volume replication last transfer duration", + "displayDescription": "The amount of time in seconds it took for the last transfer to complete.", + "unit": "Seconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLastTransferDuration", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLastTransferSize", + "displayName": "Volume replication last transfer size", + "displayDescription": "The total number of bytes transferred as part of the last transfer.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLastTransferSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationHealthy", + "displayName": "Is volume replication status healthy", + "displayDescription": "Condition of the relationship, 1 or 0.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationHealthy", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationLagTime", + "displayName": "Volume replication lag time", + "displayDescription": "The amount of time in seconds by which the data on the mirror lags behind the source.", + "unit": "Seconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationLagTime", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationTotalTransferBytes", + "displayName": "Volume replication total transfer", + "displayDescription": "Cumulative bytes transferred for the relationship.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationTotalTransferBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationRelationshipProgress", + "displayName": "Volume replication progress", + "displayDescription": "Total amount of data transferred for the current transfer operation.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationRelationshipProgress", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "XregionReplicationRelationshipTransferring", + "displayName": "Is volume replication transferring", + "displayDescription": "Whether the status of the Volume Replication is 'transferring'.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "XregionReplicationRelationshipTransferring", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeLogicalBackupBytes", + "displayName": "Volume Backup Bytes", + "displayDescription": "Total bytes backed up for this Volume.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeLogicalBackupBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeProtected", + "displayName": "Is Volume Backup Enabled", + "displayDescription": "Is backup enabled for the volume? 1 if yes, 0 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeProtected", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeBackupActive", + "displayName": "Is Volume Backup suspended", + "displayDescription": "Is the backup policy suspended for the volume? 0 if yes, 1 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeBackupActive", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeOperationTransferredBytes", + "displayName": "Volume Backup Last Transferred Bytes", + "displayDescription": "Total bytes transferred for last backup or restore operation.", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeOperationTransferredBytes", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "CbsVolumeOperationComplete", + "displayName": "Is Volume Backup Operation Complete", + "displayDescription": "Did the last volume backup or restore operation complete successfully? 1 if yes, 0 if no.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "CbsVolumeOperationComplete", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumeConsumedSizePercentage", + "displayName": "Percentage Volume Consumed Size", + "displayDescription": "The percentage of the volume consumed including snapshots.", + "unit": "Percent", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumeConsumedSizePercentage", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "OtherThroughput", + "displayName": "Other throughput", + "displayDescription": "Other throughput (that is not read or write) in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "OtherThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "ReadThroughput", + "displayName": "Read throughput", + "displayDescription": "Read throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "ReadThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "TotalThroughput", + "displayName": "Total throughput", + "displayDescription": "Sum of all throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "TotalThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "WriteThroughput", + "displayName": "Write throughput", + "displayDescription": "Write throughput in bytes per second", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "WriteThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read volume metric definitions.", + "description": "Gets the available metrics for Volume resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read diagnostic setting.", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Write diagnostic setting.", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/AuthorizeReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Authorize Replication", + "description": "Authorize the source volume replication" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ResyncReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Resync Replication", + "description": "Resync the replication on the destination volume" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/DeleteReplication/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Delete Replication", + "description": "Delete the replication on the destination volume" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/ReplicationStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read Volume Replication Status.", + "description": "Reads the statuses of the Volume Replication." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Read mount target resource", + "description": "Reads a mount target resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/BackupStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RestoreStatus/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/PoolChange/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Change pool for volume", + "description": "Moves volume to another pool." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RelocateVolume/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Relocate volume to a new stamp.", + "description": "Relocate volume to a new stamp." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/FinalizeRelocation/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Finalize relocation of volume.", + "description": "Finalize relocation by cleaning up the old volume." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/RevertRelocation/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Revert the relocation of volume.", + "description": "Revert the relocation and revert back to the old volume." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Read account resource", + "description": "Reads an account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Write account resource", + "description": "Writes an account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Delete account resource", + "description": "Deletes a account resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/RenewCredentials/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Accounts resource type", + "operation": "Renew MSI credentials, if possible.", + "description": "Renews MSI credentials of account, if account has MSI credentials that are due for renewal." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read pool resource", + "description": "Reads a pool resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Write pool resource", + "description": "Writes a pool resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Delete pool resource", + "description": "Deletes a pool resource." + }, + "origin": "user,system" + }, + { + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "VolumePoolAllocatedUsed", + "displayName": "Pool Allocated To Volume Size", + "displayDescription": "Allocated used size of the pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedUsed", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolTotalLogicalSize", + "displayName": "Pool Consumed Size", + "displayDescription": "Sum of the logical size of all the volumes belonging to the pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average", + "Total" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolTotalLogicalSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolAllocatedSize", + "displayName": "Pool Allocated Size", + "displayDescription": "Provisioned size of this pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average", + "Total" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolTotalSnapshotSize", + "displayName": "Total Snapshot size for the pool", + "displayDescription": "Sum of snapshot size of all volumes in this pool", + "unit": "Bytes", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolTotalSnapshotSize", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolProvisionedThroughput", + "displayName": "Provisioned throughput for the pool", + "displayDescription": "Provisioned throughput of this pool", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolProvisionedThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + }, + { + "name": "VolumePoolAllocatedToVolumeThroughput", + "displayName": "Pool allocated throughput", + "displayDescription": "Sum of the throughput of all the volumes belonging to the pool", + "unit": "BytesPerSecond", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Average" + ], + "supportedTimeGrainTypes": [ + "PT5M", + "PT15M", + "PT30M", + "PT1H", + "PT6H", + "PT12H", + "P1D" + ], + "internalMetricName": "VolumePoolAllocatedToVolumeThroughput", + "enableRegionalMdmAccount": true, + "sourceMdmAccount": "MicrosoftNetAppShoebox2", + "sourceMdmNamespace": "NetAppUsageAndMetrics", + "fillGapWithZero": false, + "isInternal": false, + "dimensions": [] + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read volume metric definitions.", + "description": "Gets the available metrics for Volume resource." + }, + "origin": "system" + }, + { + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "Autoscale", + "displayName": "Capacity Pool Autoscaled" + } + ] + } + }, + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read log definitions.", + "description": "Gets the log definitions for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Read diagnostic setting.", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Pools resource type", + "operation": "Write diagnostic setting.", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Read snapshot resource", + "description": "Reads a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Write snapshot resource", + "description": "Writes a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Delete snapshot resource", + "description": "Deletes a snapshot resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/RestoreFiles/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshots resource type", + "operation": "Single File Snapshot Restore", + "description": "Restores files from a snapshot resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type.", + "operation": "Write subvolume Resource", + "description": "Write a subvolume resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/GetMetadata/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subvolume resource type.", + "operation": "Subvolume Metadata resource.", + "description": "Read subvolume metadata resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Read snapshot policy resource", + "description": "Reads a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Write snapshot policy resource", + "description": "Writes a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "Delete snapshot policy resource", + "description": "Deletes a snapshot policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/Volumes/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "List connected volumes", + "description": "List volumes connected to snapshot policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/snapshotPolicies/ListVolumes/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Snapshot Policies resource type", + "operation": "List connected volumes", + "description": "List volumes connected to snapshot policy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Read backup resource.", + "description": "Reads a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Write backup resource.", + "description": "Writes a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/backups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup resource type", + "operation": "Delete backup resource", + "description": "Deletes a backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppIPSecPolicies/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppIPSecPolicies/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppIPSecPolicies/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppIPSecPolicies/Apply/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Read backup policy resource.", + "description": "Reads a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Write backup policy resource.", + "description": "Writes a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/backupPolicies/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Backup Policy resource type", + "operation": "Delete backup policy resource", + "description": "Deletes a backup policy resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/vaults/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Vault resource type", + "operation": "Read vault resource.", + "description": "Reads a vault resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Read an account backup resource.", + "description": "Reads an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Write an account backup resource.", + "description": "Writes an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/accountBackups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Account backup resource type", + "operation": "Delete an account backup resource.", + "description": "Deletes an account backup resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Read volume group resource", + "description": "Reads a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/write", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Write volume group resource", + "description": "Writes a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/netAppAccounts/volumeGroups/delete", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volume Group resource type", + "operation": "Delete volume group resource", + "description": "Deletes a volume group resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/quotaLimits/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "QuotaLimit resource type", + "operation": "Read QuotaLimit resource type", + "description": "Reads a Quotalimit resource type." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/Operations/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Operations resource type", + "operation": "Read operation resource", + "description": "Reads an operation resources." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/operationresults/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Operation results resource type", + "operation": "Read operation result resource", + "description": "Reads an operation result resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/read", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Location wide operation", + "operation": "Read location wide operation", + "description": "Reads a location wide operation." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checknameavailability/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "NetApp resources", + "operation": "Check if resource name is available", + "description": "Check if resource name is available" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checkfilepathavailability/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Volumes resource type", + "operation": "Check if file path is available", + "description": "Check if file path is available" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/unregister/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "Subscription", + "operation": "Unregister Subscription for Azure NetApp Files", + "description": "Unregisters Subscription with Microsoft.NetApp resource provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.NetApp/locations/checkinventory/action", + "display": { + "provider": "Microsoft.NetApp Resource Provider", + "resource": "ReservedCapacity reservation resource.", + "operation": "Checks ReservedCapacity inventory.", + "description": "Checks ReservedCapacity inventory." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_CreateOrUpdate.json new file mode 100644 index 000000000000..797a6d881f67 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": { + "size": 4398046511104, + "serviceLevel": "Premium", + "qosType": "Auto" + } + } + }, + "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, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + }, + "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, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Delete.json new file mode 100644 index 000000000000..db9f27ca7b1c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-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": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Get.json new file mode 100644 index 000000000000..3fd34573211c --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2021-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, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_List.json new file mode 100644 index 000000000000..a67118474b43 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-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, + "qosType": "Auto", + "totalThroughputMibps": 281.474 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Update.json new file mode 100644 index 000000000000..c7b94ae57278 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Pools_Update.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2021-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, + "qosType": "Manual", + "totalThroughputMibps": 281.474, + "utilizedThroughputMibps": 100.47 + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_Get.json new file mode 100644 index 000000000000..7267472d50d4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "quotaLimitName": "totalCoolAccessVolumesPerSubscription", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", + "name": "eastus/totalCoolAccessVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_List.json new file mode 100644 index 000000000000..90d944422290 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/QuotaLimits_List.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "location": "eastus", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/accountsPerSubscription", + "name": "eastus/accountsPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/poolsPerAccount", + "name": "eastus/poolsPerAccount", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 25, + "default": 25 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/volumesPerPool", + "name": "eastus/volumesPerPool", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 500, + "default": 500 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/snapshotsPerVolume", + "name": "eastus/snapshotsPerVolume", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 255, + "default": 255 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalTiBsPerSubscription", + "name": "eastus/totalTiBsPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 1000, + "default": 25 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalDPVolumesPerSubscription", + "name": "eastus/totalDPVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalVolumesPerSubscription", + "name": "eastus/totalVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 500, + "default": 500 + } + }, + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/quotaLimits/totalCoolAccessVolumesPerSubscription", + "name": "eastus/totalCoolAccessVolumesPerSubscription", + "type": "Microsoft.NetApp/locations/quotaLimits", + "properties": { + "current": 10, + "default": 10 + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Create.json new file mode 100644 index 000000000000..aeb08ee2bbf3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Create.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "location": "eastus", + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Delete.json new file mode 100644 index 000000000000..918d6e3ba6d4 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "resourceGroup", + "accountName": "accountName", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Get.json new file mode 100644 index 000000000000..2319901300f8 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_List.json new file mode 100644 index 000000000000..6f9be2c99994 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "location": "eastus", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_ListVolumes.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_ListVolumes.json new file mode 100644 index 000000000000..064382eef114 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_ListVolumes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "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", + "throughputMibps": 128, + "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/2021-10-01/examples/SnapshotPolicies_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Update.json new file mode 100644 index 000000000000..a69ac1ee5abc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/SnapshotPolicies_Update.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "snapshotPolicyName": "snapshotPolicyName", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/providers/Microsoft.NetApp/locations/eastus/operationResults/18c499e1-2a3c-441c-950e-4b456c991c18?api-version=2021-08-01&operationResultResponseType=Location" + }, + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1", + "name": "account1/snapshotPolicy1", + "type": "Microsoft.NetApp/netAppAccounts/snapshotPolicies", + "location": "eastus", + "properties": { + "enabled": true, + "hourlySchedule": { + "snapshotsToKeep": 2, + "minute": 50 + }, + "dailySchedule": { + "snapshotsToKeep": 4, + "hour": 14, + "minute": 30 + }, + "weeklySchedule": { + "snapshotsToKeep": 3, + "day": "Wednesday", + "hour": 14, + "minute": 45 + }, + "monthlySchedule": { + "snapshotsToKeep": 5, + "daysOfMonth": "10,11,12", + "hour": 14, + "minute": 15 + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Create.json new file mode 100644 index 000000000000..eb2994871dc3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2021-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", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Delete.json new file mode 100644 index 000000000000..6cfd828ddd66 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-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": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Get.json new file mode 100644 index 000000000000..e49d386b4f04 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2021-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", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_List.json new file mode 100644 index 000000000000..6ef105e93e48 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-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", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_SingleFileRestore.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_SingleFileRestore.json new file mode 100644 index 000000000000..6c10fff7737d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_SingleFileRestore.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2021-08-01", + "body": { + "filePaths": [ + "/dir1/customer1.db", + "/dir1/customer2.db" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Update.json new file mode 100644 index 000000000000..daec97d04fce --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Snapshots_Update.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "snapshotName": "snapshot1", + "api-version": "2021-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", + "created": "2017-08-15T13:23:33Z", + "provisioningState": "Succeeded" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Create.json new file mode 100644 index 000000000000..9d3855de302e --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Create.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01", + "body": { + "properties": { + "path": "/subvolumePath" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/subvolumePath", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/subvolumePath", + "provisioningState": "Creating" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Delete.json new file mode 100644 index 000000000000..8089d5325edb --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Get.json new file mode 100644 index 000000000000..702c475d5ca0 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/pathToSubvol" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_List.json new file mode 100644 index 000000000000..745dc5c0a378 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes", + "properties": { + "path": "/pathToSubvol" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Metadata.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Metadata.json new file mode 100644 index 000000000000..5a4c8e604fd5 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Metadata.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1/metadata", + "name": "account1/pool1/volume1/subvolume1/metadata", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolumes/metadata", + "properties": { + "path": "/pathToSubvol", + "size": 5, + "bytesUsed": 5, + "permissions": "777", + "creationTimeStamp": "2017-08-15T13:23:33Z", + "accessedTimeStamp": "2017-08-15T13:23:33Z", + "modifiedTimeStamp": "2017-08-15T13:23:33Z", + "changedTimeStamp": "2017-08-15T13:23:33Z" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Update.json new file mode 100644 index 000000000000..da7d5a96171d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Subvolumes_Update.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "subvolumeName": "subvolume1", + "api-version": "2021-10-01", + "body": { + "properties": { + "path": "/subvolumePath" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/subvolumes/subvolume1", + "name": "account1/pool1/volume1/subvolume1", + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/subvolume1", + "properties": { + "path": "/subvolumePath" + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Vaults_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Vaults_List.json new file mode 100644 index 000000000000..3aa039a5a5be --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Vaults_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/vaults/vault1", + "name": "account1/vault1", + "type": "Microsoft.NetApp/netAppAccounts/vaults", + "location": "eastus", + "properties": { + "vaultName": "east US" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Create.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Create.json new file mode 100644 index 000000000000..ec0014c3c42f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Create.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2021-10-01", + "body": { + "location": "westus", + "properties": { + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "DEV", + "deploymentSpecId": "fb04dbeb-005d-2703-197e-6208dfadb5d9" + }, + "volumes": [ + { + "name": "testVol1", + "properties": { + "creationToken": "testVol1", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "data", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg" + } + }, + { + "name": "testVol2", + "properties": { + "creationToken": "testVol2", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "log", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg" + } + }, + { + "name": "testVol3", + "properties": { + "creationToken": "testVol3", + "serviceLevel": "Premium", + "throughputMibps": 10, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "usageThreshold": 107374182400, + "volumeSpecName": "shared", + "capacityPoolResourceId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1", + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg" + } + } + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "westus", + "properties": { + "provisioningState": "Creating", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "DEV" + }, + "volumes": [ + { + "name": "testVol1", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data", + "serviceLevel": "Premium", + "creationToken": "testVol1", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "testVol2", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log", + "serviceLevel": "Premium", + "creationToken": "testVol2", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "testVol3", + "properties": { + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "shared", + "serviceLevel": "Premium", + "creationToken": "testVol3", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Delete.json new file mode 100644 index 000000000000..4863fa4aa73d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {}, + "200": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Get.json new file mode 100644 index 000000000000..37c92765e751 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_Get.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "volumeGroupName": "group1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "DEV", + "volumesCount": 5 + }, + "volumes": [ + { + "name": "account1/pool1/testVol1", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data", + "serviceLevel": "Premium", + "creationToken": "testVol1", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "account1/pool1/testVol2", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "log", + "serviceLevel": "Premium", + "creationToken": "testVol2", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "account1/pool1/testVol3", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "shared", + "serviceLevel": "Premium", + "creationToken": "testVol3", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "account1/pool1/testVol4", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "data-log", + "serviceLevel": "Premium", + "creationToken": "testVol4", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + }, + { + "name": "account1/pool1/testVol5", + "properties": { + "provisioningState": "Succeeded", + "throughputMibps": 10.0, + "proximityPlacementGroup": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/cys_sjain_fcp_rg/providers/Microsoft.Compute/proximityPlacementGroups/svlqa_sjain_multivolume_ppg", + "volumeSpecName": "shared-log", + "serviceLevel": "Premium", + "creationToken": "testVol5", + "usageThreshold": 107374182400, + "subnetId": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3" + } + } + ] + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_List.json new file mode 100644 index 000000000000..d5878f1a30a3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/VolumeGroups_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d633cc2e-722b-4ae1-b636-bbd9e4c60ed9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/volumeGroups/group1", + "name": "group1", + "type": "Microsoft.NetApp/netAppAccounts/volumeGroups", + "location": "eastus", + "properties": { + "provisioningState": "Succeeded", + "groupMetaData": { + "groupDescription": "Volume group", + "applicationType": "SAP-HANA", + "applicationIdentifier": "DEV", + "volumesCount": 5 + } + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_AuthorizeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_AuthorizeReplication.json new file mode 100644 index 000000000000..ffb8bb8e133a --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_AuthorizeReplication.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "remoteVolumeResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRemoteRG/providers/Microsoft.NetApp/netAppAccounts/remoteAccount1/capacityPools/remotePool1/volumes/remoteVolume1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_BackupStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_BackupStatus.json new file mode 100644 index 000000000000..2b15662b7dec --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_BackupStatus.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Mirrored", + "unhealthyReason": "", + "errorMessage": "", + "lastTransferSize": 100000, + "lastTransferType": "", + "totalTransferBytes": 100000 + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_BreakReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_BreakReplication.json new file mode 100644 index 000000000000..e53f6a24acb1 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-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": "2021-10-01", + "body": { + "forceBreakReplication": false + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_CreateOrUpdate.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_CreateOrUpdate.json new file mode 100644 index 000000000000..efecc76b2b16 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_CreateOrUpdate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-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, + "throughputMibps": 128, + "encryptionKeySource": "Microsoft.KeyVault" + } + } + }, + "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", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "encryptionKeySource": "Microsoft.KeyVault" + }, + "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", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "encryptionKeySource": "Microsoft.KeyVault" + }, + "type": "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Delete.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Delete.json new file mode 100644 index 000000000000..9e790f7e5327 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-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": "2021-10-01" + }, + "responses": { + "204": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_DeleteReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_DeleteReplication.json new file mode 100644 index 000000000000..e1c2bd44914d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_DeleteReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Get.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Get.json new file mode 100644 index 000000000000..bf89752114d3 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-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", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2" + } + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_List.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_List.json new file mode 100644 index 000000000000..79b0f665c23f --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "api-version": "2021-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", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2" + } + } + ] + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_PoolChange.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_PoolChange.json new file mode 100644 index 000000000000..548d27e56bbc --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_PoolChange.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "newPoolResourceId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ReInitializeReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ReInitializeReplication.json new file mode 100644 index 000000000000..e1c2bd44914d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ReInitializeReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ReplicationStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ReplicationStatus.json new file mode 100644 index 000000000000..c0a573b49871 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-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": "2021-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/2021-10-01/examples/Volumes_RestoreStatus.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_RestoreStatus.json new file mode 100644 index 000000000000..10a09305223b --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_RestoreStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "healthy": true, + "relationshipStatus": "Idle", + "mirrorState": "Uninitialized", + "unhealthyReason": "", + "errorMessage": "", + "totalTransferBytes": 100000 + } + } + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ResyncReplication.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ResyncReplication.json new file mode 100644 index 000000000000..e1c2bd44914d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_ResyncReplication.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "location": "eastus", + "properties": {} + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Revert.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Revert.json new file mode 100644 index 000000000000..91295f567177 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Revert.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-10-01", + "body": { + "snapshotId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRG/providers/Microsoft.NetApp/netAppAccounts/account1/capacityPools/pool1/volumes/volume1/snapshots/snapshot1" + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Update.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Update.json new file mode 100644 index 000000000000..0d4ce15f467d --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/examples/Volumes_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "D633CC2E-722B-4AE1-B636-BBD9E4C60ED9", + "resourceGroupName": "myRG", + "accountName": "account1", + "poolName": "pool1", + "volumeName": "volume1", + "api-version": "2021-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", + "throughputMibps": 128, + "subnetId": "/subscriptions/9760acf5-4638-11e7-9bdb-020073ca7778/resourceGroups/myRP/providers/Microsoft.Network/virtualNetworks/testvnet3/subnets/testsubnet3", + "networkFeatures": "Standard", + "networkSiblingSetId": "0f434a03-ce0b-4935-81af-d98652ffb1c4", + "storageToNetworkProximity": "T2", + "dataProtection": { + "snapshot": { + "snapshotPolicyId": "/subscriptions/D633CC2E-722B-4AE1-B636-BBD9E4C60ED9/resourceGroups/myRP/providers/Microsoft.NetApp/netAppAccounts/account1/snapshotPolicies/snapshotPolicy1" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/netapp.json b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/netapp.json new file mode 100644 index 000000000000..eb0aa6bfe0f2 --- /dev/null +++ b/specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-10-01/netapp.json @@ -0,0 +1,6969 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft NetApp", + "description": "Microsoft NetApp Azure Resource Provider specification", + "version": "2021-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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "OperationList": { + "$ref": "examples/OperationList.json" + } + } + } + }, + "/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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "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/FilePathAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckFilePathAvailability": { + "$ref": "examples/CheckFilePathAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkQuotaAvailability": { + "post": { + "tags": [ + "NetApp Resource" + ], + "summary": "Check quota availability", + "description": "Check if a quota is available.", + "operationId": "NetAppResource_CheckQuotaAvailability", + "parameters": [ + { + "name": "body", + "in": "body", + "description": "Quota availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaAvailabilityRequest" + }, + "x-ms-client-flatten": true + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "CheckQuotaAvailability": { + "$ref": "examples/CheckQuotaAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits": { + "get": { + "tags": [ + "NetApp Resource" + ], + "summary": "Get quota limits", + "description": "Get the default and current limits for quotas", + "operationId": "NetAppResourceQuotaLimits_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionQuotaItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "QuotaLimits": { + "$ref": "examples/QuotaLimits_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits/{quotaLimitName}": { + "get": { + "tags": [ + "NetApp Resource" + ], + "summary": "Get quota limits", + "description": "Get the default and current subscription quota limit", + "operationId": "NetAppResourceQuotaLimits_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/location" + }, + { + "$ref": "#/parameters/QuotaLimitName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SubscriptionQuotaItem" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "QuotaLimits": { + "$ref": "examples/QuotaLimits_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/netAppAccounts": { + "get": { + "summary": "Describe all NetApp Accounts in a subscription", + "description": "List and describe all NetApp accounts in the subscription.", + "tags": [ + "NetApp Accounts" + ], + "operationId": "Accounts_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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": { + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "201": { + "description": "Account created", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "description": "Delete the specified NetApp account", + "responses": { + "202": { + "description": "Accepted -- 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-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - account updated", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/netAppAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/cloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - pool updated", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "201": { + "description": "Pool created", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/capacityPool" + } + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- 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-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volumes" + ], + "operationId": "Volumes_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/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-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volume" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/cloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "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" + }, + { + "in": "query", + "name": "forceDelete", + "type": "boolean", + "description": "An option to force delete the volume. Will cleanup resources connected to the particular volume", + "required": false + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted -- 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Delete": { + "$ref": "examples/Volumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/revert": { + "post": { + "tags": [ + "Volumes Revert" + ], + "summary": "Revert a volume to one of its snapshots", + "description": "Revert a volume to the snapshot specified in the body", + "operationId": "Volumes_Revert", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Object for snapshot to revert supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeRevert" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_Revert": { + "$ref": "examples/Volumes_Revert.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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Optional body to force break the replication.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/breakReplicationRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/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 destination to source.", + "operationId": "Volumes_ResyncReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Authorize request object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/authorizeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_AuthorizeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/reinitializeReplication": { + "post": { + "tags": [ + "Volumes Replication" + ], + "summary": "ReInitialize volume replication", + "description": "Re-Initializes the replication connection on the destination volume", + "operationId": "Volumes_ReInitializeReplication", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_ReInitializeReplication": { + "$ref": "examples/Volumes_ReInitializeReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/poolChange": { + "post": { + "tags": [ + "Pool Change" + ], + "summary": "Change pool for volume", + "description": "Moves volume to another pool", + "operationId": "Volumes_PoolChange", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Move volume to the pool supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/poolChangeRequest" + } + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Volumes_AuthorizeReplication": { + "$ref": "examples/Volumes_PoolChange.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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/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": "../../../../../common-types/resource-management/v2/types.json#/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-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "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": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Snapshots_Delete": { + "$ref": "examples/Snapshots_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}/restoreFiles": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_RestoreFiles", + "summary": "Create a new Snapshot Restore Files request", + "description": "Restore the specified files from the specified snapshot to the active filesystem", + "parameters": [ + { + "name": "body", + "description": "Restore payload supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotRestoreFiles" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SnapshotName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - terminal state" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Snapshots_SingleFileRestore": { + "$ref": "examples/Snapshots_SingleFileRestore.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies": { + "get": { + "operationId": "SnapshotPolicies_List", + "description": "List snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_List": { + "$ref": "examples/SnapshotPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}": { + "get": { + "operationId": "SnapshotPolicies_Get", + "description": "Get a snapshot Policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_Get": { + "$ref": "examples/SnapshotPolicies_Get.json" + } + } + }, + "put": { + "operationId": "SnapshotPolicies_Create", + "description": "Create a snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - snapshot Policy updated", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "201": { + "description": "Snapshot Policy created", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "SnapshotPolicies_Create": { + "$ref": "examples/SnapshotPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Snapshot Policy" + ], + "operationId": "SnapshotPolicies_Update", + "description": "Patch a snapshot policy", + "parameters": [ + { + "name": "body", + "description": "Snapshot policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/snapshotPolicyPatch" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/snapshotPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SnapshotPolicies_Update": { + "$ref": "examples/SnapshotPolicies_Update.json" + } + } + }, + "delete": { + "operationId": "SnapshotPolicies_Delete", + "description": "Delete snapshot policy", + "tags": [ + "Snapshot Policy" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SnapshotPolicies_Delete": { + "$ref": "examples/SnapshotPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/snapshotPolicies/{snapshotPolicyName}/volumes": { + "get": { + "tags": [ + "Snapshot Policy List Volumes" + ], + "summary": "Get volumes for snapshot policy", + "description": "Get volumes associated with snapshot policy", + "operationId": "SnapshotPolicies_ListVolumes", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/SnapshotPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/snapshotPolicyVolumeList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "SnapshotPolicies_ListVolumes": { + "$ref": "examples/SnapshotPolicies_ListVolumes.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backupStatus": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get volume's backup status", + "description": "Get the status of the backup for a volume", + "operationId": "Backups_GetStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_BackupStatus": { + "$ref": "examples/Volumes_BackupStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/restoreStatus": { + "get": { + "tags": [ + "Restore" + ], + "summary": "Get volume's restore status", + "description": "Get the status of the restore for a volume", + "operationId": "Backups_GetVolumeRestoreStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/restoreStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Volumes_RestoreStatus": { + "$ref": "examples/Volumes_RestoreStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups for a Netapp Account", + "description": "List all Backups for a Netapp Account", + "operationId": "AccountBackups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_List": { + "$ref": "examples/Backups_Account_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/accountBackups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get Backup for a Netapp Account", + "description": "Gets the specified backup for a Netapp Account", + "operationId": "AccountBackups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "AccountBackups_Get": { + "$ref": "examples/Backups_Account_Get.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete Backup for a Netapp Account", + "description": "Delete the specified Backup for a Netapp Account", + "operationId": "AccountBackups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "AccountBackups_Delete": { + "$ref": "examples/Backups_Account_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "summary": "List Backups", + "description": "List all backups for a volume", + "operationId": "Backups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupsList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/Backups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/backups/{backupName}": { + "get": { + "tags": [ + "Backups" + ], + "summary": "Get a backup", + "description": "Gets the specified backup of the volume", + "operationId": "Backups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/Backups_Get.json" + } + } + }, + "put": { + "tags": [ + "Backups" + ], + "summary": "Create a backup", + "description": "Create a backup for the volume", + "operationId": "Backups_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backup" + } + } + ], + "responses": { + "200": { + "description": "OK created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Backups_Create": { + "$ref": "examples/Backups_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backups" + ], + "summary": "Patch a backup", + "description": "Patch a backup for the volume", + "operationId": "Backups_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup object supplied in the body of the operation.", + "in": "body", + "schema": { + "$ref": "#/definitions/backupPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/backup" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Backups_Update": { + "$ref": "examples/Backups_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backups" + ], + "summary": "Delete backup", + "description": "Delete a backup of the volume", + "operationId": "Backups_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/BackupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/Backups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "List backup policies", + "description": "List backup policies for Netapp Account", + "operationId": "BackupPolicies_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPoliciesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_List": { + "$ref": "examples/BackupPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/backupPolicies/{backupPolicyName}": { + "get": { + "tags": [ + "Backup Policy" + ], + "summary": "Get a backup Policy", + "description": "Get a particular backup Policy", + "operationId": "BackupPolicies_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Backups_Get": { + "$ref": "examples/BackupPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "Backup Policy" + ], + "summary": "Create a backup policy", + "description": "Create a backup policy for Netapp Account", + "operationId": "BackupPolicies_Create", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicy" + } + } + ], + "responses": { + "200": { + "description": "Backup Policy created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "201": { + "description": "Backup created", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "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-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BackupPolicies_Create": { + "$ref": "examples/BackupPolicies_Create.json" + } + } + }, + "patch": { + "tags": [ + "Backup Policy" + ], + "summary": "Patch a backup policy", + "description": "Patch a backup policy for Netapp Account", + "operationId": "BackupPolicies_Update", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "body", + "description": "Backup policy object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/backupPolicyPatch" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/backupPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "BackupPolicies_Update": { + "$ref": "examples/BackupPolicies_Update.json" + } + } + }, + "delete": { + "tags": [ + "Backup Policy" + ], + "summary": "Delete a backup policy", + "description": "Delete backup policy", + "operationId": "BackupPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/BackupPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- Create or update 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-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Backups_Delete": { + "$ref": "examples/BackupPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "summary": "List vaults", + "description": "List vaults for a Netapp Account", + "operationId": "Vaults_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/vaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Vaults_List": { + "$ref": "examples/Vaults_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups": { + "get": { + "summary": "Describe all volume groups", + "description": "List all volume groups for given account", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_ListByNetAppAccount", + "x-ms-pageable": { + "nextLinkName": null + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeGroupList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "VolumeGroups_List": { + "$ref": "examples/VolumeGroups_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/volumeGroups/{volumeGroupName}": { + "get": { + "summary": "Describe a Volume Group", + "description": "Get details of the specified volume group", + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "VolumeGroups_Get": { + "$ref": "examples/VolumeGroups_Get.json" + } + } + }, + "put": { + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Create", + "summary": "Create the specified volume group and volumes. Creating volume group will create all the volumes specified in request body implicitly. Once volumes are created using volume group, those will be treated as regular volumes thereafter.", + "description": "Create a volume group along with specified volumes", + "parameters": [ + { + "name": "body", + "description": "Volume Group object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Volume group created", + "schema": { + "$ref": "#/definitions/volumeGroupDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "VolumeGroups_Create": { + "$ref": "examples/VolumeGroups_Create.json" + } + } + }, + "delete": { + "tags": [ + "Volume Groups" + ], + "operationId": "VolumeGroups_Delete", + "summary": "Delete a volume group", + "description": "Delete the specified volume group only if there are no volumes under volume group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/VolumeGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- 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": { + "VolumeGroups_Delete": { + "$ref": "examples/VolumeGroups_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes": { + "get": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_ListByVolume", + "summary": "List of all the subvolumes", + "description": "Returns a list of the subvolumes in the volume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumesList" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Subvolumes_List": { + "$ref": "examples/Subvolumes_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}": { + "get": { + "tags": [ + "Subvolumes" + ], + "summary": "Get the path associated with the subvolumeName", + "description": "Returns the path associated with the subvolumeName provided", + "operationId": "Subvolumes_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-examples": { + "Subvolumes_Get": { + "$ref": "examples/Subvolumes_Get.json" + } + } + }, + "put": { + "tags": [ + "Subvolumes" + ], + "summary": "Create or clone a new subvolume", + "description": "Creates a subvolume in the path or clones the subvolume mentioned in the parentPath", + "operationId": "Subvolumes_Create", + "parameters": [ + { + "name": "body", + "description": "Subvolume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - updated", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "201": { + "description": "Subvolume created", + "schema": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "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-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Create": { + "$ref": "examples/Subvolumes_Create.json" + } + } + }, + "patch": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_Update", + "summary": "Update a subvolume", + "description": "Patch a subvolume", + "parameters": [ + { + "name": "body", + "description": "Subvolume object supplied in the body of the operation.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/subvolumePatchRequest" + } + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "schema": { + "$ref": "#/definitions/subvolumeInfo" + }, + "description": "OK" + }, + "202": { + "description": "Accepted -- Update request accepted; operation will complete asynchronously" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Update": { + "$ref": "examples/Subvolumes_Update.json" + } + } + }, + "delete": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_Delete", + "summary": "Delete a subvolume", + "description": "Delete subvolume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted -- 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-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Delete": { + "$ref": "examples/Subvolumes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/subvolumes/{subvolumeName}/getMetadata": { + "post": { + "tags": [ + "Subvolumes" + ], + "operationId": "Subvolumes_GetMetadata", + "summary": "Describe a subvolume", + "description": "Get details of the specified subvolume", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroup" + }, + { + "$ref": "#/parameters/AccountName" + }, + { + "$ref": "#/parameters/PoolName" + }, + { + "$ref": "#/parameters/VolumeName" + }, + { + "$ref": "#/parameters/SubvolumeName" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/subvolumeModel" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Subvolumes_Metadata": { + "$ref": "examples/Subvolumes_Metadata.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" + } + }, + "logSpecifications": { + "description": "Log specification of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "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." + }, + "supportedAggregationTypes": { + "description": "Support metric aggregation type.", + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Average" + ], + "type": "string", + "x-ms-enum": { + "name": "MetricAggregationType", + "modelAsString": true + } + } + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "The supported time grain types for the metrics.", + "items": { + "type": "string" + } + }, + "internalMetricName": { + "type": "string", + "description": "The internal metric name." + }, + "enableRegionalMdmAccount": { + "description": "Whether or not the service is using regional MDM accounts.", + "type": "boolean" + }, + "sourceMdmAccount": { + "type": "string", + "description": "The source MDM account." + }, + "sourceMdmNamespace": { + "type": "string", + "description": "The source MDM namespace." + }, + "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." + }, + "isInternal": { + "description": "Whether the metric is internal.", + "type": "boolean" + } + } + }, + "LogSpecification": { + "description": "Log Definition of a single resource metric.", + "type": "object", + "properties": { + "name": { + "description": "Name of log specification.", + "type": "string" + }, + "displayName": { + "description": "Display name of log specification.", + "type": "string" + } + } + }, + "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." + } + } + }, + "CheckAvailabilityResponse": { + "description": "Information regarding availability of a resource.", + "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" + } + } + }, + "FilePathAvailabilityRequest": { + "description": "File path availability request content - availability is based on the name and the subnetId.", + "required": [ + "name", + "subnetId" + ], + "type": "object", + "properties": { + "name": { + "description": "File path to verify.", + "type": "string" + }, + "subnetId": { + "type": "string", + "description": "The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes" + } + } + }, + "QuotaAvailabilityRequest": { + "description": "Quota availability request content.", + "required": [ + "name", + "type", + "resourceGroup" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the resource 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": "CheckQuotaNameResourceTypes", + "modelAsString": true + } + }, + "resourceGroup": { + "description": "Resource group name.", + "type": "string" + } + } + }, + "SubscriptionQuotaItemList": { + "description": "List of Subscription Quota Items", + "type": "object", + "properties": { + "value": { + "description": "A list of SubscriptionQuotaItems", + "type": "array", + "items": { + "$ref": "#/definitions/SubscriptionQuotaItem" + } + } + } + }, + "SubscriptionQuotaItem": { + "description": "Information regarding Subscription Quota Item.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SubscriptionQuotaItem properties", + "$ref": "#/definitions/SubscriptionQuotaItemProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "SubscriptionQuotaItemProperties": { + "description": "SubscriptionQuotaItem Properties", + "type": "object", + "properties": { + "current": { + "description": "The current quota value.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "default": { + "description": "The default quota value.", + "readOnly": true, + "type": "integer", + "format": "int32" + } + } + }, + "netAppAccountList": { + "description": "List of NetApp account resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Multiple NetApp accounts", + "items": { + "$ref": "#/definitions/netAppAccount" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "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" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "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 + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "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" + } + }, + "encryption": { + "description": "Encryption settings", + "$ref": "#/definitions/accountEncryption" + } + } + }, + "activeDirectory": { + "description": "Active Directory", + "type": "object", + "properties": { + "activeDirectoryId": { + "type": "string", + "x-nullable": true, + "description": "Id of the Active Directory" + }, + "username": { + "type": "string", + "description": "Username of Active Directory domain administrator" + }, + "password": { + "type": "string", + "x-ms-secret": true, + "description": "Plain text password of Active Directory domain administrator, value is masked in the response" + }, + "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", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "example": "101.102.103.104,101.102.103.105" + }, + "status": { + "type": "string", + "description": "Status of the Active Directory", + "readOnly": true, + "enum": [ + "Created", + "Updating", + "InUse", + "Deleted", + "Error" + ], + "x-ms-enum": { + "name": "ActiveDirectoryStatus", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Active Directory created but not in use" + }, + { + "value": "InUse", + "description": "Active Directory in use by SMB Volume" + }, + { + "value": "Deleted", + "description": "Active Directory Deleted" + }, + { + "value": "Error", + "description": "Error with the Active Directory" + }, + { + "value": "Updating", + "description": "Active Directory Updating" + } + ] + } + }, + "statusDetails": { + "type": "string", + "description": "Any details in regards to the Status of the Active Directory", + "readOnly": true + }, + "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", + "default": "CN=Computers", + "description": "The Organizational Unit (OU) within the Windows Active Directory" + }, + "site": { + "type": "string", + "description": "The Active Directory site the service will limit Domain Controller discovery to" + }, + "backupOperators": { + "description": "Users to be added to the Built-in Backup Operator active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "administrators": { + "description": "Users to be added to the Built-in Administrators active directory group. A list of unique usernames without domain specifier", + "type": "array", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "kdcIP": { + "type": "string", + "pattern": "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((, ?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))*$", + "description": "kdc server IP addresses for the active directory machine. This optional parameter is used only while creating kerberos volume.", + "example": "101.102.103.104" + }, + "adName": { + "type": "string", + "maxLength": 64, + "minLength": 1, + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "example": "ADServerName" + }, + "serverRootCACertificate": { + "type": "string", + "maxLength": 10240, + "minLength": 1, + "description": "When LDAP over SSL/TLS is enabled, the LDAP client is required to have base64 encoded Active Directory Certificate Service's self-signed root CA certificate, this optional parameter is used only for dual protocol with LDAP user-mapping volumes.", + "x-ms-secret": true, + "example": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURuVENDQW9XZ0F3SUJBZ0lRR3FXdnRxeHBvSTFJV3Z4VGdJbElWREFOQmdrcWhraUc5dzBCQVFzRkFEQlYKTVJNd0VRWUtDWkltaVpQeUxHUUJHUllEWTI5dE1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSGFHRnlhV3R5WWpFbApNQ01HQTFVRUF4TWNhR0Z5YVd0eVlpMVhTVTR0TWtKUFZrRkZTMEkwTkVJdFEwRXRNakFlRncweU1EQTFNRFV3Ck56TTVORGxhRncweU1EQTFNRFl3TnpRNU5EaGFNRlV4RXpBUkJnb0praWFKay9Jc1pBRVpGZ05qYjIweEZ6QVYKQmdvSmtpYUprL0lzWkFFWkZnZG9ZWEpwYTNKaU1TVXdJd1lEVlFRREV4eG9ZWEpwYTNKaUxWZEpUaTB5UWs5VwpRVVZMUWpRMFFpMURRUzB5TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFqMHByCnhaaXpNaDBqYnRwN1ZOc0JrRVJ2MVpZT0MzMEtqaGRWdEExRm1MeFM2cXlycmpMZUdXOXRSd2ZnUkR0eVBodTIKZVJTcVpTUjF6Z1hZR0s0Nys3Y3F0YnB2UElOektCb0dOWERIVTNxVWlleXJWSjFDVzRKNjJodUdrbUV1VVVkMApKMXBxNTVxbjk1SmRUbWh1dmZlTUxxeHB5c01nbGVnY281ZFhoN0hsQkhwaTNKMFN4ZnhVWmxKMVZiOFJZVEZhCkJiMGFlTVZaRzRKeVREaktiMlR1TmFXOG1aUE5vOFBMRDRocjdndFNZUEQvQ1dVVGV5QlpoZC9LTzNPczlWVEIKYmpLUGtWd0J2WEs2SlFMSGprNFBHS3VYZDhaWVFyajBtOWNIZDNmcWNYTXlQUnQ2TlJ4ak0yMTUxckFzSkVhNgpWZC9ta056akpXalBrT2VZUVFJREFRQUJvMmt3WnpBVEJna3JCZ0VFQVlJM0ZBSUVCaDRFQUVNQVFUQU9CZ05WCkhROEJBZjhFQkFNQ0FZWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVVDVEc2ODJSay9kMysKWGtHa0VMakRFMjI4ZjNnd0VBWUpLd1lCQkFHQ054VUJCQU1DQVFBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBR1RjTTNnWExIU05wS014RHEvUFpZbWZCMmNlN3VhMmxxbXpzZSt4QmthSTE0WXdzZE5ZQjZBVTNFWDM3QWpZCjd3bm9xQzY1N0U2RVhTODVDckoyNXJNTHo4OEtONGI3cUg5RUowSS9XVHg5YTdUT0ZENENWQThuL0xwNGh1Ym4KNlBFalY5NFlZWXBXTG1hTkkvbGFReWsxSHVJbDFSTCttVDFnSWQ4ZWZXZ1UvNmlVVEw3eGMrdjkyNHBuTHhISwpOSnNTV3c0NFk5a0R5SU9KOXFjWUlBN1lhTkxPZTRjSysvQlRvdDh0dVVKT1hHLzdBRmtxR2EyQVA4MmFZOStKCnkwSmU2OG5nTHJ1dVU4VHpneVpqdkFHcTRrVEVOdWFoaFdHVC9KWkEzOXhSNUV4MmNMUUplcE5NdnlZbUZ3Z1UKME8zYlA0OWNBVFVCMXoyQ3Y5aTRQbVk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K" + }, + "aesEncryption": { + "type": "boolean", + "description": "If enabled, AES encryption will be enabled for SMB communication." + }, + "ldapSigning": { + "type": "boolean", + "description": "Specifies whether or not the LDAP traffic needs to be signed." + }, + "securityOperators": { + "type": "array", + "description": "Domain Users in the Active directory to be given SeSecurityPrivilege privilege (Needed for SMB Continuously available shares for SQL). A list of unique usernames without domain specifier", + "items": { + "type": "string", + "maxLength": 255, + "minLength": 1 + }, + "example": [ + "user1", + "user2" + ] + }, + "ldapOverTLS": { + "type": "boolean", + "description": "Specifies whether or not the LDAP traffic needs to be secured via TLS." + }, + "allowLocalNfsUsersWithLdap": { + "type": "boolean", + "description": " If enabled, NFS client local users can also (in addition to LDAP users) access the NFS volumes." + }, + "encryptDCConnections": { + "type": "boolean", + "description": "If enabled, Traffic between the SMB server to Domain Controller (DC) will be encrypted." + }, + "ldapSearchScope": { + "description": "LDAP Search scope options", + "$ref": "#/definitions/ldapSearchScopeOpt" + } + } + }, + "ldapSearchScopeOpt": { + "type": "object", + "description": "LDAP search scope ", + "properties": { + "userDN": { + "type": "string", + "description": "This specifies the user DN, which overrides the base DN for user lookups.", + "maxLength": 255, + "example": "OU=fin,OU=hr,dc=domain,dc=com" + }, + "groupDN": { + "type": "string", + "description": "This specifies the group DN, which overrides the base DN for group lookups.", + "maxLength": 255, + "example": "OU=fin,OU=hr,dc=domain,dc=com" + }, + "groupMembershipFilter": { + "type": "string", + "description": "This specifies the custom LDAP search filter to be used when looking up group membership from LDAP server.", + "maxLength": 255, + "example": "cn=*99" + } + } + }, + "accountEncryption": { + "type": "object", + "description": "Encryption settings", + "properties": { + "keySource": { + "type": "string", + "description": "Encryption Key Source. Possible values are: 'Microsoft.NetApp'." + } + } + }, + "capacityPoolList": { + "description": "List of capacity pool resources", + "type": "object", + "properties": { + "value": { + "description": "List of Capacity pools", + "type": "array", + "items": { + "$ref": "#/definitions/capacityPool" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "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" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "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 + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "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 1TiB chunks (value must be multiply of 4398046511104).", + "default": 4398046511104 + }, + "serviceLevel": { + "title": "serviceLevel", + "$ref": "#/definitions/serviceLevel" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "totalThroughputMibps": { + "type": "number", + "description": "Total throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "utilizedThroughputMibps": { + "type": "number", + "description": "Utilized throughput of pool in Mibps", + "example": 164.221, + "readOnly": true + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + }, + "coolAccess": { + "type": "boolean", + "default": false, + "example": false, + "description": "If enabled (true) the pool can contain cool Access enabled volumes." + }, + "encryptionType": { + "title": "encryptionType", + "type": "string", + "x-nullable": true, + "description": "Encryption type of the capacity pool, set encryption type for data at rest for this pool and all volumes in it. This value can only be set when creating new pool.", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Single", + "Double" + ], + "x-ms-enum": { + "name": "encryptionType", + "modelAsString": true, + "values": [ + { + "value": "Single", + "description": "EncryptionType Single, volumes will use single encryption at rest" + }, + { + "value": "Double", + "description": "EncryptionType Double, volumes will use double encryption at rest" + } + ] + }, + "example": "Single", + "default": "Single" + } + } + }, + "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 1TiB chunks (value must be multiply of 4398046511104).", + "default": 4398046511104 + }, + "qosType": { + "title": "qosType", + "type": "string", + "description": "The qos type of the pool", + "enum": [ + "Auto", + "Manual" + ], + "x-ms-enum": { + "name": "qosType", + "modelAsString": true, + "values": [ + { + "value": "Auto", + "description": "qos type Auto" + }, + { + "value": "Manual", + "description": "qos type Manual" + } + ] + }, + "example": "Manual", + "default": "Auto" + } + } + }, + "volumeList": { + "description": "List of volume resources", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "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" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "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 + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "resourceIdentity": { + "type": "object", + "description": "Identity for the resource.", + "properties": { + "principalId": { + "description": "Object id of the identity resource", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The tenant id of the resource", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of Identity. Supported values are: 'None', 'SystemAssigned'", + "type": "string" + } + } + }, + "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", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-]{0,79}$", + "minLength": 1, + "maxLength": 80, + "example": "some-amazing-filepath" + }, + "serviceLevel": { + "title": "serviceLevel", + "$ref": "#/definitions/serviceLevel" + }, + "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, default NFSv3, CIFS for SMB protocol", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "NFSv4.1" + ] + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "snapshotId": { + "title": "Snapshot ID", + "type": "string", + "x-nullable": true, + "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" + }, + "backupId": { + "title": "Backup ID", + "type": "string", + "x-nullable": true, + "description": "UUID v4 or resource identifier used to identify the Backup.", + "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.", + "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" + }, + "networkFeatures": { + "title": "Network features", + "description": "Basic network, or Standard features available to the volume.", + "type": "string", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "NetworkFeatures", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Basic network feature." + }, + { + "value": "Standard", + "description": "Standard network feature." + } + ] + }, + "example": "Standard", + "default": "Basic" + }, + "networkSiblingSetId": { + "title": "Network Sibling Set ID", + "description": "Network Sibling Set ID for the the group of volumes sharing networking resources.", + "type": "string", + "readOnly": true, + "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" + }, + "storageToNetworkProximity": { + "title": "Storage to Network Proximity", + "description": "Provides storage to network proximity information for the volume.", + "type": "string", + "enum": [ + "Default", + "T1", + "T2" + ], + "readOnly": true, + "x-ms-enum": { + "name": "VolumeStorageToNetworkProximity", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Basic storage to network connectivity." + }, + { + "value": "T1", + "description": "Standard T1 storage to network connectivity." + }, + { + "value": "T2", + "description": "Standard T2 storage to network connectivity." + } + ] + }, + "example": "T1" + }, + "mountTargets": { + "title": "mountTargets", + "type": "array", + "readOnly": true, + "description": "List of mount targets", + "items": { + "$ref": "#/definitions/mountTargetProperties" + } + }, + "volumeType": { + "type": "string", + "description": "What type of volume is this. For destination volumes in Cross Region Replication, set type to DataProtection", + "example": "DataProtection" + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "replication": { + "title": "Replication", + "description": "Replication properties", + "type": "object", + "$ref": "#/definitions/replicationObject" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isRestoring": { + "type": "boolean", + "description": "Restoring" + }, + "snapshotDirectoryVisible": { + "type": "boolean", + "default": true, + "description": "If enabled (true) the volume will contain a read-only snapshot directory which provides access to each of the volume's snapshots (default to true)." + }, + "kerberosEnabled": { + "type": "boolean", + "description": "Describe if a volume is KerberosEnabled. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "securityStyle": { + "type": "string", + "description": "The security style of volume, default unix, defaults to ntfs for dual protocol or CIFS protocol", + "default": "unix", + "enum": [ + "ntfs", + "unix" + ], + "x-ms-enum": { + "name": "SecurityStyle", + "modelAsString": true + } + }, + "smbEncryption": { + "type": "boolean", + "description": "Enables encryption for in-flight smb3 data. Only applicable for SMB/DualProtocol volume. To be used with swagger version 2020-08-01 or later", + "example": false, + "default": false + }, + "smbContinuouslyAvailable": { + "type": "boolean", + "description": "Enables continuously available share property for smb volume. Only applicable for SMB volume", + "example": false, + "default": false + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as input only for manual qosType volume", + "type": "number", + "default": 0.0, + "example": 128.22 + }, + "encryptionKeySource": { + "description": "Encryption Key Source. Possible values are: 'Microsoft.NetApp'", + "type": "string" + }, + "ldapEnabled": { + "type": "boolean", + "description": "Specifies whether LDAP is enabled or not for a given NFS volume.", + "example": false, + "default": false + }, + "coolAccess": { + "type": "boolean", + "description": "Specifies whether Cool Access(tiering) is enabled for the volume.", + "example": false, + "default": false + }, + "coolnessPeriod": { + "type": "integer", + "description": "Specifies the number of days after which data that is not accessed by clients will be tiered.", + "example": 7, + "minimum": 7, + "maximum": 63, + "format": "int32" + }, + "unixPermissions": { + "type": "string", + "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.", + "minLength": 4, + "maxLength": 4, + "x-nullable": true, + "example": "0770", + "default": "0770" + }, + "cloneProgress": { + "description": "When a volume is being restored from another volume's snapshot, will show the percentage completion of this cloning process. When this value is empty/null there is no cloning process currently happening on this volume. This value will update every 5 minutes during cloning.", + "type": "integer", + "format": "int32", + "example": 10, + "x-nullable": true, + "readOnly": true + }, + "avsDataStore": { + "title": "avsDataStore", + "type": "string", + "description": "Specifies whether the volume is enabled for Azure VMware Solution (AVS) datastore purpose", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "avsDataStore", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "avsDataStore is enabled" + }, + { + "value": "Disabled", + "description": "avsDataStore is disabled" + } + ] + }, + "example": "Enabled", + "default": "Disabled" + }, + "isDefaultQuotaEnabled": { + "type": "boolean", + "description": "Specifies if default quota is enabled for the volume.", + "example": false, + "default": false + }, + "defaultUserQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .", + "example": 4, + "default": 0 + }, + "defaultGroupQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.", + "example": 4, + "default": 0 + }, + "maximumNumberOfFiles": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Maximum number of files allowed. Needs a service request in order to be changed. Only allowed to be changed if volume quota is more than 4TiB.", + "example": 100000000 + }, + "volumeGroupName": { + "type": "string", + "description": "Volume Group Name", + "readOnly": true + }, + "capacityPoolResourceId": { + "type": "string", + "description": "Pool Resource Id used in case of creating a volume through volume group" + }, + "proximityPlacementGroup": { + "type": "string", + "description": "Proximity placement group associated with the volume", + "example": "/subscriptions/aaaaaaaa-1234-1234-1224-234567891011/resourceGroups/testGroup/providers/Microsoft.Compute/proximityPlacementGroups/testppg" + }, + "t2Network": { + "type": "string", + "description": "T2 network information", + "example": "Test-T2-Alias", + "readOnly": true + }, + "volumeSpecName": { + "type": "string", + "description": "Volume spec name is the application specific designation or identifier for the particular volume in a volume group for e.g. data, log", + "example": "Data" + }, + "placementRules": { + "title": "Volume placement rules", + "description": "Application specific placement rules for the particular volume", + "type": "array", + "items": { + "$ref": "#/definitions/placementKeyValuePairs" + } + }, + "enableSubvolumes": { + "type": "string", + "description": "Flag indicating whether subvolume operations are enabled on the volume", + "example": "Enabled", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "enableSubvolumes", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "subvolumes are enabled" + }, + { + "value": "Disabled", + "description": "subvolumes are not enabled" + } + ] + } + } + } + }, + "exportPolicyRule": { + "description": "Volume Export Policy Rule", + "type": "object", + "properties": { + "ruleIndex": { + "type": "integer", + "description": "Order index", + "format": "int32" + }, + "unixReadOnly": { + "type": "boolean", + "description": "Read only access" + }, + "unixReadWrite": { + "type": "boolean", + "description": "Read and write access" + }, + "kerberos5ReadOnly": { + "type": "boolean", + "description": "Kerberos5 Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5ReadWrite": { + "type": "boolean", + "description": "Kerberos5 Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5iReadOnly": { + "type": "boolean", + "description": "Kerberos5i Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5iReadWrite": { + "type": "boolean", + "description": "Kerberos5i Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "kerberos5pReadOnly": { + "type": "boolean", + "description": "Kerberos5p Read only access. To be use with swagger version 2020-05-01 or later", + "example": false, + "default": false + }, + "kerberos5pReadWrite": { + "type": "boolean", + "description": "Kerberos5p Read and write access. To be use with swagger version 2020-05-01 or later", + "example": true, + "default": false + }, + "cifs": { + "type": "boolean", + "description": "Allows CIFS protocol" + }, + "nfsv3": { + "type": "boolean", + "description": "Allows NFSv3 protocol. Enable only for NFSv3 type volumes" + }, + "nfsv41": { + "type": "boolean", + "description": "Allows NFSv4.1 protocol. Enable only for NFSv4.1 type volumes" + }, + "allowedClients": { + "type": "string", + "description": "Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names" + }, + "hasRootAccess": { + "type": "boolean", + "description": "Has root access to volume", + "example": true, + "default": true + }, + "chownMode": { + "type": "string", + "description": "This parameter specifies who is authorized to change the ownership of a file. restricted - Only root user can change the ownership of the file. unrestricted - Non-root users can change ownership of files that they own.", + "default": "Restricted", + "enum": [ + "Restricted", + "Unrestricted" + ], + "x-ms-enum": { + "name": "ChownMode", + "modelAsString": true + } + } + } + }, + "volumeBackupProperties": { + "description": "Volume Backup Properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "description": "Backup Policy Resource ID" + }, + "policyEnforced": { + "type": "boolean", + "description": "Policy Enforced" + }, + "vaultId": { + "type": "string", + "description": "Vault Resource ID" + }, + "backupEnabled": { + "type": "boolean", + "description": "Backup Enabled" + } + } + }, + "replicationObject": { + "description": "Replication properties", + "type": "object", + "required": [ + "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" + ], + "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." + } + } + }, + "volumeSnapshotProperties": { + "description": "Volume Snapshot Properties", + "type": "object", + "properties": { + "snapshotPolicyId": { + "type": "string", + "description": "Snapshot Policy ResourceId" + } + } + }, + "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", + "$ref": "#/definitions/serviceLevel" + }, + "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" + } + } + } + }, + "throughputMibps": { + "title": "Maximum throughput in Mibps that can be achieved by this volume and this will be accepted as input only for manual qosType volume", + "type": "number", + "default": 0.0, + "example": 128.22 + }, + "dataProtection": { + "title": "DataProtection", + "description": "DataProtection type volumes include an object containing details of the replication", + "properties": { + "backup": { + "title": "Backup", + "description": "Backup Properties", + "type": "object", + "$ref": "#/definitions/volumeBackupProperties" + }, + "snapshot": { + "title": "Snapshot", + "description": "Snapshot properties.", + "$ref": "#/definitions/volumeSnapshotProperties" + } + } + }, + "isDefaultQuotaEnabled": { + "type": "boolean", + "description": "Specifies if default quota is enabled for the volume.", + "example": false, + "default": false + }, + "defaultUserQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default user quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies .", + "example": 4, + "default": 0 + }, + "defaultGroupQuotaInKiBs": { + "type": "integer", + "format": "int64", + "description": "Default group quota for volume in KiBs. If isDefaultQuotaEnabled is set, the minimum value of 4 KiBs applies.", + "example": 4, + "default": 0 + }, + "unixPermissions": { + "type": "string", + "description": "UNIX permissions for NFS volume accepted in octal 4 digit format. First digit selects the set user ID(4), set group ID (2) and sticky (1) attributes. Second digit selects permission for the owner of the file: read (4), write (2) and execute (1). Third selects permissions for other users in the same group. the fourth for other users not in the group. 0755 - gives read/write/execute permissions to owner and read/execute to group and other users.", + "minLength": 4, + "maxLength": 4, + "x-nullable": true, + "example": "0770" + } + } + }, + "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" + }, + "smbServerFqdn": { + "title": "smbServerFQDN", + "description": "The SMB server's Fully Qualified Domain Name, FQDN", + "type": "string", + "example": "fullyqualified.domainname.com" + } + } + }, + "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" + }, + "properties": { + "description": "Snapshot Properties", + "$ref": "#/definitions/snapshotProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPatch": { + "description": "Snapshot patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": {} + }, + "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" + }, + "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" + } + } + }, + "snapshotPolicyProperties": { + "description": "Snapshot policy properties", + "type": "object", + "properties": { + "hourlySchedule": { + "title": "hourlySchedule", + "description": "Schedule for hourly snapshots", + "type": "object", + "$ref": "#/definitions/hourlySchedule" + }, + "dailySchedule": { + "title": "dailySchedule", + "description": "Schedule for daily snapshots", + "type": "object", + "$ref": "#/definitions/dailySchedule" + }, + "weeklySchedule": { + "title": "weeklySchedule", + "description": "Schedule for weekly snapshots", + "type": "object", + "$ref": "#/definitions/weeklySchedule" + }, + "monthlySchedule": { + "title": "monthlySchedule", + "description": "Schedule for monthly snapshots", + "type": "object", + "$ref": "#/definitions/monthlySchedule" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + } + } + }, + "snapshotPolicy": { + "description": "Snapshot policy information", + "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" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "snapshotPoliciesList": { + "description": "List of Snapshot Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of snapshot policies", + "type": "array", + "items": { + "$ref": "#/definitions/snapshotPolicy" + } + } + } + }, + "snapshotPolicyDetails": { + "description": "Snapshot policy properties", + "type": "object", + "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": "Snapshot policy Properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyPatch": { + "description": "Snapshot policy Details for create and update", + "type": "object", + "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": "Snapshot Policy properties", + "$ref": "#/definitions/snapshotPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "snapshotPolicyVolumeList": { + "description": "Volumes associated with snapshot policy", + "type": "object", + "properties": { + "value": { + "description": "List of volumes", + "type": "array", + "items": { + "$ref": "#/definitions/volume" + } + } + } + }, + "hourlySchedule": { + "description": "Hourly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Hourly snapshot count to keep", + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "dailySchedule": { + "description": "Daily Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Daily snapshot count to keep", + "format": "int32" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "weeklySchedule": { + "description": "Weekly Schedule properties, make a snapshot every week at a specific day or days", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Weekly snapshot count to keep", + "format": "int32" + }, + "day": { + "type": "string", + "description": "Indicates which weekdays snapshot should be taken, accepts a comma separated list of week day names in english", + "example": "Sunday,Monday" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "monthlySchedule": { + "description": "Monthly Schedule properties", + "type": "object", + "properties": { + "snapshotsToKeep": { + "type": "integer", + "description": "Monthly snapshot count to keep", + "format": "int32" + }, + "daysOfMonth": { + "type": "string", + "description": "Indicates which days of the month snapshot should be taken. A comma delimited string.", + "example": "1,11,21" + }, + "hour": { + "type": "integer", + "description": "Indicates which hour in UTC timezone a snapshot should be taken", + "example": 11, + "format": "int32" + }, + "minute": { + "type": "integer", + "description": "Indicates which minute snapshot should be taken", + "example": 30, + "format": "int32" + }, + "usedBytes": { + "type": "integer", + "description": "Resource size in bytes, current storage usage for the volume in bytes", + "format": "int64" + } + } + }, + "volumeRevert": { + "description": "revert a volume to the snapshot", + "type": "object", + "properties": { + "snapshotId": { + "type": "string", + "description": "Resource id of the snapshot" + } + } + }, + "authorizeRequest": { + "description": "Authorize request", + "type": "object", + "properties": { + "remoteVolumeResourceId": { + "type": "string", + "description": "Resource id of the remote volume" + } + } + }, + "breakReplicationRequest": { + "description": "Break replication request", + "type": "object", + "properties": { + "forceBreakReplication": { + "type": "boolean", + "description": "If replication is in status transferring and you want to force break the replication, set to true" + } + } + }, + "poolChangeRequest": { + "description": "Pool change request", + "type": "object", + "required": [ + "newPoolResourceId" + ], + "properties": { + "newPoolResourceId": { + "type": "string", + "description": "Resource id of the pool to move volume to" + } + } + }, + "backupsList": { + "description": "List of Backups", + "type": "object", + "properties": { + "value": { + "description": "A list of Backups", + "type": "array", + "items": { + "$ref": "#/definitions/backup" + } + } + } + }, + "backup": { + "description": "Backup of a Volume", + "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" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPatch": { + "description": "Backup patch", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup Properties", + "$ref": "#/definitions/backupProperties", + "x-ms-client-flatten": true + } + } + }, + "backupProperties": { + "description": "Backup properties", + "type": "object", + "properties": { + "backupId": { + "title": "backupId", + "type": "string", + "readOnly": true, + "description": "UUID v4 used to identify the Backup", + "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" + }, + "creationDate": { + "title": "creationDate", + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The creation date of the backup", + "example": "2017-08-15 13:23:33" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "size": { + "type": "integer", + "readOnly": true, + "description": "Size of backup", + "format": "int64" + }, + "label": { + "type": "string", + "description": "Label for backup" + }, + "backupType": { + "title": "backupType", + "type": "string", + "readOnly": true, + "description": "Type of backup Manual or Scheduled", + "enum": [ + "Manual", + "Scheduled" + ], + "x-ms-enum": { + "name": "backupType", + "modelAsString": true, + "values": [ + { + "value": "Manual", + "description": "Manual backup" + }, + { + "value": "Scheduled", + "description": "Scheduled backup" + } + ] + }, + "example": "Manual" + }, + "failureReason": { + "type": "string", + "readOnly": true, + "description": "Failure reason" + }, + "volumeName": { + "type": "string", + "readOnly": true, + "description": "Volume name" + }, + "useExistingSnapshot": { + "type": "boolean", + "description": "Manual backup an already existing snapshot. This will always be false for scheduled backups and true/false for manual backups", + "example": true, + "default": false + } + } + }, + "backupPolicyProperties": { + "description": "Backup policy properties", + "type": "object", + "properties": { + "backupPolicyId": { + "type": "string", + "readOnly": true, + "description": "Backup Policy Resource ID" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Azure lifecycle management" + }, + "dailyBackupsToKeep": { + "type": "integer", + "description": "Daily backups count to keep", + "format": "int32" + }, + "weeklyBackupsToKeep": { + "type": "integer", + "description": "Weekly backups count to keep", + "format": "int32" + }, + "monthlyBackupsToKeep": { + "type": "integer", + "description": "Monthly backups count to keep", + "format": "int32" + }, + "volumesAssigned": { + "type": "integer", + "readOnly": true, + "description": "Volumes using current backup policy", + "format": "int32" + }, + "enabled": { + "type": "boolean", + "description": "The property to decide policy is enabled or not" + }, + "volumeBackups": { + "description": "A list of volumes assigned to this policy", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/volumeBackups" + } + } + } + }, + "backupPolicy": { + "description": "Backup policy information", + "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" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "tags": { + "description": "Resource tags", + "$ref": "#/definitions/resourceTags" + }, + "properties": { + "description": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "backupPoliciesList": { + "description": "List of Backup Policies", + "type": "object", + "properties": { + "value": { + "description": "A list of backup policies", + "type": "array", + "items": { + "$ref": "#/definitions/backupPolicy" + } + } + } + }, + "backupPolicyDetails": { + "description": "Backup policy properties", + "x-ms-azure-resource": true, + "type": "object", + "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": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "backupPolicyPatch": { + "description": "Backup policy Details for create and update", + "type": "object", + "x-ms-azure-resource": true, + "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": "Backup policy Properties", + "$ref": "#/definitions/backupPolicyProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeBackups": { + "description": "Volume details using the backup policy", + "type": "object", + "readOnly": true, + "properties": { + "volumeName": { + "type": "string", + "description": "Volume name" + }, + "backupsCount": { + "type": "integer", + "description": "Total count of backups for volume", + "format": "int32" + }, + "policyEnabled": { + "type": "boolean", + "description": "Policy enabled" + } + } + }, + "vaultList": { + "description": "List of Vaults", + "type": "object", + "properties": { + "value": { + "description": "A list of vaults", + "type": "array", + "items": { + "$ref": "#/definitions/vault" + } + } + } + }, + "vault": { + "description": "Vault information", + "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" + }, + "properties": { + "description": "Vault Properties", + "$ref": "#/definitions/vaultProperties", + "x-ms-client-flatten": true + } + } + }, + "vaultProperties": { + "description": "Vault properties", + "type": "object", + "properties": { + "vaultName": { + "type": "string", + "readOnly": false, + "description": "Vault Name" + } + } + }, + "backupStatus": { + "description": "Backup status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "readOnly": true, + "description": "Backup health status" + }, + "relationshipStatus": { + "type": "string", + "readOnly": true, + "description": "Status of the backup mirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "readOnly": true, + "description": "The status of the backup", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "unhealthyReason": { + "type": "string", + "readOnly": true, + "description": "Reason for the unhealthy backup relationship" + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "Displays error message if the backup is in an error state" + }, + "lastTransferSize": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Displays the last transfer size" + }, + "lastTransferType": { + "type": "string", + "readOnly": true, + "description": "Displays the last transfer type" + }, + "totalTransferBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Displays the total bytes transferred" + } + } + }, + "restoreStatus": { + "description": "Restore status", + "type": "object", + "properties": { + "healthy": { + "type": "boolean", + "readOnly": true, + "description": "Restore health status" + }, + "relationshipStatus": { + "type": "string", + "readOnly": true, + "description": "Status of the restore SnapMirror relationship", + "enum": [ + "Idle", + "Transferring" + ], + "x-ms-enum": { + "name": "RelationshipStatus", + "modelAsString": true + } + }, + "mirrorState": { + "type": "string", + "readOnly": true, + "description": "The status of the restore", + "enum": [ + "Uninitialized", + "Mirrored", + "Broken" + ], + "x-ms-enum": { + "name": "MirrorState", + "modelAsString": true + } + }, + "unhealthyReason": { + "type": "string", + "readOnly": true, + "description": "Reason for the unhealthy restore relationship" + }, + "errorMessage": { + "type": "string", + "readOnly": true, + "description": "Displays error message if the restore is in an error state" + }, + "totalTransferBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Displays the total bytes transferred" + } + } + }, + "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." + } + }, + "description": "An error response from the service." + }, + "serviceLevel": { + "title": "serviceLevel", + "type": "string", + "description": "The service level of the file system", + "enum": [ + "Standard", + "Premium", + "Ultra", + "StandardZRS" + ], + "default": "Premium", + "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" + }, + { + "value": "StandardZRS", + "description": "Zone redundant storage service level" + } + ] + } + }, + "volumeGroupList": { + "description": "List of volume group resources", + "type": "object", + "properties": { + "value": { + "description": "List of volume Groups", + "type": "array", + "items": { + "$ref": "#/definitions/volumeGroup" + } + } + } + }, + "volumeGroup": { + "description": "Volume group resource", + "type": "object", + "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 group properties", + "$ref": "#/definitions/volumeGroupListProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeGroupDetails": { + "description": "Volume group resource for create", + "type": "object", + "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 group properties", + "$ref": "#/definitions/volumeGroupProperties", + "x-ms-client-flatten": true + } + } + }, + "volumeGroupMetaData": { + "description": "Volume group properties", + "type": "object", + "properties": { + "groupDescription": { + "type": "string", + "description": "Group Description", + "example": "group description" + }, + "applicationType": { + "type": "string", + "description": "Application Type", + "enum": [ + "SAP-HANA" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "example": "SAP-HANA" + }, + "applicationIdentifier": { + "type": "string", + "description": "Application specific identifier", + "example": "SH1" + }, + "globalPlacementRules": { + "title": "Global volume placement rules", + "description": "Application specific placement rules for the volume group", + "type": "array", + "items": { + "$ref": "#/definitions/placementKeyValuePairs" + } + }, + "deploymentSpecId": { + "type": "string", + "description": "Application specific identifier of deployment rules for the volume group", + "example": "12345678-1234-1234-1234-123456676765" + }, + "volumesCount": { + "type": "integer", + "format": "int64", + "description": "Number of volumes in volume group", + "example": 5, + "readOnly": true + } + } + }, + "volumeGroupProperties": { + "description": "Volume group properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available", + "readOnly": true + }, + "groupMetaData": { + "title": "groupMetaData", + "description": "Volume group details", + "type": "object", + "$ref": "#/definitions/volumeGroupMetaData" + }, + "volumes": { + "description": "List of volumes from group", + "type": "array", + "items": { + "$ref": "#/definitions/volumeGroupVolumeProperties" + } + } + } + }, + "volumeGroupListProperties": { + "description": "Volume group properties", + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available", + "readOnly": true + }, + "groupMetaData": { + "title": "groupMetaData", + "description": "Volume group details", + "type": "object", + "$ref": "#/definitions/volumeGroupMetaData" + } + } + }, + "volumeGroupVolumeProperties": { + "description": "Volume resource", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "properties" + ], + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "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 + } + } + }, + "placementKeyValuePairs": { + "description": "Application specific parameters for the placement of volumes in the volume group", + "type": "object", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string", + "description": "Key for an application specific parameter for the placement of volumes in the volume group", + "example": "key1" + }, + "value": { + "type": "string", + "description": "Value for an application specific parameter for the placement of volumes in the volume group", + "example": "value1" + } + } + }, + "snapshotRestoreFiles": { + "description": "Restore payload for Single File Snapshot Restore", + "type": "object", + "x-ms-azure-resource": true, + "required": [ + "filePaths" + ], + "properties": { + "filePaths": { + "description": "List of files to be restored", + "type": "array", + "minItems": 1, + "maxItems": 10, + "items": { + "type": "string", + "maxLength": 1024, + "minLength": 1 + }, + "example": [ + "/dir1/customer1.db", + "/dir1/customer2.db" + ] + }, + "destinationPath": { + "description": "Destination folder where the files will be restored", + "type": "string", + "example": "/AVSdataStore" + } + } + }, + "subvolumesList": { + "description": "List of Subvolumes", + "type": "object", + "properties": { + "value": { + "description": "A list of Subvolumes", + "type": "array", + "items": { + "$ref": "#/definitions/subvolumeInfo" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + } + }, + "subvolumeInfo": { + "description": "Subvolume Information properties", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Subvolume Properties", + "$ref": "#/definitions/subvolumeProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "subvolumePatchRequest": { + "description": "Subvolume Patch Request properties", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "properties": { + "description": "Subvolume Properties", + "$ref": "#/definitions/subvolumePatchParams", + "x-ms-client-flatten": true + } + } + }, + "subvolumePatchParams": { + "description": "Parameters with which a subvolume can be updated", + "type": "object", + "properties": { + "size": { + "title": "size", + "type": "integer", + "x-nullable": true, + "format": "int64", + "description": "Truncate subvolume to the provided size in bytes", + "example": 5 + }, + "path": { + "title": "path", + "type": "string", + "description": "path to the subvolume", + "example": "/pathToSubvolume" + } + } + }, + "subvolumeProperties": { + "description": "This represents path associated with the subvolume", + "type": "object", + "properties": { + "path": { + "title": "path", + "type": "string", + "description": "Path to the subvolume", + "example": "/subvolume1" + }, + "size": { + "title": "size", + "type": "integer", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "update" + ], + "format": "int64", + "description": "Truncate subvolume to the provided size in bytes", + "example": 5 + }, + "parentPath": { + "title": "name", + "x-nullable": true, + "type": "string", + "description": "parent path to the subvolume", + "example": "/parentPath" + }, + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "readOnly": true, + "example": "Available" + } + } + }, + "subvolumeModel": { + "description": "Result of the post subvolume and action is to get metadata of the subvolume.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "description": "It represents the minimal properties of the subvolume.", + "$ref": "#/definitions/subvolumeModelProperties", + "x-ms-client-flatten": true + } + } + }, + "subvolumeModelProperties": { + "description": "Properties which represents actual subvolume model which is stored as a file in the system.", + "type": "object", + "properties": { + "path": { + "title": "path", + "type": "string", + "description": "Path to the subvolume", + "example": "/subvolume1" + }, + "parentPath": { + "title": "parentpath", + "type": "string", + "description": "Path to the parent subvolume", + "example": "/parentPath" + }, + "size": { + "title": "size", + "type": "integer", + "format": "int64", + "description": "Size of subvolume", + "example": 5 + }, + "bytesUsed": { + "title": "bytesUsed", + "type": "integer", + "format": "int64", + "description": "Bytes used", + "example": 5 + }, + "permissions": { + "title": "permissions", + "type": "string", + "description": "Permissions of the subvolume", + "example": "777" + }, + "creationTimeStamp": { + "title": "creationTimeStamp", + "type": "string", + "format": "date-time", + "description": "Creation time and date", + "example": "2017-08-15T13:23:33Z" + }, + "accessedTimeStamp": { + "title": "accessedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent access time and date", + "example": "2017-08-15T13:23:33Z" + }, + "modifiedTimeStamp": { + "title": "modifiedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent modification time and date", + "example": "2017-08-15T13:23:33Z" + }, + "changedTimeStamp": { + "title": "changedTimeStamp", + "type": "string", + "format": "date-time", + "description": "Most recent change time and date", + "example": "2017-08-15T13:23:33Z" + }, + "provisioningState": { + "type": "string", + "description": "Azure lifecycle management", + "example": "Available" + } + } + } + }, + "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, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the capacity pool", + "x-ms-parameter-location": "method" + }, + "VolumeName": { + "name": "volumeName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "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 snapshot", + "x-ms-parameter-location": "method" + }, + "SnapshotPolicyName": { + "name": "snapshotPolicyName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the snapshot policy", + "x-ms-parameter-location": "method" + }, + "BackupName": { + "name": "backupName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the backup", + "x-ms-parameter-location": "method" + }, + "BackupPolicyName": { + "name": "backupPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "Backup policy Name which uniquely identify backup policy.", + "x-ms-parameter-location": "method" + }, + "QuotaLimitName": { + "name": "quotaLimitName", + "type": "string", + "in": "path", + "required": true, + "description": "The name of the Quota Limit", + "x-ms-parameter-location": "method" + }, + "VolumeGroupName": { + "name": "volumeGroupName", + "type": "string", + "in": "path", + "required": true, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "description": "The name of the volumeGroup", + "x-ms-parameter-location": "method" + }, + "SubvolumeName": { + "name": "subvolumeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subvolume.", + "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$", + "minLength": 1, + "maxLength": 64, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/netapp/resource-manager/readme.go.md b/specification/netapp/resource-manager/readme.go.md index c1f83eac59c0..191d1b5bc887 100644 --- a/specification/netapp/resource-manager/readme.go.md +++ b/specification/netapp/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-netapp-2021-10-01 - tag: package-netapp-2021-08-01 - tag: package-netapp-2021-06-01 - tag: package-netapp-2021-04-01 @@ -44,6 +45,15 @@ batch: - tag: package-2017-08-15 ``` +### Tag: package-netapp-2021-10-01 and go + +These settings apply only when `--tag=package-netapp-2021-10-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-netapp-2021-10-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-10-01/$(namespace) +``` + ### Tag: package-netapp-2021-08-01 and go These settings apply only when `--tag=package-netapp-2021-08-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 d1fa42031105..8be58885b9f3 100644 --- a/specification/netapp/resource-manager/readme.java.md +++ b/specification/netapp/resource-manager/readme.java.md @@ -18,6 +18,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-netapp ``` yaml $(java) && $(multiapi) batch: + - tag: package-netapp-2021-10-01 - tag: package-netapp-2021-08-01 - tag: package-netapp-2021-06-01 - tag: package-netapp-2021-04-01 @@ -41,12 +42,25 @@ batch: - tag: package-2017-08-15 ``` +### Tag: package-netapp-2021-10-01 and java + +These settings apply only when `--tag=package-netapp-2021-10-01 --java` is specified on the command line. +Please also specify the `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-netapp-2021-10-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.netapp.v2021_10_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2021_10_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-netapp-2021-08-01 and java These settings apply only when `--tag=package-netapp-2021-08-01 --java` is specified on the command line. Please also specify the `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-netapp-2021-06-01' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-netapp-2021-08-01' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.netapp.v2021_08_01 output-folder: $(azure-libraries-for-java-folder)/sdk/netapp/mgmt-v2021_08_01 @@ -54,7 +68,6 @@ regenerate-manager: true generate-interface: true ``` - ### Tag: package-netapp-2021-06-01 and java These settings apply only when `--tag=package-netapp-2021-06-01 --java` is specified on the command line. diff --git a/specification/netapp/resource-manager/readme.md b/specification/netapp/resource-manager/readme.md index 820e1452648b..6566fe866d1c 100644 --- a/specification/netapp/resource-manager/readme.md +++ b/specification/netapp/resource-manager/readme.md @@ -28,7 +28,16 @@ These are the global settings for the Azure NetApp Files API. title: NetAppManagementClient description: Microsoft NetApp Files Azure Resource Provider specification openapi-type: arm -tag: package-netapp-2021-08-01 +tag: package-netapp-2021-10-01 +``` + +### Tag: package-netapp-2021-10-01 + +These settings apply only when `--tag=package-netapp-2021-10-01` is specified on the command line. + +``` yaml $(tag) == 'package-netapp-2021-10-01' +input-file: +- Microsoft.NetApp/stable/2021-10-01/netapp.json ``` ### Tag: package-netapp-2021-08-01 diff --git a/specification/netapp/resource-manager/readme.python.md b/specification/netapp/resource-manager/readme.python.md index 7f66bdd60b0b..271daf8938f0 100644 --- a/specification/netapp/resource-manager/readme.python.md +++ b/specification/netapp/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.netapp @@ -13,12 +13,8 @@ package-version: 5.1.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/netapp/azure-mgmt-netapp/azure/mgmt/netapp ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/netapp/azure-mgmt-netapp -``` diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleDelete.json new file mode 100644 index 000000000000..883c6a3cb22c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete NSP access rule", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleGet.json new file mode 100644 index 000000000000..81a2a1631a4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get NSP Access Rule", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1" + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleList.json new file mode 100644 index 000000000000..d83abc555628 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRuleList.json @@ -0,0 +1,51 @@ +{ + "title": "List NSP Access Rules", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "accessRule1", + "id": "/subscriptions/rg1/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + }, + { + "name": "accessRule2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "paasrp1.contoso.org", + "paasrp2.contoso.org" + ], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRulePut.json new file mode 100644 index 000000000000..23f4fa7a8db8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAccessRulePut.json @@ -0,0 +1,58 @@ +{ + "title": "Create/Update NSP access rule", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "accessRuleName": "accessRule1", + "parameters": { + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + }, + "201": { + "body": { + "name": "accessRule1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1/accessRules/accessRule1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles/accessRules", + "properties": { + "provisioningState": "Succeeded", + "direction": "Inbound", + "addressPrefixes": [ + "10.11.0.0/16", + "10.10.1.0/24" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationDelete.json new file mode 100644 index 000000000000..4c497fbc607e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete NSP resource association", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationGet.json new file mode 100644 index 000000000000..6d94350da3f5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationGet.json @@ -0,0 +1,29 @@ +{ + "title": "Get NSP resource association", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1" + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "EnforceMode" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationList.json new file mode 100644 index 000000000000..b9ae83b66959 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationList.json @@ -0,0 +1,48 @@ +{ + "title": "List NSP resource associations", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "EnforceMode" + } + }, + { + "name": "association2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association2", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "DryRunMode" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationPut.json new file mode 100644 index 000000000000..52d5d79db569 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspAssociationPut.json @@ -0,0 +1,57 @@ +{ + "title": "Create/Update NSP association", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "associationName": "association1", + "parameters": { + "properties": { + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "EnforceMode" + } + } + }, + "responses": { + "200": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "EnforceMode" + } + } + }, + "201": { + "body": { + "name": "association1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/resourceAssociations/association1", + "type": "Microsoft.Network/networkSecurityPerimeters/resourceAssociations", + "properties": { + "provisioningState": "Succeeded", + "privateLinkResource": { + "id": "/subscriptions/{paasSubscriptionId}/resourceGroups/{paasResourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}" + }, + "profile": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/{profileName}" + }, + "accessMode": "EnforceMode" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileDelete.json new file mode 100644 index 000000000000..3aa62ed51f31 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete NSP profile", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileGet.json new file mode 100644 index 000000000000..a9cd5d203a92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileGet.json @@ -0,0 +1,23 @@ +{ + "title": "Get NSP Profile", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "name": "nsp1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileList.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileList.json new file mode 100644 index 000000000000..cd0492637aa1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfileList.json @@ -0,0 +1,36 @@ +{ + "title": "List NSP Profiles", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile2", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "resource location", + "properties": { + "accessRulesVersion": "0" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfilePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfilePut.json new file mode 100644 index 000000000000..50da34f76028 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/examples/NspProfilePut.json @@ -0,0 +1,37 @@ +{ + "title": "Create/Update NSP profile", + "parameters": { + "api-version": "2021-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkSecurityPerimeterName": "nsp1", + "profileName": "profile1", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkSecurityPerimeters/nsp1/profiles/profile1", + "type": "Microsoft.Network/networkSecurityPerimeters/profiles", + "location": "East US 2 EUAP", + "properties": { + "accessRulesVersion": "0" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/networkSecurityPerimeter.json b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/networkSecurityPerimeter.json index 74bbcbc922d9..be3bd67e7abd 100644 --- a/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/networkSecurityPerimeter.json +++ b/specification/network/resource-manager/Microsoft.Network/preview/2021-02-01-preview/networkSecurityPerimeter.json @@ -238,10 +238,511 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Get", + "description": "Gets the specified NSP profile.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP profile.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesGet": { + "$ref": "./examples/NspProfileGet.json" + } + } + }, + "put": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_CreateOrUpdate", + "description": "Creates or updates a network profile.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Parameters that hold the NspProfile resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Update - Profile is immutable resource. Returns the existing profile resource.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "201": { + "description": "Create - Returns the NspProfile resource created.", + "schema": { + "$ref": "#/definitions/NspProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesPut": { + "$ref": "./examples/NspProfilePut.json" + } + } + }, + "delete": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_Delete", + "description": "Deletes an NSP profile.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesDelete": { + "$ref": "./examples/NspProfileDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles": { + "get": { + "tags": [ + "NspProfiles" + ], + "operationId": "NspProfiles_List", + "description": "Lists the NSP profiles in the specified network security perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP profiles.", + "schema": { + "$ref": "#/definitions/NspProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspProfilesList": { + "$ref": "./examples/NspProfileList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules/{accessRuleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "#/parameters/AccessRuleNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Get", + "description": "Gets the specified NSP access rule by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP access rule.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRuleGet": { + "$ref": "./examples/NspAccessRuleGet.json" + } + } + }, + "put": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_CreateOrUpdate", + "description": "Creates or updates a network access rule.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Parameters that hold the NspAccessRule resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing access rule is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "201": { + "description": "Create - Returns the NspAccessRule resource created.", + "schema": { + "$ref": "#/definitions/NspAccessRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulePut": { + "$ref": "./examples/NspAccessRulePut.json" + } + } + }, + "delete": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_Delete", + "description": "Deletes an NSP access rule.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesDelete": { + "$ref": "./examples/NspAccessRuleDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/profiles/{profileName}/accessRules": { + "get": { + "tags": [ + "NspAccessRules" + ], + "operationId": "NspAccessRules_List", + "description": "Lists the NSP access rules in the specified NSP profile.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/ProfileNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP access rules.", + "schema": { + "$ref": "#/definitions/NspAccessRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAccessRulesList": { + "$ref": "./examples/NspAccessRuleList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations/{associationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "#/parameters/AssociationNameParameter" + } + ], + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Get", + "description": "Gets the specified NSP association by name.", + "responses": { + "200": { + "description": "OK - Returns information about the NSP resource association.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationGet": { + "$ref": "./examples/NspAssociationGet.json" + } + } + }, + "put": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_CreateOrUpdate", + "description": "Creates or updates a NSP resource association.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Parameters that hold the NspAssociation resource to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Existing resource association is updated. Returns the resource.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "201": { + "description": "Create - Returns the NspAssociation resource created.", + "schema": { + "$ref": "#/definitions/NspAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationPut": { + "$ref": "./examples/NspAssociationPut.json" + } + } + }, + "delete": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_Delete", + "description": "Deletes an NSP association resource.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationDelete": { + "$ref": "./examples/NspAssociationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityPerimeters/{networkSecurityPerimeterName}/resourceAssociations": { + "get": { + "tags": [ + "NspAssociations" + ], + "operationId": "NspAssociations_List", + "description": "Lists the NSP resource associations in the specified perimeter.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkSecurityPerimeterNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the list of NSP resource associations.", + "schema": { + "$ref": "#/definitions/NspAssociationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NspAssociationList": { + "$ref": "./examples/NspAssociationList.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/perimeterAssociableResourceTypes": { "get": { - "operationId": "PerimeterAssociableResourceTypes_Get", + "operationId": "PerimeterAssociableResourceTypes_List", "description": "Gets the list of resources that are onboarded with NSP. These resources can be associated with a network security perimeter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "parameters": [ { "$ref": "./network.json#/parameters/SubscriptionIdParameter" @@ -351,6 +852,261 @@ }, "description": "Properties of network security perimeter." }, + "NspProfile": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspProfileProperties", + "description": "Properties of the network security perimeter profile" + }, + "name": { + "type": "string", + "description": "The name of the profile resource that is unique within a perimeter. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Identifier of the network security perimeter profile in ARM id format." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The network security perimeter profile resource" + }, + "NspProfileListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspProfile" + }, + "description": "Gets a page of NSP profile" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP profiles. Contains a list of NSP profiles and a URL link to get the next set of results." + }, + "NspProfileProperties": { + "type": "object", + "properties": { + "accessRulesVersion": { + "readOnly": true, + "type": "string", + "description": "Version number that increases with every update to access rules within the profile." + } + }, + "description": "Properties of NSP profile." + }, + "NspAccessRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAccessRuleProperties", + "description": "Properties of the NSP access rule." + }, + "name": { + "type": "string", + "description": "The name of the access rule that is unique within a profile. This name can be used to access the resource." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP access rule identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP access rule resource" + }, + "NspAccessRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAccessRule" + }, + "description": "Gets a page of NSP access rule" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP access rules. Contains a list of NSP access rules and a URL link to get the next set of results." + }, + "NspAccessRuleProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the scope assignment resource." + }, + "direction": { + "type": "string", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "AccessRuleDirection", + "modelAsString": true + }, + "description": "Direction that specifies whether the access rules is inbound/outbound." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Inbound address prefixes (IPv4/IPv6)" + }, + "fullyQualifiedDomainNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Outbound rules fully qualified domain name format." + }, + "subscriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Subscription id in the ARM id format." + }, + "networkSecurityPerimeters": { + "type": "array", + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PerimeterBasedAccessRule" + }, + "description": "Inbound rule specified by the perimeter id." + } + }, + "description": "Properties of NSP access rule." + }, + "PerimeterBasedAccessRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "NSP id in the ARM id format." + }, + "perimeterGuid": { + "readOnly": true, + "type": "string", + "description": "Resource guid of the NSP supplied." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the NSP supplied." + } + } + }, + "NspAssociation": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NspAssociationProperties", + "description": "Properties of the NSP resource association." + }, + "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." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "NSP resource association identifier." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The NSP resource association resource" + }, + "NspAssociationsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NspAssociation" + }, + "description": "Gets a page of NSP resource associations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NSP resource associations. Contains a list of NSP resource associations and a URL link to get the next set of results." + }, + "NspAssociationProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource association resource." + }, + "privateLinkResource": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The PaaS resource to be associated." + }, + "profile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Profile id to which the PaaS resource is associated." + }, + "accessMode": { + "type": "string", + "enum": [ + "Unspecified", + "EnforceMode", + "LearningMode", + "DryRunMode" + ], + "x-ms-enum": { + "name": "AssociationAccessMode", + "modelAsString": true + }, + "description": "Access mode on the association." + } + } + }, "PerimeterAssociableResource": { "type": "object", "properties": { @@ -440,6 +1196,30 @@ "description": "The name of the network security perimeter.", "x-ms-parameter-location": "method" }, + "ProfileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP profile.", + "x-ms-parameter-location": "method" + }, + "AccessRuleNameParameter": { + "name": "accessRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP access rule.", + "x-ms-parameter-location": "method" + }, + "AssociationNameParameter": { + "name": "associationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the NSP association.", + "x-ms-parameter-location": "method" + }, "ListTopParameter": { "name": "$top", "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..3a79672f5c65 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveConnectivityConfigurationsList.json @@ -0,0 +1,60 @@ +{ + "title": "Get Azure Virtual Network Manager Active Connectivity Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "westus" + ], + "skipToken": "fakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "region": "westus", + "commitTime": "2020-07-10T18:03:22.2578238+05:30", + "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/groups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + }, + "configurationGroups": [ + { + "id": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "memberType": "Microsoft.Network/virtualNetworks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..6d4ca6845911 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityAdminRulesList.json @@ -0,0 +1,74 @@ +{ + "title": "Get Azure Virtual Network Manager Active Security Admin Rules", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "westus" + ], + "skipToken": "fakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "region": "westus", + "commitTime": "2020-07-10T18:03:22.2578238+05:30", + "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "configurationDescription": "SampleDescription", + "ruleCollectionDescription": "SampleRuleCollectionDescription", + "ruleCollectionAppliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1" + } + ], + "kind": "Default", + "properties": { + "description": "Sample Admin Rule", + "flag": "AllowVnetInbound", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "access": "Deny", + "priority": 1, + "provisioningState": "Succeeded" + }, + "ruleGroups": [ + { + "id": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "memberType": "Microsoft.Network/virtualNetworks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityUserRulesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityUserRulesList.json new file mode 100644 index 000000000000..20468937fbe4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerActiveSecurityUserRulesList.json @@ -0,0 +1,71 @@ +{ + "title": "Get Azure Virtual Network Manager Active Security User Rules", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "westus" + ], + "skipToken": "fakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "region": "westus", + "commitTime": "2020-07-10T18:03:22.2578238+05:30", + "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleUserRule", + "configurationDescription": "SampleDescription", + "ruleCollectionDescription": "SampleRuleCollectionDescription", + "ruleCollectionAppliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1" + } + ], + "kind": "Custom", + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + }, + "ruleGroups": [ + { + "id": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "memberType": "Microsoft.Network/virtualNetworks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionDelete.json new file mode 100644 index 000000000000..e6650a61bc0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionGet.json new file mode 100644 index 000000000000..c5b9c54df98d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionList.json new file mode 100644 index 000000000000..9e7cab430648 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionPut.json new file mode 100644 index 000000000000..51124b09a15e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleCollectionPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleCollection": { + "properties": { + "description": "A sample policy", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleDelete.json new file mode 100644 index 000000000000..1e237aeb1b03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleGet.json new file mode 100644 index 000000000000..b6b84faa8180 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleList.json new file mode 100644 index 000000000000..3d222b24c4d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRuleList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkmanagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "kind": "Custom", + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkManagers/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRulePut.json new file mode 100644 index 000000000000..007cbe3c534f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerAdminRulePut.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleAdminRule", + "adminRule": { + "kind": "Custom", + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/rules/SampleAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleAdminRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "This is Sample Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerCommitPost.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerCommitPost.json new file mode 100644 index 000000000000..512a5af37919 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerCommitPost.json @@ -0,0 +1,32 @@ +{ + "title": "Post Azure Virtual Network Manager Commit", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "resoureGroupSample", + "networkManagerName": "testNetworkManager", + "parameters": { + "targetLocations": [ + "useast" + ], + "configurationIds": [ + "/subscriptions/subscriptionC/resourceGroups/resoureGroupSample/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/SampleSecurityAdminConfig" + ], + "commitType": "SecurityAdmin" + } + }, + "responses": { + "202": { + "body": { + "commitId": "testCommitId", + "targetLocations": [ + "useast" + ], + "configurationIds": [ + "/subscriptions/subscriptionC/resourceGroups/resoureGroupSample/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/SampleSecurityAdminConfig" + ], + "commitType": "SecurityAdmin" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupDelete.json new file mode 100644 index 000000000000..aab8e230b990 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Management Group Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupGet.json new file mode 100644 index 000000000000..674d785e71eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupList.json new file mode 100644 index 000000000000..b354a2ab9473 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupList.json @@ -0,0 +1,37 @@ +{ + "title": "List Management Group Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2022-02-01-preview", + "managementGroupId": "managementGroupA" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + ], + "nextLink": "{baseurl}/managementGroups/subscriptionA/providers/Microsoft.Network/networkManagerConnections?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupPut.json new file mode 100644 index 000000000000..9fb650c76e45 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionManagementGroupPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection", + "parameters": { + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/providers/Microsoft.Management/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/managementGroups/managementGroupA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionDelete.json new file mode 100644 index 000000000000..e1ba6c24a5cb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Subscription Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionGet.json new file mode 100644 index 000000000000..a41b5835c636 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionList.json new file mode 100644 index 000000000000..fb76030d1ef5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionList.json @@ -0,0 +1,37 @@ +{ + "title": "List Subscription Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionA/providers/Microsoft.Network/networkManagerConnections?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionPut.json new file mode 100644 index 000000000000..7725207981cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectionSubscriptionPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "networkManagerConnectionName": "TestNMConnection", + "parameters": { + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestNMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionA/providers/Microsoft.Network/networkManagerConnections/TestNMConnection", + "type": "Microsoft.Network/networkManagerConnections", + "name": "TestMConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "networkManagerId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "connectionState": "Pending", + "description": "This is a network manager connection to testNetworkManager." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationDelete.json new file mode 100644 index 000000000000..abf16f7f8acd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationGet.json new file mode 100644 index 000000000000..470d527fbc64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationGet.json @@ -0,0 +1,48 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig" + }, + "responses": { + "200": { + "body": { + "name": "myTestConnectivityConfig", + "id": "/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "/subscriptionB/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationList.json new file mode 100644 index 000000000000..d85084c14e88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationList.json @@ -0,0 +1,52 @@ +{ + "title": "Get Azure Virtual Network Manager Connecitivity Configuration List", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myTestConnectivityConfig", + "id": "subscription/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "/subscriptionB/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/netwrokGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/managedNetworks/testNetworkManager/connectivityConfigurations?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationPut.json new file mode 100644 index 000000000000..185dceaa89eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerConnectivityConfigurationPut.json @@ -0,0 +1,106 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestConnectivityConfig", + "connectivityConfiguration": { + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "myTestConnectivityConfig", + "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Connectivity Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/groups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "myTestConnectivityConfig", + "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "type": "Microsoft.Network/networkManagers/connectivityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "deleteExistingPeering": "True", + "isGlobal": "True", + "appliesToGroups": [ + { + "networkGroupId": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRuleGet.json new file mode 100644 index 000000000000..3f5de8bfe4cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRuleGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleDefaultAdminRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRulePut.json new file mode 100644 index 000000000000..c768d2588cc6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultAdminRulePut.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleDefaultAdminRule", + "adminRule": { + "kind": "Default", + "properties": { + "flag": "AllowVnetInbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/rules/SampleDefaultAdminRule", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections/rules", + "name": "SampleDefaultAdminRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "This is Sample Default Admin Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "ServiceTag", + "addressPrefix": "Internet" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "access": "Deny", + "priority": 1, + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRuleGet.json new file mode 100644 index 000000000000..3281369e2d40 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRuleGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleName": "SampleDefaultUserRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/SecurityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultUserRule", + "type": "Microsoft.Network/networkManagers/SecurityUserConfigurations/ruleCollections/rules", + "name": "SampleDefaultUserRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "Sample Default User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRulePut.json new file mode 100644 index 000000000000..c2f0699a1a98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDefaultUserRulePut.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleDefaultUserRule", + "userRule": { + "kind": "Default", + "properties": { + "flag": "AllowVnetInbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/SecurityUserConfigurations/Policy1/ruleCollections/testRuleCollection/rules/SampleUserRule", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections/rules", + "name": "SampleDefaultUserRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "Sample Default User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleDefaultUserRule", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections/rules", + "name": "SampleDefaultUserRule", + "kind": "Default", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "flag": "AllowVnetInbound", + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDelete.json new file mode 100644 index 000000000000..9aad20386817 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDelete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDeploymentStatusList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDeploymentStatusList.json new file mode 100644 index 000000000000..da74941a538d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerDeploymentStatusList.json @@ -0,0 +1,51 @@ +{ + "title": "Post Azure Virtual Network Manager Deployment Status", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "resoureGroupSample", + "networkManagerName": "testNetworkManager", + "parameters": { + "regions": [ + "eastus", + "westus" + ], + "deploymentTypes": [ + "Connectivity", + "AdminPolicy" + ], + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "deploymentType": "AdminPolicy", + "configurationIds": [ + "SecConfig1", + "SecConfig2" + ], + "commitTime": "2021-01-26T06:58:50.883Z", + "region": "eastus", + "deploymentStatus": "Deploying", + "errorMessage": "" + }, + { + "deploymentType": "Connectivity", + "configurationIds": [ + "ConnConfig1", + "ConnConfig2" + ], + "commitTime": "2021-01-26T06:58:50.883Z", + "region": "eastus", + "deploymentStatus": "Deployed", + "errorMessage": "" + } + ], + "skipToken": "NextFakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..892178eecfd8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json @@ -0,0 +1,55 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "virtualNetworkName": "testVirtualNetwork", + "parameters": { + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/connectivityConfigurations/myTestConnectivityConfig", + "properties": { + "description": "Sample Configuration", + "connectivityTopology": "HubAndSpoke", + "hubs": [ + { + "resourceId": "/subscriptionB/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myHubVnet", + "resourceType": "Microsoft.Network/virtualNetworks" + } + ], + "isGlobal": "True", + "deleteExistingPeering": "True", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/groups/group1", + "useHubGateway": "True", + "groupConnectivity": "None", + "isGlobal": "False" + } + ], + "provisioningState": "Succeeded" + }, + "configurationGroups": [ + { + "id": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "memberType": "Microsoft.Network/virtualNetworks", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..d74b6e9877c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveSecurityAdminRulesList.json @@ -0,0 +1,69 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionA", + "resourceGroupName": "myResourceGroup", + "virtualNetworkName": "testVirtualNetwork", + "parameters": { + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleAdminRule", + "configurationDescription": "SampleDescription", + "ruleCollectionDescription": "SampleRuleCollectionDescription", + "ruleCollectionAppliesToGroups": [ + { + "networkGroupId": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1" + } + ], + "kind": "Default", + "properties": { + "description": "Sample Admin Rule", + "flag": "AllowVnetInbound", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "access": "Deny", + "priority": 1, + "provisioningState": "Succeeded" + }, + "ruleGroups": [ + { + "id": "/subscriptions/subscriptionA/resourceGroup/myResourceGroup/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/group1", + "properties": { + "description": "A group for all test Virtual Networks", + "memberType": "VirtualNetwork", + "provisioningState": "Succeeded" + } + } + ] + } + ], + "skipToken": "FakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksList.json new file mode 100644 index 000000000000..6b825edf94e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksList.json @@ -0,0 +1,27 @@ +{ + "title": "List Effective Virtual Networks List By Network Groups", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "TestNetworkGroup", + "parameters": { + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionC/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/testNetworkManager", + "location": "useast2", + "membershipType": "Static" + } + ], + "skipToken": "NextFakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksListByNetworkManager.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksListByNetworkManager.json new file mode 100644 index 000000000000..4f880e1b889d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerEffectiveVirtualNetworksListByNetworkManager.json @@ -0,0 +1,27 @@ +{ + "title": "List Effective Virtual Networks List By Network Groups", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "parameters": { + "conditionalMembers": "location='useast2'", + "skipToken": "FakeSkipTokenCode" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionC/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/testNetworkManager", + "location": "useast2", + "membershipType": "Static" + } + ], + "skipToken": "NextFakeSkipTokenCode" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGet.json new file mode 100644 index 000000000000..37d902659928 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGet.json @@ -0,0 +1,39 @@ +{ + "title": "Get Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "name": "testNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "SecurityUser" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupDelete.json new file mode 100644 index 000000000000..4d5f7538c0d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete Azure Virtual Network Manager Group", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupGet.json new file mode 100644 index 000000000000..273852a42f07 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupGet.json @@ -0,0 +1,32 @@ +{ + "title": "Get Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup" + }, + "responses": { + "200": { + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "memberType": "VirtualNetwork", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupList.json new file mode 100644 index 000000000000..c16b969837a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupList.json @@ -0,0 +1,36 @@ +{ + "title": "List Azure Virtual Network Manager Network Groups", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkGroup", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "memberType": "VirtualNetwork", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupPut.json new file mode 100644 index 000000000000..953f874a14a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerGroupPut.json @@ -0,0 +1,64 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "parameters": { + "properties": { + "description": "A sample group", + "memberType": "VirtualNetwork" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "memberType": "VirtualNetwork", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testNetworkGroup", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup", + "type": "Microsoft.Network/networkManagers/networkGroups", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample group", + "memberType": "VirtualNetwork", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerList.json new file mode 100644 index 000000000000..962b98d00656 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerList.json @@ -0,0 +1,44 @@ +{ + "title": "List Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerListAll.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerListAll.json new file mode 100644 index 000000000000..1fa10d54003f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerListAll.json @@ -0,0 +1,43 @@ +{ + "title": "List Azure Virtual Network Manager in Subscription", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "SecurityUser" + ], + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/providers/Microsoft.Network/networkManagers?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPatch.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPatch.json new file mode 100644 index 000000000000..fad6360279e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPatch.json @@ -0,0 +1,51 @@ +{ + "title": "Patch Managed Network Tags", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "parameters": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "testNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager", + "type": "Microsoft.Network/networkManager", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "location": "westus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000001" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPut.json new file mode 100644 index 000000000000..bb4cacd2bd35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerPut.json @@ -0,0 +1,89 @@ +{ + "title": "Create/Update Azure Virtual Network Manager", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "TestNetworkManager", + "parameters": { + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "/Microsoft.Management/testmg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "TestNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "Microsoft.Management/managementGroups/testMg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "TestNetworkManager", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/TestNetworkManager", + "type": "Microsoft.Network/networkManagers", + "etag": "sadf-asdf-asdf-asdf", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "My Test Network Manager", + "networkManagerScopes": { + "managementGroups": [ + "Microsoft.Management/managementGroups/testMg" + ], + "subscriptions": [ + "/subscriptions/00000000-0000-0000-0000-000000000000" + ] + }, + "networkManagerScopeAccesses": [ + "Connectivity" + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionDelete.json new file mode 100644 index 000000000000..e3944c04d54b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionGet.json new file mode 100644 index 000000000000..5deccb37f3c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionGet.json @@ -0,0 +1,36 @@ +{ + "title": "Get Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "connectionState": "Pending", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionList.json new file mode 100644 index 000000000000..651bc733a49e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionList.json @@ -0,0 +1,40 @@ +{ + "title": "List Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "value": [ + { + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "connectionState": "Pending", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionPut.json new file mode 100644 index 000000000000..84e50ab821a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerScopeConnectionPut.json @@ -0,0 +1,66 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "scopeConnectionName": "TestScopeConnection", + "parameters": { + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "name": "TestScopeConnection", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "connectionState": "Pending", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/scopeConnections/TestScopeConnection", + "type": "Microsoft.Network/networkManagers/scopeConnections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "tenantId": "6babcaad-604b-40ac-a9d7-9fd97c0b779f", + "connectionState": "Pending", + "resourceId": "subscriptions/f0dc2b34-dfad-40e4-83e0-2309fed8d00b", + "description": "This is a scope connection to a cross tenant subscription." + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationDelete.json new file mode 100644 index 000000000000..a447bb0a0ffd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationGet.json new file mode 100644 index 000000000000..ff637f6ab7f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationList.json new file mode 100644 index 000000000000..80ae908b28fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityAdminConfigurations?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationPut.json new file mode 100644 index 000000000000..9bd60f1e30aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityAdminConfigurationPut.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "securityAdminConfiguration": { + "properties": { + "description": "A sample policy", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityAdminConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityAdminConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "applyOnNetworkIntentPolicyBasedServices": [ + "None" + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationDelete.json new file mode 100644 index 000000000000..a447bb0a0ffd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationGet.json new file mode 100644 index 000000000000..b7e1c4e7df1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "deleteExistingNSGs": "True" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationList.json new file mode 100644 index 000000000000..aa34c2b27165 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "deleteExistingNSGs": "True" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationPut.json new file mode 100644 index 000000000000..ba14f16990f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerSecurityUserConfigurationPut.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "securityUserConfiguration": { + "properties": { + "description": "A sample policy", + "deleteExistingNSGs": "True" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "deleteExistingNSGs": "True" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityConfigurations", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "deleteExistingNSGs": "True" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberDelete.json new file mode 100644 index 000000000000..45113a3165bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberGet.json new file mode 100644 index 000000000000..2e89c9388ed3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember" + }, + "responses": { + "200": { + "body": { + "name": "testStaticMember", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberList.json new file mode 100644 index 000000000000..249261b040ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberList.json @@ -0,0 +1,35 @@ +{ + "title": "List Azure Virtual Network Manager Static Members", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "testStaticMember", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberPut.json new file mode 100644 index 000000000000..8c91ace949a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerStaticMemberPut.json @@ -0,0 +1,60 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subscriptionC", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "networkGroupName": "testNetworkGroup", + "staticMemberName": "testStaticMember", + "parameters": { + "properties": { + "resourceId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testStaticMember", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + }, + "201": { + "headers": { + "ETag": "be3cfaa2-3d02-4624-92d7-a26766306c8b" + }, + "body": { + "name": "testStaticMember", + "id": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testNetworkGroup/staticMembers/testStaticMember", + "type": "Microsoft.Network/networkManagers/networkGroups/staticMembers", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "resourceId": "/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/virtualnetworks/vnet1" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionDelete.json new file mode 100644 index 000000000000..e6650a61bc0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionGet.json new file mode 100644 index 000000000000..3eb55c2ceb5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionList.json new file mode 100644 index 000000000000..98c1739afb99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "testRuleCollection", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample rule collection", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + ], + "nextLink": "{baseurl}/subscriptions/subId/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections?api-version=2021-05-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionPut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionPut.json new file mode 100644 index 000000000000..0b4ae8589fd3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleCollectionPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "userRuleCollection": { + "properties": { + "description": "A sample policy", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManager/testNetworkManager/securityUserConfigurations/myTestSecurityConfig", + "name": "myTestSecurityConfig", + "type": "Microsoft.Network/networkManagers/securityUserConfigurations/ruleCollections", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "A sample policy", + "provisioningState": "Succeeded", + "appliesToGroups": [ + { + "networkGroupId": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/networkGroups/testGroup" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleDelete.json new file mode 100644 index 000000000000..de3d5eb04f80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleDelete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleUserRule" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleGet.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleGet.json new file mode 100644 index 000000000000..29a4bff89627 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleGet.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig", + "networkManagerName": "testNetworkManager", + "ruleName": "SampleUserRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/SecurityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleUserRule", + "type": "Microsoft.Network/networkManagers/SecurityUserConfigurations/ruleCollections/rules", + "name": "SampleUserRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleList.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleList.json new file mode 100644 index 000000000000..2cbdfb51d255 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRuleList.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "ruleCollectionName": "testRuleCollection", + "configurationName": "myTestSecurityConfig" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkmanagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleUserRule", + "type": "Microsoft.Network/networkManagers/securityConfigurations/ruleCollections/rules", + "name": "SampleUserRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "{baseurl}/subscriptions/subscriptionC/resourceGroup/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules?api-version=2021-02-01-preview&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRulePut.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRulePut.json new file mode 100644 index 000000000000..c32cd3ac064e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/examples/NetworkManagerUserRulePut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2022-02-01-preview", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "networkManagerName": "testNetworkManager", + "configurationName": "myTestSecurityConfig", + "ruleCollectionName": "testRuleCollection", + "ruleName": "SampleUserRule", + "userRule": { + "kind": "Custom", + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/SecurityUserConfigurations/Policy1/ruleCollections/testRuleCollection/rules/SampleUserRule", + "type": "Microsoft.Network/networkManagers/SecurityUserConfigurations/ruleCollections/rules", + "name": "SampleUserRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/testNetworkManager/securityUserConfigurations/myTestSecurityConfig/ruleCollections/testRuleCollection/rules/SampleUserRule", + "type": "Microsoft.Network/networkManagers/SecurityUserConfigurations/ruleCollections/rules", + "name": "SampleUserRule", + "kind": "Custom", + "systemData": { + "createdBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "createdByType": "User", + "createdAt": "2021-01-11T18:52:27Z", + "lastModifiedBy": "b69a9388-9488-4534-b470-7ec6d41beef5", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-11T18:52:27Z" + }, + "properties": { + "description": "Sample User Rule", + "protocol": "Tcp", + "sources": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "destinations": [ + { + "addressPrefixType": "IPPrefix", + "addressPrefix": "*" + } + ], + "sourcePortRanges": [ + "0-65535" + ], + "destinationPortRanges": [ + "22" + ], + "direction": "Inbound", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/network.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/network.json new file mode 100644 index 000000000000..6ca0a415fa6b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/network.json @@ -0,0 +1,439 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2022-02-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": {}, + "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 + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Proxy 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." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "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 + } + }, + "ExtendedLocationType": { + "type": "string", + "description": "The supported ExtendedLocation types. Currently only EdgeZone is supported in Microsoft.Network resources.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "ExtendedLocation complex type.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + } + }, + "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/preview/2022-02-01-preview/networkManager.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManager.json new file mode 100644 index 000000000000..978132383402 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManager.json @@ -0,0 +1,779 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManager", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Get", + "description": "Gets the specified Network Manager.", + "responses": { + "200": { + "description": "OK - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagersGet": { + "$ref": "./examples/NetworkManagerGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_CreateOrUpdate", + "description": "Creates or updates a Network Manager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManager" + }, + "description": "Parameters supplied to specify which network manager is." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "201": { + "description": "Created - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Put Network Manager": { + "$ref": "./examples/NetworkManagerPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "description": "Deletes a network manager.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagersDelete": { + "$ref": "./examples/NetworkManagerDelete.json" + } + } + }, + "patch": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_Patch", + "description": "Patch NetworkManager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PatchObject" + }, + "description": "Parameters supplied to specify which network manager is." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network manager.", + "schema": { + "$ref": "#/definitions/NetworkManager" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagesPatch": { + "$ref": "./examples/NetworkManagerPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/commit": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagerCommits_Post", + "description": "Post a Network Manager Commit.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerCommit" + }, + "description": "Parameters supplied to specify which Managed Network commit is." + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously", + "schema": { + "$ref": "#/definitions/NetworkManagerCommit" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManageCommitPost": { + "$ref": "./examples/NetworkManagerCommitPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listDeploymentStatus": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagerDeploymentStatus_List", + "description": "Post to List of Network Manager Deployment Status.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerDeploymentStatusParameter" + }, + "description": "Parameters supplied to specify which Managed Network deployment status is." + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of deployment status.", + "schema": { + "$ref": "#/definitions/NetworkManagerDeploymentStatusListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagerDeploymentStatusList": { + "$ref": "./examples/NetworkManagerDeploymentStatusList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagers": { + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_ListBySubscription", + "description": "List all network managers in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network managers.", + "schema": { + "$ref": "#/definitions/NetworkManagerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "NetworkManagersList": { + "$ref": "./examples/NetworkManagerListAll.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers": { + "get": { + "tags": [ + "NetworkManagers" + ], + "operationId": "NetworkManagers_List", + "description": "List network managers in a resource group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of network managers.", + "schema": { + "$ref": "#/definitions/NetworkManagerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Network Manager": { + "$ref": "./examples/NetworkManagerList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listEffectiveVirtualNetworks": { + "post": { + "tags": [ + "NetworkManagers" + ], + "operationId": "EffectiveVirtualNetworks_ListByNetworkManager", + "description": "List effective virtual networks in a network manager.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EffectiveVirtualNetworksParameter" + }, + "description": "Effective Virtual Networks Parameter." + } + ], + "responses": { + "200": { + "description": "OK - Returns a list of effective virtual networks.", + "schema": { + "$ref": "./networkManagerGroup.json#/definitions/EffectiveVirtualNetworksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Effective Virtual Networks By Network Manager": { + "$ref": "./examples/NetworkManagerEffectiveVirtualNetworksListByNetworkManager.json" + } + } + } + } + }, + "definitions": { + "NetworkManager": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkManagerProperties", + "description": "The network manager properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "The Managed Network resource" + }, + "NetworkManagerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkManager" + }, + "description": "Gets a page of NetworkManager" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list NetworkManager. It contains a list of network managers and a URL link to get the next set of results." + }, + "NetworkManagerProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network manager." + }, + "networkManagerScopes": { + "type": "object", + "properties": { + "managementGroups": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of management groups." + }, + "subscriptions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of subscriptions." + }, + "crossTenantScopes": { + "readOnly": true, + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/CrossTenantScopes" + }, + "description": "List of cross tenant scopes." + } + }, + "description": "Scope of Network Manager." + }, + "networkManagerScopeAccesses": { + "type": "array", + "items": { + "type": "string", + "$ref": "#/definitions/ConfigurationType" + }, + "description": "Scope Access." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the scope assignment resource." + } + }, + "required": [ + "networkManagerScopes", + "networkManagerScopeAccesses" + ], + "description": "Properties of Managed Network" + }, + "CrossTenantScopes": { + "type": "object", + "properties": { + "tenantId": { + "readOnly": true, + "type": "string", + "description": "Tenant ID." + }, + "managementGroups": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of management groups." + }, + "subscriptions": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "List of subscriptions." + } + }, + "description": "Cross tenant scopes." + }, + "NetworkManagerCommit": { + "type": "object", + "properties": { + "commitId": { + "type": "string", + "readOnly": true, + "description": "Commit Id." + }, + "targetLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of target locations." + }, + "configurationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of configuration ids." + }, + "commitType": { + "type": "string", + "$ref": "#/definitions/ConfigurationType", + "description": "Commit Type." + } + }, + "required": [ + "targetLocations" + ], + "description": "Network Manager Commit." + }, + "PatchObject": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Object for patch operations." + }, + "NetworkManagerDeploymentStatusParameter": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of locations." + }, + "deploymentTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationType" + }, + "description": "List of deployment types." + }, + "skipToken": { + "description": "Continuation token for pagination, capturing the next page size and offset, as well as the context of the query.", + "type": "string" + } + }, + "description": "Network Manager Deployment Status Parameter." + }, + "NetworkManagerDeploymentStatusListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/NetworkManagerDeploymentStatus" + }, + "description": "Gets a page of Network Manager Deployment Status" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "A list of Network Manager Deployment Status" + }, + "NetworkManagerDeploymentStatus": { + "type": "object", + "properties": { + "commitTime": { + "type": "string", + "format": "date-time", + "description": "Commit Time." + }, + "region": { + "type": "string", + "description": "Region Name." + }, + "deploymentStatus": { + "type": "string", + "enum": [ + "NotStarted", + "Deploying", + "Deployed", + "Failed" + ], + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true + }, + "description": "Deployment Status." + }, + "configurationIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of configuration ids." + }, + "deploymentType": { + "type": "string", + "$ref": "#/definitions/ConfigurationType" + }, + "errorMessage": { + "type": "string", + "description": "Error Message." + } + }, + "description": "Network Manager Deployment Status." + }, + "ConfigurationType": { + "type": "string", + "enum": [ + "SecurityAdmin", + "SecurityUser", + "Connectivity" + ], + "x-ms-enum": { + "name": "ConfigurationType", + "modelAsString": true + }, + "description": "Configuration Deployment Type." + }, + "EffectiveVirtualNetworksParameter": { + "type": "object", + "properties": { + "conditionalMembers": { + "type": "string", + "description": "Conditional Members." + }, + "skipToken": { + "description": "Continuation token for pagination, capturing the next page size and offset, as well as the context of the query.", + "type": "string" + } + }, + "description": "Effective Virtual Networks Parameter." + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerActiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerActiveConfiguration.json new file mode 100644 index 000000000000..ca8d6dfbc2ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerActiveConfiguration.json @@ -0,0 +1,490 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagerActiveConfiguration", + "description": "The Microsoft Azure Network Manager Active Configuration API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to list all active configuration by network manager.", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/listActiveConnectivityConfigurations": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerActiveConnectivityConfigurations" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveConfigurationParameter" + }, + "description": "Active Configuration Parameter." + } + ], + "operationId": "ListActiveConnectivityConfigurations", + "description": "Lists active connectivity configurations in a network manager.", + "responses": { + "200": { + "description": "Post successful. The operation returns the specified Managed Network active connectivity configuration resource.", + "schema": { + "$ref": "#/definitions/ActiveConnectivityConfigurationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Active Connectivity Configurations": { + "$ref": "./examples/NetworkManagerActiveConnectivityConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityAdminRules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerActiveConfigurations" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveConfigurationParameter" + }, + "description": "Active Configuration Parameter." + } + ], + "operationId": "ListActiveSecurityAdminRules", + "description": "Lists active security admin rules in a network manager.", + "responses": { + "200": { + "description": "Post successful. The operation returns the specified Managed Network active security admin rules resource.", + "schema": { + "$ref": "#/definitions/ActiveSecurityAdminRulesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Active Security Admin Rules": { + "$ref": "./examples/NetworkManagerActiveSecurityAdminRulesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/listActiveSecurityUserRules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerActiveSecurityUserRules" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActiveConfigurationParameter" + }, + "description": "Active Configuration Parameter." + } + ], + "operationId": "ListActiveSecurityUserRules", + "description": "Lists Active Security User Rules in a network manager.", + "responses": { + "200": { + "description": "Post successful. The operation returns the specified Managed Network active security user rules resource.", + "schema": { + "$ref": "#/definitions/ActiveSecurityUserRulesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Active Security User Rules": { + "$ref": "./examples/NetworkManagerActiveSecurityUserRulesList.json" + } + } + } + } + }, + "definitions": { + "ActiveConfigurationParameter": { + "type": "object", + "properties": { + "regions": { + "type": "array", + "items": { + "type": "string", + "description": "region Name." + }, + "description": "List of regions." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Effective Virtual Networks Parameter." + }, + "ActiveConnectivityConfiguration": { + "type": "object", + "properties": { + "commitTime": { + "type": "string", + "description": "Deployment time string.", + "format": "date-time" + }, + "region": { + "type": "string", + "description": "Deployment region." + } + }, + "allOf": [ + { + "$ref": "./networkManagerEffectiveConfiguration.json#/definitions/EffectiveConnectivityConfiguration" + } + ], + "description": "Active connectivity configuration." + }, + "ActiveConnectivityConfigurationsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveConnectivityConfiguration" + }, + "description": "Gets a page of active connectivity configurations." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list active connectivity configurations. It contains a list of active connectivity configurations and a skiptoken to get the next set of results." + }, + "ActiveSecurityAdminRulesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + }, + "description": "Gets a page of active security admin rules." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list active security admin rules. It contains a list of active security admin rules and a skiptoken to get the next set of results." + }, + "ActiveSecurityUserRulesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActiveBaseSecurityUserRule" + }, + "description": "Gets a page of active security user rules." + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list active security user rules. It contains a list of active security user rules and a skiptoken to get the next set of results." + }, + "ActiveBaseSecurityAdminRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "commitTime": { + "type": "string", + "description": "Deployment time string.", + "format": "date-time" + }, + "region": { + "type": "string", + "description": "Deployment region." + }, + "configurationDescription": { + "type": "string", + "description": "A description of the security admin configuration." + }, + "ruleCollectionDescription": { + "type": "string", + "description": "A description of the rule collection." + }, + "ruleCollectionAppliesToGroups": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for rule collection" + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "./networkManagerEffectiveConfiguration.json#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + }, + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveAdminRuleKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "ActiveSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "ActiveDefaultSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the default security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + }, + "ActiveBaseSecurityUserRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "commitTime": { + "type": "string", + "description": "Deployment time string.", + "format": "date-time" + }, + "region": { + "type": "string", + "description": "Deployment region." + }, + "configurationDescription": { + "type": "string", + "description": "A description of the security user configuration." + }, + "ruleCollectionDescription": { + "type": "string", + "description": "A description of the rule collection." + }, + "ruleCollectionAppliesToGroups": { + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for rule collection" + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "./networkManagerEffectiveConfiguration.json#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + }, + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveUserRuleKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base rule." + }, + "ActiveSecurityUserRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityUserConfiguration.json#/definitions/UserRulePropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security user rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityUserRule" + } + ], + "description": "Network security user rule.", + "x-ms-discriminator-value": "Custom" + }, + "ActiveDefaultSecurityUserRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityUserConfiguration.json#/definitions/DefaultUserRulePropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security default user rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ActiveBaseSecurityUserRule" + } + ], + "description": "Network security default user rule.", + "x-ms-discriminator-value": "Default" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnection.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnection.json new file mode 100644 index 000000000000..c37975b0b491 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnection.json @@ -0,0 +1,426 @@ +{ + "swagger": "2.0", + "info": { + "title": "ScopeConnections", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2022-02-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/NetworkManagerConnectionNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_CreateOrUpdate", + "description": "Create a connection from this subscription to a cross tenant network manager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "Network manager connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "201": { + "description": "Created - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionPut.json" + } + } + }, + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_Get", + "description": "Get a specified connection created by this subscription.", + "responses": { + "200": { + "description": "OK - Returns the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_Delete", + "description": "Delete specified pending connection created by this subscription.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkManagerConnections": { + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "SubscriptionNetworkManagerConnections_List", + "description": "List all network manager connections created by this subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network manager connection(s).", + "schema": { + "$ref": "#/definitions/NetworkManagerConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Subscription Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionSubscriptionList.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Network/networkManagerConnections/{networkManagerConnectionName}": { + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "#/parameters/NetworkManagerConnectionNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_CreateOrUpdate", + "description": "Create a connection to a cross tenant network manager.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "Network manager connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "201": { + "description": "Created - Returns information about the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupPut.json" + } + } + }, + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_Get", + "description": "Get a specified connection created by this management group.", + "responses": { + "200": { + "description": "OK - Returns the connection.", + "schema": { + "$ref": "#/definitions/NetworkManagerConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupGet.json" + } + } + }, + "delete": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_Delete", + "description": "Delete specified pending connection created by this management group.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupDelete.json" + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Network/networkManagerConnections": { + "get": { + "tags": [ + "NetworkManagerConnections" + ], + "operationId": "ManagementGroupNetworkManagerConnections_List", + "description": "List all network manager connections created by this management group.", + "parameters": [ + { + "$ref": "#/parameters/ManagementGroupIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network manager connection(s).", + "schema": { + "$ref": "#/definitions/NetworkManagerConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Management Group Network Manager Connection": { + "$ref": "./examples/NetworkManagerConnectionManagementGroupList.json" + } + } + } + } + }, + "definitions": { + "NetworkManagerConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkManagerConnectionProperties", + "description": "The scope connection properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The Network Manager Connection resource" + }, + "NetworkManagerConnectionProperties": { + "type": "object", + "properties": { + "networkManagerId": { + "type": "string", + "description": "Network Manager Id." + }, + "connectionState": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerScopeConnection.json#/definitions/ConnectionState", + "description": "Connection state." + }, + "description": { + "type": "string", + "description": "A description of the scope connection." + } + }, + "description": "Information about the network manager connection." + }, + "NetworkManagerConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkManagerConnection" + }, + "description": "List of network manager connections." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "List of network manager connections." + } + }, + "parameters": { + "ManagementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "required": true, + "type": "string", + "description": "The management group Id which uniquely identify the Microsoft Azure management group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerConnectionNameParameter": { + "name": "networkManagerConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name for the network manager connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnectivityConfiguration.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnectivityConfiguration.json new file mode 100644 index 000000000000..02dc82456600 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerConnectivityConfiguration.json @@ -0,0 +1,440 @@ +{ + "swagger": "2.0", + "info": { + "title": "ConnectivityConfiguration", + "description": "The Microsoft Azure Virtual Network Manager Connectivity Configuration API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/connectivityConfigurations/{configurationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ConnectivityConfigurationNameParameter" + } + ], + "get": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_Get", + "description": "Gets a Network Connectivity Configuration, specified by the resource group, network manager name, and connectivity Configuration name", + "responses": { + "200": { + "description": "Get successful. The operation returns the specified Managed Network Connectivity Configuration resource.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConnectivityConfigurationsGet": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_CreateOrUpdate", + "description": "Creates/Updates a new network manager connectivity configuration", + "parameters": [ + { + "name": "connectivityConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + }, + "description": "Parameters supplied to create/update a network manager connectivity configuration" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting network manager connectivity configuration.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting network manager connectivity configuration.", + "schema": { + "$ref": "#/definitions/ConnectivityConfiguration" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConnectivityConfigurationsPut": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationPut.json" + } + } + }, + "delete": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_Delete", + "description": "Deletes a network manager connectivity configuration, specified by the resource group, network manager name, and connectivity configuration name", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ConnectivityConfigurationsDelete": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/connectivityConfigurations": { + "get": { + "tags": [ + "ConnectivityConfigurations" + ], + "operationId": "ConnectivityConfigurations_List", + "description": "Lists all the network manager connectivity configuration in a specified network manager.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all network manager connectivity configuration resources in the specified network manager, in a paginated format", + "schema": { + "$ref": "#/definitions/ConnectivityConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ConnectivityConfigurationsList": { + "$ref": "./examples/NetworkManagerConnectivityConfigurationList.json" + } + } + } + } + }, + "definitions": { + "ConnectivityConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityConfiguration" + }, + "description": "Gets a page of Connectivity Configurations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "Result of the request to list network manager connectivity configurations. It contains a list of configurations and a link to get the next set of results." + }, + "ConnectivityConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectivityConfigurationProperties", + "description": "Properties of a network manager connectivity configuration" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network manager connectivity configuration resource" + }, + "ConnectivityConfigurationProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the connectivity configuration." + }, + "connectivityTopology": { + "type": "string", + "enum": [ + "HubAndSpoke", + "Mesh" + ], + "x-ms-enum": { + "name": "ConnectivityTopology", + "modelAsString": true + }, + "description": "Connectivity topology type." + }, + "hubs": { + "type": "array", + "x-ms-identifiers": [ + "resourceId" + ], + "items": { + "$ref": "#/definitions/Hub" + }, + "description": "List of hubItems" + }, + "isGlobal": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "IsGlobal", + "modelAsString": true + }, + "description": "Flag if global mesh is supported." + }, + "appliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "#/definitions/connectivityGroupItem" + }, + "description": "Groups for configuration" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the connectivity configuration resource." + }, + "deleteExistingPeering": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "DeleteExistingPeering", + "modelAsString": true + }, + "description": "Flag if need to remove current existing peerings." + } + }, + "required": [ + "connectivityTopology", + "appliesToGroups" + ], + "description": "Properties of network manager connectivity configuration" + }, + "Hub": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + }, + "resourceType": { + "type": "string", + "description": "Resource Type." + } + }, + "description": "Hub Item." + }, + "connectivityGroupItem": { + "type": "object", + "properties": { + "networkGroupId": { + "type": "string", + "description": "Network group Id." + }, + "useHubGateway": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "UseHubGateway", + "modelAsString": true + }, + "description": "Flag if need to use hub gateway." + }, + "isGlobal": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "IsGlobal", + "modelAsString": true + }, + "description": "Flag if global is supported." + }, + "groupConnectivity": { + "type": "string", + "enum": [ + "None", + "DirectlyConnected" + ], + "x-ms-enum": { + "name": "GroupConnectivity", + "modelAsString": true + }, + "description": "Group connectivity type." + } + }, + "description": "Connectivity group item.", + "required": [ + "networkGroupId", + "groupConnectivity" + ] + } + }, + "parameters": { + "ConnectivityConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager connectivity configuration.", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerEffectiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerEffectiveConfiguration.json new file mode 100644 index 000000000000..16c28da51848 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerEffectiveConfiguration.json @@ -0,0 +1,320 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagerEffectiveConfiguration", + "description": "The Microsoft Azure Network Manager effective configuration API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2022-02-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.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveConnectivityConfigurations": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerEffectiveConnectivityConfiguration" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./networkManagerGroup.json#/definitions/QueryRequestOptions" + }, + "description": "Parameters supplied to list correct page." + } + ], + "operationId": "ListNetworkManagerEffectiveConnectivityConfigurations", + "description": "List all effective connectivity configurations applied on a virtual network.", + "responses": { + "200": { + "description": "OK - Returns information about the configurations.", + "schema": { + "$ref": "#/definitions/NetworkManagerEffectiveConnectivityConfigurationListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List effective connectivity configuration": { + "$ref": "./examples/NetworkManagerEffectiveConnectivityConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/listNetworkManagerEffectiveSecurityAdminRules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "post": { + "tags": [ + "NetworkManagerEffectiveSecurityAdminRules" + ], + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./networkManagerGroup.json#/definitions/QueryRequestOptions" + }, + "description": "Parameters supplied to list correct page." + } + ], + "operationId": "ListNetworkManagerEffectiveSecurityAdminRules", + "description": "List all effective security admin rules applied on a virtual network.", + "responses": { + "200": { + "description": "OK - Returns information about the configurations.", + "schema": { + "$ref": "#/definitions/NetworkManagerEffectiveSecurityAdminRulesListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List effective security admin rules": { + "$ref": "./examples/NetworkManagerEffectiveSecurityAdminRulesList.json" + } + } + } + } + }, + "definitions": { + "NetworkManagerEffectiveConnectivityConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveConnectivityConfiguration" + }, + "description": "Gets a page of NetworkManagerEffectiveConnectivityConfiguration" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list networkManagerEffectiveConnectivityConfiguration. It contains a list of groups and a skiptoken to get the next set of results." + }, + "NetworkManagerEffectiveSecurityAdminRulesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + }, + "description": "Gets a page of NetworkManagerEffectiveSecurityAdminRules" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list networkManagerEffectiveSecurityAdminRules. It contains a list of groups and a skiptoken to get the next set of results." + }, + "EffectiveConnectivityConfiguration": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerConnectivityConfiguration.json#/definitions/ConnectivityConfigurationProperties", + "description": "Properties of a network manager connectivity configuration" + }, + "configurationGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + } + }, + "description": "The network manager effective connectivity configuration" + }, + "EffectiveBaseSecurityAdminRule": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "configurationDescription": { + "type": "string", + "description": "A description of the security admin configuration." + }, + "ruleCollectionDescription": { + "type": "string", + "description": "A description of the rule collection." + }, + "ruleCollectionAppliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for rule collection" + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationGroup" + }, + "description": "Effective configuration groups." + }, + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "EffectiveAdminRuleKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "EffectiveSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "EffectiveDefaultSecurityAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the default security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/EffectiveBaseSecurityAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + }, + "ConfigurationGroup": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "./networkManagerGroup.json#/definitions/NetworkGroupProperties", + "description": "The network configuration group properties" + } + }, + "description": "The network configuration group resource" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "VirtualNetworkNameParameter": { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerGroup.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerGroup.json new file mode 100644 index 000000000000..a16349e0f5a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerGroup.json @@ -0,0 +1,677 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkGroup", + "description": "The Microsoft Azure Network Group API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_Get", + "description": "Gets the specified network group.", + "responses": { + "200": { + "description": "OK - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsGet": { + "$ref": "./examples/NetworkManagerGroupGet.json" + } + } + }, + "put": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_CreateOrUpdate", + "description": "Creates or updates a network group.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "description": "Parameters supplied to the specify which network group need to create" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the transformation. Omit this value to always overwrite the current resource. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "headers": { + "ETag": { + "description": "The current entity tag.", + "type": "string" + } + } + }, + "201": { + "description": "Created - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroup" + }, + "headers": { + "ETag": { + "description": "The current entity tag.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsPut": { + "$ref": "./examples/NetworkManagerGroupPut.json" + } + } + }, + "delete": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_Delete", + "description": "Deletes a network group.", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsDelete": { + "$ref": "./examples/NetworkManagerGroupDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups": { + "get": { + "tags": [ + "NetworkGroups" + ], + "operationId": "NetworkGroups_List", + "description": "Lists the specified network group.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the network group.", + "schema": { + "$ref": "#/definitions/NetworkGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkGroupsList": { + "$ref": "./examples/NetworkManagerGroupList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/listEffectiveVirtualNetworks": { + "post": { + "tags": [ + "NetworkGroups" + ], + "operationId": "ListEffectiveVirtualNetworks_ByNetworkGroup", + "description": "Lists all effective virtual networks by specified network group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryRequestOptions" + }, + "description": "Parameters supplied to list correct page." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the effective virtual networks.", + "schema": { + "$ref": "#/definitions/EffectiveVirtualNetworksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NetworkManagerEffectiveVirtualNetworksList": { + "$ref": "./examples/NetworkManagerEffectiveVirtualNetworksList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers/{staticMemberName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "#/parameters/StaticMemberNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "get": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_Get", + "description": "Gets the specified static member.", + "responses": { + "200": { + "description": "OK - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersGet": { + "$ref": "./examples/NetworkManagerStaticMemberGet.json" + } + } + }, + "put": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_CreateOrUpdate", + "description": "Creates or updates a static member.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StaticMember" + }, + "description": "Parameters supplied to the specify the static member to create" + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "201": { + "description": "Created - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMemberPut": { + "$ref": "./examples/NetworkManagerStaticMemberPut.json" + } + } + }, + "delete": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_Delete", + "description": "Deletes a static member.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersDelete": { + "$ref": "./examples/NetworkManagerStaticMemberDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/networkGroups/{networkGroupName}/staticMembers": { + "get": { + "tags": [ + "StaticMembers" + ], + "operationId": "StaticMembers_List", + "description": "Lists the specified static member.", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/NetworkGroupNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the static member.", + "schema": { + "$ref": "#/definitions/StaticMemberListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StaticMembersList": { + "$ref": "./examples/NetworkManagerStaticMemberList.json" + } + } + } + } + }, + "definitions": { + "NetworkGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkGroupProperties", + "description": "The Network Group properties" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The network group resource" + }, + "NetworkGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkGroup" + }, + "description": "Gets a page of NetworkGroup" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Result of the request to list NetworkGroup. It contains a list of groups and a URL link to get the next set of results." + }, + "NetworkGroupProperties": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the network group." + }, + "memberType": { + "type": "string", + "description": "Group member type." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the scope assignment resource." + } + }, + "required": [ + "memberType" + ], + "description": "Properties of network group" + }, + "StaticMember": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StaticMemberProperties", + "description": "The Static Member properties" + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "StaticMember Item." + }, + "StaticMemberListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/StaticMember" + }, + "description": "Gets a page of StaticMember" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Result of the request to list StaticMember. It contains a list of groups and a URL link to get the next set of results." + }, + "StaticMemberProperties": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource Id." + } + }, + "description": "Properties of static member." + }, + "QueryRequestOptions": { + "type": "object", + "properties": { + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Query Request Options" + }, + "EffectiveVirtualNetworksListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveVirtualNetwork" + }, + "description": "Gets a page of EffectiveVirtualNetwork" + }, + "skipToken": { + "description": "When present, the value can be passed to a subsequent query call (together with the same query and scopes used in the current request) to retrieve the next page of data.", + "type": "string" + } + }, + "description": "Result of the request to list Effective Virtual Network. It contains a list of groups and a URL link to get the next set of results." + }, + "EffectiveVirtualNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Effective vnet Id." + }, + "location": { + "type": "string", + "description": "Location of vnet." + }, + "membershipType": { + "type": "string", + "description": "Membership Type.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "MembershipType", + "modelAsString": true + } + } + }, + "description": "Effective Virtual Network" + } + }, + "parameters": { + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "NetworkGroupNameParameter": { + "name": "networkGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network group.", + "x-ms-parameter-location": "method" + }, + "StaticMemberNameParameter": { + "name": "staticMemberName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the static member.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerScopeConnection.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerScopeConnection.json new file mode 100644 index 000000000000..961d6fdf5a0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerScopeConnection.json @@ -0,0 +1,297 @@ +{ + "swagger": "2.0", + "info": { + "title": "ScopeConnections", + "description": "The Microsoft Azure Virtual Network Manager API provides a RESTful set of web services that interact with Microsoft Azure Network Manager service to manage your network resources.", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/scopeConnections/{scopeConnectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./networkManager.json#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ScopeConnectionName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "put": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_CreateOrUpdate", + "description": "Creates or updates scope connection from Network Manager", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopeConnection" + }, + "description": "Scope connection to be created/updated." + } + ], + "responses": { + "200": { + "description": "Updated - Returns information about the updates scope connection.", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "201": { + "description": "Created - Returns information about the new scope connection.", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionPut.json" + } + } + }, + "get": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_Get", + "description": "Get specified scope connection created by this Network Manager.", + "responses": { + "200": { + "description": "OK - Returns the invitation", + "schema": { + "$ref": "#/definitions/ScopeConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_Delete", + "description": "Delete the pending scope connection created by this network manager.", + "responses": { + "200": { + "description": "Delete Succeed." + }, + "204": { + "description": "Request successful. The resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/scopeConnections": { + "get": { + "tags": [ + "ScopeConnections" + ], + "operationId": "ScopeConnections_List", + "description": "List all scope connections created by this network manager.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./networkManager.json#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListTopParameter" + }, + { + "$ref": "./networkManager.json#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the scope connection(s).", + "schema": { + "$ref": "#/definitions/ScopeConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Network Manager Scope Connection": { + "$ref": "./examples/NetworkManagerScopeConnectionList.json" + } + } + } + } + }, + "definitions": { + "ScopeConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScopeConnectionProperties", + "description": "The scope connection properties" + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "The Scope Connections resource" + }, + "ScopeConnectionProperties": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant ID." + }, + "resourceId": { + "type": "string", + "description": "Resource ID." + }, + "connectionState": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ConnectionState", + "description": "Connection State" + }, + "description": { + "type": "string", + "description": "A description of the scope connection." + } + }, + "description": "Scope connection." + }, + "ScopeConnectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ScopeConnection" + }, + "description": "List of scope connections." + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "List of scope connections." + }, + "ConnectionState": { + "type": "string", + "readOnly": true, + "description": "The current scope connection state.", + "enum": [ + "Connected", + "Pending", + "Conflict", + "Revoked", + "Rejected" + ], + "x-ms-enum": { + "name": "ScopeConnectionState", + "modelAsString": true + } + } + }, + "parameters": { + "ScopeConnectionName": { + "name": "scopeConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name for the cross-tenant connection.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityAdminConfiguration.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityAdminConfiguration.json new file mode 100644 index 000000000000..3627bc1735e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityAdminConfiguration.json @@ -0,0 +1,1098 @@ +{ + "swagger": "2.0", + "info": { + "title": "SecurityAdminConfiguration", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/securityAdminConfigurations": { + "get": { + "tags": [ + "SecurityAdminConfigurations" + ], + "operationId": "SecurityAdminConfigurations_List", + "description": "Lists all the network manager security admin configurations in a network manager, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all security admin configuration resources in the specified network manager, in a paginated format", + "schema": { + "$ref": "#/definitions/SecurityAdminConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List security admin configurations in a network manager": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + } + ], + "get": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Retrieves a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_Get", + "responses": { + "200": { + "description": "successful operation", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get security admin configurations": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Creates or updates a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_CreateOrUpdate", + "parameters": [ + { + "name": "securityAdminConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + }, + "description": "The security admin configuration to create or update" + } + ], + "responses": { + "200": { + "description": "Updated Admin Configuration", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "201": { + "description": "Created Admin Configuration", + "schema": { + "$ref": "#/definitions/SecurityAdminConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network manager security admin configuration": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationPut.json" + } + } + }, + "delete": { + "tags": [ + "SecurityAdminConfigurations" + ], + "description": "Deletes a network manager security admin configuration.", + "operationId": "SecurityAdminConfigurations_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "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 manager security admin configuration": { + "$ref": "./examples/NetworkManagerSecurityAdminConfigurationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections": { + "get": { + "tags": [ + "AdminRuleCollections" + ], + "operationId": "AdminRuleCollections_List", + "description": "Lists all the rule collections in a security admin configuration, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all ruleCollections in the specified security configuration, in a paginated format", + "schema": { + "$ref": "#/definitions/AdminRuleCollectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List security admin rule collections": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + } + ], + "get": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Gets a network manager security admin configuration rule collection.", + "operationId": "AdminRuleCollections_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets security admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionGet.json" + } + } + }, + "put": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Creates or updates an admin rule collection.", + "operationId": "AdminRuleCollections_CreateOrUpdate", + "parameters": [ + { + "name": "ruleCollection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + }, + "description": "The Rule Collection to create or update" + } + ], + "responses": { + "200": { + "description": "Updated Rule Collection", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "201": { + "description": "Created Rule Collection", + "schema": { + "$ref": "#/definitions/AdminRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update an admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionPut.json" + } + } + }, + "delete": { + "tags": [ + "AdminRuleCollections" + ], + "description": "Deletes an admin rule collection.", + "operationId": "AdminRuleCollections_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "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": { + "Deletes an admin rule collection": { + "$ref": "./examples/NetworkManagerAdminRuleCollectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "get": { + "tags": [ + "AdminRules" + ], + "description": "List all network manager security configuration admin rules.", + "operationId": "AdminRules_List", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/AdminRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List security admin rules": { + "$ref": "./examples/NetworkManagerAdminRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityAdminConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationsRuleParameter" + } + ], + "get": { + "tags": [ + "AdminRules" + ], + "description": "Gets a network manager security configuration admin rule.", + "operationId": "AdminRules_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets security admin rule": { + "$ref": "./examples/NetworkManagerAdminRuleGet.json" + }, + "Gets security default admin rule": { + "$ref": "./examples/NetworkManagerDefaultAdminRuleGet.json" + } + } + }, + "put": { + "tags": [ + "AdminRules" + ], + "description": "Creates or updates an admin rule.", + "operationId": "AdminRules_CreateOrUpdate", + "parameters": [ + { + "name": "adminRule", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BaseAdminRule" + }, + "description": "The admin rule to create or update" + } + ], + "responses": { + "200": { + "description": "Updated rule", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "201": { + "description": "Created rule", + "schema": { + "$ref": "#/definitions/BaseAdminRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create an admin rule": { + "$ref": "./examples/NetworkManagerAdminRulePut.json" + }, + "Create a default admin rule": { + "$ref": "./examples/NetworkManagerDefaultAdminRulePut.json" + } + } + }, + "delete": { + "tags": [ + "AdminRules" + ], + "description": "Deletes an admin rule.", + "operationId": "AdminRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "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": { + "Deletes an admin rule": { + "$ref": "./examples/NetworkManagerAdminRuleDelete.json" + } + } + } + } + }, + "definitions": { + "SecurityAdminConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityAdminConfigurationPropertiesFormat", + "description": "Indicates the properties for the network manager security admin configuration." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "Defines the security admin configuration" + }, + "SecurityAdminConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the security configuration." + }, + "applyOnNetworkIntentPolicyBasedServices": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkIntentPolicyBasedService" + }, + "description": "Enum list of network intent policy based services." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "description": "Defines the security admin configuration properties." + }, + "SecurityAdminConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityAdminConfiguration" + }, + "description": "Gets a page of security admin configurations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "A list of network manager security admin configurations" + }, + "AdminRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseAdminRule" + }, + "description": "A list of admin rules" + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "security configuration admin rule list result." + }, + "AdminRuleCollectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AdminRuleCollection" + }, + "description": "A list of network manager security admin configuration rule collections" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Security admin configuration rule collection list result." + }, + "AdminRuleCollection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AdminRuleCollectionPropertiesFormat", + "description": "Indicates the properties for the network manager admin rule collection." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "Defines the admin rule collection." + }, + "AdminRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the admin rule collection." + }, + "appliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for configuration" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "required": [ + "appliesToGroups" + ], + "description": "Defines the admin rule collection properties." + }, + "BaseAdminRule": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "AdminRuleKind", + "modelAsString": true + } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base admin rule." + }, + "AdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseAdminRule" + } + ], + "description": "Network admin rule.", + "x-ms-discriminator-value": "Custom" + }, + "AdminPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for this rule. Restricted to 140 chars." + }, + "protocol": { + "type": "string", + "$ref": "#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "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/SecurityConfigurationRuleAccess", + "description": "Indicates the access allowed for this particular rule" + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 4096, + "description": "The priority of the rule. The value can be between 1 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/SecurityConfigurationRuleDirection", + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "required": [ + "protocol", + "access", + "direction", + "priority" + ], + "description": "Security admin rule resource." + }, + "DefaultAdminRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DefaultAdminPropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security admin rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseAdminRule" + } + ], + "description": "Network default admin rule.", + "x-ms-discriminator-value": "Default" + }, + "DefaultAdminPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "readOnly": true, + "description": "A description for this rule. Restricted to 140 chars." + }, + "flag": { + "type": "string", + "description": "Default rule flag." + }, + "protocol": { + "type": "string", + "readOnly": true, + "$ref": "#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "access": { + "$ref": "#/definitions/SecurityConfigurationRuleAccess", + "readOnly": true, + "description": "Indicates the access allowed for this particular rule" + }, + "priority": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The priority of the rule. The value can be between 1 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/SecurityConfigurationRuleDirection", + "readOnly": true, + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "description": "Security default admin rule resource." + }, + "SecurityConfigurationRuleAccess": { + "type": "string", + "description": "Whether network traffic is allowed or denied.", + "enum": [ + "Allow", + "Deny", + "AlwaysAllow" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleAccess", + "modelAsString": true + } + }, + "SecurityConfigurationRuleDirection": { + "type": "string", + "description": "The direction of the rule. The direction specifies if the rule will be evaluated on incoming or outgoing traffic.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleDirection", + "modelAsString": true + } + }, + "RuleProtocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "Tcp", + "Udp", + "Icmp", + "Esp", + "Any", + "Ah" + ], + "x-ms-enum": { + "name": "SecurityConfigurationRuleProtocol", + "modelAsString": true + } + }, + "NetworkManagerSecurityGroupItem": { + "type": "object", + "properties": { + "networkGroupId": { + "type": "string", + "description": "Network manager group Id." + } + }, + "required": [ + "networkGroupId" + ], + "description": "Network manager security group item." + }, + "AddressPrefixItem": { + "type": "object", + "properties": { + "addressPrefix": { + "type": "string", + "description": "Address prefix." + }, + "addressPrefixType": { + "type": "string", + "description": "Address prefix type.", + "enum": [ + "IPPrefix", + "ServiceTag" + ], + "x-ms-enum": { + "name": "AddressPrefixType", + "modelAsString": true + } + } + }, + "description": "Address prefix item." + }, + "NetworkIntentPolicyBasedService": { + "type": "string", + "description": "Network intent policy based services.", + "enum": [ + "None", + "All" + ], + "x-ms-enum": { + "name": "NetworkIntentPolicyBasedService", + "modelAsString": true + } + } + }, + "parameters": { + "SecurityConfigurationParameter": { + "name": "configurationName", + "in": "path", + "description": "The name of the network manager Security Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleCollectionParameter": { + "name": "ruleCollectionName", + "in": "path", + "description": "The name of the network manager security Configuration rule collection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SecurityConfigurationsRuleParameter": { + "name": "ruleName", + "in": "path", + "description": "The name of the rule.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityUserConfiguration.json b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityUserConfiguration.json new file mode 100644 index 000000000000..8849480a29d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityUserConfiguration.json @@ -0,0 +1,991 @@ +{ + "swagger": "2.0", + "info": { + "title": "SecurityUserConfiguration", + "version": "2022-02-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.Network/networkManagers/{networkManagerName}/securityUserConfigurations": { + "get": { + "tags": [ + "SecurityUserConfigurations" + ], + "operationId": "SecurityUserConfigurations_List", + "description": "Lists all the network manager security user configurations in a network manager, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all security user configurations in the specified network manager, in a paginated format", + "schema": { + "$ref": "#/definitions/SecurityUserConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List security user configurations in a network manager": { + "$ref": "./examples/NetworkManagerSecurityUserConfigurationList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + } + ], + "get": { + "tags": [ + "SecurityUserConfigurations" + ], + "description": "Retrieves a network manager security user configuration.", + "operationId": "SecurityUserConfigurations_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/SecurityUserConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get security user configurations": { + "$ref": "./examples/NetworkManagerSecurityUserConfigurationGet.json" + } + } + }, + "put": { + "tags": [ + "SecurityUserConfigurations" + ], + "description": "Creates or updates a network manager security user configuration.", + "operationId": "SecurityUserConfigurations_CreateOrUpdate", + "parameters": [ + { + "name": "securityUserConfiguration", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityUserConfiguration" + }, + "description": "The security user configuration to create or update" + } + ], + "responses": { + "200": { + "description": "Updated Configuration", + "schema": { + "$ref": "#/definitions/SecurityUserConfiguration" + } + }, + "201": { + "description": "Created Configuration", + "schema": { + "$ref": "#/definitions/SecurityUserConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create network manager security user configuration": { + "$ref": "./examples/NetworkManagerSecurityUserConfigurationPut.json" + } + } + }, + "delete": { + "tags": [ + "SecurityUserConfigurations" + ], + "description": "Deletes a network manager security user configuration.", + "operationId": "SecurityUserConfigurations_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "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 manager security user configuration": { + "$ref": "./examples/NetworkManagerSecurityUserConfigurationDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections": { + "get": { + "tags": [ + "UserRuleCollections" + ], + "operationId": "UserRuleCollections_List", + "description": "Lists all the user rule collections in a security configuration, in a paginated format.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "Get successful. The operation returns all ruleCollections in the specified security configuration, in a paginated format", + "schema": { + "$ref": "#/definitions/UserRuleCollectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List rule collections in a security configuration": { + "$ref": "./examples/NetworkManagerUserRuleCollectionList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + } + ], + "get": { + "tags": [ + "RuleCollections" + ], + "description": "Gets a network manager security user configuration rule collection.", + "operationId": "UserRuleCollections_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/UserRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets security user rule collection": { + "$ref": "./examples/NetworkManagerUserRuleCollectionGet.json" + } + } + }, + "put": { + "tags": [ + "UserRuleCollections" + ], + "description": "Creates or updates a user rule collection.", + "operationId": "UserRuleCollections_CreateOrUpdate", + "parameters": [ + { + "name": "userRuleCollection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UserRuleCollection" + }, + "description": "The User Rule Collection to create or update" + } + ], + "responses": { + "200": { + "description": "Updated User Rule Collection", + "schema": { + "$ref": "#/definitions/UserRuleCollection" + } + }, + "201": { + "description": "Created User Rule Collection", + "schema": { + "$ref": "#/definitions/UserRuleCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create or Update a User Rule Collection": { + "$ref": "./examples/NetworkManagerUserRuleCollectionPut.json" + } + } + }, + "delete": { + "tags": [ + "UserRuleCollections" + ], + "description": "Deletes a user rule collection.", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "operationId": "UserRuleCollections_Delete", + "responses": { + "200": { + "description": "OK" + }, + "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": { + "Deletes a user rule collection": { + "$ref": "./examples/NetworkManagerUserRuleCollectionDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/ListTopParameter" + }, + { + "$ref": "#/parameters/ListSkipTokenParameter" + } + ], + "get": { + "tags": [ + "UserRules" + ], + "description": "Lists all user rules in a rule collection.", + "operationId": "UserRules_List", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/UserRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List security user rules": { + "$ref": "./examples/NetworkManagerUserRuleList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkManagers/{networkManagerName}/securityUserConfigurations/{configurationName}/ruleCollections/{ruleCollectionName}/rules/{ruleName}": { + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/NetworkManagerNameParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationParameter" + }, + { + "$ref": "#/parameters/RuleCollectionParameter" + }, + { + "$ref": "#/parameters/SecurityConfigurationsRuleParameter" + } + ], + "get": { + "tags": [ + "UserRules" + ], + "description": "Gets a user rule.", + "operationId": "UserRules_Get", + "responses": { + "200": { + "description": "Successful operation", + "schema": { + "$ref": "#/definitions/BaseUserRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Gets a user rule": { + "$ref": "./examples/NetworkManagerUserRuleGet.json" + }, + "Gets a default user rule": { + "$ref": "./examples/NetworkManagerDefaultUserRuleGet.json" + } + } + }, + "put": { + "tags": [ + "UserRules" + ], + "description": "Creates or updates a user rule.", + "operationId": "UserRules_CreateOrUpdate", + "parameters": [ + { + "name": "userRule", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BaseUserRule" + }, + "description": "The user rule to create or update" + } + ], + "responses": { + "200": { + "description": "Updated rule", + "schema": { + "$ref": "#/definitions/BaseUserRule" + } + }, + "201": { + "description": "Created rule", + "schema": { + "$ref": "#/definitions/BaseUserRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a user rule": { + "$ref": "./examples/NetworkManagerUserRulePut.json" + }, + "Create a default user rule": { + "$ref": "./examples/NetworkManagerDefaultUserRulePut.json" + } + } + }, + "delete": { + "tags": [ + "UserRules" + ], + "description": "Deletes a user rule.", + "operationId": "UserRules_Delete", + "parameters": [ + { + "$ref": "#/parameters/ForceDeleteParameter" + } + ], + "responses": { + "200": { + "description": "Delete Succeed." + }, + "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 a user rule": { + "$ref": "./examples/NetworkManagerUserRuleDelete.json" + } + } + } + } + }, + "definitions": { + "SecurityUserConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityUserConfigurationPropertiesFormat", + "description": "Indicates the properties for the network manager security user configuration." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "Defines the security user configuration" + }, + "SecurityUserConfigurationPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the security user configuration." + }, + "deleteExistingNSGs": { + "type": "string", + "enum": [ + "False", + "True" + ], + "x-ms-enum": { + "name": "DeleteExistingNSGs", + "modelAsString": true + }, + "description": "Flag if need to delete existing network security groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "description": "Defines the security user configuration properties." + }, + "SecurityUserConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SecurityUserConfiguration" + }, + "description": "Gets a page of security user configurations" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next page of results." + } + }, + "description": "A list of network manager security user configurations" + }, + "UserRuleCollectionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UserRuleCollection" + }, + "description": "A list of network manager security user configuration rule collections" + }, + "nextLink": { + "type": "string", + "description": "Gets the URL to get the next set of results." + } + }, + "description": "Security user configuration rule collection list result." + }, + "UserRuleCollection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserRuleCollectionPropertiesFormat", + "description": "Indicates the properties for the network manager user rule collection." + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "description": "Defines the user rule collection." + }, + "UserRuleCollectionPropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description of the user rule collection." + }, + "appliesToGroups": { + "type": "array", + "x-ms-identifiers": [ + "networkGroupId" + ], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/NetworkManagerSecurityGroupItem" + }, + "description": "Groups for configuration" + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource." + } + }, + "required": [ + "appliesToGroups" + ], + "description": "Defines the user rule collection properties." + }, + "BaseUserRule": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Whether the rule is custom or default.", + "enum": [ + "Custom", + "Default" + ], + "x-ms-enum": { + "name": "UserRuleKind", + "modelAsString": true + } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "./network.json#/definitions/SystemData" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/ProxyResource" + } + ], + "required": [ + "kind" + ], + "discriminator": "kind", + "description": "Network base rule." + }, + "UserRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BaseUserRule" + }, + "description": "A list of user rules" + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "security user rule list result." + }, + "UserRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UserRulePropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security user rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseUserRule" + } + ], + "description": "Network security user rule.", + "x-ms-discriminator-value": "Custom" + }, + "UserRulePropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "A description for this rule." + }, + "protocol": { + "type": "string", + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "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." + }, + "direction": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/SecurityConfigurationRuleDirection", + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the security configuration user rule resource." + } + }, + "required": [ + "protocol", + "direction" + ], + "description": "Security rule resource." + }, + "DefaultUserRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DefaultUserRulePropertiesFormat", + "x-ms-client-flatten": true, + "description": "Indicates the properties of the security default user rule" + } + }, + "allOf": [ + { + "$ref": "#/definitions/BaseUserRule" + } + ], + "description": "Network security default user rule.", + "x-ms-discriminator-value": "Default" + }, + "DefaultUserRulePropertiesFormat": { + "type": "object", + "properties": { + "description": { + "type": "string", + "readOnly": true, + "description": "A description for this rule. Restricted to 140 chars." + }, + "flag": { + "type": "string", + "description": "Default rule flag." + }, + "protocol": { + "type": "string", + "readOnly": true, + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/RuleProtocol", + "description": "Network protocol this rule applies to." + }, + "sources": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AddressPrefixItem" + }, + "description": "The CIDR or source IP ranges." + }, + "destinations": { + "type": "array", + "x-ms-identifiers": [ + "addressPrefix" + ], + "readOnly": true, + "items": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/AddressPrefixItem" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The source port." + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The destination port." + }, + "description": "The destination port ranges." + }, + "direction": { + "$ref": "./networkManagerSecurityAdminConfiguration.json#/definitions/SecurityConfigurationRuleDirection", + "readOnly": true, + "description": "Indicates if the traffic matched against the rule in inbound or outbound." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the security configuration user rule resource." + } + }, + "description": "Security default user rule resource." + } + }, + "parameters": { + "SecurityConfigurationParameter": { + "name": "configurationName", + "in": "path", + "description": "The name of the network manager Security Configuration.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleCollectionParameter": { + "name": "ruleCollectionName", + "in": "path", + "description": "The name of the network manager security Configuration rule collection.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SecurityConfigurationsRuleParameter": { + "name": "ruleName", + "in": "path", + "description": "The name of the rule.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "NetworkManagerNameParameter": { + "name": "networkManagerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the network manager.", + "x-ms-parameter-location": "method" + }, + "ListTopParameter": { + "name": "$top", + "description": "An optional query parameter which specifies the maximum number of records to be returned by the server.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 20, + "x-ms-parameter-location": "method" + }, + "ListSkipTokenParameter": { + "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", + "x-ms-parameter-location": "method" + }, + "ForceDeleteParameter": { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Deletes the resource even if it is part of a deployed configuration. If the configuration has been deployed, the service will do a cleanup deployment in the background, prior to the delete.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/readme.go.md b/specification/network/resource-manager/readme.go.md index fd20a8c1a4ad..aef1b12a06ed 100644 --- a/specification/network/resource-manager/readme.go.md +++ b/specification/network/resource-manager/readme.go.md @@ -23,6 +23,7 @@ azure-arm: true batch: - tag: package-2021-05 - tag: package-2021-03 + - tag: package-2021-02-preview - tag: package-2021-03-preview - tag: package-2021-02 - tag: package-2020-11 @@ -51,16 +52,7 @@ batch: - tag: package-2018-01 - tag: package-2017-11 - tag: package-2017-10 - - tag: package-2017-09 - - tag: package-2017-08 - - tag: package-2017-06 - - tag: package-2017-03 - - tag: package-2016-12 - - tag: package-2016-09 - - tag: package-2016-06 - - tag: package-2016-03 - tag: package-2015-06split - - tag: package-2015-05-preview ``` ### Tag: package-2021-05 and go @@ -90,6 +82,15 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-02-preview' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-02-01-preview/$(namespace) +``` + ### Tag: package-2021-02 and go These settings apply only when `--tag=package-2021-02 --go` is specified on the command line. diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index 21e05df1fb3a..d15f452a1107 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -31,6 +31,73 @@ openapi-type: arm tag: package-2021-05 ``` +### Tag: package-2022-02-preview + +These settings apply only when `--tag=2022-02-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02-preview' +input-file: + - Microsoft.Network/preview/2022-02-01-preview/network.json + - Microsoft.Network/preview/2022-02-01-preview/networkManager.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerActiveConfiguration.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerConnectivityConfiguration.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerEffectiveConfiguration.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerGroup.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityUserConfiguration.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerSecurityAdminConfiguration.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerConnection.json + - Microsoft.Network/preview/2022-02-01-preview/networkManagerScopeConnection.json + - Microsoft.Network/stable/2021-05-01/applicationGateway.json + - Microsoft.Network/stable/2021-05-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2021-05-01/availableDelegations.json + - Microsoft.Network/stable/2021-05-01/availableServiceAliases.json + - Microsoft.Network/stable/2021-05-01/azureFirewall.json + - Microsoft.Network/stable/2021-05-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2021-05-01/azureWebCategory.json + - Microsoft.Network/stable/2021-05-01/bastionHost.json + - Microsoft.Network/stable/2021-05-01/checkDnsAvailability.json + - Microsoft.Network/stable/2021-05-01/cloudServiceNetworkInterface.json + - Microsoft.Network/stable/2021-05-01/cloudServicePublicIpAddress.json + - Microsoft.Network/stable/2021-05-01/customIpPrefix.json + - Microsoft.Network/stable/2021-05-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2021-05-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2021-05-01/dscpConfiguration.json + - Microsoft.Network/stable/2021-05-01/endpointService.json + - Microsoft.Network/stable/2021-05-01/expressRouteCircuit.json + - Microsoft.Network/stable/2021-05-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2021-05-01/expressRoutePort.json + - Microsoft.Network/stable/2021-05-01/firewallPolicy.json + - Microsoft.Network/stable/2021-05-01/ipAllocation.json + - Microsoft.Network/stable/2021-05-01/ipGroups.json + - Microsoft.Network/stable/2021-05-01/loadBalancer.json + - Microsoft.Network/stable/2021-05-01/natGateway.json + - Microsoft.Network/stable/2021-05-01/network.json + - Microsoft.Network/stable/2021-05-01/networkInterface.json + - Microsoft.Network/stable/2021-05-01/networkProfile.json + - Microsoft.Network/stable/2021-05-01/networkSecurityGroup.json + - Microsoft.Network/stable/2021-05-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2021-05-01/networkWatcher.json + - Microsoft.Network/stable/2021-05-01/operation.json + - Microsoft.Network/stable/2021-05-01/privateEndpoint.json + - Microsoft.Network/stable/2021-05-01/privateLinkService.json + - Microsoft.Network/stable/2021-05-01/publicIpAddress.json + - Microsoft.Network/stable/2021-05-01/publicIpPrefix.json + - Microsoft.Network/stable/2021-05-01/routeFilter.json + - Microsoft.Network/stable/2021-05-01/routeTable.json + - Microsoft.Network/stable/2021-05-01/securityPartnerProvider.json + - Microsoft.Network/stable/2021-05-01/serviceCommunity.json + - Microsoft.Network/stable/2021-05-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2021-05-01/serviceTags.json + - Microsoft.Network/stable/2021-05-01/usage.json + - Microsoft.Network/stable/2021-05-01/virtualNetwork.json + - Microsoft.Network/stable/2021-05-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2021-05-01/virtualNetworkTap.json + - Microsoft.Network/stable/2021-05-01/virtualRouter.json + - Microsoft.Network/stable/2021-05-01/virtualWan.json + - Microsoft.Network/stable/2021-05-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2021-05-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2021-05-01/webapplicationfirewall.json + ``` ### Tag: package-2021-05-preview diff --git a/specification/network/resource-manager/readme.python.md b/specification/network/resource-manager/readme.python.md index 8e3cb074d1a7..9a7838b140a4 100644 --- a/specification/network/resource-manager/readme.python.md +++ b/specification/network/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-network @@ -56,7 +56,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/network/azure-mgmt-network/azure/mgmt/network/ -clear-output-folder: false perform-load: false ``` diff --git a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json index 8470a4cae85c..a4656ebc1952 100644 --- a/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json +++ b/specification/notebooks/resource-manager/Microsoft.Notebooks/preview/2019-10-11-preview/notebooks.json @@ -656,7 +656,8 @@ "type": "array", "items": { "$ref": "#/definitions/GroupConnectivityInformation" - } + }, + "x-ms-identifiers": [] } } }, @@ -795,7 +796,10 @@ "description": "[DEPRECATED] An array of error detail objects.", "items": { "$ref": "#/definitions/ErrorDetail" - } + }, + "x-ms-identifiers": [ + "code" + ] } } }, @@ -820,7 +824,10 @@ "description": "An array of error detail objects.", "items": { "$ref": "#/definitions/ErrorDetail" - } + }, + "x-ms-identifiers": [ + "code" + ] } }, "required": [ @@ -889,6 +896,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Notebook Proxy operations supported by the Azure Notebooks resource provider." } } diff --git a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json index 7adef9aacc5e..25a3587e3e4a 100644 --- a/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json +++ b/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2017-04-01/notificationhubs.json @@ -1501,7 +1501,10 @@ "description": "List of NotificationHubs operations supported by the Microsoft.NotificationHubs resource provider.", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "readOnly": true, @@ -2087,6 +2090,9 @@ "items": { "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties" }, + "x-ms-identifiers": [ + "keyName" + ], "description": "The AuthorizationRules of the created NotificationHub" }, "apnsCredential": { diff --git a/specification/notificationhubs/resource-manager/readme.python.md b/specification/notificationhubs/resource-manager/readme.python.md index fde09516ff05..fbc56a0e4821 100644 --- a/specification/notificationhubs/resource-manager/readme.python.md +++ b/specification/notificationhubs/resource-manager/readme.python.md @@ -2,23 +2,18 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION -namespace: azure.mgmt.notificationhubs package-name: azure-mgmt-notificationhubs +namespace: azure.mgmt.notificationhubs package-version: 7.0.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/notificationhubs/azure-mgmt-notificationhubs/azure/mgmt/notificationhubs ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/notificationhubs/azure-mgmt-notificationhubs -``` diff --git a/specification/oep/resource-manager/readme.python.md b/specification/oep/resource-manager/readme.python.md index 36f42d620bd4..1c68e6d82ed8 100644 --- a/specification/oep/resource-manager/readme.python.md +++ b/specification/oep/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-oep -no-namespace-folders: true +namespace: azure.mgmt.oep package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/oep/azure-mgmt-oep/azure/mgmt/oep ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/oep/azure-mgmt-oep -``` diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Operations.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Operations.json index 3cc161a5aead..1fb2c4283f31 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Operations.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Operations.json @@ -80,6 +80,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of solution operations supported by the OperationsManagement resource provider." }, "nextLink": { diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Tables.json index 069b0dc35bb7..65afa96575ef 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Tables.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Tables.json @@ -291,6 +291,48 @@ "final-state-via": "azure-async-operation" } } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}/migrate": { + "post": { + "tags": [ + "Tables" + ], + "x-ms-examples": { + "TablesGet": { + "$ref": "./examples/TablesMigrate.json" + } + }, + "operationId": "Tables_Migrate", + "description": "Migrate a Log Analytics table from support of the Data Collector API and Custom Fields features to support of Data Collection Rule-based Custom Logs.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/TableNameParameter" + } + ], + "responses": { + "200": { + "description": "OK response definition." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } } }, "definitions": { @@ -392,6 +434,9 @@ "items": { "$ref": "#/definitions/Column" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of table custom columns." }, "standardColumns": { @@ -400,6 +445,9 @@ "items": { "$ref": "#/definitions/Column" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of table standard columns." }, "categories": { @@ -532,7 +580,7 @@ }, "description": { "type": "string", - "description": "Search results table's Description." + "description": "Search job Description." }, "limit": { "type": "integer", @@ -552,7 +600,7 @@ "sourceTable": { "readOnly": true, "type": "string", - "description": "The table to search data from." + "description": "The table used in the search job." } }, "description": "Parameters of the search job that initiated this table." @@ -571,7 +619,6 @@ "description": "The timestamp to end the restore by (UTC)." }, "sourceTable": { - "readOnly": true, "type": "string", "description": "The table to restore data from." } @@ -604,14 +651,14 @@ "format": "int32", "minimum": 4, "maximum": 730, - "description": "The data table data retention in days, between 4 and 730. Setting this property to null will default to the workspace retention." + "description": "The table retention in days, between 4 and 730. Setting this property to -1 will default to the workspace retention." }, "totalRetentionInDays": { "type": "integer", "format": "int32", "minimum": 4, "maximum": 2555, - "description": "The table data total retention in days, between 4 and 2555. Setting this property to null will default to table retention." + "description": "The table total retention in days, between 4 and 2555. Setting this property to -1 will default to table retention." }, "archiveRetentionInDays": { "readOnly": true, @@ -633,7 +680,7 @@ }, "plan": { "type": "string", - "description": "The table plan.", + "description": "Instruct the system how to handle and charge the logs ingested to this table.", "enum": [ "Basic", "Analytics" @@ -644,11 +691,11 @@ "values": [ { "value": "Basic", - "description": "Basic - logs that are adjusted to support high volume / low value verbose logs." + "description": "Logs that are adjusted to support high volume low value verbose logs." }, { "value": "Analytics", - "description": "Analytics - logs that allow monitoring and analytics." + "description": "Logs that allow monitoring and analytics." } ] } diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Workspaces.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Workspaces.json index e0fa011de5b0..4469b666d783 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Workspaces.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/Workspaces.json @@ -511,6 +511,7 @@ "provisioningState": { "type": "string", "description": "The provisioning state of the workspace.", + "readOnly": true, "enum": [ "Creating", "Succeeded", @@ -572,6 +573,9 @@ "items": { "$ref": "#/definitions/PrivateLinkScopedResource" }, + "x-ms-identifiers": [ + "resourceId" + ], "description": "List of linked private link scope resources." }, "features": { diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/examples/TablesMigrate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/examples/TablesMigrate.json new file mode 100644 index 000000000000..2424fb1b96ae --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/preview/2021-12-01-preview/examples/TablesMigrate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "resourceGroupName": "oiautorest6685", + "workspaceName": "oiautorest6685", + "api-version": "2021-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-00000000000", + "tableName": "table1_CL" + }, + "responses": { + "200": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPackQueries.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPackQueries.json new file mode 100644 index 000000000000..e731707a896c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPackQueries.json @@ -0,0 +1,615 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics Query Packs", + "description": "Azure Log Analytics API reference for management of saved Queries within Query Packs.", + "version": "2019-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries": { + "get": { + "description": "Gets a list of Queries defined within a Log Analytics QueryPack.", + "operationId": "Queries_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MaxItemCountParameter" + }, + { + "$ref": "#/parameters/IncludeBodyParameter" + }, + { + "$ref": "#/parameters/ContinuationTokenParameter" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryList": { + "$ref": "./examples/QueryPackQueriesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries/search": { + "post": { + "description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.", + "operationId": "Queries_Search", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MaxItemCountParameter" + }, + { + "$ref": "#/parameters/IncludeBodyParameter" + }, + { + "$ref": "#/parameters/ContinuationTokenParameter" + }, + { + "name": "QuerySearchProperties", + "description": "Properties by which to search queries in the given Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuerySearchProperties" + } + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QuerySearch": { + "$ref": "./examples/QueryPackQueriesSearch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}/queries/{id}": { + "get": { + "description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.", + "operationId": "Queries_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A single query contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryGet": { + "$ref": "./examples/QueryPackQueriesGet.json" + } + } + }, + "put": { + "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.", + "operationId": "Queries_Put", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "QueryPayload", + "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + } + ], + "responses": { + "200": { + "description": "The new or updated query contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryPut": { + "$ref": "./examples/QueryPackQueriesPut.json" + } + } + }, + "patch": { + "description": "Adds or Updates a specific Query within a Log Analytics QueryPack.", + "operationId": "Queries_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "QueryPayload", + "description": "Properties that need to be specified to create a new query and add it to a Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + } + ], + "responses": { + "200": { + "description": "The new or updated query contained within the Log Analytics QueryPack.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryPatch": { + "$ref": "./examples/QueryPackQueriesUpdate.json" + } + } + }, + "delete": { + "description": "Deletes a specific Query defined within an Log Analytics QueryPack.", + "operationId": "Queries_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/QueryPackNameParameter" + }, + { + "$ref": "#/parameters/QueryIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The query has been successfully removed from the Log Analytics QueryPack" + }, + "204": { + "description": "The specified query or associated QueryPack does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "QueryDelete": { + "$ref": "./examples/QueryPackQueriesDelete.json" + } + } + } + } + }, + "definitions": { + "AzureResourceProperties": { + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "Read only system data" + } + }, + "description": "An Azure resource QueryPack-Query object" + }, + "LogAnalyticsQueryPackQuery": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties that define an Log Analytics QueryPack-Query resource.", + "$ref": "#/definitions/LogAnalyticsQueryPackQueryProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/AzureResourceProperties" + } + ], + "description": "A Log Analytics QueryPack-Query definition.", + "x-ms-azure-resource": true + }, + "LogAnalyticsQueryPackQueryProperties": { + "type": "object", + "description": "Properties that define an Log Analytics QueryPack-Query resource.", + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "The unique ID of your application. This field cannot be changed.", + "readOnly": true + }, + "displayName": { + "type": "string", + "readOnly": false, + "description": "Unique display name for your query within the Query Pack." + }, + "timeCreated": { + "type": "string", + "readOnly": true, + "description": "Creation Date for the Log Analytics Query, in ISO 8601 format.", + "format": "date-time" + }, + "timeModified": { + "type": "string", + "readOnly": true, + "description": "Last modified date of the Log Analytics Query, in ISO 8601 format.", + "format": "date-time" + }, + "author": { + "type": "string", + "readOnly": true, + "description": "Object Id of user creating the query." + }, + "description": { + "type": "string", + "readOnly": false, + "description": "Description of the query." + }, + "body": { + "type": "string", + "readOnly": false, + "description": "Body of the query." + }, + "related": { + "description": "The related metadata items for the function.", + "type": "object", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "properties": { + "type": "object", + "description": "Additional properties that can be set for the query." + } + }, + "required": [ + "body", + "displayName" + ] + }, + "LogAnalyticsQueryPackQuerySearchProperties": { + "type": "object", + "description": "Properties that define an Log Analytics QueryPack-Query search properties.", + "properties": { + "related": { + "type": "object", + "description": "The related metadata items for the function.", + "properties": { + "categories": { + "description": "The related categories for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "resourceTypes": { + "description": "The related resource types for the function.", + "type": "array", + "items": { + "type": "string" + } + }, + "solutions": { + "description": "The related Log Analytics solutions for the function.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "tags": { + "description": "Tags associated with the query.", + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "LogAnalyticsQueryPackQueryListResult": { + "type": "object", + "description": "Describes the list of Log Analytics QueryPack-Query resources.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of Log Analytics QueryPack Query definitions.", + "items": { + "$ref": "#/definitions/LogAnalyticsQueryPackQuery" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPack-Queries where returned in the result set." + } + } + }, + "SystemData": { + "description": "Read only system data", + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "An identifier for the identity that created the resource" + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "An identifier for the identity that last modified the resource" + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "user", + "application", + "managedIdentity", + "key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + } + }, + "parameters": { + "QueryPackNameParameter": { + "name": "queryPackName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Log Analytics QueryPack resource.", + "x-ms-parameter-location": "method" + }, + "QueryIdParameter": { + "name": "id", + "in": "path", + "required": true, + "type": "string", + "description": "The id of a specific query defined in the Log Analytics QueryPack", + "x-ms-parameter-location": "method" + }, + "IncludeBodyParameter": { + "name": "includeBody", + "in": "query", + "required": false, + "type": "boolean", + "description": "Flag indicating whether or not to return the body of each applicable query. If false, only return the query information.", + "x-ms-parameter-location": "method" + }, + "MaxItemCountParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int64", + "description": "Maximum items returned in page.", + "x-ms-parameter-location": "method" + }, + "ContinuationTokenParameter": { + "name": "$skipToken", + "in": "query", + "required": false, + "type": "string", + "description": "Base64 encoded token used to fetch the next page of items. Default is null.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPacks.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPacks.json new file mode 100644 index 000000000000..08c6955e56ff --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/QueryPacks.json @@ -0,0 +1,416 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Log Analytics Query Packs", + "description": "Azure Log Analytics API reference for Query Packs management.", + "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.OperationalInsights/queryPacks": { + "get": { + "description": "Gets a list of all Log Analytics QueryPacks within a subscription.", + "operationId": "QueryPacks_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "A list containing 0 or more Log Analytics QueryPack definitions.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackListResult" + } + } + }, + "x-ms-examples": { + "QueryPacksList": { + "$ref": "./examples/QueryPacksList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks": { + "get": { + "description": "Gets a list of Log Analytics QueryPacks within a resource group.", + "operationId": "QueryPacks_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "A list containing 0 or more Log Analytics QueryPack definitions.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPackListResult" + } + } + }, + "x-ms-examples": { + "QueryPackListByResourceGroup": { + "$ref": "./examples/QueryPacksListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/queryPacks/{queryPackName}": { + "delete": { + "description": "Deletes a Log Analytics QueryPack.", + "operationId": "QueryPacks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request when deleting a Log Analytics QueryPack." + }, + "204": { + "description": "The specified QueryPack does not exist." + } + }, + "x-ms-examples": { + "QueryPacksDelete": { + "$ref": "./examples/QueryPacksDelete.json" + } + } + }, + "get": { + "description": "Returns a Log Analytics QueryPack.", + "operationId": "QueryPacks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "An Log Analytics QueryPack definition.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPack" + } + } + }, + "x-ms-examples": { + "QueryPackGet": { + "$ref": "./examples/QueryPacksGet.json" + } + } + }, + "put": { + "description": "Creates (or updates) a Log Analytics QueryPack. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.", + "operationId": "QueryPacks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "LogAnalyticsQueryPackPayload", + "description": "Properties that need to be specified to create or update a Log Analytics QueryPack.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPack" + } + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Successful request when creating or updating a Log Analytics QueryPack. The updated QueryPack is returned.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPack" + } + } + }, + "x-ms-examples": { + "QueryPackCreate": { + "$ref": "./examples/QueryPacksCreate.json" + }, + "QueryPackUpdate": { + "$ref": "./examples/QueryPacksUpdate.json" + } + } + }, + "patch": { + "description": "Updates an existing QueryPack's tags. To update other fields use the CreateOrUpdate method.", + "operationId": "QueryPacks_UpdateTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "QueryPackTags", + "description": "Updated tag information to set into the QueryPack instance.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Updating the Log Analytics QueryPack's tags was successful. QueryPack tags are updated and returned with the rest of the QueryPack's object properties.", + "schema": { + "$ref": "#/definitions/LogAnalyticsQueryPack" + } + } + }, + "x-ms-examples": { + "QueryPackUpdateTagsOnly": { + "$ref": "./examples/QueryPacksUpdateTagsOnly.json" + } + } + } + } + }, + "definitions": { + "QueryPacksResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" + }, + "name": { + "type": "string", + "description": "Azure resource name", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true, + "description": "An azure resource object" + }, + "TagsResource": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a QueryPack instance." + }, + "LogAnalyticsQueryPack": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties that define a Log Analytics QueryPack resource.", + "$ref": "#/definitions/LogAnalyticsQueryPackProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/QueryPacksResource" + } + ], + "required": [ + "properties" + ], + "description": "An Log Analytics QueryPack definition." + }, + "LogAnalyticsQueryPackProperties": { + "type": "object", + "description": "Properties that define a Log Analytics QueryPack resource.", + "properties": { + "queryPackId": { + "type": "string", + "description": "The unique ID of your application. This field cannot be changed.", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "readOnly": true, + "description": "Creation Date for the Log Analytics QueryPack, in ISO 8601 format.", + "format": "date-time" + }, + "timeModified": { + "type": "string", + "readOnly": true, + "description": "Last modified date of the Log Analytics QueryPack, in ISO 8601 format.", + "format": "date-time" + }, + "provisioningState": { + "type": "string", + "description": "Current state of this QueryPack: whether or not is has been provisioned within the resource group it is defined. Users cannot change this value but are able to read from it. Values will include Succeeded, Deploying, Canceled, and Failed.", + "readOnly": true + } + } + }, + "LogAnalyticsQueryPackListResult": { + "type": "object", + "description": "Describes the list of Log Analytics QueryPack resources.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of Log Analytics QueryPack definitions.", + "items": { + "$ref": "#/definitions/LogAnalyticsQueryPack" + } + }, + "nextLink": { + "type": "string", + "description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set." + } + } + } + }, + "parameters": { + "ResourceNameParameter": { + "name": "queryPackName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Log Analytics QueryPack resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesDelete.json new file mode 100644 index 000000000000..3441de942579 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesGet.json new file mode 100644 index 000000000000..b55d0bd15362 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "displayName": "Exceptions - New in the last 24 hours", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "timeModified": "2018-02-14T13:13:19.3381394Z", + "timeCreated": "2018-02-12T11:44:39.2980634Z", + "description": "Thie query fetcges the recent exceptions from the last 24 hours" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesList.json new file mode 100644 index 000000000000..7a316fa836ec --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesList.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "includeBody": true + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", + "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "timeCreated": "2019-08-15T10:29:56.1030254Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:29:56.1030254Z", + "displayName": "Heartbeat_1", + "description": "Thie query takes 10 entries of heartbeat", + "body": "heartbeat | take 10" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "timeCreated": "2019-08-15T10:30:26.7943629Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:26.7943629Z", + "displayName": "Heartbeat_2", + "description": "Thie query takes 10 entries of heartbeat", + "body": "heartbeat | take 10" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "timeCreated": "2019-08-15T10:30:29.4505584Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:29.4505584Z", + "displayName": "Heartbeat_3", + "description": "Thie query takes 10 entries of heartbeat", + "body": "heartbeat | take 10" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819", + "name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "a5a9010e-e4b7-45ad-8b14-09d7e6082819", + "timeCreated": "2019-08-15T10:30:32.5742324Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:32.5742324Z", + "displayName": "Heartbeat_4", + "description": "Thie query takes 10 entries of heartbeat", + "body": "heartbeat | take 10" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesPut.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesPut.json new file mode 100644 index 000000000000..169a8c746c45 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesPut.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "QueryPayload": { + "properties": { + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "timeCreated": "2019-08-15T10:30:32.5742324Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:32.5742324Z", + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesSearch.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesSearch.json new file mode 100644 index 000000000000..ca62e1069653 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesSearch.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "includeBody": true, + "$top": 3, + "QuerySearchProperties": { + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476", + "name": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "4337bb16-d6fe-4ff7-97cf-59df25941476", + "timeCreated": "2019-08-15T10:29:56.1030254Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:29:56.1030254Z", + "displayName": "Heartbeat_1", + "description": "Thie query takes 10 entries of heartbeat 0", + "body": "Heartbeat | take 1", + "related": { + "categories": [ + "other" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "bf015bf7-be70-49c2-8d52-4cce85c42ef1", + "timeCreated": "2019-08-15T10:30:26.7943629Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:26.7943629Z", + "displayName": "Heartbeat_2", + "description": "Thie query takes 10 entries of heartbeat 1", + "body": "Heartbeat | take 1", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "8d91c6ca-9c56-49c6-b3ae-112a68871acd", + "timeCreated": "2019-08-15T10:30:29.4505584Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:29.4505584Z", + "displayName": "Heartbeat_3", + "description": "Thie query takes 10 entries of heartbeat 2", + "body": "Heartbeat | take 1", + "related": { + "categories": [ + "other", + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesUpdate.json new file mode 100644 index 000000000000..169a8c746c45 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPackQueriesUpdate.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "QueryPayload": { + "properties": { + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "type": "microsoft.operationalinsights/queryPacks/queries", + "systemData": { + "createdBy": "string", + "createdByType": "application", + "createdAt": "2020-02-03T01:01:01.1075056Z", + "lastModifiedBy": "string", + "lastModifiedByType": "application", + "lastModifiedAt": "2020-02-04T02:03:01.1974346Z" + }, + "properties": { + "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4", + "timeCreated": "2019-08-15T10:30:32.5742324Z", + "author": "1809f206-263a-46f7-942d-4572c156b7e7", + "timeModified": "2019-08-15T10:30:32.5742324Z", + "displayName": "Exceptions - New in the last 24 hours", + "description": "my description", + "body": "let newExceptionsTimeRange = 1d;\nlet timeRangeToCheckBefore = 7d;\nexceptions\n| where timestamp < ago(timeRangeToCheckBefore)\n| summarize count() by problemId\n| join kind= rightanti (\nexceptions\n| where timestamp >= ago(newExceptionsTimeRange)\n| extend stack = tostring(details[0].rawStack)\n| summarize count(), dcount(user_AuthenticatedId), min(timestamp), max(timestamp), any(stack) by problemId \n) on problemId \n| order by count_ desc\n", + "related": { + "categories": [ + "analytics" + ] + }, + "tags": { + "my-label": [ + "label1" + ], + "my-other-label": [ + "label2" + ] + } + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksCreate.json new file mode 100644 index 000000000000..e26eef16cc7b --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksCreate.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "LogAnalyticsQueryPackPayload": { + "location": "South Central US", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": {}, + "properties": { + "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-08-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksDelete.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksDelete.json new file mode 100644 index 000000000000..20309621a2af --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksGet.json new file mode 100644 index 000000000000..e8fb279fe8fd --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "southcentralus", + "tags": {}, + "properties": { + "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-08-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksList.json new file mode 100644 index 000000000000..9f97cfd8bf05 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": {}, + "properties": { + "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc6aa", + "timeCreated": "2019-08-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-other-resource-group/providers/microsoft.operationalinsights/queryPacks/my-other-querypack", + "name": "my-other-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": {}, + "properties": { + "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-06-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksListByResourceGroup.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksListByResourceGroup.json new file mode 100644 index 000000000000..ed477776e909 --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksListByResourceGroup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": {}, + "properties": { + "queryPackId": "d1c8fc00-2b68-441e-8f9b-ded8748dc6aa", + "timeCreated": "2019-08-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-other-querypack", + "name": "my-other-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": {}, + "properties": { + "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-06-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdate.json new file mode 100644 index 000000000000..7971064b45ce --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "LogAnalyticsQueryPackPayload": { + "location": "South Central US", + "tags": { + "Tag1": "Value1" + }, + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": { + "Tag1": "Value1" + }, + "properties": { + "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-06-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdateTagsOnly.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdateTagsOnly.json new file mode 100644 index 000000000000..f3c1474cb46c --- /dev/null +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2019-09-01/examples/QueryPacksUpdateTagsOnly.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2019-09-01", + "subscriptionId": "subid", + "resourceGroupName": "my-resource-group", + "queryPackName": "my-querypack", + "QueryPackTags": { + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.operationalinsights/queryPacks/my-querypack", + "name": "my-querypack", + "type": "microsoft.operationalinsights/querypacks", + "location": "South Central US", + "tags": { + "Tag1": "Value1", + "Tag2": "Value2" + }, + "properties": { + "queryPackId": "aac8fc00-2b68-441e-8f9b-ded8748dc635", + "timeCreated": "2019-06-04T12:37:56.8543652Z", + "timeModified": "2019-08-04T12:37:56.8543652Z", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json index dd0162d958b4..6ceb2386c93e 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json @@ -132,6 +132,9 @@ "items": { "$ref": "#/definitions/ManagementGroup" }, + "x-ms-identifiers": [ + "/properties/id" + ], "description": "Gets or sets a list of management groups attached to the workspace." } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json index 1d9bc958f0ea..c1f9a4a522a8 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json @@ -252,6 +252,9 @@ "items": { "$ref": "#/definitions/Tag" }, + "x-ms-identifiers": [ + "name" + ], "description": "The tags attached to the saved search." } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json index 6df122c9f37b..f071110eb417 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Schema.json @@ -154,6 +154,7 @@ "items": { "$ref": "#/definitions/CoreSummary" }, + "x-ms-identifiers": [], "description": "The core summaries." }, "status": { @@ -179,6 +180,9 @@ "items": { "$ref": "#/definitions/SearchSort" }, + "x-ms-identifiers": [ + "name" + ], "description": "How the results are sorted." }, "requestTime": { @@ -264,6 +268,9 @@ "items": { "$ref": "#/definitions/SearchSchemaValue" }, + "x-ms-identifiers": [ + "name" + ], "description": "The array of result values." } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json index a7bb8315356b..719090226cec 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/Usages.json @@ -127,6 +127,9 @@ "items": { "$ref": "#/definitions/UsageMetric" }, + "x-ms-identifiers": [ + "name" + ], "description": "Gets or sets a list of usage metrics for a workspace." } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json index 7d16bf6b2028..92892085612f 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json @@ -136,7 +136,8 @@ "description": "The set of columns and filters (queries) to run over them to purge the resulting data.", "items": { "$ref": "#/definitions/WorkspacePurgeBodyFilters" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json index 8a9663c21bd9..02b63bd60842 100644 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json +++ b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json @@ -392,7 +392,10 @@ "type": "array", "items": { "$ref": "#/definitions/AssociatedWorkspace" - } + }, + "x-ms-identifiers": [ + "workspaceId" + ] }, "capacityReservationProperties": { "$ref": "#/definitions/CapacityReservationProperties", diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json deleted file mode 100644 index 13c38636184b..000000000000 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/Tables.json +++ /dev/null @@ -1,300 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "Azure Log Analytics", - "description": "Azure Log Analytics API reference", - "version": "2021-06-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables": { - "get": { - "tags": [ - "Tables" - ], - "x-ms-examples": { - "TablesListByWorkspace": { - "$ref": "./examples/TablesList.json" - } - }, - "operationId": "Tables_ListByWorkspace", - "description": "Gets all the tables for the specified Log Analytics workspace.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/TablesListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}": { - "patch": { - "tags": [ - "Tables" - ], - "x-ms-examples": { - "TablesSet": { - "$ref": "./examples/TablesUpdate.json" - } - }, - "operationId": "Tables_Update", - "description": "Updates a Log Analytics workspace table properties.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/TableNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Table" - }, - "description": "The parameters required to update table properties." - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Table" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Tables" - ], - "x-ms-examples": { - "TablesSet": { - "$ref": "./examples/TablesCreate.json" - } - }, - "operationId": "Tables_Create", - "description": "Updates a Log Analytics workspace table properties.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/TableNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Table" - }, - "description": "The parameters required to update table properties." - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Table" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Tables" - ], - "x-ms-examples": { - "TablesGet": { - "$ref": "./examples/TablesGet.json" - } - }, - "operationId": "Tables_Get", - "description": "Gets a Log Analytics workspace table.", - "parameters": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/WorkspaceNameParameter" - }, - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/TableNameParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Table" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "TableProperties": { - "type": "object", - "properties": { - "retentionInDays": { - "type": "integer", - "format": "int32", - "minimum": 7, - "maximum": 730, - "description": "The data table data retention in days, between 7 and 730. Setting this property to null will default to the workspace retention." - }, - "isTroubleshootingAllowed": { - "readOnly": true, - "type": "boolean", - "description": "Specifies if IsTroubleshootingEnabled property can be set for this table." - }, - "isTroubleshootEnabled": { - "type": "boolean", - "description": "Enable or disable troubleshoot for this table." - }, - "lastTroubleshootDate": { - "readOnly": true, - "type": "string", - "description": "Last time when troubleshooting was set for this table." - } - }, - "description": "Table properties." - }, - "Table": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/TableProperties", - "description": "Table properties." - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" - } - ], - "description": "Workspace data table definition." - }, - "TablesListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Table" - }, - "description": "A list of data tables." - } - }, - "description": "The list tables operation response." - } - }, - "parameters": { - "TableNameParameter": { - "name": "tableName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the table.", - "x-ms-parameter-location": "method" - } - } -} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json deleted file mode 100644 index 379a3c406db5..000000000000 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesCreate.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "resourceGroupName": "oiautorest6685", - "workspaceName": "oiautorest6685", - "api-version": "2020-10-01", - "subscriptionId": "00000000-0000-0000-0000-00000000000", - "tableName": "table1", - "parameters": { - "properties": { - "retentionInDays": 40, - "isTroubleshootEnabled": false - } - } - }, - "responses": { - "200": { - "body": { - "properties": { - "retentionInDays": 40, - "isTroubleshootingAllowed": false, - "isTroubleshootEnabled": false - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.OperationalInsights/workspaces/oiautorest6685/tables/table1", - "name": "table1" - } - } - } -} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json deleted file mode 100644 index c05d332a9e08..000000000000 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesGet.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "parameters": { - "resourceGroupName": "oiautorest6685", - "workspaceName": "oiautorest6685", - "api-version": "2020-10-01", - "subscriptionId": "00000000-0000-0000-0000-00000000000", - "tableName": "table1" - }, - "responses": { - "200": { - "body": { - "properties": { - "retentionInDays": 30, - "isTroubleshootingAllowed": true, - "isTroubleshootEnabled": true, - "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT" - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1", - "name": "table1" - } - } - } -} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json deleted file mode 100644 index e3d087aebf38..000000000000 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesList.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "parameters": { - "resourceGroupName": "oiautorest6685", - "workspaceName": "oiautorest6685", - "api-version": "2020-10-01", - "subscriptionId": "00000000-0000-0000-0000-00000000000" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "properties": { - "retentionInDays": 30, - "isTroubleshootingAllowed": true, - "isTroubleshootEnabled": true, - "lastTroubleshootDate": "Thu, 19 Nov 2020 07:40:51 GMT" - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table1", - "name": "table1" - }, - { - "properties": { - "retentionInDays": 7, - "isTroubleshootingAllowed": true - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table2", - "name": "table2" - }, - { - "properties": { - "retentionInDays": 7, - "isTroubleshootingAllowed": false - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/microsoft.operationalinsights/workspaces/oiautorest6685/tables/table3", - "name": "table3" - } - ] - } - } - } -} diff --git a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json b/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json deleted file mode 100644 index a58178289759..000000000000 --- a/specification/operationalinsights/resource-manager/Microsoft.OperationalInsights/stable/2021-06-01/examples/TablesUpdate.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "parameters": { - "resourceGroupName": "oiautorest6685", - "workspaceName": "oiautorest6685", - "api-version": "2020-10-01", - "subscriptionId": "00000000-0000-0000-0000-00000000000", - "tableName": "table1", - "parameters": { - "properties": { - "retentionInDays": 40, - "isTroubleshootEnabled": true - } - } - }, - "responses": { - "200": { - "body": { - "properties": { - "retentionInDays": 40, - "isTroubleshootingAllowed": true, - "isTroubleshootEnabled": true - }, - "id": "/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/oiautorest6685/providers/Microsoft.OperationalInsights/workspaces/oiautorest6685/tables/table1", - "name": "table1" - } - } - } -} diff --git a/specification/operationalinsights/resource-manager/readme.md b/specification/operationalinsights/resource-manager/readme.md index be4cb5e917cf..db521eddc4bd 100644 --- a/specification/operationalinsights/resource-manager/readme.md +++ b/specification/operationalinsights/resource-manager/readme.md @@ -34,7 +34,7 @@ title: LogAnalyticsManagementClient ``` yaml description: Operational Insights Client openapi-type: arm -tag: package-2021-12-01-preview +tag: package-2022-02 ``` @@ -224,11 +224,41 @@ input-file: - Microsoft.OperationalInsights/stable/2020-08-01/Schema.json - Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json - Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json -- Microsoft.OperationalInsights/stable/2020-10-01/Operations.json -- Microsoft.OperationalInsights/stable/2021-06-01/Tables.json - Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json +- Microsoft.OperationalInsights/stable/2020-10-01/Operations.json +- Microsoft.OperationalInsights/stable/2020-08-01/Tables.json - Microsoft.OperationalInsights/stable/2021-06-01/Workspaces.json ``` + +### Tag: package-2022-02 + +These settings apply only when `--tag=package-2022-02` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02' +input-file: +- Microsoft.OperationalInsights/stable/2019-09-01/QueryPacks.json +- Microsoft.OperationalInsights/stable/2019-09-01/QueryPackQueries.json +- Microsoft.OperationalInsights/stable/2020-08-01/DataExports.json +- Microsoft.OperationalInsights/stable/2020-08-01/DataSources.json +- Microsoft.OperationalInsights/stable/2020-08-01/IntelligencePacks.json +- Microsoft.OperationalInsights/stable/2020-08-01/LinkedServices.json +- Microsoft.OperationalInsights/stable/2020-08-01/LinkedStorageAccounts.json +- Microsoft.OperationalInsights/stable/2020-08-01/ManagementGroups.json +- Microsoft.OperationalInsights/stable/2020-08-01/OperationStatuses.json +- Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json +- Microsoft.OperationalInsights/stable/2020-08-01/Usages.json +- Microsoft.OperationalInsights/stable/2020-08-01/StorageInsightConfigs.json +- Microsoft.OperationalInsights/stable/2020-08-01/SavedSearches.json +- Microsoft.OperationalInsights/stable/2020-08-01/AvailableServiceTiers.json +- Microsoft.OperationalInsights/stable/2020-08-01/Gateways.json +- Microsoft.OperationalInsights/stable/2020-08-01/Schema.json +- Microsoft.OperationalInsights/stable/2020-08-01/SharedKeys.json +- Microsoft.OperationalInsights/stable/2020-08-01/WorkspacePurge.json +- Microsoft.OperationalInsights/stable/2021-06-01/Clusters.json +- Microsoft.OperationalInsights/preview/2021-12-01-preview/Operations.json +- Microsoft.OperationalInsights/preview/2021-12-01-preview/Workspaces.json +- Microsoft.OperationalInsights/preview/2021-12-01-preview/Tables.json +``` --- # Code Generation diff --git a/specification/operationalinsights/resource-manager/readme.python.md b/specification/operationalinsights/resource-manager/readme.python.md index 543e26f34c52..063c81e412d9 100644 --- a/specification/operationalinsights/resource-manager/readme.python.md +++ b/specification/operationalinsights/resource-manager/readme.python.md @@ -2,9 +2,8 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.loganalytics @@ -13,11 +12,12 @@ package-version: 7.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/loganalytics/azure-mgmt-loganalytics/azure/mgmt/loganalytics ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/loganalytics/azure-mgmt-loganalytics -``` \ No newline at end of file + +``` yaml $(python) +modelerfour: + lenient-model-deduplication: true +``` diff --git a/specification/operationsmanagement/resource-manager/Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json b/specification/operationsmanagement/resource-manager/Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json index afc11c1b1d9c..079dcb28217a 100644 --- a/specification/operationsmanagement/resource-manager/Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json +++ b/specification/operationsmanagement/resource-manager/Microsoft.OperationsManagement/preview/2015-11-01-preview/OperationsManagement.json @@ -698,6 +698,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of solution operations supported by the OperationsManagement resource provider." } } @@ -791,6 +794,9 @@ "items": { "$ref": "#/definitions/ArmTemplateParameter" }, + "x-ms-identifiers": [ + "name" + ], "description": "Parameters to run the ARM template" }, "provisioningState": { @@ -1067,7 +1073,7 @@ "required": true, "type": "string", "description": "Provider name for the parent resource.", - "x-ms-parameter-location": "client" + "x-ms-parameter-location": "method" }, "ResourceTypeParameter": { "name": "resourceType", @@ -1075,7 +1081,7 @@ "required": true, "type": "string", "description": "Resource type for the parent resource", - "x-ms-parameter-location": "client" + "x-ms-parameter-location": "method" }, "ResourceNameParameter": { "name": "resourceName", @@ -1083,7 +1089,7 @@ "required": true, "type": "string", "description": "Parent resource name.", - "x-ms-parameter-location": "client" + "x-ms-parameter-location": "method" } } } diff --git a/specification/operationsmanagement/resource-manager/readme.python.md b/specification/operationsmanagement/resource-manager/readme.python.md index 17e537b8ce98..72de8ba68419 100644 --- a/specification/operationsmanagement/resource-manager/readme.python.md +++ b/specification/operationsmanagement/resource-manager/readme.python.md @@ -5,7 +5,6 @@ Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-orbital -no-namespace-folders: true +namespace: azure.mgmt.orbital package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/orbital/azure-mgmt-orbital/azure/mgmt/orbital ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/orbital/azure-mgmt-orbital -``` \ No newline at end of file diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2021-06-01/peering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2021-06-01/peering.json index 3834dd42ea2f..c635cf9c0c46 100644 --- a/specification/peering/resource-manager/Microsoft.Peering/stable/2021-06-01/peering.json +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2021-06-01/peering.json @@ -2605,7 +2605,10 @@ "type": "array", "items": { "$ref": "#/definitions/DirectConnection" - } + }, + "x-ms-identifiers": [ + "connectionIdentifier" + ] }, "useForPeeringService": { "description": "The flag that indicates whether or not the peering is used for peering service.", @@ -2644,7 +2647,10 @@ "type": "array", "items": { "$ref": "#/definitions/ExchangeConnection" - } + }, + "x-ms-identifiers": [ + "connectionIdentifier" + ] }, "peerAsn": { "$ref": "#/definitions/SubResource", @@ -2900,7 +2906,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The link to fetch the next page of peering API operations.", @@ -2982,6 +2991,9 @@ "items": { "$ref": "#/definitions/MetricSpecification" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -3029,6 +3041,9 @@ "items": { "$ref": "#/definitions/MetricDimension" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true } } @@ -3079,7 +3094,10 @@ "type": "array", "items": { "$ref": "#/definitions/ContactDetail" - } + }, + "x-ms-identifiers": [ + "email" + ] }, "peerName": { "description": "The name of the peer.", @@ -3234,14 +3252,20 @@ "type": "array", "items": { "$ref": "#/definitions/DirectPeeringFacility" - } + }, + "x-ms-identifiers": [ + "address" + ] }, "bandwidthOffers": { "description": "The list of bandwidth offers available at the peering location.", "type": "array", "items": { "$ref": "#/definitions/PeeringBandwidthOffer" - } + }, + "x-ms-identifiers": [ + "offerName" + ] } } }, @@ -3254,7 +3278,10 @@ "type": "array", "items": { "$ref": "#/definitions/ExchangePeeringFacility" - } + }, + "x-ms-identifiers": [ + "exchangeName" + ] } } }, @@ -3521,7 +3548,8 @@ "type": "array", "items": { "$ref": "#/definitions/PeeringReceivedRoute" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "The link to fetch the next page of received routes for the peering.", @@ -3800,6 +3828,9 @@ "items": { "$ref": "#/definitions/PeeringServicePrefixEvent" }, + "x-ms-identifiers": [ + "eventTimestamp" + ], "readOnly": true }, "peeringServicePrefixKey": { diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CheckServiceProviderAvailability.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CheckServiceProviderAvailability.json new file mode 100644 index 000000000000..8a612c0a01f5 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CheckServiceProviderAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01", + "checkServiceProviderAvailabilityInput": { + "peeringServiceLocation": "peeringServiceLocation1", + "peeringServiceProvider": "peeringServiceProvider1" + } + }, + "responses": { + "200": { + "body": "Available" + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateDirectPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateDirectPeering.json new file mode 100644 index 000000000000..c2874c8046f1 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateDirectPeering.json @@ -0,0 +1,173 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "peering": { + "sku": { + "name": "Basic_Direct_Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + }, + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "microsoftTrackingId": "test-microsoft-reference-id-1", + "peeringDBFacilityId": 99999, + "connectionState": "ProvisioningFailed", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16", + "errorMessage": "IPv4 address is already configured with a different ASN" + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "microsoftTrackingId": "test-microsoft-reference-id-2", + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.1.0/31", + "sessionPrefixV6": "fd00::2/127", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Direct_Free", + "tier": "Basic", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Peer", + "useForPeeringService": false, + "microsoftTrackingId": "test-microsoft-reference-id-1", + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/31", + "sessionPrefixV6": "fd00::0/127", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + }, + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Microsoft", + "useForPeeringService": true, + "microsoftTrackingId": "test-microsoft-reference-id-2", + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "connectionIdentifier": "8AB00818-D533-4504-A25A-03A17F61201C" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "Edge" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateExchangePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateExchangePeering.json new file mode 100644 index 000000000000..1011420d45f4 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateExchangePeering.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "peering": { + "sku": { + "name": "Basic_Exchange_Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "bgpSession": { + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "ProvisioningFailed", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D", + "errorMessage": "IPv4 address is already configured with a different ASN" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateOrUpdateConnectionMonitorTest.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateOrUpdateConnectionMonitorTest.json new file mode 100644 index 000000000000..6fa561b4831d --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateOrUpdateConnectionMonitorTest.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01", + "connectionMonitorTestName": "connectionMonitorTestName", + "connectionMonitorTest": { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination", + "destinationPort": 443, + "testFrequencyInSec": 30 + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination", + "destinationPort": 443, + "testFrequencyInSec": 30, + "isTestSuccessful": false, + "path": [], + "provisioningState": "Succeeded" + }, + "name": "connectionMonitorTestName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/connectionMonitorTests/connectionMonitorTestName" + } + }, + "201": { + "body": { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination", + "destinationPort": 443, + "testFrequencyInSec": 30, + "isTestSuccessful": false, + "path": [], + "provisioningState": "Succeeded" + }, + "name": "connectionMonitorTestName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/connectionMonitorTests/connectionMonitorTestName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeerAsn.json new file mode 100644 index 000000000000..3ca8c183536c --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeerAsn.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2022-01-01", + "peerAsn": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + }, + "201": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Pending" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringService.json new file mode 100644 index 000000000000..253aa7415347 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringService.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01", + "peeringService": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + }, + "201": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2" + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringServicePrefix.json new file mode 100644 index 000000000000..cd6b09e8e56f --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringServicePrefix.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2022-01-01", + "peeringServicePrefix": { + "properties": { + "prefix": "192.168.1.0/24", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Failed", + "learnedType": "None", + "errorMessage": "Prefix is not announced by the service provider to Microsoft.", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + }, + "201": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Failed", + "learnedType": "None", + "errorMessage": "Prefix is not announced by the service provider to Microsoft.", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringWithExchangeRouteServer.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringWithExchangeRouteServer.json new file mode 100644 index 000000000000..c168a56016a5 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreatePeeringWithExchangeRouteServer.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "peering": { + "sku": { + "name": "Premium_Direct_Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_Direct_Free", + "tier": "Premium", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 10000, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_Direct_Free", + "tier": "Premium", + "family": "Direct", + "size": "Free" + }, + "kind": "Direct", + "properties": { + "direct": { + "connections": [ + { + "bandwidthInMbps": 10000, + "provisionedBandwidthInMbps": 0, + "sessionAddressProvider": "Peer", + "useForPeeringService": true, + "peeringDBFacilityId": 99999, + "connectionState": "PendingApproval", + "bgpSession": { + "sessionPrefixV4": "192.168.0.0/24", + "microsoftSessionIPv4Address": "192.168.0.123", + "peerSessionIPv4Address": "192.168.0.234", + "sessionStateV4": "PendingAdd", + "sessionStateV6": "PendingAdd", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100 + }, + "connectionIdentifier": "5F4CB5C7-6B43-4444-9338-9ABC72606C16" + } + ], + "useForPeeringService": true, + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + }, + "directPeeringType": "IxRs" + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredAsn.json new file mode 100644 index 000000000000..b4cd1e9f2feb --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredAsn.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredAsn": { + "properties": { + "asn": 65000 + } + }, + "registeredAsnName": "registeredAsnName" + }, + "responses": { + "200": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName", + "type": "Microsoft.Peering/registeredAsns" + } + }, + "201": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName", + "type": "Microsoft.Peering/registeredAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredPrefix.json new file mode 100644 index 000000000000..2c72089198a9 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/CreateRegisteredPrefix.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredPrefix": { + "properties": { + "prefix": "10.22.20.0/24" + } + }, + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + }, + "201": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Pending", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteConnectionMonitorTest.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteConnectionMonitorTest.json new file mode 100644 index 000000000000..52dceb8fde2f --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteConnectionMonitorTest.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01", + "connectionMonitorTestName": "connectionMonitorTestName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeerAsn.json new file mode 100644 index 000000000000..d189050e7930 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeerAsn.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeering.json new file mode 100644 index 000000000000..52c9ff49bc90 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeering.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringService.json new file mode 100644 index 000000000000..8e3947d94e37 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringService.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringServicePrefix.json new file mode 100644 index 000000000000..059b13f0c506 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeletePeeringServicePrefix.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredAsn.json new file mode 100644 index 000000000000..680576ba215d --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredAsn.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredAsnName": "registeredAsnName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredPrefix.json new file mode 100644 index 000000000000..6b96233d11cd --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/DeleteRegisteredPrefix.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetConnectionMonitorTest.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetConnectionMonitorTest.json new file mode 100644 index 000000000000..6c9d273a6121 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetConnectionMonitorTest.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01", + "connectionMonitorTestName": "connectionMonitorTestName" + }, + "responses": { + "200": { + "body": { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination", + "destinationPort": 443, + "testFrequencyInSec": 30, + "isTestSuccessful": true, + "path": [ + "source", + "hop1", + "hop2", + "destination" + ], + "provisioningState": "Succeeded" + }, + "name": "connectionMonitorTestName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/connectionMonitorTests/connectionMonitorTestName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeerAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeerAsn.json new file mode 100644 index 000000000000..62ab7c40cdb1 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeerAsn.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peerAsnName": "peerAsnName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeering.json new file mode 100644 index 000000000000..f75d5b0a370d --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeering.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringReceivedRoutes.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringReceivedRoutes.json new file mode 100644 index 000000000000..90827d29b8c1 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringReceivedRoutes.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "prefix": "1.1.1.0/24", + "asPath": "123 456", + "originAsValidationState": "Valid", + "rpkiValidationState": "Valid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "prefix": "1.1.1.0/24", + "nextHop": "127.0.0.1", + "asPath": "123 456", + "originAsValidationState": "Valid", + "rpkiValidationState": "Valid", + "trustAnchor": "Arin", + "receivedTimestamp": "2020-04-05 03:39:20" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringService.json new file mode 100644 index 000000000000..ad03199ed586 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringService.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2", + "logAnalyticsWorkspaceProperties": { + "workspaceID": "00000000-0000-0000-0000-000000000000", + "key": "key", + "connectedAgents": [ + "Agent1", + "Agent2" + ] + } + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringServicePrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringServicePrefix.json new file mode 100644 index 000000000000..92d3ae4615c5 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetPeeringServicePrefix.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "prefixName": "peeringServicePrefixName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredAsn.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredAsn.json new file mode 100644 index 000000000000..5d0c6339e03e --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredAsn.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredAsnName": "registeredAsnName0" + }, + "responses": { + "200": { + "body": { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0", + "type": "Microsoft.Peering/registeredAsns" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredPrefix.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredPrefix.json new file mode 100644 index 000000000000..a53c6c9412ec --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/GetRegisteredPrefix.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "registeredPrefixName": "registeredPrefixName" + }, + "responses": { + "200": { + "body": { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName", + "type": "Microsoft.Peering/registeredPrefixes" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/InitializeConnectionMonitor.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/InitializeConnectionMonitor.json new file mode 100644 index 000000000000..c67df12f7367 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/InitializeConnectionMonitor.json @@ -0,0 +1,9 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListCdnPeeringPrefixes.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListCdnPeeringPrefixes.json new file mode 100644 index 000000000000..f320dc7c9a7c --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListCdnPeeringPrefixes.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subId", + "peeringLocation": "peeringLocation0", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "192.168.1.0/24", + "azureRegion": "West Central US", + "azureService": "AzureCompute", + "isPrimaryRegion": false, + "bgpCommunity": "0000:0000" + }, + "name": "CdnPrefix_192_168_1_0_24", + "id": "/subscriptions/subId/providers/Microsoft.Peering/cdnPeeringPrefixes/CdnPrefix_192_168_1_0_24", + "type": "Microsoft.Peering/cdnPeeringPrefixes" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListConnectionMonitorTestsByPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListConnectionMonitorTestsByPeeringService.json new file mode 100644 index 000000000000..9cd72b4a80cf --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListConnectionMonitorTestsByPeeringService.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination", + "destinationPort": 443, + "testFrequencyInSec": 30, + "isTestSuccessful": true, + "path": [ + "source", + "hop1", + "hop2", + "destination" + ], + "provisioningState": "Succeeded" + }, + "name": "connectionMonitorTestName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/connectionMonitorTests/connectionMonitorTestName1" + }, + { + "properties": { + "sourceAgent": "Example Source Agent", + "destination": "Example Destination 2", + "destinationPort": 443, + "testFrequencyInSec": 30, + "isTestSuccessful": false, + "path": [ + "source", + "hop1", + "hop2", + "destination" + ], + "provisioningState": "Succeeded" + }, + "name": "connectionMonitorTestName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/connectionMonitorTests/connectionMonitorTestName2" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListDirectPeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListDirectPeeringLocations.json new file mode 100644 index 000000000000..7fd136ffe2af --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListDirectPeeringLocations.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Direct", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address1", + "directPeeringType": "Edge", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + }, + { + "address": "address3", + "directPeeringType": "Cdn", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Direct", + "properties": { + "direct": { + "peeringFacilities": [ + { + "address": "address2", + "directPeeringType": "Edge", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/fac/99999" + } + ], + "bandwidthOffers": [ + { + "offerName": "10Gbps", + "valueInMbps": 10000 + }, + { + "offerName": "100Gbps", + "valueInMbps": 100000 + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListExchangePeeringLocations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListExchangePeeringLocations.json new file mode 100644 index 000000000000..8e181d6de9fa --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListExchangePeeringLocations.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name1", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.131.1", + "microsoftIPv6Address": "fd00::1:1", + "facilityIPv4Prefix": "192.168.128.0/17", + "facilityIPv6Prefix": "fd00::1000:0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + }, + { + "exchangeName": "name3", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.2", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/17", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation1", + "country": "country1" + }, + "name": "peeringLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation1", + "type": "Microsoft.Peering/peeringLocations" + }, + { + "kind": "Exchange", + "properties": { + "exchange": { + "peeringFacilities": [ + { + "exchangeName": "name2", + "bandwidthInMbps": 10000, + "microsoftIPv4Address": "192.168.2.1", + "microsoftIPv6Address": "fd00::2", + "facilityIPv4Prefix": "192.168.0.0/16", + "facilityIPv6Prefix": "fd00::0/98", + "peeringDBFacilityId": 99999, + "peeringDBFacilityLink": "https://www.peeringdb.com/ix/99999" + } + ] + }, + "peeringLocation": "peeringLocation2", + "country": "country2" + }, + "name": "peeringLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringLocations/peeringLocation2", + "type": "Microsoft.Peering/peeringLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListLegacyPeerings.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListLegacyPeerings.json new file mode 100644 index 000000000000..eca61a322e5a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListLegacyPeerings.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "subId", + "kind": "Exchange", + "peeringLocation": "peeringLocation0", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "65000" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "name": "peeringName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeerAsnsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeerAsnsBySubscription.json new file mode 100644 index 000000000000..22643fca006f --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeerAsnsBySubscription.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peerAsn": 65000, + "peerContactDetail": [ + { + "role": "Noc", + "email": "noc@contoso.com", + "phone": "+1 (234) 567-8999" + }, + { + "role": "Policy", + "email": "abc@contoso.com", + "phone": "+1 (234) 567-8900" + }, + { + "role": "Technical", + "email": "xyz@contoso.com", + "phone": "+1 (234) 567-8900" + } + ], + "peerName": "Contoso", + "validationState": "Approved" + }, + "name": "peerAsnName", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/peerAsnName", + "type": "Microsoft.Peering/peerAsns" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringOperations.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringOperations.json new file mode 100644 index 000000000000..99bac00c7bf3 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringOperations.json @@ -0,0 +1,283 @@ +{ + "parameters": { + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Peering/register/action", + "display": { + "provider": "Microsoft.Peering", + "resource": "Peering Resource Provider", + "operation": "Registers the Peering Resource Provider", + "description": "Registers the subscription for the Peering Resource Provider and enables the creation of peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Write PeerAsn", + "description": "Write any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Read PeerAsn", + "description": "Read any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerAsns/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerAsns", + "operation": "Delete PeerAsn", + "description": "Delete any peerAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringLocations/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringLocations", + "operation": "Read PeeringLocation", + "description": "Read any peeringLocations" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/legacyPeerings/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "legacyPeerings", + "operation": "Read LegacyPeering", + "description": "Read any legacyPeerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Write Peering", + "description": "Write any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Read Peering", + "description": "Read any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peerings", + "operation": "Delete Peering", + "description": "Delete any peerings" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServiceLocations/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServiceLocations", + "operation": "Read PeeringServiceLocations", + "description": "Read any peeringServiceLocations" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServiceProviders/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServiceProviders", + "operation": "Read PeeringServiceProviders", + "description": "Read any peeringServiceProviders" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Read PeeringServices", + "description": "Read any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Write PeeringService", + "description": "Write any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "peeringServices", + "operation": "Delete PeeringServices", + "description": "Delete any peeringServices" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Read PeeringServicePrefixes", + "description": "Read any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Write PeeringServicePrefixes", + "description": "Write any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/prefixes/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "prefixes", + "operation": "Delete PeeringServicePrefixes", + "description": "Delete any prefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Read RegisteredPrefixes", + "description": "Read any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Write RegisteredPrefixes", + "description": "Write any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredPrefixes/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredPrefixes", + "operation": "Delete RegisteredPrefixes", + "description": "Delete any registeredPrefixes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Read RegisteredAsns", + "description": "Read any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Write RegisteredAsns", + "description": "Write any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/registeredAsns/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "registeredAsns", + "operation": "Delete RegisteredAsns", + "description": "Delete any registeredAsns" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peerings/receivedRoutes/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "receivedRoutes", + "operation": "Read PeeringReceivedRoutes", + "description": "Read any receivedRoutes" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/connectionMonitorTests/read", + "display": { + "provider": "Microsoft.Peering", + "resource": "connectionMonitorTests", + "operation": "Read Peering Service Connection Monitor Tests", + "description": "Read any Peering Service Connection Monitor Tests" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/connectionMonitorTests/write", + "display": { + "provider": "Microsoft.Peering", + "resource": "connectionMonitorTests", + "operation": "Write Peering Service Connection Monitor Tests", + "description": "Write any connectionMonitorTests" + }, + "isDataAction": false + }, + { + "name": "Microsoft.Peering/peeringServices/connectionMonitorTests/delete", + "display": { + "provider": "Microsoft.Peering", + "resource": "connectionMonitorTests", + "operation": "Delete Peering Service Connection Monitor Tests", + "description": "Delete any Peering Service Connection Monitor Tests" + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceCountriesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceCountriesBySubscription.json new file mode 100644 index 000000000000..83762e7e91fc --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceCountriesBySubscription.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "country1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country1", + "type": "Microsoft.Peering/peeringServiceCountries" + }, + { + "name": "country2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceCountries/country2", + "type": "Microsoft.Peering/peeringServiceCountries" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceLocationsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceLocationsBySubscription.json new file mode 100644 index 000000000000..4a3b737d6a1a --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceLocationsBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "country": "country1", + "state": "state1" + }, + "name": "peeringServiceLocation1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation1", + "type": "Microsoft.Peering/peeringServiceLocations" + }, + { + "properties": { + "country": "country2", + "state": "state2" + }, + "name": "peeringServiceLocation2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceLocations/peeringServiceLocation2", + "type": "Microsoft.Peering/peeringServiceLocations" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceProviders.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceProviders.json new file mode 100644 index 000000000000..e377ab67a16d --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServiceProviders.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "serviceProviderName": "peeringServiceProvider1", + "peeringLocations": [ + "peeringLocation1", + "peeringLocation2" + ] + }, + "name": "peeringServiceProvider1", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider1", + "type": "Microsoft.Peering/peeringServiceProviders" + }, + { + "properties": { + "serviceProviderName": "peeringServiceProvider2", + "peeringLocations": [ + "peeringLocation1", + "peeringLocation2" + ] + }, + "name": "peeringServiceProvider2", + "id": "/subscriptions/subId/providers/Microsoft.Peering/peeringServiceProviders/peeringServiceProvider2", + "type": "Microsoft.Peering/peeringServiceProviders" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesByResourceGroup.json new file mode 100644 index 000000000000..d9a8c951dff9 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesByResourceGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2", + "logAnalyticsWorkspaceProperties": { + "workspaceID": "00000000-0000-0000-0000-000000000000", + "key": "key", + "connectedAgents": [ + "Agent1", + "Agent2" + ] + } + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesBySubscription.json new file mode 100644 index 000000000000..dbf796b0a826 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringServicesBySubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2", + "logAnalyticsWorkspaceProperties": { + "workspaceID": "00000000-0000-0000-0000-000000000000", + "key": "key", + "connectedAgents": [ + "Agent1", + "Agent2" + ] + } + }, + "location": "eastus", + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsByResourceGroup.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsByResourceGroup.json new file mode 100644 index 000000000000..5527067dba2b --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsByResourceGroup.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsBySubscription.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsBySubscription.json new file mode 100644 index 000000000000..157934e6efec --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPeeringsBySubscription.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPrefixesByPeeringService.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPrefixesByPeeringService.json new file mode 100644 index 000000000000..28c0ba6bed17 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListPrefixesByPeeringService.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "192.168.1.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName1" + }, + { + "properties": { + "prefix": "192.168.2.0/24", + "prefixValidationState": "Verified", + "learnedType": "ViaServiceProvider", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "peeringServicePrefixName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName/prefixes/peeringServicePrefixName2" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredAsnsByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredAsnsByPeering.json new file mode 100644 index 000000000000..b2fa56b8c6a9 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredAsnsByPeering.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "asn": 65000, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName0", + "type": "Microsoft.Peering/registeredAsns" + }, + { + "properties": { + "asn": 65001, + "provisioningState": "Failed" + }, + "name": "registeredAsnName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName1", + "type": "Microsoft.Peering/registeredAsns" + }, + { + "properties": { + "asn": 65002, + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredAsnName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredAsns/registeredAsnName2", + "type": "Microsoft.Peering/registeredAsns" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredPrefixesByPeering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredPrefixesByPeering.json new file mode 100644 index 000000000000..a3f7b5926841 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/ListRegisteredPrefixesByPeering.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "prefix": "10.22.20.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName0", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName0", + "type": "Microsoft.Peering/registeredPrefixes" + }, + { + "properties": { + "prefix": "10.22.21.0/24", + "prefixValidationState": "Verified", + "peeringServicePrefixKey": "00000000-0000-0000-0000-000000000000", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName1", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName1", + "type": "Microsoft.Peering/registeredPrefixes" + }, + { + "properties": { + "prefix": "10.22.22.0/24", + "prefixValidationState": "Pending", + "provisioningState": "Succeeded" + }, + "name": "registeredPrefixName2", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName/registeredPrefixes/registeredPrefixName2", + "type": "Microsoft.Peering/registeredPrefixes" + } + ] + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/LookingGlassInvokeCommand.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/LookingGlassInvokeCommand.json new file mode 100644 index 000000000000..84e8ef0a4ac5 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/LookingGlassInvokeCommand.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subId", + "api-version": "2022-01-01", + "command": "Traceroute", + "sourceType": "AzureRegion", + "sourceLocation": "West US", + "destinationIP": "0.0.0.0" + }, + "responses": { + "200": { + "body": { + "command": "Traceroute", + "output": "traceroute to 0.0.0.0, 64 hops max, 52 bytes packets\n 1 West US (1.1.1.1) 0.111ms 0.222ms 0.333ms" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringServiceTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringServiceTags.json new file mode 100644 index 000000000000..718037f35bb4 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringServiceTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringServiceName": "peeringServiceName", + "api-version": "2022-01-01", + "tags": { + "tags": { + "tag0": "value0", + "tag1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "peeringServiceLocation": "state1", + "peeringServiceProvider": "serviceProvider1", + "provisioningState": "Succeeded", + "providerPrimaryPeeringLocation": "peeringLocation1", + "providerBackupPeeringLocation": "peeringLocation2", + "logAnalyticsWorkspaceProperties": { + "workspaceID": "00000000-0000-0000-0000-000000000000", + "key": "key", + "connectedAgents": [ + "Agent1", + "Agent2" + ] + } + }, + "location": "eastus", + "tags": { + "tag0": "value0", + "tag1": "value1" + }, + "name": "peeringServiceName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peeringServices/peeringServiceName", + "type": "Microsoft.Peering/peeringServices" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringTags.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringTags.json new file mode 100644 index 000000000000..8f47dc2f7120 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/examples/UpdatePeeringTags.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "subId", + "resourceGroupName": "rgName", + "peeringName": "peeringName", + "api-version": "2022-01-01", + "tags": { + "tags": { + "tag0": "value0", + "tag1": "value1" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Basic_Exchange_Free", + "tier": "Basic", + "family": "Exchange", + "size": "Free" + }, + "kind": "Exchange", + "properties": { + "exchange": { + "connections": [ + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.1", + "microsoftSessionIPv6Address": "fd00::1:1", + "peerSessionIPv4Address": "192.168.2.1", + "peerSessionIPv6Address": "fd00::1", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CE495334-0E94-4E51-8164-8116D6CD284D" + }, + { + "peeringDBFacilityId": 99999, + "connectionState": "Active", + "bgpSession": { + "microsoftSessionIPv4Address": "192.168.3.2", + "microsoftSessionIPv6Address": "fd00::1:2", + "peerSessionIPv4Address": "192.168.2.2", + "peerSessionIPv6Address": "fd00::2", + "sessionStateV4": "Established", + "sessionStateV6": "Established", + "maxPrefixesAdvertisedV4": 1000, + "maxPrefixesAdvertisedV6": 100, + "md5AuthenticationKey": "test-md5-auth-key" + }, + "connectionIdentifier": "CDD8E673-CB07-47E6-84DE-3739F778762B" + } + ], + "peerAsn": { + "id": "/subscriptions/subId/providers/Microsoft.Peering/peerAsns/myAsn1" + } + }, + "peeringLocation": "peeringLocation0", + "provisioningState": "Succeeded" + }, + "location": "eastus", + "tags": { + "tag0": "value0", + "tag1": "value1" + }, + "name": "peeringName", + "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Peering/peerings/peeringName", + "type": "Microsoft.Peering/peerings" + } + } + } +} diff --git a/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/peering.json b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/peering.json new file mode 100644 index 000000000000..94fc07c42e53 --- /dev/null +++ b/specification/peering/resource-manager/Microsoft.Peering/stable/2022-01-01/peering.json @@ -0,0 +1,4141 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "PeeringManagementClient", + "description": "APIs to manage Peering resources through the Azure Resource Manager." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/cdnPeeringPrefixes": { + "get": { + "tags": [ + "CdnPeeringPrefixes" + ], + "description": "Lists all of the advertised prefixes for the specified peering location", + "operationId": "CdnPeeringPrefixes_List", + "parameters": [ + { + "name": "peeringLocation", + "in": "query", + "description": "The peering location.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CdnPeeringPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the cdn peering prefixes advertised at a particular peering location": { + "$ref": "./examples/ListCdnPeeringPrefixes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/checkServiceProviderAvailability": { + "post": { + "tags": [ + "CheckServiceProviderAvailability" + ], + "description": "Checks if the peering service provider is present within 1000 miles of customer's location", + "operationId": "CheckServiceProviderAvailability", + "parameters": [ + { + "name": "checkServiceProviderAvailabilityInput", + "in": "body", + "description": "The CheckServiceProviderAvailabilityInput indicating customer location and service provider.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckServiceProviderAvailabilityInput" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "enum": [ + "Available", + "Unavailable" + ], + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check if peering service provider is available in customer location": { + "$ref": "./examples/CheckServiceProviderAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/legacyPeerings": { + "get": { + "tags": [ + "LegacyPeerings" + ], + "description": "Lists all of the legacy peerings under the given subscription matching the specified kind and location.", + "operationId": "LegacyPeerings_List", + "parameters": [ + { + "name": "peeringLocation", + "in": "query", + "description": "The location of the peering.", + "required": true, + "type": "string" + }, + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ], + "x-ms-enum": { + "name": "LegacyPeeringsKind", + "modelAsString": true + } + }, + { + "name": "asn", + "in": "query", + "description": "The ASN number associated with a legacy peering.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List legacy peerings": { + "$ref": "./examples/ListLegacyPeerings.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/lookingGlass": { + "post": { + "tags": [ + "LookingGlass" + ], + "description": "Run looking glass functionality", + "operationId": "LookingGlass_Invoke", + "parameters": [ + { + "name": "command", + "in": "query", + "description": "The command to be executed: ping, traceroute, bgpRoute.", + "required": true, + "type": "string", + "enum": [ + "Traceroute", + "Ping", + "BgpRoute" + ], + "x-ms-enum": { + "name": "LookingGlassCommand", + "modelAsString": true + } + }, + { + "name": "sourceType", + "in": "query", + "description": "The type of the source: Edge site or Azure Region.", + "required": true, + "type": "string", + "enum": [ + "EdgeSite", + "AzureRegion" + ], + "x-ms-enum": { + "name": "LookingGlassSourceType", + "modelAsString": true + } + }, + { + "name": "sourceLocation", + "in": "query", + "description": "The location of the source.", + "required": true, + "type": "string" + }, + { + "name": "destinationIP", + "in": "query", + "description": "The IP address of the destination.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LookingGlassOutput" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Call looking glass to execute a command": { + "$ref": "./examples/LookingGlassInvokeCommand.json" + } + } + } + }, + "/providers/Microsoft.Peering/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available API operations for peering resources.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering operations": { + "$ref": "./examples/ListPeeringOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns/{peerAsnName}": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Gets the peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Get", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peer ASN": { + "$ref": "./examples/GetPeerAsn.json" + } + } + }, + "put": { + "tags": [ + "PeerAsns" + ], + "description": "Creates a new peer ASN or updates an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_CreateOrUpdate", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "name": "peerAsn", + "in": "body", + "description": "The peer ASN.", + "required": true, + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeerAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a peer ASN": { + "$ref": "./examples/CreatePeerAsn.json" + } + } + }, + "delete": { + "tags": [ + "PeerAsns" + ], + "description": "Deletes an existing peer ASN with the specified name under the given subscription.", + "operationId": "PeerAsns_Delete", + "parameters": [ + { + "name": "peerAsnName", + "in": "path", + "description": "The peer ASN name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peer ASN": { + "$ref": "./examples/DeletePeerAsn.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerAsns": { + "get": { + "tags": [ + "PeerAsns" + ], + "description": "Lists all of the peer ASNs under the given subscription.", + "operationId": "PeerAsns_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeerAsnListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peer ASNs in a subscription": { + "$ref": "./examples/ListPeerAsnsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringLocations": { + "get": { + "tags": [ + "PeeringLocations" + ], + "description": "Lists all of the available peering locations for the specified kind of peering.", + "operationId": "PeeringLocations_List", + "parameters": [ + { + "name": "kind", + "in": "query", + "description": "The kind of the peering.", + "required": true, + "type": "string", + "enum": [ + "Direct", + "Exchange" + ], + "x-ms-enum": { + "name": "PeeringLocationsKind", + "modelAsString": true + } + }, + { + "name": "directPeeringType", + "in": "query", + "description": "The type of direct peering.", + "required": false, + "type": "string", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs", + "Voice", + "EdgeZoneForOperators" + ], + "x-ms-enum": { + "name": "PeeringLocationsDirectPeeringType", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List direct peering locations": { + "$ref": "./examples/ListDirectPeeringLocations.json" + }, + "List exchange peering locations": { + "$ref": "./examples/ListExchangePeeringLocations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns/{registeredAsnName}": { + "get": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Gets an existing registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the registered ASN.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a registered ASN associated with the peering": { + "$ref": "./examples/GetRegisteredAsn.json" + } + } + }, + "put": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Creates a new registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the ASN.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsn", + "in": "body", + "description": "The properties needed to create a registered ASN.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a registered ASN for the peering": { + "$ref": "./examples/CreateRegisteredAsn.json" + } + } + }, + "delete": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Deletes an existing registered ASN with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredAsnName", + "in": "path", + "description": "The name of the registered ASN.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a registered ASN associated with the peering": { + "$ref": "./examples/DeleteRegisteredAsn.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredAsns": { + "get": { + "tags": [ + "PeeringRegisteredAsns" + ], + "description": "Lists all registered ASNs under the given subscription, resource group and peering.", + "operationId": "RegisteredAsns_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredAsnListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the registered ASNs associated with the peering": { + "$ref": "./examples/ListRegisteredAsnsByPeering.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes/{registeredPrefixName}": { + "get": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Gets an existing registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a registered prefix associated with the peering": { + "$ref": "./examples/GetRegisteredPrefix.json" + } + } + }, + "put": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Creates a new registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefix", + "in": "body", + "description": "The properties needed to create a registered prefix.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a registered prefix for the peering": { + "$ref": "./examples/CreateRegisteredPrefix.json" + } + } + }, + "delete": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Deletes an existing registered prefix with the specified name under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "registeredPrefixName", + "in": "path", + "description": "The name of the registered prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Deletes a registered prefix associated with the peering": { + "$ref": "./examples/DeleteRegisteredPrefix.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/registeredPrefixes": { + "get": { + "tags": [ + "PeeringRegisteredPrefixes" + ], + "description": "Lists all registered prefixes under the given subscription, resource group and peering.", + "operationId": "RegisteredPrefixes_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringRegisteredPrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the registered prefixes associated with the peering": { + "$ref": "./examples/ListRegisteredPrefixesByPeering.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Gets an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peering": { + "$ref": "./examples/GetPeering.json" + } + } + }, + "put": { + "tags": [ + "Peerings" + ], + "description": "Creates a new peering or updates an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "peering", + "in": "body", + "description": "The properties needed to create or update a peering.", + "required": true, + "schema": { + "$ref": "#/definitions/Peering" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a direct peering": { + "$ref": "./examples/CreateDirectPeering.json" + }, + "Create an exchange peering": { + "$ref": "./examples/CreateExchangePeering.json" + }, + "Create a peering with exchange route server": { + "$ref": "./examples/CreatePeeringWithExchangeRouteServer.json" + } + } + }, + "delete": { + "tags": [ + "Peerings" + ], + "description": "Deletes an existing peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peering": { + "$ref": "./examples/DeletePeering.json" + } + } + }, + "patch": { + "tags": [ + "Peerings" + ], + "description": "Updates tags for a peering with the specified name under the given subscription and resource group.", + "operationId": "Peerings_Update", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "tags", + "in": "body", + "description": "The resource tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTags" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Peering" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update peering tags": { + "$ref": "./examples/UpdatePeeringTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription and resource group.", + "operationId": "Peerings_ListByResourceGroup", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a resource group": { + "$ref": "./examples/ListPeeringsByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peerings": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists all of the peerings under the given subscription.", + "operationId": "Peerings_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peerings in a subscription": { + "$ref": "./examples/ListPeeringsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peerings/{peeringName}/receivedRoutes": { + "get": { + "tags": [ + "Peerings" + ], + "description": "Lists the prefixes received over the specified peering under the given subscription and resource group.", + "operationId": "ReceivedRoutes_ListByPeering", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "name": "prefix", + "in": "query", + "description": "The optional prefix that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "asPath", + "in": "query", + "description": "The optional AS path that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "originAsValidationState", + "in": "query", + "description": "The optional origin AS validation state that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "rpkiValidationState", + "in": "query", + "description": "The optional RPKI validation state that can be used to filter the routes.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "The optional page continuation token that is used in the event of paginated result.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringReceivedRouteListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the prefixes received over the specified peering under the given subscription and resource group.": { + "$ref": "./examples/GetPeeringReceivedRoutes.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests/{connectionMonitorTestName}": { + "get": { + "tags": [ + "PeeringServiceConnectionMonitors" + ], + "description": "Gets an existing connection monitor test with the specified name under the given subscription, resource group and peering service.", + "operationId": "ConnectionMonitorTests_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "connectionMonitorTestName", + "in": "path", + "description": "The name of the connection monitor test", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionMonitorTest" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Connection Monitor Test": { + "$ref": "./examples/GetConnectionMonitorTest.json" + } + } + }, + "put": { + "tags": [ + "PeeringServiceConnectionMonitors" + ], + "description": "Creates or updates a connection monitor test with the specified name under the given subscription, resource group and peering service.", + "operationId": "ConnectionMonitorTests_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "connectionMonitorTestName", + "in": "path", + "description": "The name of the connection monitor test", + "required": true, + "type": "string" + }, + { + "name": "connectionMonitorTest", + "in": "body", + "description": "The properties needed to create a connection monitor test", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionMonitorTest" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionMonitorTest" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ConnectionMonitorTest" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Connection Monitor Test": { + "$ref": "./examples/CreateOrUpdateConnectionMonitorTest.json" + } + } + }, + "delete": { + "tags": [ + "PeeringServiceConnectionMonitors" + ], + "description": "Deletes an existing connection monitor test with the specified name under the given subscription, resource group and peering service.", + "operationId": "ConnectionMonitorTests_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "connectionMonitorTestName", + "in": "path", + "description": "The name of the connection monitor test", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Connection Monitor Test": { + "$ref": "./examples/DeleteConnectionMonitorTest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/connectionMonitorTests": { + "get": { + "tags": [ + "PeeringServiceConnectionMonitors" + ], + "description": "Lists all connection monitor tests under the given subscription, resource group and peering service.", + "operationId": "ConnectionMonitorTests_ListByPeeringService", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConnectionMonitorTestListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all Connection Monitor Tests associated with the peering service": { + "$ref": "./examples/ListConnectionMonitorTestsByPeeringService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceCountries": { + "get": { + "tags": [ + "PeeringServiceCountries" + ], + "description": "Lists all of the available countries for peering service.", + "operationId": "PeeringServiceCountries_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceCountryListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service countries": { + "$ref": "./examples/ListPeeringServiceCountriesBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations": { + "get": { + "tags": [ + "PeeringServiceLocations" + ], + "description": "Lists all of the available locations for peering service.", + "operationId": "PeeringServiceLocations_List", + "parameters": [ + { + "name": "country", + "in": "query", + "description": "The country of interest, in which the locations are to be present.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceLocationListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service locations": { + "$ref": "./examples/ListPeeringServiceLocationsBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}": { + "get": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Gets an existing prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The properties to be expanded.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a prefix associated with the peering service": { + "$ref": "./examples/GetPeeringServicePrefix.json" + } + } + }, + "put": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Creates a new prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "name": "peeringServicePrefix", + "in": "body", + "description": "The properties needed to create a prefix.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a prefix for the peering service": { + "$ref": "./examples/CreatePeeringServicePrefix.json" + } + } + }, + "delete": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Deletes an existing prefix with the specified name under the given subscription, resource group and peering service.", + "operationId": "Prefixes_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "prefixName", + "in": "path", + "description": "The name of the prefix.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a prefix associated with the peering service": { + "$ref": "./examples/DeletePeeringServicePrefix.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes": { + "get": { + "tags": [ + "PeeringServicePrefixes" + ], + "description": "Lists all prefixes under the given subscription, resource group and peering service.", + "operationId": "Prefixes_ListByPeeringService", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The properties to be expanded.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServicePrefixListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all the prefixes associated with the peering service": { + "$ref": "./examples/ListPrefixesByPeeringService.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders": { + "get": { + "tags": [ + "PeeringServiceProviders" + ], + "description": "Lists all of the available peering service locations for the specified kind of peering.", + "operationId": "PeeringServiceProviders_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering service providers": { + "$ref": "./examples/ListPeeringServiceProviders.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Gets an existing peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a peering service": { + "$ref": "./examples/GetPeeringService.json" + } + } + }, + "put": { + "tags": [ + "PeeringServices" + ], + "description": "Creates a new peering service or updates an existing peering with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "peeringService", + "in": "body", + "description": "The properties needed to create or update a peering service.", + "required": true, + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a peering service": { + "$ref": "./examples/CreatePeeringService.json" + } + } + }, + "delete": { + "tags": [ + "PeeringServices" + ], + "description": "Deletes an existing peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Delete", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a peering service": { + "$ref": "./examples/DeletePeeringService.json" + } + } + }, + "patch": { + "tags": [ + "PeeringServices" + ], + "description": "Updates tags for a peering service with the specified name under the given subscription and resource group.", + "operationId": "PeeringServices_Update", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "name": "peeringServiceName", + "in": "path", + "description": "The name of the peering service.", + "required": true, + "type": "string" + }, + { + "name": "tags", + "in": "body", + "description": "The resource tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceTags" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringService" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update peering service tags": { + "$ref": "./examples/UpdatePeeringServiceTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Lists all of the peering services under the given subscription and resource group.", + "operationId": "PeeringServices_ListByResourceGroup", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering services in a resource group": { + "$ref": "./examples/ListPeeringServicesByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices": { + "get": { + "tags": [ + "PeeringServices" + ], + "description": "Lists all of the peerings under the given subscription.", + "operationId": "PeeringServices_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PeeringServiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List peering services in a subscription": { + "$ref": "./examples/ListPeeringServicesBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Peering/initializeConnectionMonitor": { + "post": { + "tags": [ + "PeeringServices" + ], + "description": "Initialize Peering Service for Connection Monitor functionality", + "operationId": "PeeringServices_InitializeConnectionMonitor", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation has failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Initialize Peering Service for Connection Monitor functionality": { + "$ref": "./examples/InitializeConnectionMonitor.json" + } + } + } + } + }, + "definitions": { + "CdnPeeringPrefixListResult": { + "description": "The paginated list of CDN peering prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of CDN peering prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/CdnPeeringPrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of CDN peering prefixes.", + "type": "string" + } + } + }, + "CdnPeeringPrefix": { + "description": "The CDN peering prefix", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CdnPeeringPrefixProperties", + "description": "The properties that define a cdn peering prefix.", + "x-ms-client-flatten": true + } + } + }, + "CdnPeeringPrefixProperties": { + "description": "The properties that define a CDN peering prefix", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix.", + "type": "string", + "readOnly": true + }, + "azureRegion": { + "description": "The Azure region.", + "type": "string", + "readOnly": true + }, + "azureService": { + "description": "The Azure service.", + "type": "string", + "readOnly": true + }, + "isPrimaryRegion": { + "description": "The flag that indicates whether or not this is the primary region.", + "type": "boolean", + "readOnly": true + }, + "bgpCommunity": { + "description": "The BGP Community", + "type": "string", + "readOnly": true + } + } + }, + "CheckServiceProviderAvailabilityInput": { + "description": "Class for CheckServiceProviderAvailabilityInput", + "type": "object", + "properties": { + "peeringServiceLocation": { + "description": "Gets or sets the peering service location.", + "type": "string" + }, + "peeringServiceProvider": { + "description": "Gets or sets the peering service provider.", + "type": "string" + } + } + }, + "PeeringListResult": { + "description": "The paginated list of peerings.", + "type": "object", + "properties": { + "value": { + "description": "The list of peerings.", + "type": "array", + "items": { + "$ref": "#/definitions/Peering" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peerings.", + "type": "string" + } + } + }, + "Peering": { + "description": "Peering is a logical representation of a set of connections to the Microsoft Cloud Edge at a location.", + "required": [ + "sku", + "kind", + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/PeeringSku", + "description": "The SKU that defines the tier and kind of the peering." + }, + "kind": { + "description": "The kind of the peering.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringProperties", + "description": "The properties that define a peering.", + "x-ms-client-flatten": true + }, + "location": { + "description": "The location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringSku": { + "description": "The SKU that defines the tier and kind of the peering.", + "type": "object", + "properties": { + "name": { + "description": "The name of the peering SKU.", + "type": "string" + }, + "tier": { + "description": "The tier of the peering SKU.", + "enum": [ + "Basic", + "Premium" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "tier", + "modelAsString": true + } + }, + "family": { + "description": "The family of the peering SKU.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "family", + "modelAsString": true + } + }, + "size": { + "description": "The size of the peering SKU.", + "enum": [ + "Free", + "Metered", + "Unlimited" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "size", + "modelAsString": true + } + } + } + }, + "PeeringProperties": { + "description": "The properties that define connectivity to the Microsoft Cloud Edge.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringPropertiesDirect", + "description": "The properties that define a direct peering." + }, + "exchange": { + "$ref": "#/definitions/PeeringPropertiesExchange", + "description": "The properties that define an exchange peering." + }, + "peeringLocation": { + "description": "The location of the peering.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringPropertiesDirect": { + "description": "The properties that define a direct peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute a direct peering.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectConnection" + } + }, + "useForPeeringService": { + "description": "The flag that indicates whether or not the peering is used for peering service.", + "type": "boolean", + "readOnly": true + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + }, + "directPeeringType": { + "description": "The type of direct peering.", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs", + "Voice", + "EdgeZoneForOperators" + ], + "type": "string", + "x-ms-enum": { + "name": "directPeeringType", + "modelAsString": true + } + } + } + }, + "PeeringPropertiesExchange": { + "description": "The properties that define an exchange peering.", + "type": "object", + "properties": { + "connections": { + "description": "The set of connections that constitute an exchange peering.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangeConnection" + } + }, + "peerAsn": { + "$ref": "#/definitions/SubResource", + "description": "The reference of the peer ASN." + } + } + }, + "DirectConnection": { + "description": "The properties that define a direct connection.", + "type": "object", + "properties": { + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection.", + "type": "integer" + }, + "provisionedBandwidthInMbps": { + "format": "int32", + "description": "The bandwidth that is actually provisioned.", + "type": "integer", + "readOnly": true + }, + "sessionAddressProvider": { + "description": "The field indicating if Microsoft provides session ip addresses.", + "enum": [ + "Microsoft", + "Peer" + ], + "type": "string", + "x-ms-enum": { + "name": "sessionAddressProvider", + "modelAsString": true + } + }, + "useForPeeringService": { + "description": "The flag that indicates whether or not the connection is used for peering service.", + "type": "boolean" + }, + "microsoftTrackingId": { + "description": "The ID used within Microsoft's peering provisioning system to track the connection", + "type": "string", + "readOnly": true + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + }, + "connectionIdentifier": { + "description": "The unique identifier (GUID) for the connection.", + "type": "string" + }, + "errorMessage": { + "description": "The error message related to the connection state, if any.", + "type": "string", + "readOnly": true + } + } + }, + "SubResource": { + "description": "The sub resource.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of the referenced resource.", + "type": "string" + } + } + }, + "ExchangeConnection": { + "description": "The properties that define an exchange connection.", + "type": "object", + "properties": { + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility at which the connection has to be set up.", + "type": "integer" + }, + "connectionState": { + "description": "The state of the connection.", + "enum": [ + "None", + "PendingApproval", + "Approved", + "ProvisioningStarted", + "ProvisioningFailed", + "ProvisioningCompleted", + "Validating", + "Active" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "connectionState", + "modelAsString": true + } + }, + "bgpSession": { + "$ref": "#/definitions/BgpSession", + "description": "The BGP session associated with the connection." + }, + "connectionIdentifier": { + "description": "The unique identifier (GUID) for the connection.", + "type": "string" + }, + "errorMessage": { + "description": "The error message related to the connection state, if any.", + "type": "string", + "readOnly": true + } + } + }, + "BgpSession": { + "description": "The properties that define a BGP session.", + "type": "object", + "properties": { + "sessionPrefixV4": { + "description": "The IPv4 prefix that contains both ends' IPv4 addresses.", + "type": "string" + }, + "sessionPrefixV6": { + "description": "The IPv6 prefix that contains both ends' IPv6 addresses.", + "type": "string" + }, + "microsoftSessionIPv4Address": { + "description": "The IPv4 session address on Microsoft's end.", + "type": "string" + }, + "microsoftSessionIPv6Address": { + "description": "The IPv6 session address on Microsoft's end.", + "type": "string" + }, + "peerSessionIPv4Address": { + "description": "The IPv4 session address on peer's end.", + "type": "string" + }, + "peerSessionIPv6Address": { + "description": "The IPv6 session address on peer's end.", + "type": "string" + }, + "sessionStateV4": { + "description": "The state of the IPv4 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "OpenReceived", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV4", + "modelAsString": true + } + }, + "sessionStateV6": { + "description": "The state of the IPv6 session.", + "enum": [ + "None", + "Idle", + "Connect", + "Active", + "OpenSent", + "OpenConfirm", + "OpenReceived", + "Established", + "PendingAdd", + "PendingUpdate", + "PendingRemove" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "sessionStateV6", + "modelAsString": true + } + }, + "maxPrefixesAdvertisedV4": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv4 session.", + "type": "integer" + }, + "maxPrefixesAdvertisedV6": { + "format": "int32", + "description": "The maximum number of prefixes advertised over the IPv6 session.", + "type": "integer" + }, + "md5AuthenticationKey": { + "description": "The MD5 authentication key of the session.", + "type": "string" + } + } + }, + "LookingGlassOutput": { + "description": "Looking glass output model", + "type": "object", + "properties": { + "command": { + "description": "Invoked command", + "enum": [ + "Traceroute", + "Ping", + "BgpRoute" + ], + "type": "string", + "x-ms-enum": { + "name": "command", + "modelAsString": true + } + }, + "output": { + "description": "Output of the command", + "type": "string" + } + } + }, + "OperationListResult": { + "description": "The paginated list of peering API operations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering API operations.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering API operations.", + "type": "string" + } + } + }, + "Operation": { + "description": "The peering API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The information related to the operation.", + "readOnly": true + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "The properties of the operation.", + "readOnly": true, + "x-ms-client-flatten": true + } + } + }, + "OperationDisplayInfo": { + "description": "The information related to the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the resource provider.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The name of the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the operation.", + "type": "string", + "readOnly": true + } + } + }, + "OperationProperties": { + "description": "The properties of the operation.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "Service specification payload.", + "readOnly": true + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "readOnly": true + } + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string", + "readOnly": true + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "Unit that makes sense for the metric.", + "type": "string", + "readOnly": true + }, + "aggregationType": { + "description": "Aggregation type will be set to one of the values: Average, Minimum, Maximum, Total, Count.", + "type": "string", + "readOnly": true + }, + "supportedTimeGrainTypes": { + "description": "Supported time grain types for the metric.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "dimensions": { + "description": "Dimensions of the metric.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "readOnly": true + } + } + }, + "MetricDimension": { + "description": "Dimensions of the metric.", + "type": "object", + "properties": { + "name": { + "description": "Name of the dimension.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string", + "readOnly": true + } + } + }, + "PeerAsn": { + "description": "The essential information related to the peer's ASN.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeerAsnProperties", + "description": "The properties that define a peer's ASN.", + "x-ms-client-flatten": true + } + } + }, + "PeerAsnProperties": { + "description": "The properties that define a peer's ASN.", + "type": "object", + "properties": { + "peerAsn": { + "format": "int32", + "description": "The Autonomous System Number (ASN) of the peer.", + "type": "integer" + }, + "peerContactDetail": { + "description": "The contact details of the peer.", + "type": "array", + "items": { + "$ref": "#/definitions/ContactDetail" + } + }, + "peerName": { + "description": "The name of the peer.", + "type": "string" + }, + "validationState": { + "description": "The validation state of the ASN associated with the peer.", + "enum": [ + "None", + "Pending", + "Approved", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "validationState", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The error message for the validation state", + "type": "string", + "readOnly": true + } + } + }, + "ContactDetail": { + "description": "The contact detail class.", + "type": "object", + "properties": { + "role": { + "description": "The role of the contact.", + "enum": [ + "Noc", + "Policy", + "Technical", + "Service", + "Escalation", + "Other" + ], + "type": "string", + "x-ms-enum": { + "name": "role", + "modelAsString": true + } + }, + "email": { + "description": "The e-mail address of the contact.", + "type": "string" + }, + "phone": { + "description": "The phone number of the contact.", + "type": "string" + } + } + }, + "PeerAsnListResult": { + "description": "The paginated list of peer ASNs.", + "type": "object", + "properties": { + "value": { + "description": "The list of peer ASNs.", + "type": "array", + "items": { + "$ref": "#/definitions/PeerAsn" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peer ASNs.", + "type": "string" + } + } + }, + "PeeringLocationListResult": { + "description": "The paginated list of peering locations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering locations.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringLocation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering locations.", + "type": "string" + } + } + }, + "PeeringLocation": { + "description": "Peering location is where connectivity could be established to the Microsoft Cloud Edge.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "kind": { + "description": "The kind of peering that the peering location supports.", + "enum": [ + "Direct", + "Exchange" + ], + "type": "string", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/PeeringLocationProperties", + "description": "The properties that define a peering location.", + "x-ms-client-flatten": true + } + } + }, + "PeeringLocationProperties": { + "description": "The properties that define a peering location.", + "type": "object", + "properties": { + "direct": { + "$ref": "#/definitions/PeeringLocationPropertiesDirect", + "description": "The properties that define a direct peering location." + }, + "exchange": { + "$ref": "#/definitions/PeeringLocationPropertiesExchange", + "description": "The properties that define an exchange peering location." + }, + "peeringLocation": { + "description": "The name of the peering location.", + "type": "string" + }, + "country": { + "description": "The country in which the peering location exists.", + "type": "string" + }, + "azureRegion": { + "description": "The Azure region associated with the peering location.", + "type": "string" + } + } + }, + "PeeringLocationPropertiesDirect": { + "description": "The properties that define a direct peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of direct peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/DirectPeeringFacility" + } + }, + "bandwidthOffers": { + "description": "The list of bandwidth offers available at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringBandwidthOffer" + } + } + } + }, + "PeeringLocationPropertiesExchange": { + "description": "The properties that define an exchange peering location.", + "type": "object", + "properties": { + "peeringFacilities": { + "description": "The list of exchange peering facilities at the peering location.", + "type": "array", + "items": { + "$ref": "#/definitions/ExchangePeeringFacility" + } + } + } + }, + "DirectPeeringFacility": { + "description": "The properties that define a direct peering facility.", + "type": "object", + "properties": { + "address": { + "description": "The address of the direct peering facility.", + "type": "string" + }, + "directPeeringType": { + "description": "The type of the direct peering.", + "enum": [ + "Edge", + "Transit", + "Cdn", + "Internal", + "Ix", + "IxRs", + "Voice", + "EdgeZoneForOperators" + ], + "type": "string", + "x-ms-enum": { + "name": "directPeeringType", + "modelAsString": true + } + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "PeeringBandwidthOffer": { + "description": "The properties that define a peering bandwidth offer.", + "type": "object", + "properties": { + "offerName": { + "description": "The name of the bandwidth offer.", + "type": "string" + }, + "valueInMbps": { + "format": "int32", + "description": "The value of the bandwidth offer in Mbps.", + "type": "integer" + } + } + }, + "ExchangePeeringFacility": { + "description": "The properties that define an exchange peering facility.", + "type": "object", + "properties": { + "exchangeName": { + "description": "The name of the exchange peering facility.", + "type": "string" + }, + "bandwidthInMbps": { + "format": "int32", + "description": "The bandwidth of the connection between Microsoft and the exchange peering facility.", + "type": "integer" + }, + "microsoftIPv4Address": { + "description": "The IPv4 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "microsoftIPv6Address": { + "description": "The IPv6 address of Microsoft at the exchange peering facility.", + "type": "string" + }, + "facilityIPv4Prefix": { + "description": "The IPv4 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "facilityIPv6Prefix": { + "description": "The IPv6 prefixes associated with the exchange peering facility.", + "type": "string" + }, + "peeringDBFacilityId": { + "format": "int32", + "description": "The PeeringDB.com ID of the facility.", + "type": "integer" + }, + "peeringDBFacilityLink": { + "description": "The PeeringDB.com URL of the facility.", + "type": "string" + } + } + }, + "PeeringRegisteredAsn": { + "description": "The customer's ASN that is registered by the peering service provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringRegisteredAsnProperties", + "description": "The properties that define a registered ASN.", + "x-ms-client-flatten": true + } + } + }, + "PeeringRegisteredAsnProperties": { + "description": "The properties that define a registered ASN.", + "type": "object", + "properties": { + "asn": { + "format": "int32", + "description": "The customer's ASN from which traffic originates.", + "type": "integer" + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key that is to be shared with the customer.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringRegisteredAsnListResult": { + "description": "The paginated list of peering registered ASNs.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering registered ASNs.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringRegisteredAsn" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering registered ASNs.", + "type": "string" + } + } + }, + "PeeringRegisteredPrefix": { + "description": "The customer's prefix that is registered by the peering service provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringRegisteredPrefixProperties", + "description": "The properties that define a registered prefix.", + "x-ms-client-flatten": true + } + } + }, + "PeeringRegisteredPrefixProperties": { + "description": "The properties that define a registered prefix.", + "type": "object", + "properties": { + "prefix": { + "description": "The customer's prefix from which traffic originates.", + "type": "string" + }, + "prefixValidationState": { + "description": "The prefix validation state.", + "enum": [ + "None", + "Invalid", + "Verified", + "Failed", + "Pending", + "Warning", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "prefixValidationState", + "modelAsString": true + } + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key that is to be shared with the customer.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message associated with the validation state, if any.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringRegisteredPrefixListResult": { + "description": "The paginated list of peering registered prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering registered prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringRegisteredPrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering registered prefixes.", + "type": "string" + } + } + }, + "ResourceTags": { + "description": "The resource tags.", + "type": "object", + "properties": { + "tags": { + "description": "Gets or sets the tags, a dictionary of descriptors arm object", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringReceivedRouteListResult": { + "description": "The paginated list of received routes for the peering.", + "type": "object", + "properties": { + "value": { + "description": "The list of received routes for the peering.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringReceivedRoute" + } + }, + "nextLink": { + "description": "The link to fetch the next page of received routes for the peering.", + "type": "string" + } + } + }, + "PeeringReceivedRoute": { + "description": "The properties that define a received route.", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix.", + "type": "string", + "readOnly": true + }, + "nextHop": { + "description": "The next hop for the prefix.", + "type": "string", + "readOnly": true + }, + "asPath": { + "description": "The AS path for the prefix.", + "type": "string", + "readOnly": true + }, + "originAsValidationState": { + "description": "The origin AS change information for the prefix.", + "type": "string", + "readOnly": true + }, + "rpkiValidationState": { + "description": "The RPKI validation state for the prefix and origin AS that's listed in the AS path.", + "type": "string", + "readOnly": true + }, + "trustAnchor": { + "description": "The authority which holds the Route Origin Authorization record for the prefix, if any.", + "type": "string", + "readOnly": true + }, + "receivedTimestamp": { + "description": "The received timestamp associated with the prefix.", + "type": "string", + "readOnly": true + } + } + }, + "ConnectionMonitorTest": { + "description": "The Connection Monitor Test class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConnectionMonitorTestProperties", + "description": "The properties that define a Connection Monitor Test.", + "x-ms-client-flatten": true + } + } + }, + "ConnectionMonitorTestProperties": { + "description": "The properties that define a Connection Monitor Test.", + "type": "object", + "properties": { + "sourceAgent": { + "description": "The Connection Monitor test source agent", + "type": "string" + }, + "destination": { + "description": "The Connection Monitor test destination", + "type": "string" + }, + "destinationPort": { + "format": "int32", + "description": "The Connection Monitor test destination port", + "type": "integer" + }, + "testFrequencyInSec": { + "format": "int32", + "description": "The Connection Monitor test frequency in seconds", + "type": "integer" + }, + "isTestSuccessful": { + "description": "The flag that indicates if the Connection Monitor test is successful or not.", + "type": "boolean", + "readOnly": true + }, + "path": { + "description": "The path representing the Connection Monitor test.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "ConnectionMonitorTestListResult": { + "description": "The paginated list of [T].", + "type": "object", + "properties": { + "value": { + "description": "The list of [T].", + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionMonitorTest" + } + }, + "nextLink": { + "description": "The link to fetch the next page of [T].", + "type": "string" + } + } + }, + "PeeringServiceCountryListResult": { + "description": "The paginated list of peering service countries.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service countries.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceCountry" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service countries.", + "type": "string" + } + } + }, + "PeeringServiceCountry": { + "description": "The peering service country.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "PeeringServiceLocationListResult": { + "description": "The paginated list of peering service locations.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service locations.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceLocation" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service locations.", + "type": "string" + } + } + }, + "PeeringServiceLocation": { + "description": "The peering service location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServiceLocationProperties", + "description": "The properties that define a peering service location.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServiceLocationProperties": { + "description": "The properties that define connectivity to the Peering Service Location.", + "type": "object", + "properties": { + "country": { + "description": "Country of the customer", + "type": "string" + }, + "state": { + "description": "State of the customer", + "type": "string" + }, + "azureRegion": { + "description": "Azure region for the location", + "type": "string" + } + } + }, + "PeeringServicePrefix": { + "description": "The peering service prefix class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServicePrefixProperties", + "description": "Gets or sets the peering prefix properties.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServicePrefixProperties": { + "description": "The peering service prefix properties class.", + "type": "object", + "properties": { + "prefix": { + "description": "The prefix from which your traffic originates.", + "type": "string" + }, + "prefixValidationState": { + "description": "The prefix validation state", + "enum": [ + "None", + "Invalid", + "Verified", + "Failed", + "Pending", + "Warning", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "prefixValidationState", + "modelAsString": true + } + }, + "learnedType": { + "description": "The prefix learned type", + "enum": [ + "None", + "ViaServiceProvider", + "ViaSession" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "learnedType", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The error message for validation state", + "type": "string", + "readOnly": true + }, + "events": { + "description": "The list of events for peering service prefix", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServicePrefixEvent" + }, + "readOnly": true + }, + "peeringServicePrefixKey": { + "description": "The peering service prefix key", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "PeeringServicePrefixEvent": { + "description": "The details of the event associated with a prefix.", + "type": "object", + "properties": { + "eventTimestamp": { + "format": "date-time", + "description": "The timestamp of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventType": { + "description": "The type of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventSummary": { + "description": "The summary of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventLevel": { + "description": "The level of the event associated with a prefix.", + "type": "string", + "readOnly": true + }, + "eventDescription": { + "description": "The description of the event associated with a prefix.", + "type": "string", + "readOnly": true + } + } + }, + "PeeringServicePrefixListResult": { + "description": "The paginated list of peering service prefixes.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service prefixes.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServicePrefix" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service prefixes.", + "type": "string" + } + } + }, + "PeeringServiceProviderListResult": { + "description": "The paginated list of peering service providers.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering service providers.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringServiceProvider" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering service providers.", + "type": "string" + } + } + }, + "PeeringServiceProvider": { + "description": "PeeringService provider", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PeeringServiceProviderProperties", + "description": "The properties that define a peering service provider.", + "x-ms-client-flatten": true + } + } + }, + "PeeringServiceProviderProperties": { + "description": "The properties that define connectivity to the Peering Service Provider.", + "type": "object", + "properties": { + "serviceProviderName": { + "description": "The name of the service provider.", + "type": "string" + }, + "peeringLocations": { + "description": "The list of locations at which the service provider peers with Microsoft.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PeeringService": { + "description": "Peering Service", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/PeeringServiceSku", + "description": "The SKU that defines the type of the peering service." + }, + "properties": { + "$ref": "#/definitions/PeeringServiceProperties", + "description": "The properties that define a peering service.", + "x-ms-client-flatten": true + }, + "location": { + "description": "The location of the resource.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "The resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PeeringServiceSku": { + "description": "The SKU that defines the type of the peering service.", + "type": "object", + "properties": { + "name": { + "description": "The name of the peering service SKU.", + "type": "string" + } + } + }, + "PeeringServiceProperties": { + "description": "The properties that define connectivity to the Peering Service.", + "type": "object", + "properties": { + "peeringServiceLocation": { + "description": "The location (state/province) of the customer.", + "type": "string" + }, + "peeringServiceProvider": { + "description": "The name of the service provider.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "enum": [ + "Succeeded", + "Updating", + "Deleting", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + }, + "providerPrimaryPeeringLocation": { + "description": "The primary peering (Microsoft/service provider) location to be used for customer traffic.", + "type": "string" + }, + "providerBackupPeeringLocation": { + "description": "The backup peering (Microsoft/service provider) location to be used for customer traffic.", + "type": "string" + }, + "logAnalyticsWorkspaceProperties": { + "$ref": "#/definitions/LogAnalyticsWorkspaceProperties", + "description": "The Log Analytics Workspace Properties" + } + } + }, + "LogAnalyticsWorkspaceProperties": { + "description": "The properties that define a Log Analytics Workspace.", + "type": "object", + "properties": { + "workspaceID": { + "description": "The Workspace ID.", + "type": "string", + "readOnly": true + }, + "key": { + "description": "The Workspace Key.", + "type": "string", + "readOnly": true + }, + "connectedAgents": { + "description": "The list of connected agents.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PeeringServiceListResult": { + "description": "The paginated list of peering services.", + "type": "object", + "properties": { + "value": { + "description": "The list of peering services.", + "type": "array", + "items": { + "$ref": "#/definitions/PeeringService" + } + }, + "nextLink": { + "description": "The link to fetch the next page of peering services.", + "type": "string" + } + } + }, + "ErrorResponse": { + "description": "The error response that indicates why an operation has failed.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDetail", + "description": "The error detail that describes why an operation has failed." + } + } + }, + "ErrorDetail": { + "description": "The error detail that describes why an operation has failed.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "The ARM resource class.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The ID of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID.", + "required": true, + "type": "string" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The client API version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/peering/resource-manager/readme.go.md b/specification/peering/resource-manager/readme.go.md index 93295d439d00..cfbeea87db4b 100644 --- a/specification/peering/resource-manager/readme.go.md +++ b/specification/peering/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-01-01 - tag: package-2021-06-01 - tag: package-2021-01-01 - tag: package-2020-10-01 @@ -30,6 +31,15 @@ batch: - tag: package-2019-08-01-preview ``` +### Tag: package-2022-01-01 and go + +These settings apply only when `--tag=package-2022-01-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-01-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-01-01/$(namespace) +``` + ### Tag: package-2021-06-01 and go These settings apply only when `--tag=package-2021-06-01 --go` is specified on the command line. diff --git a/specification/peering/resource-manager/readme.java.md b/specification/peering/resource-manager/readme.java.md index 5269c7823301..c72c92cb7c2d 100644 --- a/specification/peering/resource-manager/readme.java.md +++ b/specification/peering/resource-manager/readme.java.md @@ -14,6 +14,11 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-peering ### Java multi-api ``` yaml $(java) && $(multiapi) +batch: + - tag: package-2022-01-01 +``` +or +``` yaml $(java) && $(multiapi) batch: - tag: package-2021-06-01 ``` @@ -48,6 +53,19 @@ batch: - tag: package-2019-08-01-preview ``` +### Tag: package-2022-01-01 and java + +These settings apply only when `--tag=package-2022-01-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java=`. + +``` yaml $(tag) == 'package-2022-01-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.peering.v2022-01-01 + output-folder: $(azure-libraries-for-java-folder)/sdk/peering/mgmt-v2022-01-01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06-01 and java These settings apply only when `--tag=package-2021-06-01 --java` is specified on the command line. diff --git a/specification/peering/resource-manager/readme.md b/specification/peering/resource-manager/readme.md index be04e9422aa1..a1afffddfe07 100644 --- a/specification/peering/resource-manager/readme.md +++ b/specification/peering/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Peering API. title: PeeringManagementClient description: Peering Client openapi-type: arm -tag: package-2021-06-01 +tag: package-2022-01-01 +``` + +### Tag: package-2022-01-01 + +These settings apply only when `--tag=package-2022-01-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-01-01' +input-file: +- Microsoft.Peering/stable/2022-01-01/peering.json ``` ### Tag: package-2021-06-01 @@ -132,4 +141,3 @@ See configuration in [readme.go.md](./readme.go.md) See configuration in [readme.cli.md](./readme.cli.md) - diff --git a/specification/peering/resource-manager/readme.python.md b/specification/peering/resource-manager/readme.python.md index c02f0b8dc61d..776e99553f75 100644 --- a/specification/peering/resource-manager/readme.python.md +++ b/specification/peering/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.peering @@ -13,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/peering/azure-mgmt-peering/azure/mgmt/peering -``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/peering/azure-mgmt-peering ``` \ No newline at end of file diff --git a/specification/peering/resource-manager/readme.ruby.md b/specification/peering/resource-manager/readme.ruby.md index 30e255807cd6..bd03547bf711 100644 --- a/specification/peering/resource-manager/readme.ruby.md +++ b/specification/peering/resource-manager/readme.ruby.md @@ -2,6 +2,12 @@ These settings apply only when `--ruby` is specified on the command line. +``` yaml +package-name: azure_mgmt_peering +package-version: "2022-01-01" +azure-arm: true +``` +or ``` yaml package-name: azure_mgmt_peering package-version: "2021-06-01" diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json index 5899c79428ca..fc92a768c0d6 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyEvents.json @@ -814,6 +814,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json index 44cac58658a1..4530c0e39aa9 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyStates.json @@ -1543,6 +1543,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json index 728d607618f3..3edf6ba2f183 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json @@ -368,6 +368,10 @@ "enum": [ "default" ], + "x-ms-enum": { + "name": "PolicyTrackedResourcesResourceType", + "modelAsString": true + }, "description": "The name of the virtual resource under PolicyTrackedResources resource type; only \"default\" is allowed.", "x-ms-parameter-location": "method" }, @@ -379,6 +383,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json index 147393e8034d..8e53dabc6f59 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/preview/2018-07-01-preview/remediations.json @@ -1299,6 +1299,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json index 6f2779cb49b9..726a1d0be19f 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyEvents.json @@ -774,6 +774,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json index 6a881ac0578a..5b5edb65af13 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2018-04-04/policyStates.json @@ -1390,6 +1390,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, 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 index eade05405c40..392b08a5aeae 100644 --- 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 @@ -1325,6 +1325,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json index 4ab47f3b2a5d..39a104170cfb 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json @@ -912,6 +912,10 @@ "enum": [ "default" ], + "x-ms-enum": { + "name": "PolicyEventsResourceType", + "modelAsString": true + }, "description": "The name of the virtual resource under PolicyEvents resource type; only \"default\" is allowed.", "x-ms-parameter-location": "method" }, @@ -923,6 +927,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, @@ -967,6 +975,10 @@ "enum": [ "Microsoft.Authorization" ], + "x-ms-enum": { + "name": "AuthorizationNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.", "x-ms-parameter-location": "method" }, 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 index d64a6edeabf9..14ac76131dc6 100644 --- 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 @@ -1759,6 +1759,10 @@ "enum": [ "latest" ], + "x-ms-enum": { + "name": "PolicyStatesSummaryResourceType", + "modelAsString": true + }, "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" }, @@ -1770,6 +1774,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, @@ -1814,6 +1822,10 @@ "enum": [ "Microsoft.Authorization" ], + "x-ms-enum": { + "name": "AuthorizationNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Authorization resource provider; only \"Microsoft.Authorization\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json index 77edbba85dee..76d686cb1f81 100644 --- a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2021-10-01/remediations.json @@ -1362,6 +1362,10 @@ "enum": [ "Microsoft.Management" ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, "description": "The namespace for Microsoft Management RP; only \"Microsoft.Management\" is allowed.", "x-ms-parameter-location": "method" }, diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/checkPolicyRestrictions.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/checkPolicyRestrictions.json new file mode 100644 index 000000000000..eea8799a69a4 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/checkPolicyRestrictions.json @@ -0,0 +1,408 @@ +{ + "swagger": "2.0", + "info": { + "title": "CheckPolicyRestrictionsClient", + "version": "2022-03-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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions": { + "post": { + "operationId": "PolicyRestrictions_CheckAtSubscriptionScope", + "description": "Checks what restrictions Azure Policy will place on a resource within a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckRestrictionsRequest" + }, + "description": "The check policy restrictions parameters." + } + ], + "responses": { + "200": { + "description": "The restrictions that will be placed on the resource by Azure Policy.", + "schema": { + "$ref": "#/definitions/CheckRestrictionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2019-10-01/policyMetadata.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check policy restrictions at subscription scope": { + "$ref": "./examples/PolicyRestrictions_CheckAtSubscriptionScope.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions": { + "post": { + "operationId": "PolicyRestrictions_CheckAtResourceGroupScope", + "description": "Checks what restrictions Azure Policy will place on a resource within a resource group. Use this when the resource group the resource will be created in is already known.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckRestrictionsRequest" + }, + "description": "The check policy restrictions parameters." + } + ], + "responses": { + "200": { + "description": "The restrictions that will be placed on the resource by Azure Policy.", + "schema": { + "$ref": "#/definitions/CheckRestrictionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2019-10-01/policyMetadata.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check policy restrictions at resource group scope": { + "$ref": "./examples/PolicyRestrictions_CheckAtResourceGroupScope.json" + } + } + } + }, + "/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions": { + "post": { + "operationId": "PolicyRestrictions_CheckAtManagementGroupScope", + "description": "Checks what restrictions Azure Policy will place on resources within a management group.", + "parameters": [ + { + "$ref": "#/parameters/managementGroupsNamespaceParameter" + }, + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckManagementGroupRestrictionsRequest" + }, + "description": "The check policy restrictions parameters." + } + ], + "responses": { + "200": { + "description": "The restrictions that will be placed on the resource by Azure Policy.", + "schema": { + "$ref": "#/definitions/CheckRestrictionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../stable/2019-10-01/policyMetadata.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check policy restrictions at management group scope": { + "$ref": "./examples/PolicyRestrictions_CheckAtManagementGroupScope.json" + } + } + } + } + }, + "definitions": { + "CheckRestrictionsRequest": { + "description": "The check policy restrictions parameters describing the resource that is being evaluated.", + "properties": { + "resourceDetails": { + "description": "The information about the resource that will be evaluated.", + "$ref": "#/definitions/CheckRestrictionsResourceDetails" + }, + "pendingFields": { + "description": "The list of fields and values that should be evaluated for potential restrictions.", + "type": "array", + "items": { + "$ref": "#/definitions/PendingField" + } + } + }, + "required": [ + "resourceDetails" + ] + }, + "CheckManagementGroupRestrictionsRequest": { + "type": "object", + "description": "The check policy restrictions parameters describing the resource that is being evaluated.", + "properties": { + "resourceDetails": { + "description": "The information about the resource that will be evaluated.", + "$ref": "#/definitions/CheckRestrictionsResourceDetails" + }, + "pendingFields": { + "description": "The list of fields and values that should be evaluated for potential restrictions.", + "type": "array", + "items": { + "$ref": "#/definitions/PendingField" + }, + "x-ms-identifiers": [] + } + } + }, + "CheckRestrictionsResourceDetails": { + "description": "The information about the resource that will be evaluated.", + "properties": { + "resourceContent": { + "description": "The resource content. This should include whatever properties are already known and can be a partial set of all resource properties.", + "type": "object" + }, + "apiVersion": { + "description": "The api-version of the resource content.", + "type": "string" + }, + "scope": { + "description": "The scope where the resource is being created. For example, if the resource is a child resource this would be the parent resource's resource ID.", + "type": "string" + } + }, + "required": [ + "resourceContent" + ] + }, + "PendingField": { + "description": "A field that should be evaluated against Azure Policy to determine restrictions.", + "properties": { + "field": { + "description": "The name of the field. This can be a top-level property like 'name' or 'type' or an Azure Policy field alias.", + "type": "string" + }, + "values": { + "description": "The list of potential values for the field that should be evaluated against Azure Policy.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "field" + ] + }, + "CheckRestrictionsResult": { + "description": "The result of a check policy restrictions evaluation on a resource.", + "properties": { + "fieldRestrictions": { + "description": "The restrictions that will be placed on various fields in the resource by policy.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldRestrictions" + }, + "readOnly": true + }, + "contentEvaluationResult": { + "description": "Evaluation results for the provided partial resource content.", + "properties": { + "policyEvaluations": { + "description": "Policy evaluation results against the given resource content. This will indicate if the partial content that was provided will be denied as-is.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicyEvaluationResult" + } + } + }, + "readOnly": true + } + } + }, + "FieldRestrictions": { + "description": "The restrictions that will be placed on a field in the resource by policy.", + "properties": { + "field": { + "description": "The name of the field. This can be a top-level property like 'name' or 'type' or an Azure Policy field alias.", + "type": "string", + "readOnly": true + }, + "restrictions": { + "description": "The restrictions placed on that field by policy.", + "type": "array", + "items": { + "$ref": "#/definitions/FieldRestriction" + } + } + } + }, + "FieldRestriction": { + "description": "The restrictions on a field imposed by a specific policy.", + "properties": { + "result": { + "description": "The type of restriction that is imposed on the field.", + "type": "string", + "enum": [ + "Required", + "Removed", + "Deny" + ], + "x-ms-enum": { + "name": "FieldRestrictionResult", + "modelAsString": true, + "values": [ + { + "value": "Required", + "description": "The field and/or values are required by policy." + }, + { + "value": "Removed", + "description": "The field will be removed by policy." + }, + { + "value": "Deny", + "description": "The field and/or values will be denied by policy." + } + ] + }, + "readOnly": true + }, + "defaultValue": { + "description": "The value that policy will set for the field if the user does not provide a value.", + "type": "string", + "readOnly": true + }, + "values": { + "description": "The values that policy either requires or denies for the field.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "policy": { + "description": "The details of the policy that is causing the field restriction.", + "$ref": "#/definitions/PolicyReference", + "readOnly": true + } + } + }, + "PolicyEvaluationResult": { + "description": "The result of a non-compliant policy evaluation against the given resource content.", + "properties": { + "policyInfo": { + "description": "The details of the policy that was evaluated.", + "$ref": "#/definitions/PolicyReference", + "readOnly": true + }, + "evaluationResult": { + "description": "The result of the policy evaluation against the resource. This will typically be 'NonCompliant' but may contain other values if errors were encountered.", + "type": "string", + "readOnly": true + }, + "evaluationDetails": { + "description": "The detailed results of the policy expressions and values that were evaluated.", + "$ref": "../../stable/2019-10-01/policyStates.json#/definitions/PolicyEvaluationDetails", + "readOnly": true + } + } + }, + "PolicyReference": { + "description": "Resource identifiers for a policy.", + "properties": { + "policyDefinitionId": { + "description": "The resource identifier of the policy definition.", + "type": "string", + "readOnly": true + }, + "policySetDefinitionId": { + "description": "The resource identifier of the policy set definition.", + "type": "string", + "readOnly": true + }, + "policyDefinitionReferenceId": { + "description": "The reference identifier of a specific policy definition within a policy set definition.", + "type": "string", + "readOnly": true + }, + "policyAssignmentId": { + "description": "The resource identifier of the policy assignment.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "managementGroupsNamespaceParameter": { + "name": "managementGroupsNamespace", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "Microsoft.Management" + ], + "x-ms-enum": { + "name": "ManagementGroupsNamespaceType", + "modelAsString": false + }, + "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" + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtManagementGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtManagementGroupScope.json new file mode 100644 index 000000000000..4b973e30d9b5 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtManagementGroupScope.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "managementGroupsNamespace": "Microsoft.Management", + "managementGroupId": "financeMg", + "api-version": "2022-03-01", + "parameters": { + "pendingFields": [ + { + "field": "type" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "fieldRestrictions": [ + { + "field": "type", + "restrictions": [ + { + "result": "Required", + "values": [ + "Microsoft.Compute/virtualMachines" + ], + "policy": { + "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyDefinitions/allowedTypes", + "policyAssignmentId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policyAssignments/7EB1508A", + "policySetDefinitionId": "/providers/Microsoft.Management/managementGroups/financeMg/providers/microsoft.authorization/policySetDefinitions/735551F1", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + } + ], + "contentEvaluationResult": { + "policyEvaluations": [] + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtResourceGroupScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtResourceGroupScope.json new file mode 100644 index 000000000000..36d6eda3f46b --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtResourceGroupScope.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "resourceGroupName": "vmRg", + "api-version": "2022-03-01", + "parameters": { + "resourceDetails": { + "resourceContent": { + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "priority": "Spot" + } + }, + "apiVersion": "2019-12-01" + }, + "pendingFields": [ + { + "field": "name", + "values": [ + "myVMName" + ] + }, + { + "field": "location", + "values": [ + "eastus", + "westus", + "westus2", + "westeurope" + ] + }, + { + "field": "tags" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "fieldRestrictions": [ + { + "field": "tags.newtag", + "restrictions": [ + { + "result": "Required", + "defaultValue": "defaultVal", + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + }, + { + "field": "tags.environment", + "restrictions": [ + { + "result": "Required", + "values": [ + "Prod", + "Int", + "Test" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + }, + { + "field": "location", + "restrictions": [ + { + "result": "Deny", + "values": [ + "west europe" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A", + "policyDefinitionReferenceId": "DefRef" + } + }, + { + "result": "Deny", + "values": [ + "eastus", + "westus" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + } + ], + "contentEvaluationResult": { + "policyEvaluations": [ + { + "policyInfo": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E", + "policyDefinitionReferenceId": "defref222", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37" + }, + "evaluationResult": "NonCompliant", + "evaluationDetails": { + "evaluatedExpressions": [ + { + "result": "True", + "expressionKind": "field", + "expression": "type", + "path": "type", + "expressionValue": "microsoft.compute/virtualmachines", + "targetValue": "microsoft.compute/virtualmachines", + "operator": "equals" + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtSubscriptionScope.json b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtSubscriptionScope.json new file mode 100644 index 000000000000..d34d5c431248 --- /dev/null +++ b/specification/policyinsights/resource-manager/Microsoft.PolicyInsights/stable/2022-03-01/examples/PolicyRestrictions_CheckAtSubscriptionScope.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "35ee058e-5fa0-414c-8145-3ebb8d09b6e2", + "api-version": "2022-03-01", + "parameters": { + "resourceDetails": { + "resourceContent": { + "type": "Microsoft.Compute/virtualMachines", + "properties": { + "priority": "Spot" + } + }, + "apiVersion": "2019-12-01" + }, + "pendingFields": [ + { + "field": "name", + "values": [ + "myVMName" + ] + }, + { + "field": "location", + "values": [ + "eastus", + "westus", + "westus2", + "westeurope" + ] + }, + { + "field": "tags" + } + ] + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "fieldRestrictions": [ + { + "field": "tags.newtag", + "restrictions": [ + { + "result": "Required", + "defaultValue": "defaultVal", + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + }, + { + "field": "tags.environment", + "restrictions": [ + { + "result": "Required", + "values": [ + "Prod", + "Int", + "Test" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + }, + { + "field": "location", + "restrictions": [ + { + "result": "Deny", + "values": [ + "west europe" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A", + "policyDefinitionReferenceId": "DefRef" + } + }, + { + "result": "Deny", + "values": [ + "eastus", + "westus" + ], + "policy": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B", + "policyDefinitionReferenceId": "DefRef" + } + } + ] + } + ], + "contentEvaluationResult": { + "policyEvaluations": [ + { + "policyInfo": { + "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41", + "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E", + "policyDefinitionReferenceId": "defref222", + "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37" + }, + "evaluationResult": "NonCompliant", + "evaluationDetails": { + "evaluatedExpressions": [ + { + "result": "True", + "expressionKind": "field", + "expression": "type", + "path": "type", + "expressionValue": "microsoft.compute/virtualmachines", + "targetValue": "microsoft.compute/virtualmachines", + "operator": "equals" + } + ] + } + } + ] + } + } + } + } +} diff --git a/specification/policyinsights/resource-manager/readme.go.md b/specification/policyinsights/resource-manager/readme.go.md index 6647dbf5d2af..e73edee4d283 100644 --- a/specification/policyinsights/resource-manager/readme.go.md +++ b/specification/policyinsights/resource-manager/readme.go.md @@ -23,6 +23,7 @@ modelerfour: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-03 - tag: package-2021-10 - tag: package-2021-01 - tag: package-2020-07 @@ -31,6 +32,15 @@ batch: - tag: package-2018-04 ``` +### Tag: package-2022-03 and go + +These settings apply only when `--tag=package-2022-03 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-03' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-03-01/$(namespace) +``` + ### Tag: package-2021-10 and go These settings apply only when `--tag=package-2021-10 --go` is specified on the command line. diff --git a/specification/policyinsights/resource-manager/readme.md b/specification/policyinsights/resource-manager/readme.md index 87ed5f55eed7..5a23cea1a0ff 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-2021-10 +tag: package-2022-03 ``` ### Validations @@ -136,6 +136,20 @@ directive: transform: delete $['post']['x-ms-pageable']['operationName'] ``` +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: +- Microsoft.PolicyInsights/preview/2018-07-01-preview/policyTrackedResources.json +- Microsoft.PolicyInsights/stable/2021-10-01/remediations.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyEvents.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyStates.json +- Microsoft.PolicyInsights/stable/2019-10-01/policyMetadata.json +- Microsoft.PolicyInsights/stable/2022-03-01/checkPolicyRestrictions.json +- Microsoft.PolicyInsights/stable/2021-01-01/attestations.json +``` ### Tag: package-2021-10 @@ -289,6 +303,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-policyinsights ``` yaml $(java) && $(multiapi) batch: + - tag: package-2022-03 - tag: package-2021-10 - tag: package-2021-01 - tag: package-2020-07 @@ -297,6 +312,19 @@ batch: - tag: package-2018-04 ``` +### Tag: package-2022-03 and java + +These settings apply only when `--tag=package-2022-03 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-03' && $(java) +java: + namespace: com.microsoft.azure.management.policyinsights.v2022_03_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/policyinsights/mgmt-v2022_03_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-10 and java These settings apply only when `--tag=package-2021-10 --java` is specified on the command line. diff --git a/specification/policyinsights/resource-manager/readme.python.md b/specification/policyinsights/resource-manager/readme.python.md index fe1ea68f3f87..9d017d9d6640 100644 --- a/specification/policyinsights/resource-manager/readme.python.md +++ b/specification/policyinsights/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.policyinsights @@ -14,16 +13,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/policyinsights/azure-mgmt-policyinsights/azure/mgmt/policyinsights ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/policyinsights/azure-mgmt-policyinsights -``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true directive: diff --git a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json index 7467a2ca1f36..bd2a573eda08 100644 --- a/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json +++ b/specification/portal/resource-manager/Microsoft.Portal/preview/2020-09-01-preview/portal.json @@ -484,7 +484,8 @@ "description": "Input to dashboard part.", "items": { "type": "object" - } + }, + "x-ms-identifiers": [] }, "settings": { "type": "object", @@ -545,7 +546,8 @@ "description": "The dashboard parts.", "items": { "$ref": "#/definitions/DashboardParts" - } + }, + "x-ms-identifiers": [] }, "metadata": { "description": "The dashboard len's metadata.", @@ -565,7 +567,8 @@ "description": "The dashboard lenses.", "items": { "$ref": "#/definitions/DashboardLens" - } + }, + "x-ms-identifiers": [] }, "metadata": { "description": "The dashboard metadata.", @@ -652,6 +655,9 @@ "items": { "$ref": "#/definitions/ResourceProviderOperation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by this resource provider." }, "nextLink": { @@ -727,6 +733,9 @@ "items": { "$ref": "#/definitions/ErrorDefinition" }, + "x-ms-identifiers": [ + "code" + ], "readOnly": true } } diff --git a/specification/portal/resource-manager/readme.python.md b/specification/portal/resource-manager/readme.python.md index 91e4f117d28f..145b33301bce 100644 --- a/specification/portal/resource-manager/readme.python.md +++ b/specification/portal/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.portal @@ -12,12 +12,8 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal/azure/mgmt/portal ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/portal/azure-mgmt-portal -``` diff --git a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json index ad560fcc39a5..51e7d1080a1a 100644 --- a/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json +++ b/specification/postgresqlhsc/resource-manager/Microsoft.DBforPostgreSQL/preview/2020-10-05-privatepreview/postgresqlhsc.json @@ -1307,6 +1307,9 @@ "items": { "$ref": "#/definitions/ServerRoleGroup" }, + "x-ms-identifiers": [ + "name" + ], "minItems": 1, "maxItems": 2, "uniqueItems": true @@ -1338,6 +1341,9 @@ "items": { "$ref": "#/definitions/ServerNameItem" }, + "x-ms-identifiers": [ + "name" + ], "readOnly": true, "uniqueItems": true } @@ -1796,6 +1802,7 @@ "items": { "$ref": "#/definitions/ServerRoleGroupConfiguration" }, + "x-ms-identifiers": [], "uniqueItems": true } }, @@ -2109,7 +2116,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -2194,7 +2204,10 @@ "description": "A list of additional details about the error.", "items": { "$ref": "#/definitions/CloudErrorBody" - } + }, + "x-ms-identifiers": [ + "code" + ] } } } diff --git a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json index 56f0049b4da0..896f2b81793c 100644 --- a/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json +++ b/specification/powerbidedicated/resource-manager/Microsoft.PowerBIdedicated/stable/2021-01-01/powerbidedicated.json @@ -628,7 +628,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", @@ -935,6 +938,9 @@ "items": { "$ref": "#/definitions/CapacitySku" }, + "x-ms-identifiers": [ + "name" + ], "description": "The collection of available SKUs for new resources" } } @@ -948,6 +954,9 @@ "items": { "$ref": "#/definitions/SkuDetailsForExistingResource" }, + "x-ms-identifiers": [ + "/sku/name" + ], "description": "The collection of available SKUs for existing resources" } } @@ -1030,14 +1039,20 @@ "description": "Metric specifications for exposing performance metrics to shoebox.", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "type": "array", "description": "Log specifications for exposing diagnostic logs to shoebox.", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1089,7 +1104,10 @@ "description": "Localizable dimension of the metric" } } - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/powerbidedicated/resource-manager/readme.python.md b/specification/powerbidedicated/resource-manager/readme.python.md index a26c50aa83a5..b24fec601779 100644 --- a/specification/powerbidedicated/resource-manager/readme.python.md +++ b/specification/powerbidedicated/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2 +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.powerbidedicated @@ -13,13 +13,9 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/powerbidedicated/azure-mgmt-powerbidedicated/azure/mgmt/powerbidedicated ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/powerbidedicated/azure-mgmt-powerbidedicated -``` diff --git a/specification/powerbiprivatelinks/resource-manager/readme.python.md b/specification/powerbiprivatelinks/resource-manager/readme.python.md index 080807cc4d8f..70c037e2b4df 100644 --- a/specification/powerbiprivatelinks/resource-manager/readme.python.md +++ b/specification/powerbiprivatelinks/resource-manager/readme.python.md @@ -5,7 +5,6 @@ Please also specify `--python-sdks-folder=`. ```yaml $(python) -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: Microsoft.ProviderHub - package-name: providerhub - package-version: 2020-11-20 - clear-output-folder: true +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.providerhub +package-name: azure-mgmt-providerhub +package-version: 2020-11-20 +clear-output-folder: true ``` -```yaml $(python) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt/providerhub +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/providerhub/azure-mgmt-providerhub/azure/mgmt/providerhub ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt/providerhub/azure/mgmt/providerhub +``` yaml $(python) +modelerfour: + lenient-model-deduplication: true ``` diff --git a/specification/purview/resource-manager/Microsoft.Purview/stable/2021-07-01/purview.json b/specification/purview/resource-manager/Microsoft.Purview/stable/2021-07-01/purview.json index bc3f64bab62e..9154ba7b1d5f 100644 --- a/specification/purview/resource-manager/Microsoft.Purview/stable/2021-07-01/purview.json +++ b/specification/purview/resource-manager/Microsoft.Purview/stable/2021-07-01/purview.json @@ -1419,6 +1419,9 @@ "items": { "$ref": "#/definitions/ErrorModel" }, + "x-ms-identifiers": [ + "code" + ], "readOnly": true }, "message": { @@ -1540,7 +1543,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1613,7 +1619,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationMetaLogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "metricSpecifications": { "description": "metric specifications for the operation", @@ -1621,7 +1630,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationMetaMetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1639,7 +1651,10 @@ "type": "array", "items": { "$ref": "#/definitions/DimensionProperties" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "displayDescription": { "description": "description of the metric", diff --git a/specification/purview/resource-manager/readme.python.md b/specification/purview/resource-manager/readme.python.md index db6dca180914..af0ea35754c4 100644 --- a/specification/purview/resource-manager/readme.python.md +++ b/specification/purview/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION @@ -13,16 +13,13 @@ package-name: azure-mgmt-purview package-version: 1.0.1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/purview/azure-mgmt-purview/azure/mgmt/purview ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/purview/azure-mgmt-purview -``` -``` yaml $(python) && $(track2) + +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview/quantum.json b/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview/quantum.json index 036be7d3bfb6..f48affa33235 100644 --- a/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview/quantum.json +++ b/specification/quantum/resource-manager/Microsoft.Quantum/preview/2019-11-04-preview/quantum.json @@ -511,7 +511,10 @@ "description": "List of Providers selected for this Workspace", "items": { "$ref": "#/definitions/Provider" - } + }, + "x-ms-identifiers": [ + "providerId" + ] }, "usable": { "type": "string", @@ -897,7 +900,10 @@ "type": "array", "items": { "$ref": "#/definitions/operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "required": [ diff --git a/specification/quantum/resource-manager/readme.python.md b/specification/quantum/resource-manager/readme.python.md index ecd683e49ba9..57bd74ae2254 100644 --- a/specification/quantum/resource-manager/readme.python.md +++ b/specification/quantum/resource-manager/readme.python.md @@ -4,7 +4,6 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. ```yaml $(python) -python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.quantum @@ -13,12 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/quantum/azure-mgmt-quantum/azure/mgmt/quantum ``` - -``` yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/quantum/azure-mgmt-quantum -``` diff --git a/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json b/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json index f17bc039ae8d..c6c27cbfffd9 100644 --- a/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json +++ b/specification/quota/resource-manager/Microsoft.Quota/preview/2021-03-15-preview/quota.json @@ -493,7 +493,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationResponse" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", @@ -1081,7 +1084,10 @@ "type": "array", "items": { "$ref": "#/definitions/SubRequest" - } + }, + "x-ms-identifiers": [ + "subRequestId" + ] } } }, @@ -1196,6 +1202,9 @@ "items": { "$ref": "#/definitions/ServiceErrorDetail" }, + "x-ms-identifiers": [ + "code" + ], "description": "List of error details.", "readOnly": true } diff --git a/specification/quota/resource-manager/readme.python.md b/specification/quota/resource-manager/readme.python.md index 48f46463ffa3..e140ab7c49a3 100644 --- a/specification/quota/resource-manager/readme.python.md +++ b/specification/quota/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.quota @@ -14,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/quota/azure-mgmt-quota/azure/mgmt/quota ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/quota/azure-mgmt-quota -``` diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityAvailable.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityAvailable.json new file mode 100644 index 000000000000..2e9bca4455b8 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityAvailable.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "body": { + "type": "Microsoft.RecommendationsService/accounts", + "name": "sampleAccount" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityUnavailable.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityUnavailable.json new file mode 100644 index 000000000000..112ae0607ea9 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CheckNameAvailabilityUnavailable.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "body": { + "type": "Microsoft.RecommendationsService/accounts", + "name": "sampleAccount" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Requested name is already in use. Please select a different name." + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CreateOrUpdate.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..daa73f632764 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "body": { + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ], + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ], + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Delete.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Delete.json new file mode 100644 index 000000000000..bf9907557f75 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Get.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Get.json new file mode 100644 index 000000000000..a667f5f2bfc5 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "http://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + } + ], + "reportsConnectionString": "https://storageAccount.blob.core.windows.net/container/root", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_ModelingExists.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_ModelingExists.json new file mode 100644 index 000000000000..35f8875f581d --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_ModelingExists.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": { + "body": { + "scopesStatuses": [ + { + "scope": "modeling1", + "statuses": [ + { + "stage": "DataAccess", + "status": "Success", + "time": "2021-08-31T17:15:31.2485861Z" + }, + { + "stage": "DataValidation", + "status": "Failed", + "time": "2021-08-31T17:16:31.2485861Z" + }, + { + "stage": "Model", + "status": "Pending", + "time": "2021-08-31T17:17:31.2485861Z" + } + ] + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_NoModelingExists.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_NoModelingExists.json new file mode 100644 index 000000000000..28a6277035d8 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_GetStatus_NoModelingExists.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListByResourceGroup.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListByResourceGroup.json new file mode 100644 index 000000000000..9a6bc3bb59f6 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "https://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + }, + { + "allowedOrigins": [ + "https://siteB.com" + ], + "maxAgeInSeconds": 20 + } + ], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount2", + "name": "sampleAccount2", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Dev" + }, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + } + ], + "reportsConnectionString": "https://storageAccount.blob.core.windows.net/container/root", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListBySubscription.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListBySubscription.json new file mode 100644 index 000000000000..c619842a18e8 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_ListBySubscription.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount1", + "name": "sampleAccount1", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + }, + { + "aadTenantID": "tenant", + "principalID": "oid2", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "http://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + } + ], + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg2/providers/Microsoft.RecommendationsService/accounts/sampleAccount2", + "name": "sampleAccount2", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid2", + "principalType": "User" + } + ], + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Update.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Update.json new file mode 100644 index 000000000000..e8c8a11b80f0 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Accounts_Update.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "body": { + "tags": { + "Environment": "Test" + }, + "properties": { + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + }, + { + "aadTenantID": "tenant", + "principalID": "oid2", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "http://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + } + ], + "reportsConnectionString": "https://storageAccount.blob.core.windows.net/container/root" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Test" + }, + "systemData": {}, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + }, + { + "aadTenantID": "tenant", + "principalID": "oid2", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "http://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + } + ], + "reportsConnectionString": "https://storageAccount.blob.core.windows.net/container/root", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.RecommendationsService/locations/WESTUS/operationStatuses/{operationId}?api-version={api-version}" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount", + "name": "sampleAccount", + "type": "Microsoft.RecommendationsService/accounts", + "location": "West US", + "tags": { + "Environment": "Test" + }, + "systemData": {}, + "properties": { + "configuration": "Capacity", + "endpointAuthentications": [ + { + "aadTenantID": "tenant", + "principalID": "oid", + "principalType": "User" + }, + { + "aadTenantID": "tenant", + "principalID": "oid2", + "principalType": "User" + } + ], + "cors": [ + { + "allowedOrigins": [ + "http://siteA.com" + ], + "allowedMethods": [ + "GET", + "PUT", + "POST" + ], + "allowedHeaders": [ + "X-Custom-Header", + "X-Custom-Header2" + ] + } + ], + "reportsConnectionString": "https://storageAccount.blob.core.windows.net/container/root", + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_CreateOrUpdate.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_CreateOrUpdate.json new file mode 100644 index 000000000000..3fa3f32eb3a9 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_CreateOrUpdate.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "modelingName": "c1", + "body": { + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Delete.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Delete.json new file mode 100644 index 000000000000..e43fb5d1dbe0 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "modelingName": "c1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Get.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Get.json new file mode 100644 index 000000000000..18bb68489acd --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "modelingName": "c1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_ListByAccountResource.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_ListByAccountResource.json new file mode 100644 index 000000000000..744e1977031c --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_ListByAccountResource.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Update.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Update.json new file mode 100644 index 000000000000..2d62a886690c --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Modeling_Update.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "modelingName": "c1", + "body": { + "tags": { + "Environment": "Test" + }, + "properties": { + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Test" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.RecommendationsService/locations/WESTUS/operationStatuses/{operationId}?api-version={api-version}" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/modeling/c1", + "name": "c1", + "type": "Microsoft.RecommendationsService/accounts/modeling", + "location": "West US", + "tags": { + "Environment": "Test" + }, + "systemData": {}, + "properties": { + "features": "Standard", + "frequency": "High", + "size": "Medium", + "inputData": { + "connectionString": "https://storageAccount.blob.core.windows.net/container/root" + }, + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/OperationStatuses_Get.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/OperationStatuses_Get.json new file mode 100644 index 000000000000..a659fb52373d --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/OperationStatuses_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "operationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "location": "testLocation" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.RecommendationsService/locations/testLocation/operationStatuses/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "status": "Succeeded", + "percentComplete": 100, + "startTime": "2021-01-21T13:27:03.8980869Z", + "endTime": "2020-01-21T13:35:03.8980869Z" + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Operations_List.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Operations_List.json new file mode 100644 index 000000000000..11577f090a21 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/Operations_List.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.RecommendationsService/accounts/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts", + "operation": "Get/list accounts resources", + "description": "Reads accounts" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts", + "operation": "Create/update account resource", + "description": "Writes account" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts", + "operation": "Delete account resource", + "description": "Deletes account" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/modeling/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/modeling", + "operation": "Get/list account's Modeling resources", + "description": "Reads account's Modeling resources" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/modeling/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/modeling", + "operation": "Create/update account's Modeling resource", + "description": "Writes account's Modeling resource" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/modeling/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/modeling", + "operation": "Delete account's Modeling resource", + "description": "Deletes account's Modeling resource" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/serviceEndpoints/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/serviceEndpoints", + "operation": "Get/list account's serviceEndpoint resources", + "description": "Reads account's serviceEndpoint resources" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/serviceEndpoints/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/serviceEndpoints", + "operation": "Create/update account's serviceEndpoint resource", + "description": "Writes account's serviceEndpoint resource" + } + }, + { + "name": "Microsoft.RecommendationsService/accounts/serviceEndpoints/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.RecommendationsService", + "resource": "accounts/serviceEndpoints", + "operation": "Delete account's serviceEndpoint resource", + "description": "Deletes account's serviceEndpoint resource" + } + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_CreateOrUpdate.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_CreateOrUpdate.json new file mode 100644 index 000000000000..ecf0438eb1d3 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_CreateOrUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "serviceEndpointName": "s1", + "body": { + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "properties": { + "preAllocatedCapacity": 100 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Delete.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Delete.json new file mode 100644 index 000000000000..0097ef50bf17 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "serviceEndpointName": "s1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Get.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Get.json new file mode 100644 index 000000000000..fd79d3d8522e --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "serviceEndpointName": "s1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_ListByAccountResource.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_ListByAccountResource.json new file mode 100644 index 000000000000..bfa7e6693b0e --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_ListByAccountResource.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Succeeded" + } + }, + { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s2", + "name": "s2", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West Europe", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 200, + "pairedLocation": "East Europe", + "url": "sampleAccount-s2.microsoft.com", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Update.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Update.json new file mode 100644 index 000000000000..35a38c6ddff3 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/examples/ServiceEndpoints_Update.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "resourceGroupName": "rg", + "accountName": "sampleAccount", + "serviceEndpointName": "s1", + "body": { + "tags": { + "Environment": "Prod" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.RecommendationsService/locations/WESTUS/operationStatuses/{operationId}?api-version={api-version}" + }, + "body": { + "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/rg/providers/Microsoft.RecommendationsService/accounts/sampleAccount/serviceEndpoints/s1", + "name": "s1", + "type": "Microsoft.RecommendationsService/accounts/serviceEndpoints", + "location": "West US", + "tags": { + "Environment": "Prod" + }, + "systemData": {}, + "properties": { + "preAllocatedCapacity": 100, + "pairedLocation": "East US", + "url": "sampleAccount-s1.microsoft.com", + "provisioningState": "Accepted" + } + } + } + } +} diff --git a/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/recommendationsservice.json b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/recommendationsservice.json new file mode 100644 index 000000000000..ff9b82250180 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/Microsoft.RecommendationsService/stable/2022-02-01/recommendationsservice.json @@ -0,0 +1,1435 @@ +{ + "swagger": "2.0", + "info": { + "title": "RecommendationsService", + "description": "Dynamics 365 Recommendations Service resource provider", + "version": "2022-02-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "description": "Azure Active Directory OAuth2 Flow.", + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "scopes": { + "user_impersonation": "Impersonate your user account." + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.RecommendationsService/checkNameAvailability": { + "post": { + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the RecommendationsService Account name is valid and is not already in use.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "description": "Check name availability request details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Successful. The response describes the name availability.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check name availability of RecommendationsService Account - name available": { + "$ref": "./examples/Accounts_CheckNameAvailabilityAvailable.json" + }, + "Check name availability of RecommendationsService Account - name unavailable": { + "$ref": "./examples/Accounts_CheckNameAvailabilityUnavailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecommendationsService/accounts": { + "get": { + "operationId": "Accounts_ListBySubscription", + "description": "Returns list of RecommendationsService Account resources.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Account resources list.", + "schema": { + "$ref": "#/definitions/AccountResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get RecommendationsService Account resources by subscription": { + "$ref": "./examples/Accounts_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecommendationsService/accounts": { + "get": { + "operationId": "Accounts_ListByResourceGroup", + "description": "Returns list of RecommendationsService Account resources.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Account resources list.", + "schema": { + "$ref": "#/definitions/AccountResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get RecommendationsService Account resources by resource group": { + "$ref": "./examples/Accounts_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecommendationsService/accounts/{accountName}": { + "get": { + "operationId": "Accounts_Get", + "description": "Returns RecommendationsService Account resource for a given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "Account details.", + "schema": { + "$ref": "#/definitions/AccountResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get RecommendationsService Account resource": { + "$ref": "./examples/Accounts_Get.json" + } + } + }, + "put": { + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates RecommendationsService Account resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "description": "Account details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/AccountResource" + } + }, + "201": { + "description": "RecommendationsService Account resource is being created or updated.", + "schema": { + "$ref": "#/definitions/AccountResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update RecommendationsService Account resource": { + "$ref": "./examples/Accounts_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "operationId": "Accounts_Update", + "description": "Updates RecommendationsService Account details.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "description": "Account resource patch details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/AccountResource" + } + }, + "202": { + "description": "RecommendationsService Account resource is being updated.", + "schema": { + "$ref": "#/definitions/AccountResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update existing RecommendationsService Account resource": { + "$ref": "./examples/Accounts_Update.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "Accounts_Delete", + "description": "Deletes RecommendationsService Account resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "RecommendationsService Account resource deleted successfully." + }, + "202": { + "description": "RecommendationsService Account resource is being deleted." + }, + "204": { + "description": "RecommendationsService Account resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete RecommendationsService Account resource": { + "$ref": "./examples/Accounts_Delete.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.RecommendationsService/accounts/{accountName}/status": { + "post": { + "operationId": "Accounts_GetStatus", + "description": "Returns RecommendationsService Account status.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The status of the account.", + "schema": { + "$ref": "#/definitions/AccountStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get RecommendationsService Account status - Modeling resource exists": { + "$ref": "./examples/Accounts_GetStatus_ModelingExists.json" + }, + "Get account status - no Modeling resource exists": { + "$ref": "./examples/Accounts_GetStatus_NoModelingExists.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecommendationsService/accounts/{accountName}/modeling": { + "get": { + "operationId": "Modeling_ListByAccountResource", + "description": "Returns list of Modeling resources for a given Account name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "Modeling resources list.", + "schema": { + "$ref": "#/definitions/ModelingResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Modeling resources by RecommendationsService Account resource": { + "$ref": "./examples/Modeling_ListByAccountResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecommendationsService/accounts/{accountName}/modeling/{modelingName}": { + "get": { + "operationId": "Modeling_Get", + "description": "Returns Modeling resources for a given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ModelingNameParameter" + } + ], + "responses": { + "200": { + "description": "Modeling resource details.", + "schema": { + "$ref": "#/definitions/ModelingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Modeling resource": { + "$ref": "./examples/Modeling_Get.json" + } + } + }, + "put": { + "operationId": "Modeling_CreateOrUpdate", + "description": "Creates or updates Modeling resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ModelingNameParameter" + }, + { + "description": "Modeling resource details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ModelingResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/ModelingResource" + } + }, + "201": { + "description": "Modeling resource is being created or updated.", + "schema": { + "$ref": "#/definitions/ModelingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update Modeling resource": { + "$ref": "./examples/Modeling_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "operationId": "Modeling_Update", + "description": "Updates Modeling resource details.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ModelingNameParameter" + }, + { + "description": "Modeling resource patch details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ModelingPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/ModelingResource" + } + }, + "202": { + "description": "Modeling resource is being updated.", + "schema": { + "$ref": "#/definitions/ModelingResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Modeling resource": { + "$ref": "./examples/Modeling_Update.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "Modeling_Delete", + "description": "Deletes Modeling resources of a given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ModelingNameParameter" + } + ], + "responses": { + "200": { + "description": "Modeling resource deleted successfully." + }, + "202": { + "description": "Modeling resource is being deleted." + }, + "204": { + "description": "Modeling resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Modeling resource": { + "$ref": "./examples/Modeling_Delete.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.RecommendationsService/accounts/{accountName}/serviceEndpoints": { + "get": { + "operationId": "ServiceEndpoints_ListByAccountResource", + "description": "Returns list of ServiceEndpoint resources for a given Account name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "ServiceEndpoint resources list.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get ServiceEndpoint resources by RecommendationsService Account resource": { + "$ref": "./examples/ServiceEndpoints_ListByAccountResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecommendationsService/accounts/{accountName}/serviceEndpoints/{serviceEndpointName}": { + "get": { + "operationId": "ServiceEndpoints_Get", + "description": "Returns ServiceEndpoint resources for a given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ServiceEndpointNameParameter" + } + ], + "responses": { + "200": { + "description": "ServiceEndpoint resource details.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get ServiceEndpoint resource": { + "$ref": "./examples/ServiceEndpoints_Get.json" + } + } + }, + "put": { + "operationId": "ServiceEndpoints_CreateOrUpdate", + "description": "Creates or updates ServiceEndpoint resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ServiceEndpointNameParameter" + }, + { + "description": "ServiceEndpoint resource details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + }, + "201": { + "description": "ServiceEndpoint resource is being created or updated.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update ServiceEndpoint resource": { + "$ref": "./examples/ServiceEndpoints_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "operationId": "ServiceEndpoints_Update", + "description": "Updates ServiceEndpoint resource details.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ServiceEndpointNameParameter" + }, + { + "description": "ServiceEndpoint resource patch details.", + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceEndpointPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + }, + "202": { + "description": "ServiceEndpoint resource is being updated.", + "schema": { + "$ref": "#/definitions/ServiceEndpointResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update ServiceEndpoint resource": { + "$ref": "./examples/ServiceEndpoints_Update.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "ServiceEndpoints_Delete", + "description": "Deletes ServiceEndpoint resources of a given name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ServiceEndpointNameParameter" + } + ], + "responses": { + "200": { + "description": "ServiceEndpoint resource deleted successfully." + }, + "202": { + "description": "ServiceEndpoint Account resource is being created or updated." + }, + "204": { + "description": "ServiceEndpoint resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete ServiceEndpoint resource": { + "$ref": "./examples/ServiceEndpoints_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/providers/Microsoft.RecommendationsService/locations/{location}/operationStatuses/{operationId}": { + "get": { + "operationId": "OperationStatuses_Get", + "description": "Returns the current status of an async operation.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/OperationIdParameter" + } + ], + "responses": { + "200": { + "description": "Requested operation status", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationStatusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get operation status": { + "$ref": "./examples/OperationStatuses_Get.json" + } + } + } + }, + "/providers/Microsoft.RecommendationsService/operations": { + "get": { + "operationId": "Operations_List", + "description": "Returns list of operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Operation details.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get all RecommendationsService operations": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "Tags": { + "description": "Resource tags.", + "type": "object", + "readOnly": false, + "additionalProperties": { + "type": "string" + } + }, + "EndpointAuthentication": { + "description": "Service endpoints authentication details.", + "type": "object", + "properties": { + "aadTenantID": { + "description": "AAD tenant ID.", + "type": "string" + }, + "principalID": { + "description": "AAD principal ID.", + "type": "string" + }, + "principalType": { + "description": "AAD principal type.", + "type": "string", + "enum": [ + "Application", + "User" + ], + "x-ms-enum": { + "name": "principalType", + "modelAsString": true + } + } + } + }, + "EndpointAuthenticationsList": { + "description": "The list of service endpoints authentication details.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointAuthentication" + }, + "x-ms-identifiers": [] + }, + "CorsRule": { + "description": "CORS details.", + "type": "object", + "required": [ + "allowedOrigins" + ], + "properties": { + "allowedOrigins": { + "description": "The origin domains that are permitted to make a request against the service via CORS.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "allowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "array", + "items": { + "type": "string" + } + }, + "exposedHeaders": { + "description": "The response headers to expose to CORS clients.", + "type": "array", + "items": { + "type": "string" + } + }, + "maxAgeInSeconds": { + "description": "The number of seconds that the client/browser should cache a preflight response.", + "type": "integer", + "format": "int32", + "minimum": 0 + } + } + }, + "CorsRuleList": { + "description": "The list of CORS details.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "x-ms-identifiers": [] + }, + "AccountResource": { + "description": "Account resource details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Account resource properties.", + "type": "object", + "properties": { + "configuration": { + "description": "Account configuration. This can only be set at RecommendationsService Account creation.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Free", + "Capacity" + ], + "x-ms-enum": { + "name": "AccountConfiguration", + "modelAsString": true + } + }, + "endpointAuthentications": { + "description": "The list of service endpoints authentication details.", + "$ref": "#/definitions/EndpointAuthenticationsList" + }, + "cors": { + "description": "The list of CORS details.", + "$ref": "#/definitions/CorsRuleList" + }, + "reportsConnectionString": { + "description": "Connection string to write Accounts reports to.", + "type": "string" + }, + "provisioningState": { + "description": "The resource provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "AccountResourceList": { + "description": "The list of RecommendationsService Account resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of RecommendationsService Account resources list.", + "type": "string" + }, + "value": { + "description": "The list of RecommendationsService Account resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AccountResource" + } + } + } + }, + "AccountPatchResource": { + "description": "Account resource patch details.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "$ref": "#/definitions/Tags" + }, + "properties": { + "description": "Account resource patch properties.", + "type": "object", + "properties": { + "endpointAuthentications": { + "description": "The list of service endpoints authentication details.", + "$ref": "#/definitions/EndpointAuthenticationsList" + }, + "cors": { + "description": "The list of CORS details.", + "$ref": "#/definitions/CorsRuleList" + }, + "reportsConnectionString": { + "description": "Connection string to write Accounts reports to.", + "type": "string" + } + } + } + } + }, + "ModelingInputData": { + "description": "The configuration to raw CDM data to be used as Modeling resource input.", + "type": "object", + "properties": { + "connectionString": { + "description": "Connection string to raw input data.", + "type": "string" + } + } + }, + "ModelingResource": { + "description": "Modeling resource details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Modeling resource properties.", + "type": "object", + "properties": { + "features": { + "description": "Modeling features controls the set of supported scenarios\\models being computed. This can only be set at Modeling creation.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "ModelingFeatures", + "modelAsString": true + } + }, + "frequency": { + "description": "Modeling frequency controls the modeling compute frequency.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "ModelingFrequency", + "modelAsString": true + } + }, + "size": { + "description": "Modeling size controls the maximum supported input data size.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "enum": [ + "Small", + "Medium", + "Large" + ], + "x-ms-enum": { + "name": "ModelingSize", + "modelAsString": true + } + }, + "inputData": { + "description": "The configuration to raw CDM data to be used as Modeling resource input.", + "$ref": "#/definitions/ModelingInputData" + }, + "provisioningState": { + "description": "The resource provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "ModelingResourceList": { + "description": "The list of Modeling resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Modeling resources list.", + "type": "string" + }, + "value": { + "description": "The list of Modeling resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ModelingResource" + } + } + } + }, + "ModelingPatchResource": { + "description": "Modeling resource patch details.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "$ref": "#/definitions/Tags" + }, + "properties": { + "description": "Modeling resource properties to update.", + "type": "object", + "properties": { + "inputData": { + "description": "The configuration to raw CDM data to be used as Modeling resource input.", + "$ref": "#/definitions/ModelingInputData" + } + } + } + } + }, + "ServiceEndpointResource": { + "description": "ServiceEndpoint resource details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "ServiceEndpoint resource properties.", + "type": "object", + "properties": { + "preAllocatedCapacity": { + "description": "ServiceEndpoint pre-allocated capacity controls the maximum requests-per-second allowed for that endpoint. Only applicable when Account configuration is Capacity.", + "type": "integer", + "x-ms-mutability": [ + "read", + "create" + ], + "format": "int32", + "minimum": 0 + }, + "pairedLocation": { + "description": "The paired location that will be used by this ServiceEndpoint.", + "type": "string", + "readOnly": true + }, + "url": { + "description": "The URL where the ServiceEndpoint API is accessible at.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The resource provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "ServiceEndpointResourceList": { + "description": "The list of ServiceEndpoint resources.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of ServiceEndpoint resources list.", + "type": "string" + }, + "value": { + "description": "The list of ServiceEndpoint resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointResource" + } + } + } + }, + "ServiceEndpointPatchResource": { + "description": "ServiceEndpoint resource patch details.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "$ref": "#/definitions/Tags" + } + } + }, + "AccountStatus": { + "description": "Account status.", + "type": "object", + "properties": { + "scopesStatuses": { + "description": "The list of scopes statuses.", + "type": "array", + "items": { + "$ref": "#/definitions/ScopeStatuses" + }, + "x-ms-identifiers": [] + } + } + }, + "ScopeStatuses": { + "description": "Scope statuses.", + "type": "object", + "properties": { + "scope": { + "description": "The scope that the statuses refers to.", + "type": "string" + }, + "statuses": { + "description": "Scope stage statuses.", + "type": "array", + "items": { + "$ref": "#/definitions/StageStatus" + }, + "x-ms-identifiers": [] + } + } + }, + "StageStatus": { + "description": "Stage status.", + "type": "object", + "properties": { + "stage": { + "description": "The stage name.", + "type": "string" + }, + "status": { + "description": "The status of the stage.", + "type": "string" + }, + "time": { + "description": "The time of the status.", + "type": "string", + "format": "date-time" + } + } + } + }, + "parameters": { + "AccountNameParameter": { + "description": "The name of the RecommendationsService Account resource.", + "type": "string", + "name": "accountName", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "ModelingNameParameter": { + "description": "The name of the Modeling resource.", + "type": "string", + "name": "modelingName", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + }, + "ServiceEndpointNameParameter": { + "description": "The name of the ServiceEndpoint resource.", + "type": "string", + "name": "serviceEndpointName", + "in": "path", + "required": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/recommendationsservice/resource-manager/readme.az.md b/specification/recommendationsservice/resource-manager/readme.az.md new file mode 100644 index 000000000000..399b70248dde --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: recommendationsservice + namespace: azure.mgmt.recommendationsservice + package-name: azure-mgmt-recommendationsservice +az-output-folder: $(azure-cli-extension-folder)/src/recommendationsservice +python-sdk-output-folder: "$(az-output-folder)/azext_recommendationsservice/vendored_sdks/recommendationsservice" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: recommendationsservice + namespace: azure.mgmt.recommendationsservice + package-name: azure-mgmt-recommendationsservice +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/recommendationsservice +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/recommendationsservice" +``` \ No newline at end of file diff --git a/specification/recommendationsservice/resource-manager/readme.cli.md b/specification/recommendationsservice/resource-manager/readme.cli.md new file mode 100644 index 000000000000..179636a56760 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.cli.md @@ -0,0 +1,4 @@ +``` yaml +# add any configuration here for all CLI languages +# refer to the faq.md for more details +``` \ No newline at end of file diff --git a/specification/recommendationsservice/resource-manager/readme.csharp.md b/specification/recommendationsservice/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..b02c6dad6091 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.RecommendationsService + output-folder: $(csharp-sdks-folder)/recommendationsservice/Microsoft.Azure.Management.RecommendationsService/Generated +``` \ No newline at end of file diff --git a/specification/recommendationsservice/resource-manager/readme.go.md b/specification/recommendationsservice/resource-manager/readme.go.md new file mode 100644 index 000000000000..a951f7826258 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/recommendationsservice/armrecommendationsservice +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` \ No newline at end of file diff --git a/specification/recommendationsservice/resource-manager/readme.java.md b/specification/recommendationsservice/resource-manager/readme.java.md new file mode 100644 index 000000000000..ce84a93dc89f --- /dev/null +++ b/specification/recommendationsservice/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.recommendationsservice +license-header: MICROSOFT_MIT_NO_CODEGEN +payload-flattening-threshold: 1 +output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-recommendationsservice +``` + +### Java multi-api + +```yaml $(java) && $(multiapi) +batch: + - tag: package-2022-02-01 +``` + +### Tag: package-2022-02-01 and java + +These settings apply only when `--tag=package-2022-02-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-02-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.recommendationsservice.v2022_02_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/recommendationsservice/mgmt-2022_02_01 +regenerate-manager: true +generate-interface: true +``` diff --git a/specification/recommendationsservice/resource-manager/readme.md b/specification/recommendationsservice/resource-manager/readme.md new file mode 100644 index 000000000000..fec16cfac2d3 --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.md @@ -0,0 +1,74 @@ +# recommendationsservice + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for recommendationsservice. + +## 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 recommendationsservice. + +```yaml +openapi-type: arm +openapi-subtype: rpaas +tag: package-2022-02-01 +``` + + +### Tag: package-2022-02-01 + +These settings apply only when `--tag=package-2022-02-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-02-01' +input-file: + - Microsoft.RecommendationsService/stable/2022-02-01/recommendationsservice.json +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +``` yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-js + - repo: azure-sdk-for-net + - repo: azure-sdk-for-python-track2 + - repo: azure-cli-extensions +``` + +## CSharp +See configuration in [readme.csharp.md](./readme.csharp.md) +## Cli +See configuration in [readme.cli.md](./readme.cli.md) +## Az +See configuration in [readme.az.md](./readme.az.md) +## Go +See configuration in [readme.go.md](./readme.go.md) +## Java +See configuration in [readme.java.md](./readme.java.md) +## TypeScript +See configuration in [readme.typescript.md](./readme.typescript.md) + diff --git a/specification/recommendationsservice/resource-manager/readme.python.md b/specification/recommendationsservice/resource-manager/readme.python.md new file mode 100644 index 000000000000..b3fb2d6a911a --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.python.md @@ -0,0 +1,18 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-recommendationsservice +namespace: azure.mgmt.recommendationsservice +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/recommendationsservice/azure-mgmt-recommendationsservice/azure/mgmt/recommendationsservice +``` \ No newline at end of file diff --git a/specification/recommendationsservice/resource-manager/readme.typescript.md b/specification/recommendationsservice/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..c0f408e5fa9f --- /dev/null +++ b/specification/recommendationsservice/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-recommendationsservice" + output-folder: "$(typescript-sdks-folder)/sdk/recommendationsservice/arm-recommendationsservice" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +``` \ No newline at end of file diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/replicationusages.json index b3cf4a419765..102651770b0c 100644 --- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/replicationusages.json +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/replicationusages.json @@ -150,7 +150,8 @@ "type": "array", "items": { "$ref": "#/definitions/ReplicationUsage" - } + }, + "x-ms-identifiers": [] } } } diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaults.json index 6285cf1bef09..f64cde1b2c02 100644 --- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaults.json +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaults.json @@ -897,7 +897,10 @@ "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryForLogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -910,7 +913,10 @@ "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to the next chunk of the response", @@ -1715,6 +1721,7 @@ "items": { "$ref": "#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "readOnly": true, "type": "array" }, @@ -1728,6 +1735,9 @@ "items": { "$ref": "#/definitions/Error" }, + "x-ms-identifiers": [ + "code" + ], "readOnly": true, "type": "array" }, diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaultusages.json index 98bffdd4946c..cbe9d43feb3b 100644 --- a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaultusages.json +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/preview/2021-11-01-preview/vaultusages.json @@ -117,7 +117,10 @@ "type": "array", "items": { "$ref": "#/definitions/VaultUsage" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_Available.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_Available.json new file mode 100644 index 000000000000..e760dc4756d4 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_Available.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupFoo", + "api-version": "2021-12-01", + "location": "westus", + "input": { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_NotAvailable.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_NotAvailable.json new file mode 100644 index 000000000000..075c3a0ea21f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/CheckNameAvailability_NotAvailable.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupBar", + "api-version": "2021-12-01", + "location": "westus", + "input": { + "name": "swaggerExample2", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource already exists with the same name." + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteRegisteredIdentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteRegisteredIdentities.json new file mode 100644 index 000000000000..f21585ebb46a --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteRegisteredIdentities.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "identityName": "dpmcontainer01", + "api-version": "2021-12-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteVault.json new file mode 100644 index 000000000000..2612b6fff72f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/DeleteVault.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVault.json new file mode 100644 index 000000000000..50d19faf96f3 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVault.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpointConnections": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateEndpointConnections/pe114-pemsi-ecy-rsv.5944358949303501042.backup.75061caa-cba4-4849-8e09-608da4914aad", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.Network/privateEndpoints/pe114-pemsi-ecy-rsv" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "None", + "actionsRequired": "None" + } + } + } + ], + "privateEndpointStateForBackup": "Enabled", + "privateEndpointStateForSiteRecovery": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVaultExtendedInfo.json new file mode 100644 index 000000000000..a5c9cc3dc5e9 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GETVaultExtendedInfo.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J09wzS27fnJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationResult.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationResult.json new file mode 100644 index 000000000000..1062adae0f0c --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationResult.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2021-12-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + }, + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationStatus.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationStatus.json new file mode 100644 index 000000000000..1f364da78f95 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "name": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetPrivateLinkResources.json new file mode 100644 index 000000000000..b411c3d80a1f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/GetPrivateLinkResources.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2021-12-01", + "privateLinkResourceName": "backupResource" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListBySubscriptionIds.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListBySubscriptionIds.json new file mode 100644 index 000000000000..fa147fe4630f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListBySubscriptionIds.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListOperations.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListOperations.json new file mode 100644 index 000000000000..34c7c55dd80e --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..de1217f4b440 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListPrivateLinkResources.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/amchandnTest2702A/privateLinkResources/siteRecoveryResource", + "name": "siteRecoveryResource", + "type": "Microsoft.RecoveryServices/vaults/privateLinkResources", + "properties": { + "groupId": "AzureSiteRecovery", + "requiredMembers": [ + "siteRecovery-rcm1", + "siteRecovery-prot2", + "siteRecovery-tel1", + "siteRecovery-srs1", + "siteRecovery-prot2b", + "siteRecovery-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.siterecovery.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListReplicationUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListReplicationUsages.json new file mode 100644 index 000000000000..f9511286871e --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListReplicationUsages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-12-01", + "vaultName": "avrai7517Vault1", + "resourceGroupName": "avrai7517RG1", + "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "monitoringSummary": { + "unHealthyVmCount": 0, + "unHealthyProviderCount": 0, + "eventsCount": 0, + "deprecatedProviderCount": 0, + "supportedProviderCount": 0, + "unsupportedProviderCount": 0 + }, + "jobsSummary": { + "failedJobs": 0, + "suspendedJobs": 0, + "inProgressJobs": 0 + }, + "protectedItemCount": 2, + "registeredServersCount": 2, + "recoveryPlanCount": 1 + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListResources.json new file mode 100644 index 000000000000..82f7cd3964d2 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListResources.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListUsages.json new file mode 100644 index 000000000000..36678eee0f48 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/ListUsages.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 6, + "limit": -1, + "name": { + "value": "MABContainersCount", + "localizedValue": "Backup management servers" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "ProtectedItemCount", + "localizedValue": "Backup items/Azure virtual machine backup" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCount", + "localizedValue": "Azure Virtual Machines" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "MABProtectedItemCount", + "localizedValue": "File-Folders" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "DPMProtectedItemCount", + "localizedValue": "DPM Protected Items Count" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServerProtectedItemCount", + "localizedValue": "Azure Backup Server Protected Items Count" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "InProgressJobsCount", + "localizedValue": "In progress" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "FailedJobsCount", + "localizedValue": "Failed" + } + }, + { + "unit": "Bytes", + "currentValue": 117007930, + "limit": -1, + "name": { + "value": "GRSStorageUsage", + "localizedValue": "Cloud - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSStorageUsage", + "localizedValue": "Cloud - LRS" + } + }, + { + "unit": "Count", + "currentValue": 5, + "limit": -1, + "name": { + "value": "ManagedInstances", + "localizedValue": "Protected Instances" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "GRSDedupStorageUsage", + "localizedValue": "Dedup - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSDedupStorageUsage", + "localizedValue": "Dedup - LRS" + } + }, + { + "unit": "Bytes", + "currentValue": 117851553792, + "limit": -1, + "name": { + "value": "UsedDiskSize", + "localizedValue": "Backup Engines' Disk Used" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault.json new file mode 100644 index 000000000000..a113d020c792 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK.json new file mode 100644 index 000000000000..486461e07d66 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK3.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK3.json new file mode 100644 index 000000000000..db086fedc764 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithCMK3.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..bf2644675c23 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PATCHVault_WithUserAssignedIdentity.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault.json new file mode 100644 index 000000000000..8ef257410c4e --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "properties": {}, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVaultCred.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVaultCred.json new file mode 100644 index 000000000000..92facaadabfb --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVaultCred.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "certificateName": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "api-version": "2021-12-01", + "certificateRequest": { + "properties": { + "authType": "AAD", + "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7MfJaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=" + } + } + }, + "responses": { + "200": { + "body": { + "name": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "type": "Microsoft.RecoveryServices/vaults/certificates", + "id": "/Subscriptions/77777777-d41f-4550-9f70-7708a3a2283b/resourceGroups/BCDRIbzRG/providers/Microsoft.RecoveryServices/vaults/BCDRIbzVault/certificates/BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "properties": { + "authType": "AzureActiveDirectory", + "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7Mf JaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=", + "resourceId": 8726350008099341699, + "aadAuthority": "https://login.windows.net", + "aadTenantId": "9b0c2069-2eba-489f-95f4-eca15cb602ab", + "servicePrincipalClientId": "4932d0bd-b5f9-4659-94a0-7ab02d918933", + "servicePrincipalObjectId": "2d60221e-cef5-4e13-ba66-b33701a533bb", + "azureManagementEndpointAudience": "https://ppe1-id1.wus.wabppe.obs-test.com/restapi/", + "subject": "CN=Windows Azure Tools", + "validFrom": "2017-12-18T14:47:53+05:30", + "validTo": "2017-12-23T14:57:53+05:30", + "thumbprint": "019FE9BAD18A5A09A5CA53B593AF66331F3054AF", + "friendlyName": "", + "issuer": "CN=Windows Azure Tools" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithCMK.json new file mode 100644 index 000000000000..7c72aac25b6d --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithCMK.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "provisioningState": "Provisioning", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..f8f59917b882 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PUTVault_WithUserAssignedIdentity.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "properties": {}, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "provisioningState": "Provisioning" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PatchVault_WithCMK2.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PatchVault_WithCMK2.json new file mode 100644 index 000000000000..6c892ccf9d62 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/PatchVault_WithCMK2.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "encryption": { + "kekIdentity": { + "useSystemAssignedIdentity": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "useSystemAssignedIdentity": true + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/UpdateVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/UpdateVaultExtendedInfo.json new file mode 100644 index 000000000000..b5ac9be8d01a --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/UpdateVaultExtendedInfo.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2021-12-01", + "resourceResourceExtendedInfoDetails": { + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + } + } + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/registeredidentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/registeredidentities.json new file mode 100644 index 000000000000..86e768cb4dea --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/registeredidentities.json @@ -0,0 +1,372 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "RecoveryServicesClient", + "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}/certificates/{certificateName}": { + "put": { + "tags": [ + "VaultCertificates" + ], + "description": "Uploads a certificate for a resource.", + "operationId": "VaultCertificates_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "certificateName", + "in": "path", + "description": "Certificate friendly name.", + "required": true, + "type": "string" + }, + { + "name": "certificateRequest", + "in": "body", + "description": "Input parameters for uploading the vault certificate.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultCertificateResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Download vault credential file": { + "$ref": "./examples/PUTVaultCred.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": { + "delete": { + "tags": [ + "RegisteredIdentities" + ], + "description": "Unregisters the given container from your Recovery Services vault.", + "operationId": "RegisteredIdentities_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "identityName", + "in": "path", + "description": "Name of the protection container to unregister.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete registered Identity": { + "$ref": "./examples/DeleteRegisteredIdentities.json" + } + } + } + } + }, + "definitions": { + "CertificateRequest": { + "description": "Details of the certificate to be uploaded to the vault.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData" + } + } + }, + "RawCertificateData": { + "description": "Raw certificate data.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies the authentication type.", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthType", + "modelAsString": true + } + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string", + "type": "string" + } + } + }, + "ResourceCertificateAndAadDetails": { + "description": "Certificate details representing the Vault credentials for AAD.", + "required": [ + "certificate", + "resourceId", + "aadAuthority", + "aadTenantId", + "servicePrincipalClientId", + "servicePrincipalObjectId", + "azureManagementEndpointAudience", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "aadAuthority": { + "description": "AAD tenant authority.", + "type": "string" + }, + "aadTenantId": { + "description": "AAD tenant Id.", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "AAD service principal clientId.", + "type": "string" + }, + "servicePrincipalObjectId": { + "description": "AAD service principal ObjectId.", + "type": "string" + }, + "azureManagementEndpointAudience": { + "description": "Azure Management Endpoint Audience.", + "type": "string" + }, + "serviceResourceId": { + "description": "Service Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "ResourceCertificateAndAcsDetails": { + "description": "Certificate details representing the Vault credentials for ACS.", + "required": [ + "certificate", + "resourceId", + "globalAcsNamespace", + "globalAcsHostName", + "globalAcsRPRealm", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "globalAcsNamespace": { + "description": "ACS namespace name - tenant for our service.", + "type": "string" + }, + "globalAcsHostName": { + "description": "Acs mgmt host name to connect to.", + "type": "string" + }, + "globalAcsRPRealm": { + "description": "Global ACS namespace RP realm.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AccessControlService" + }, + "ResourceCertificateDetails": { + "description": "Certificate details representing the Vault credentials.", + "required": [ + "authType" + ], + "type": "object", + "properties": { + "authType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string.", + "type": "string" + }, + "friendlyName": { + "description": "Certificate friendly name.", + "type": "string" + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string" + }, + "resourceId": { + "format": "int64", + "description": "Resource ID of the vault.", + "type": "integer" + }, + "subject": { + "description": "Certificate Subject Name.", + "type": "string" + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string" + }, + "validFrom": { + "format": "date-time", + "description": "Certificate Validity start Date time.", + "type": "string" + }, + "validTo": { + "format": "date-time", + "description": "Certificate Validity End Date time.", + "type": "string" + } + }, + "discriminator": "authType" + }, + "VaultCertificateResponse": { + "description": "Certificate corresponding to a vault that can be used by clients to register themselves with the vault.", + "type": "object", + "properties": { + "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 + }, + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ResourceCertificateDetails" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/replicationusages.json new file mode 100644 index 000000000000..333297364d91 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/replicationusages.json @@ -0,0 +1,208 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "RecoveryServicesClient", + "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}/replicationUsages": { + "get": { + "tags": [ + "ReplicationUsages" + ], + "description": "Fetches the replication usages of the vault.", + "operationId": "ReplicationUsages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets Replication usages of vault": { + "$ref": "./examples/ListReplicationUsages.json" + } + } + } + } + }, + "definitions": { + "JobsSummary": { + "description": "Summary of the replication job data for this vault.", + "type": "object", + "properties": { + "failedJobs": { + "description": "Count of failed jobs.", + "type": "integer" + }, + "suspendedJobs": { + "description": "Count of suspended jobs.", + "type": "integer" + }, + "inProgressJobs": { + "description": "Count of in-progress jobs.", + "type": "integer" + } + } + }, + "MonitoringSummary": { + "description": "Summary of the replication monitoring data for this vault.", + "type": "object", + "properties": { + "unHealthyVmCount": { + "description": "Count of unhealthy VMs.", + "type": "integer" + }, + "unHealthyProviderCount": { + "description": "Count of unhealthy replication providers.", + "type": "integer" + }, + "eventsCount": { + "description": "Count of all critical warnings.", + "type": "integer" + }, + "deprecatedProviderCount": { + "description": "Count of all deprecated recovery service providers.", + "type": "integer" + }, + "supportedProviderCount": { + "description": "Count of all the supported recovery service providers.", + "type": "integer" + }, + "unsupportedProviderCount": { + "description": "Count of all the unsupported recovery service providers.", + "type": "integer" + } + } + }, + "ReplicationUsage": { + "description": "Replication usages of a vault.", + "type": "object", + "properties": { + "monitoringSummary": { + "$ref": "#/definitions/MonitoringSummary", + "description": "Summary of the replication monitoring data for this vault." + }, + "jobsSummary": { + "$ref": "#/definitions/JobsSummary", + "description": "Summary of the replication jobs data for this vault." + }, + "protectedItemCount": { + "description": "Number of replication protected items for this vault.", + "type": "integer" + }, + "recoveryPlanCount": { + "description": "Number of replication recovery plans for this vault.", + "type": "integer" + }, + "registeredServersCount": { + "description": "Number of servers registered to this vault.", + "type": "integer" + }, + "recoveryServicesProviderAuthType": { + "description": "The authentication type of recovery service providers in the vault.", + "type": "integer" + } + } + }, + "ReplicationUsageList": { + "description": "Replication usages for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of replication usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationUsage" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaults.json new file mode 100644 index 000000000000..6a6895684ab1 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaults.json @@ -0,0 +1,1798 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "RecoveryServicesClient", + "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}/privateLinkResources": { + "get": { + "tags": [ + "ListPrivateLinkResources" + ], + "summary": "Returns the list of private link resources that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List PrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "GetPrivateLinkResources" + ], + "summary": "Returns a specified private link resource that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get PrivateLinkResource": { + "$ref": "./examples/GetPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "RecoveryServices" + ], + "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago", + "operationId": "RecoveryServices_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "location", + "in": "path", + "description": "Location of the resource", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Contains information about Resource type and Resource name", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": { + "$ref": "./examples/CheckNameAvailability_Available.json" + }, + "Availability status of Resource Name when resource with same name, type and subscription exists": { + "$ref": "./examples/CheckNameAvailability_NotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Fetches all the resources of the specified type in the subscription.", + "operationId": "Vaults_ListBySubscriptionId", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in SubscriptionId": { + "$ref": "./examples/ListBySubscriptionIds.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Retrieve a list of Vaults.", + "operationId": "Vaults_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in ResourceGroup": { + "$ref": "./examples/ListResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Get the Vault details.", + "operationId": "Vaults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Recovery Services Resource": { + "$ref": "./examples/GETVault.json" + } + } + }, + "put": { + "tags": [ + "Vaults" + ], + "description": "Creates or updates a Recovery Services vault.", + "operationId": "Vaults_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/Vault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Recovery Services vault": { + "$ref": "./examples/PUTVault.json" + }, + "Create or Update Vault with User Assigned Identity": { + "$ref": "./examples/PUTVault_WithUserAssignedIdentity.json" + }, + "Create or Update Vault with CustomerManagedKeys": { + "$ref": "./examples/PUTVault_WithCMK.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Vaults" + ], + "description": "Deletes a vault.", + "operationId": "Vaults_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete Recovery Services Vault": { + "$ref": "./examples/DeleteVault.json" + } + } + }, + "patch": { + "tags": [ + "Vaults" + ], + "description": "Updates the vault.", + "operationId": "Vaults_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/PatchVault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Update Resource": { + "$ref": "./examples/PATCHVault.json" + }, + "Update Resource With User Assigned Identity": { + "$ref": "./examples/PATCHVault_WithUserAssignedIdentity.json" + }, + "Update Resource With CustomerManagedKeys": { + "$ref": "./examples/PATCHVault_WithCMK.json" + }, + "Update Resource With CustomerManagedKeys2": { + "$ref": "./examples/PatchVault_WithCMK2.json" + }, + "Update Resource With CustomerManagedKeys3": { + "$ref": "./examples/PATCHVault_WithCMK3.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": { + "get": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Get the vault extended info.", + "operationId": "VaultExtendedInfo_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get ExtendedInfo of Resource": { + "$ref": "./examples/GETVaultExtendedInfo.json" + } + } + }, + "put": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Create vault extended info.", + "operationId": "VaultExtendedInfo_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Put ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + }, + "patch": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Update vault extended info.", + "operationId": "VaultExtendedInfo_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "PATCH ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationStatus/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation status for a resource.", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status": { + "$ref": "./examples/GetOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation result for a resource.", + "operationId": "GetOperationResult", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Result": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityParameters": { + "description": "Resource Name availability input parameters - Resource type and resource name", + "type": "object", + "properties": { + "type": { + "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", + "type": "string" + }, + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Response for check name availability API. Resource provider will set availability as true | false.", + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "Blobs created in customer storage account per hour", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "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 + }, + "etag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "Sku": { + "description": "Identifies the unique system identifier for each Azure resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The Sku name.", + "enum": [ + "Standard", + "RS0" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The Sku tier.", + "type": "string" + }, + "family": { + "description": "The sku family", + "type": "string" + }, + "size": { + "description": "The sku size", + "type": "string" + }, + "capacity": { + "description": "The sku capacity", + "type": "string" + } + } + }, + "TrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PatchTrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpgradeDetails": { + "description": "Details for upgrading vault.", + "type": "object", + "properties": { + "operationId": { + "description": "ID of the vault upgrade operation.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "UTC time at which the upgrade operation has started.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "lastUpdatedTimeUtc": { + "description": "UTC time at which the upgrade operation status was last updated.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endTimeUtc": { + "description": "UTC time at which the upgrade operation has ended.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "status": { + "description": "Status of the vault upgrade operation.", + "enum": [ + "Unknown", + "InProgress", + "Upgraded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultUpgradeState", + "modelAsString": true + } + }, + "message": { + "description": "Message to the user containing information about the upgrade operation.", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The way the vault upgrade was triggered.", + "enum": [ + "UserTriggered", + "ForcedUpgrade" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TriggerType", + "modelAsString": true + } + }, + "upgradedResourceId": { + "description": "Resource ID of the upgraded vault.", + "type": "string", + "readOnly": true + }, + "previousResourceId": { + "description": "Resource ID of the vault before the upgrade.", + "type": "string", + "readOnly": true + } + } + }, + "Vault": { + "description": "Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityData" + }, + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "PatchVault": { + "description": "Patch Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PatchTrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/IdentityData" + } + } + }, + "VaultExtendedInfo": { + "description": "Vault extended information.", + "type": "object", + "properties": { + "integrityKey": { + "description": "Integrity key.", + "type": "string" + }, + "encryptionKey": { + "description": "Encryption key.", + "type": "string" + }, + "encryptionKeyThumbprint": { + "description": "Encryption key thumbprint.", + "type": "string" + }, + "algorithm": { + "description": "Algorithm for Vault ExtendedInfo", + "type": "string" + } + } + }, + "VaultExtendedInfoResource": { + "description": "Vault extended information.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultExtendedInfo", + "x-ms-client-flatten": true + } + } + }, + "VaultList": { + "description": "The response model for a list of Vaults.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vault" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "VaultProperties": { + "description": "Properties of the vault.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning State.", + "type": "string", + "readOnly": true + }, + "upgradeDetails": { + "$ref": "#/definitions/UpgradeDetails" + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionVaultProperties" + }, + "description": "List of private endpoint connection.", + "readOnly": true + }, + "privateEndpointStateForBackup": { + "description": "Private endpoint state for backup.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "privateEndpointStateForSiteRecovery": { + "description": "Private endpoint state for site recovery.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "encryption": { + "description": "Customer Managed Key details of the resource.", + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + "kekIdentity": { + "$ref": "#/definitions/CmkKekIdentity" + }, + "infrastructureEncryption": { + "description": "Enabling/Disabling the Double Encryption state", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "moveDetails": { + "description": "The details of the latest move operation performed on the Azure Resource", + "type": "object", + "properties": { + "operationId": { + "description": "OperationId of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "Start Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "completionTimeUtc": { + "description": "End Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "sourceResourceId": { + "description": "Source Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "Target Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + } + } + }, + "moveState": { + "description": "The State of the Resource after the move operation", + "type": "string", + "readOnly": true, + "enum": [ + "Unknown", + "InProgress", + "PrepareFailed", + "CommitFailed", + "PrepareTimedout", + "CommitTimedout", + "MoveSucceeded", + "Failure", + "CriticalFailure", + "PartialSuccess" + ], + "x-ms-enum": { + "name": "ResourceMoveState", + "modelAsString": true + } + } + } + }, + "IdentityData": { + "required": [ + "type" + ], + "type": "object", + "description": "Identity for the resource.", + "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 type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionVaultProperties": { + "description": "Information to be stored in Vault properties as an element of privateEndpointConnections List.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Format of id subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "name": { + "description": "The name of the private Endpoint Connection", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type, which will be of the format, Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the private Endpoint connection", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties.", + "readOnly": true, + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection.", + "readOnly": true, + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Gets or sets private link service connection state.", + "readOnly": true, + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status.", + "readOnly": true, + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description.", + "readOnly": true, + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResources": { + "description": "Class which represent the stamps associated with the vault.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "e.g. Microsoft.RecoveryServices/vaults/privateLinkResources", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "description": "Properties of the private link resource.", + "properties": { + "groupId": { + "description": "e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)", + "readOnly": true, + "type": "string" + }, + "requiredMembers": { + "description": "[backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CmkKeyVaultProperties": { + "type": "object", + "description": "The properties of the Key Vault which hosts CMK", + "properties": { + "keyUri": { + "description": "The key uri of the Customer Managed Key", + "type": "string" + } + } + }, + "CmkKekIdentity": { + "type": "object", + "description": "The details of the identity used for CMK", + "properties": { + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + } + } + }, + "OperationResource": { + "type": "object", + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "status": { + "description": "The status of the operation. (InProgress/Success/Failed/Cancelled)", + "type": "string" + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaultusages.json new file mode 100644 index 000000000000..030f09a8ac2c --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/vaultusages.json @@ -0,0 +1,189 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01", + "title": "RecoveryServicesClient", + "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}/usages": { + "get": { + "tags": [ + "VaultUsages" + ], + "description": "Fetches the usages of the vault.", + "operationId": "Usages_ListByVaults", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets vault usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + } + }, + "definitions": { + "VaultUsage": { + "description": "Usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "VaultUsageList": { + "description": "Usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultUsage" + } + } + } + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_Available.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_Available.json new file mode 100644 index 000000000000..0863380dd7d7 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_Available.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupFoo", + "api-version": "2022-01-01", + "location": "westus", + "input": { + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_NotAvailable.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_NotAvailable.json new file mode 100644 index 000000000000..1a17a5b3b369 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/CheckNameAvailability_NotAvailable.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "resGroupBar", + "api-version": "2022-01-01", + "location": "westus", + "input": { + "name": "swaggerExample2", + "type": "Microsoft.RecoveryServices/Vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource already exists with the same name." + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteRegisteredIdentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteRegisteredIdentities.json new file mode 100644 index 000000000000..d4c6f600fd96 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteRegisteredIdentities.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "identityName": "dpmcontainer01", + "api-version": "2022-01-01" + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteVault.json new file mode 100644 index 000000000000..342041376e06 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/DeleteVault.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVault.json new file mode 100644 index 000000000000..5368cb10c091 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVault.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpointConnections": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateEndpointConnections/pe114-pemsi-ecy-rsv.5944358949303501042.backup.75061caa-cba4-4849-8e09-608da4914aad", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.Network/privateEndpoints/pe114-pemsi-ecy-rsv" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "None", + "actionsRequired": "None" + } + } + } + ], + "privateEndpointStateForBackup": "Enabled", + "privateEndpointStateForSiteRecovery": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVaultExtendedInfo.json new file mode 100644 index 000000000000..99ec8003c57c --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GETVaultExtendedInfo.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J09wzS27fnJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationResult.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationResult.json new file mode 100644 index 000000000000..2810b6cf25c0 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationResult.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + }, + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationStatus.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationStatus.json new file mode 100644 index 000000000000..f637f0b47623 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetOperationStatus.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "operationId": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "name": "YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==", + "status": "Succeeded", + "startTime": "2019-11-20T09:49:44.0478496Z", + "endTime": "2019-11-20T09:49:46Z" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetPrivateLinkResources.json new file mode 100644 index 000000000000..0e0f7e4400e0 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/GetPrivateLinkResources.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2022-01-01", + "privateLinkResourceName": "backupResource" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListBySubscriptionIds.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListBySubscriptionIds.json new file mode 100644 index 000000000000..0cfefdf15573 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListBySubscriptionIds.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json new file mode 100644 index 000000000000..9235bce514a8 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListPrivateLinkResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListPrivateLinkResources.json new file mode 100644 index 000000000000..27f722db5b62 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListPrivateLinkResources.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "6c48fa17-39c7-45f1-90ac-47a587128ace", + "resourceGroupName": "petesting", + "vaultName": "pemsi-ecy-rsv2", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/petesting/providers/Microsoft.RecoveryServices/Vaults/pemsi-ecy-rsv2/privateLinkResources/backupResource", + "name": "backupResource", + "type": "Microsoft.RecoveryServices/Vaults/privateLinkResources", + "properties": { + "groupId": "AzureBackup", + "requiredMembers": [ + "backup-fab1", + "backup-rec2", + "backup-prot1", + "backup-ecs1", + "backup-tel1", + "backup-wbcm1", + "backup-fc1", + "backup-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.backup.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/amchandnTest2702A/privateLinkResources/siteRecoveryResource", + "name": "siteRecoveryResource", + "type": "Microsoft.RecoveryServices/vaults/privateLinkResources", + "properties": { + "groupId": "AzureSiteRecovery", + "requiredMembers": [ + "siteRecovery-rcm1", + "siteRecovery-prot2", + "siteRecovery-tel1", + "siteRecovery-srs1", + "siteRecovery-prot2b", + "siteRecovery-id1" + ], + "requiredZoneNames": [ + "privatelink.ecy.siterecovery.windowsazure.com", + "privatelink.queue.core.windows.net", + "privatelink.blob.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListReplicationUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListReplicationUsages.json new file mode 100644 index 000000000000..5a5fe2a82317 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListReplicationUsages.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "vaultName": "avrai7517Vault1", + "resourceGroupName": "avrai7517RG1", + "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "monitoringSummary": { + "unHealthyVmCount": 0, + "unHealthyProviderCount": 0, + "eventsCount": 0, + "deprecatedProviderCount": 0, + "supportedProviderCount": 0, + "unsupportedProviderCount": 0 + }, + "jobsSummary": { + "failedJobs": 0, + "suspendedJobs": 0, + "inProgressJobs": 0 + }, + "protectedItemCount": 2, + "registeredServersCount": 2, + "recoveryPlanCount": 1 + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListResources.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListResources.json new file mode 100644 index 000000000000..afe0af5d3bea --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListResources.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "name": "patchtest", + "etag": "W/\"datetime'2017-11-22T11%3A05%3A19.907Z'\"", + "tags": { + "Love": "India" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/patchtest", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + { + "location": "westus", + "name": "today1", + "etag": "W/\"datetime'2017-11-21T10%3A52%3A19.633Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/today1", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListUsages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListUsages.json new file mode 100644 index 000000000000..8829c1b80d48 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListUsages.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 6, + "limit": -1, + "name": { + "value": "MABContainersCount", + "localizedValue": "Backup management servers" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "ProtectedItemCount", + "localizedValue": "Backup items/Azure virtual machine backup" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "ProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCount", + "localizedValue": "Azure Virtual Machines" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemCriticalCount", + "localizedValue": "Critical" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "IaaSVMProtectedItemWarningCount", + "localizedValue": "Warning" + } + }, + { + "unit": "Count", + "currentValue": 0, + "limit": -1, + "name": { + "value": "MABProtectedItemCount", + "localizedValue": "File-Folders" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "DPMProtectedItemCount", + "localizedValue": "DPM Protected Items Count" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServerProtectedItemCount", + "localizedValue": "Azure Backup Server Protected Items Count" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "InProgressJobsCount", + "localizedValue": "In progress" + } + }, + { + "unit": "Count", + "quotaPeriod": "P1D", + "currentValue": 0, + "limit": -1, + "name": { + "value": "FailedJobsCount", + "localizedValue": "Failed" + } + }, + { + "unit": "Bytes", + "currentValue": 117007930, + "limit": -1, + "name": { + "value": "GRSStorageUsage", + "localizedValue": "Cloud - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSStorageUsage", + "localizedValue": "Cloud - LRS" + } + }, + { + "unit": "Count", + "currentValue": 5, + "limit": -1, + "name": { + "value": "ManagedInstances", + "localizedValue": "Protected Instances" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "GRSDedupStorageUsage", + "localizedValue": "Dedup - GRS" + } + }, + { + "unit": "Bytes", + "currentValue": 0, + "limit": -1, + "name": { + "value": "LRSDedupStorageUsage", + "localizedValue": "Dedup - LRS" + } + }, + { + "unit": "Bytes", + "currentValue": 117851553792, + "limit": -1, + "name": { + "value": "UsedDiskSize", + "localizedValue": "Backup Engines' Disk Used" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault.json new file mode 100644 index 000000000000..cc1a1b287e4f --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK.json new file mode 100644 index 000000000000..1ece1cbe2781 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK3.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK3.json new file mode 100644 index 000000000000..83338d9b28bf --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithCMK3.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..1b7bfd94c6a4 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PATCHVault_WithUserAssignedIdentity.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault.json new file mode 100644 index 000000000000..dc5f7bd6fc10 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "properties": {}, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "tenantId": "d676e86e-2206-4a7c-999c-ece52c144b5b", + "principalId": "3137d6c7-5d6c-411c-b934-7a2a729ee247", + "type": "SystemAssigned" + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "RS0", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVaultCred.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVaultCred.json new file mode 100644 index 000000000000..8f12de23a580 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVaultCred.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "77777777-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "BCDRIbzRG", + "vaultName": "BCDRIbzVault", + "certificateName": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "api-version": "2022-01-01", + "certificateRequest": { + "properties": { + "authType": "AAD", + "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7MfJaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=" + } + } + }, + "responses": { + "200": { + "body": { + "name": "BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "type": "Microsoft.RecoveryServices/vaults/certificates", + "id": "/Subscriptions/77777777-d41f-4550-9f70-7708a3a2283b/resourceGroups/BCDRIbzRG/providers/Microsoft.RecoveryServices/vaults/BCDRIbzVault/certificates/BCDRIbzVault77777777-d41f-4550-9f70-7708a3a2283b-12-18-2017-vaultcredentials", + "properties": { + "authType": "AzureActiveDirectory", + "certificate": "MTTC3TCCAcWgAwIBAgIQEj9h+ZLlXK9KrqZX9UkAnzANBgkqhkiG9w0BAQUFADAeMRwwGgYDVQQDExNXaW5kb3dzIEF6dXJlIFRvb2xzMB4XDTE3MTIxODA5MTc1M1oXDTE3MTIyMzA5Mjc1M1owHjEcMBoGA1UEAxMTV2luZG93cyBBenVyZSBUb29sczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK773/eZZ69RbZZAT05r9MjUxu9y1L1Pn1EgPk62IPJyHlO3OZA922eSBahhP4bgmFljN4LVReqQ5eT/wqO0Zhc+yFkUy4U4RdbQLeUZt2W7yy9XLXgVvqeYDgsjg/QhHetgHArQBW+tlQq5+zPdU7zchI4rbShSJrWhLrZFWiOyFPsuAE4joUQHNlRifdCTsBGKk8HRCY3j1S3c4bfEn3zxlrvrXXssRuW5mJM95rMk0tskoRxXSCi6i9bnlki2Cs9mpVMmBFeofs41KwzlWU0TgpdD8s1QEdvfGB5NbByfetPX7Mf JaTBeHZEGbv/Iq8l72u8sPBoOhcaH7qDE/mECAwEAAaMXMBUwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDQYJKoZIhvcNAQEFBQADggEBAILfgHluye1Q+WelhgWhpBBdIq2C0btfV8eFsZaTlBUrM0fwpxQSlAWc2oYHVMQI4A5iUjbDOY35O4yc+TnWKDBKf+laqDP+yos4aiUPuadGUZfvDk7kuw7xeECs64JpHAIEKdRHFW9rD3gwG+nIWaDnEL/7rTyhL3kXrRW2MSUAL8g3GX8Z45c+MQY0jmASIqWdhGn1vpAGyA9mKkzsqg7FXjg8GZb24tGl5Ky85+ip4dkBfXinDD8WwaGyjhGGK97ErvNmN36qly/H0H1Qngiovg1FbHDmkcFO5QclnEJsFFmcO2CcHp5Fqh2wXn5O1cQaxCIRTpQ/uXRpDjl2wKs=", + "resourceId": 8726350008099341699, + "aadAuthority": "https://login.windows.net", + "aadTenantId": "9b0c2069-2eba-489f-95f4-eca15cb602ab", + "servicePrincipalClientId": "4932d0bd-b5f9-4659-94a0-7ab02d918933", + "servicePrincipalObjectId": "2d60221e-cef5-4e13-ba66-b33701a533bb", + "azureManagementEndpointAudience": "https://ppe1-id1.wus.wabppe.obs-test.com/restapi/", + "subject": "CN=Windows Azure Tools", + "validFrom": "2017-12-18T14:47:53+05:30", + "validTo": "2017-12-23T14:57:53+05:30", + "thumbprint": "019FE9BAD18A5A09A5CA53B593AF66331F3054AF", + "friendlyName": "", + "issuer": "CN=Windows Azure Tools" + } + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithCMK.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithCMK.json new file mode 100644 index 000000000000..0c9b35d45708 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithCMK.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "properties": { + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi" + }, + "infrastructureEncryption": "Enabled" + } + }, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "provisioningState": "Provisioning", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithUserAssignedIdentity.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithUserAssignedIdentity.json new file mode 100644 index 000000000000..5fcefe85d083 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PUTVault_WithUserAssignedIdentity.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "properties": {}, + "sku": { + "name": "Standard" + }, + "location": "West US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "201": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "TestUpdatedKey": "TestUpdatedValue" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": {} + } + }, + "properties": { + "provisioningState": "Provisioning" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + }, + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PatchVault_WithCMK2.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PatchVault_WithCMK2.json new file mode 100644 index 000000000000..0efd98ef7e70 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PatchVault_WithCMK2.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "HelloWorld", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "vault": { + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "encryption": { + "kekIdentity": { + "useSystemAssignedIdentity": true + } + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "name": "swaggerExample", + "etag": "W/\"datetime'2017-12-15T12%3A36%3A51.68Z'\"", + "tags": { + "PatchKey": "PatchKeyUpdated" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi": { + "clientId": "fbe75b66-01c5-4f87-a220-233af3270436", + "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9219" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "encryption": { + "keyVaultProperties": { + "keyUri": "https://cmk2xkv.vault.azure.net/keys/Key1/0767b348bb1a4c07baa6c4ec0055d2b3" + }, + "kekIdentity": { + "useSystemAssignedIdentity": true + }, + "infrastructureEncryption": "Enabled" + } + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults", + "sku": { + "name": "Standard" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Azure-AsyncOperation": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationStatus/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/HelloWorld/providers/Microsoft.RecoveryServices/vaults/swaggerExample/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/UpdateVaultExtendedInfo.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/UpdateVaultExtendedInfo.json new file mode 100644 index 000000000000..d11714cf1ce9 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/UpdateVaultExtendedInfo.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "77777777-b0c6-47a2-b37c-d8e65a629c18", + "resourceGroupName": "Default-RecoveryServices-ResourceGroup", + "vaultName": "swaggerExample", + "api-version": "2022-01-01", + "resourceResourceExtendedInfoDetails": { + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + } + } + }, + "responses": { + "200": { + "body": { + "name": "vaultExtendedInfo", + "etag": "f0d0260b-b92d-4458-ba0a-32c6cdabacb7", + "properties": { + "integrityKey": "J99wzS27fmJ+Wjot7xO5wA==", + "algorithm": "None" + }, + "id": "/subscriptions/77777777-b0c6-47a2-b37c-d8e65a629c18/resourceGroups/Default-RecoveryServices-ResourceGroup/providers/Microsoft.RecoveryServices/vaults/swaggerExample/extendedInformation/vaultExtendedInfo", + "type": "Microsoft.RecoveryServices/vaults/extendedInformation" + } + } + } +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/registeredidentities.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/registeredidentities.json new file mode 100644 index 000000000000..33eba72126de --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/registeredidentities.json @@ -0,0 +1,372 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "RecoveryServicesClient", + "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}/certificates/{certificateName}": { + "put": { + "tags": [ + "VaultCertificates" + ], + "description": "Uploads a certificate for a resource.", + "operationId": "VaultCertificates_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "certificateName", + "in": "path", + "description": "Certificate friendly name.", + "required": true, + "type": "string" + }, + { + "name": "certificateRequest", + "in": "body", + "description": "Input parameters for uploading the vault certificate.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultCertificateResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Download vault credential file": { + "$ref": "./examples/PUTVaultCred.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": { + "delete": { + "tags": [ + "RegisteredIdentities" + ], + "description": "Unregisters the given container from your Recovery Services vault.", + "operationId": "RegisteredIdentities_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "identityName", + "in": "path", + "description": "Name of the protection container to unregister.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete registered Identity": { + "$ref": "./examples/DeleteRegisteredIdentities.json" + } + } + } + } + }, + "definitions": { + "CertificateRequest": { + "description": "Details of the certificate to be uploaded to the vault.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RawCertificateData" + } + } + }, + "RawCertificateData": { + "description": "Raw certificate data.", + "type": "object", + "properties": { + "authType": { + "description": "Specifies the authentication type.", + "enum": [ + "Invalid", + "ACS", + "AAD", + "AccessControlService", + "AzureActiveDirectory" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthType", + "modelAsString": true + } + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string", + "type": "string" + } + } + }, + "ResourceCertificateAndAadDetails": { + "description": "Certificate details representing the Vault credentials for AAD.", + "required": [ + "certificate", + "resourceId", + "aadAuthority", + "aadTenantId", + "servicePrincipalClientId", + "servicePrincipalObjectId", + "azureManagementEndpointAudience", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "aadAuthority": { + "description": "AAD tenant authority.", + "type": "string" + }, + "aadTenantId": { + "description": "AAD tenant Id.", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "AAD service principal clientId.", + "type": "string" + }, + "servicePrincipalObjectId": { + "description": "AAD service principal ObjectId.", + "type": "string" + }, + "azureManagementEndpointAudience": { + "description": "Azure Management Endpoint Audience.", + "type": "string" + }, + "serviceResourceId": { + "description": "Service Resource Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "ResourceCertificateAndAcsDetails": { + "description": "Certificate details representing the Vault credentials for ACS.", + "required": [ + "certificate", + "resourceId", + "globalAcsNamespace", + "globalAcsHostName", + "globalAcsRPRealm", + "subject", + "validFrom", + "validTo", + "thumbprint", + "friendlyName", + "issuer" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceCertificateDetails" + } + ], + "properties": { + "globalAcsNamespace": { + "description": "ACS namespace name - tenant for our service.", + "type": "string" + }, + "globalAcsHostName": { + "description": "Acs mgmt host name to connect to.", + "type": "string" + }, + "globalAcsRPRealm": { + "description": "Global ACS namespace RP realm.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AccessControlService" + }, + "ResourceCertificateDetails": { + "description": "Certificate details representing the Vault credentials.", + "required": [ + "authType" + ], + "type": "object", + "properties": { + "authType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + }, + "certificate": { + "format": "byte", + "description": "The base64 encoded certificate raw data string.", + "type": "string" + }, + "friendlyName": { + "description": "Certificate friendly name.", + "type": "string" + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string" + }, + "resourceId": { + "format": "int64", + "description": "Resource ID of the vault.", + "type": "integer" + }, + "subject": { + "description": "Certificate Subject Name.", + "type": "string" + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string" + }, + "validFrom": { + "format": "date-time", + "description": "Certificate Validity start Date time.", + "type": "string" + }, + "validTo": { + "format": "date-time", + "description": "Certificate Validity End Date time.", + "type": "string" + } + }, + "discriminator": "authType" + }, + "VaultCertificateResponse": { + "description": "Certificate corresponding to a vault that can be used by clients to register themselves with the vault.", + "type": "object", + "properties": { + "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 + }, + "id": { + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/ResourceCertificateDetails" + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/replicationusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/replicationusages.json new file mode 100644 index 000000000000..3ced2b292b71 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/replicationusages.json @@ -0,0 +1,208 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "RecoveryServicesClient", + "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}/replicationUsages": { + "get": { + "tags": [ + "ReplicationUsages" + ], + "description": "Fetches the replication usages of the vault.", + "operationId": "ReplicationUsages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets Replication usages of vault": { + "$ref": "./examples/ListReplicationUsages.json" + } + } + } + } + }, + "definitions": { + "JobsSummary": { + "description": "Summary of the replication job data for this vault.", + "type": "object", + "properties": { + "failedJobs": { + "description": "Count of failed jobs.", + "type": "integer" + }, + "suspendedJobs": { + "description": "Count of suspended jobs.", + "type": "integer" + }, + "inProgressJobs": { + "description": "Count of in-progress jobs.", + "type": "integer" + } + } + }, + "MonitoringSummary": { + "description": "Summary of the replication monitoring data for this vault.", + "type": "object", + "properties": { + "unHealthyVmCount": { + "description": "Count of unhealthy VMs.", + "type": "integer" + }, + "unHealthyProviderCount": { + "description": "Count of unhealthy replication providers.", + "type": "integer" + }, + "eventsCount": { + "description": "Count of all critical warnings.", + "type": "integer" + }, + "deprecatedProviderCount": { + "description": "Count of all deprecated recovery service providers.", + "type": "integer" + }, + "supportedProviderCount": { + "description": "Count of all the supported recovery service providers.", + "type": "integer" + }, + "unsupportedProviderCount": { + "description": "Count of all the unsupported recovery service providers.", + "type": "integer" + } + } + }, + "ReplicationUsage": { + "description": "Replication usages of a vault.", + "type": "object", + "properties": { + "monitoringSummary": { + "$ref": "#/definitions/MonitoringSummary", + "description": "Summary of the replication monitoring data for this vault." + }, + "jobsSummary": { + "$ref": "#/definitions/JobsSummary", + "description": "Summary of the replication jobs data for this vault." + }, + "protectedItemCount": { + "description": "Number of replication protected items for this vault.", + "type": "integer" + }, + "recoveryPlanCount": { + "description": "Number of replication recovery plans for this vault.", + "type": "integer" + }, + "registeredServersCount": { + "description": "Number of servers registered to this vault.", + "type": "integer" + }, + "recoveryServicesProviderAuthType": { + "description": "The authentication type of recovery service providers in the vault.", + "type": "integer" + } + } + }, + "ReplicationUsageList": { + "description": "Replication usages for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of replication usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationUsage" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaults.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaults.json new file mode 100644 index 000000000000..015662a532be --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaults.json @@ -0,0 +1,1812 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "RecoveryServicesClient", + "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}/privateLinkResources": { + "get": { + "tags": [ + "ListPrivateLinkResources" + ], + "summary": "Returns the list of private link resources that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List PrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "GetPrivateLinkResources" + ], + "summary": "Returns a specified private link resource that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get PrivateLinkResource": { + "$ref": "./examples/GetPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "RecoveryServices" + ], + "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago", + "operationId": "RecoveryServices_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "location", + "in": "path", + "description": "Location of the resource", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Contains information about Resource type and Resource name", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": { + "$ref": "./examples/CheckNameAvailability_Available.json" + }, + "Availability status of Resource Name when resource with same name, type and subscription exists": { + "$ref": "./examples/CheckNameAvailability_NotAvailable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Fetches all the resources of the specified type in the subscription.", + "operationId": "Vaults_ListBySubscriptionId", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in SubscriptionId": { + "$ref": "./examples/ListBySubscriptionIds.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Retrieve a list of Vaults.", + "operationId": "Vaults_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in ResourceGroup": { + "$ref": "./examples/ListResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Get the Vault details.", + "operationId": "Vaults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get Recovery Services Resource": { + "$ref": "./examples/GETVault.json" + } + } + }, + "put": { + "tags": [ + "Vaults" + ], + "description": "Creates or updates a Recovery Services vault.", + "operationId": "Vaults_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/Vault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Recovery Services vault": { + "$ref": "./examples/PUTVault.json" + }, + "Create or Update Vault with User Assigned Identity": { + "$ref": "./examples/PUTVault_WithUserAssignedIdentity.json" + }, + "Create or Update Vault with CustomerManagedKeys": { + "$ref": "./examples/PUTVault_WithCMK.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Vaults" + ], + "description": "Deletes a vault.", + "operationId": "Vaults_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Delete Recovery Services Vault": { + "$ref": "./examples/DeleteVault.json" + } + } + }, + "patch": { + "tags": [ + "Vaults" + ], + "description": "Updates the vault.", + "operationId": "Vaults_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "vault", + "in": "body", + "description": "Recovery Services Vault to be created.", + "required": true, + "schema": { + "$ref": "#/definitions/PatchVault" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Update Resource": { + "$ref": "./examples/PATCHVault.json" + }, + "Update Resource With User Assigned Identity": { + "$ref": "./examples/PATCHVault_WithUserAssignedIdentity.json" + }, + "Update Resource With CustomerManagedKeys": { + "$ref": "./examples/PATCHVault_WithCMK.json" + }, + "Update Resource With CustomerManagedKeys2": { + "$ref": "./examples/PatchVault_WithCMK2.json" + }, + "Update Resource With CustomerManagedKeys3": { + "$ref": "./examples/PATCHVault_WithCMK3.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": { + "get": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Get the vault extended info.", + "operationId": "VaultExtendedInfo_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get ExtendedInfo of Resource": { + "$ref": "./examples/GETVaultExtendedInfo.json" + } + } + }, + "put": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Create vault extended info.", + "operationId": "VaultExtendedInfo_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Put ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + }, + "patch": { + "tags": [ + "VaultExtendedInfo" + ], + "description": "Update vault extended info.", + "operationId": "VaultExtendedInfo_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "resourceResourceExtendedInfoDetails", + "in": "body", + "description": "Details of ResourceExtendedInfo", + "required": true, + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultExtendedInfoResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "PATCH ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationStatus/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation status for a resource.", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status": { + "$ref": "./examples/GetOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation result for a resource.", + "operationId": "GetOperationResult", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Result": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityParameters": { + "description": "Resource Name availability input parameters - Resource type and resource name", + "type": "object", + "properties": { + "type": { + "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", + "type": "string" + }, + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" + } + } + }, + "CheckNameAvailabilityResult": { + "description": "Response for check name availability API. Resource provider will set availability as true | false.", + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "Blobs created in customer storage account per hour", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "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 + }, + "etag": { + "description": "Optional ETag.", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "Sku": { + "description": "Identifies the unique system identifier for each Azure resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The Sku name.", + "enum": [ + "Standard", + "RS0" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "tier": { + "description": "The Sku tier.", + "type": "string" + }, + "family": { + "description": "The sku family", + "type": "string" + }, + "size": { + "description": "The sku size", + "type": "string" + }, + "capacity": { + "description": "The sku capacity", + "type": "string" + } + } + }, + "TrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "required": [ + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PatchTrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpgradeDetails": { + "description": "Details for upgrading vault.", + "type": "object", + "properties": { + "operationId": { + "description": "ID of the vault upgrade operation.", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "UTC time at which the upgrade operation has started.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "lastUpdatedTimeUtc": { + "description": "UTC time at which the upgrade operation status was last updated.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endTimeUtc": { + "description": "UTC time at which the upgrade operation has ended.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "status": { + "description": "Status of the vault upgrade operation.", + "enum": [ + "Unknown", + "InProgress", + "Upgraded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultUpgradeState", + "modelAsString": true + } + }, + "message": { + "description": "Message to the user containing information about the upgrade operation.", + "type": "string", + "readOnly": true + }, + "triggerType": { + "description": "The way the vault upgrade was triggered.", + "enum": [ + "UserTriggered", + "ForcedUpgrade" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TriggerType", + "modelAsString": true + } + }, + "upgradedResourceId": { + "description": "Resource ID of the upgraded vault.", + "type": "string", + "readOnly": true + }, + "previousResourceId": { + "description": "Resource ID of the vault before the upgrade.", + "type": "string", + "readOnly": true + } + } + }, + "Vault": { + "description": "Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityData" + }, + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "PatchVault": { + "description": "Patch Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PatchTrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/IdentityData" + } + } + }, + "VaultExtendedInfo": { + "description": "Vault extended information.", + "type": "object", + "properties": { + "integrityKey": { + "description": "Integrity key.", + "type": "string" + }, + "encryptionKey": { + "description": "Encryption key.", + "type": "string" + }, + "encryptionKeyThumbprint": { + "description": "Encryption key thumbprint.", + "type": "string" + }, + "algorithm": { + "description": "Algorithm for Vault ExtendedInfo", + "type": "string" + } + } + }, + "VaultExtendedInfoResource": { + "description": "Vault extended information.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultExtendedInfo", + "x-ms-client-flatten": true + } + } + }, + "VaultList": { + "description": "The response model for a list of Vaults.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vault" + } + }, + "nextLink": { + "type": "string", + "readOnly": true + } + } + }, + "VaultProperties": { + "description": "Properties of the vault.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning State.", + "type": "string", + "readOnly": true + }, + "upgradeDetails": { + "$ref": "#/definitions/UpgradeDetails" + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionVaultProperties" + }, + "description": "List of private endpoint connection.", + "readOnly": true + }, + "privateEndpointStateForBackup": { + "description": "Private endpoint state for backup.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "privateEndpointStateForSiteRecovery": { + "description": "Private endpoint state for site recovery.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "encryption": { + "description": "Customer Managed Key details of the resource.", + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + "kekIdentity": { + "$ref": "#/definitions/CmkKekIdentity" + }, + "infrastructureEncryption": { + "description": "Enabling/Disabling the Double Encryption state", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "moveDetails": { + "description": "The details of the latest move operation performed on the Azure Resource", + "type": "object", + "properties": { + "operationId": { + "description": "OperationId of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "Start Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "completionTimeUtc": { + "description": "End Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "sourceResourceId": { + "description": "Source Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "Target Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + } + } + }, + "moveState": { + "description": "The State of the Resource after the move operation", + "type": "string", + "readOnly": true, + "enum": [ + "Unknown", + "InProgress", + "PrepareFailed", + "CommitFailed", + "PrepareTimedout", + "CommitTimedout", + "MoveSucceeded", + "Failure", + "CriticalFailure", + "PartialSuccess" + ], + "x-ms-enum": { + "name": "ResourceMoveState", + "modelAsString": true + } + }, + "backupStorageVersion": { + "description": "Backup storage version", + "enum": [ + "V1", + "V2", + "Unassigned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageVersion", + "modelAsString": true + } + } + } + }, + "IdentityData": { + "required": [ + "type" + ], + "type": "object", + "description": "Identity for the resource.", + "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 type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionVaultProperties": { + "description": "Information to be stored in Vault properties as an element of privateEndpointConnections List.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Format of id subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "name": { + "description": "The name of the private Endpoint Connection", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type, which will be of the format, Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the private Endpoint connection", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties.", + "readOnly": true, + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection.", + "readOnly": true, + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Gets or sets private link service connection state.", + "readOnly": true, + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status.", + "readOnly": true, + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description.", + "readOnly": true, + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResources": { + "description": "Class which represent the stamps associated with the vault.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "e.g. Microsoft.RecoveryServices/vaults/privateLinkResources", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "description": "Properties of the private link resource.", + "properties": { + "groupId": { + "description": "e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)", + "readOnly": true, + "type": "string" + }, + "requiredMembers": { + "description": "[backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CmkKeyVaultProperties": { + "type": "object", + "description": "The properties of the Key Vault which hosts CMK", + "properties": { + "keyUri": { + "description": "The key uri of the Customer Managed Key", + "type": "string" + } + } + }, + "CmkKekIdentity": { + "type": "object", + "description": "The details of the identity used for CMK", + "properties": { + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + } + } + }, + "OperationResource": { + "type": "object", + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "status": { + "description": "The status of the operation. (InProgress/Success/Failed/Cancelled)", + "type": "string" + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaultusages.json b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaultusages.json new file mode 100644 index 000000000000..0dbfbde80821 --- /dev/null +++ b/specification/recoveryservices/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/vaultusages.json @@ -0,0 +1,189 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "RecoveryServicesClient", + "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}/usages": { + "get": { + "tags": [ + "VaultUsages" + ], + "description": "Fetches the usages of the vault.", + "operationId": "Usages_ListByVaults", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultUsageList" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Gets vault usages": { + "$ref": "./examples/ListUsages.json" + } + } + } + } + }, + "definitions": { + "VaultUsage": { + "description": "Usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "VaultUsageList": { + "description": "Usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultUsage" + } + } + } + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/recoveryservices/resource-manager/readme.md b/specification/recoveryservices/resource-manager/readme.md index 180681168a99..f0312a2d128a 100644 --- a/specification/recoveryservices/resource-manager/readme.md +++ b/specification/recoveryservices/resource-manager/readme.md @@ -28,7 +28,7 @@ These are the global settings for the RecoveryServices API. title: RecoveryServicesClient description: Recovery Services Client openapi-type: arm -tag: package-preview-2021-11 +tag: package-2022-01 ``` ### Validations @@ -43,17 +43,41 @@ message-format: json ``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.RecoveryServices/stable/2022-01-01/registeredidentities.json + - Microsoft.RecoveryServices/stable/2022-01-01/replicationusages.json + - Microsoft.RecoveryServices/stable/2022-01-01/vaults.json + - Microsoft.RecoveryServices/stable/2022-01-01/vaultusages.json +``` +### Tag: package-2021-12 + +These settings apply only when `--tag=package-2021-12` is specified on the command line. + +``` yaml $(tag) == 'package-2021-12' +input-file: + - Microsoft.RecoveryServices/stable/2021-12-01/registeredidentities.json + - Microsoft.RecoveryServices/stable/2021-12-01/replicationusages.json + - Microsoft.RecoveryServices/stable/2021-12-01/vaults.json + - Microsoft.RecoveryServices/stable/2021-12-01/vaultusages.json +``` + ### Tag: package-preview-2021-11 These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. -```yaml $(tag) == 'package-preview-2021-11' +``` yaml $(tag) == 'package-preview-2021-11' input-file: - Microsoft.RecoveryServices/preview/2021-11-01-preview/registeredidentities.json - Microsoft.RecoveryServices/preview/2021-11-01-preview/replicationusages.json - Microsoft.RecoveryServices/preview/2021-11-01-preview/vaults.json - Microsoft.RecoveryServices/preview/2021-11-01-preview/vaultusages.json ``` + ### Tag: package-2021-08 These settings apply only when `--tag=package-2021-08` is specified on the command line. diff --git a/specification/recoveryservices/resource-manager/readme.python.md b/specification/recoveryservices/resource-manager/readme.python.md index 6691aa8e3cb2..7a2815f81cb4 100644 --- a/specification/recoveryservices/resource-manager/readme.python.md +++ b/specification/recoveryservices/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.recoveryservices @@ -13,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices/azure/mgmt/recoveryservices ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservices -``` diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/bms.json index 2c1ee856b24a..8fdd67c45139 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/bms.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/bms.json @@ -4735,6 +4735,9 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [ + "code" + ], "description": "A list of additional details about the error." }, "additionalInfo": { @@ -4743,6 +4746,7 @@ "items": { "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } }, @@ -4775,6 +4779,9 @@ "items": { "$ref": "#/definitions/NewErrorResponse" }, + "x-ms-identifiers": [ + "/error/code" + ], "description": "The error details." }, "additionalInfo": { @@ -4783,6 +4790,7 @@ "items": { "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" }, + "x-ms-identifiers": [], "description": "The error additional info." } } @@ -4968,7 +4976,10 @@ "type": "array", "items": { "$ref": "#/definitions/RestoreFileSpecs" - } + }, + "x-ms-identifiers": [ + "path" + ] }, "targetDetails": { "$ref": "#/definitions/TargetAFSRestoreInfo", @@ -5020,7 +5031,8 @@ "type": "array", "items": { "$ref": "#/definitions/SubProtectionPolicy" - } + }, + "x-ms-identifiers": [] }, "makePolicyConsistent": { "description": "Fix the policy inconsistency", @@ -5202,7 +5214,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "virtualMachineVersion": { "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", @@ -5262,7 +5277,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "virtualMachineVersion": { "description": "Specifies whether the backup item is a Classic or an Azure Resource Manager VM.", @@ -5284,7 +5302,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMJobTaskDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "propertyBag": { "description": "Job properties.", @@ -5413,7 +5434,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureIaaSVMHealthDetails" - } + }, + "x-ms-identifiers": [ + "code" + ] }, "kpisHealths": { "description": "Health details of different KPIs", @@ -5451,7 +5475,22 @@ "properties": { "oldestRecoveryPoint": { "format": "date-time", - "description": "The oldest backup copy available for this backup item.", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", "type": "string" }, "recoveryPointCount": { @@ -5485,6 +5524,13 @@ "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } + }, "instantRpRetentionRangeInDays": { "format": "int32", "description": "Instant RP retention policy range in days", @@ -5638,7 +5684,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureStorageErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "storageAccountName": { "description": "Specifies friendly name of the storage account.", @@ -5668,7 +5717,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureStorageJobTaskDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "propertyBag": { "description": "Job properties.", @@ -5804,7 +5856,22 @@ "properties": { "oldestRecoveryPoint": { "format": "date-time", - "description": "The oldest backup copy available for this backup item.", + "description": "The oldest backup copy available for this backup item across all tiers.", + "type": "string" + }, + "oldestRecoveryPointInVault": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in vault tier", + "type": "string" + }, + "oldestRecoveryPointInArchive": { + "format": "date-time", + "description": "The oldest backup copy available for this backup item in archive tier", + "type": "string" + }, + "newestRecoveryPointInArchive": { + "format": "date-time", + "description": "The latest backup copy available for this backup item in archive tier", "type": "string" }, "recoveryPointCount": { @@ -5921,7 +5988,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureWorkloadErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "extendedInfo": { "$ref": "#/definitions/AzureWorkloadJobExtendedInfo", @@ -5939,7 +6009,10 @@ "type": "array", "items": { "$ref": "#/definitions/AzureWorkloadJobTaskDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "propertyBag": { "description": "Job properties.", @@ -5982,7 +6055,8 @@ "type": "array", "items": { "$ref": "#/definitions/PointInTimeRange" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "AzureWorkloadPointInTimeRecoveryPoint" @@ -6038,7 +6112,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPointTierInformationV2" - } + }, + "x-ms-identifiers": [] }, "recoveryPointMoveReadinessInfo": { "description": "Eligibility of RP to be moved to another tier", @@ -6170,7 +6245,8 @@ "type": "array", "items": { "$ref": "#/definitions/PointInTimeRange" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRecoveryPoint" @@ -6222,7 +6298,10 @@ "type": "array", "items": { "$ref": "#/definitions/SQLDataDirectory" - } + }, + "x-ms-identifiers": [ + "path" + ] } } }, @@ -6248,7 +6327,8 @@ "type": "array", "items": { "$ref": "#/definitions/SQLDataDirectoryMapping" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" @@ -6388,7 +6468,10 @@ "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryForLogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -6401,7 +6484,10 @@ "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to the next chunk of Response.", @@ -6453,7 +6539,10 @@ "type": "array", "items": { "$ref": "#/definitions/Day" - } + }, + "x-ms-identifiers": [ + "date" + ] } } }, @@ -6558,7 +6647,10 @@ "type": "array", "items": { "$ref": "#/definitions/DpmErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorString" + ] }, "extendedInfo": { "$ref": "#/definitions/DpmJobExtendedInfo", @@ -6669,7 +6761,10 @@ "type": "array", "items": { "$ref": "#/definitions/DpmJobTaskDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "propertyBag": { "description": "The job properties.", @@ -6930,7 +7025,8 @@ "type": "array", "items": { "$ref": "#/definitions/SubProtectionPolicy" - } + }, + "x-ms-identifiers": [] }, "timeZone": { "description": "TimeZone optional input as string. For example: TimeZone = \"Pacific Standard Time\".", @@ -7181,7 +7277,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPointTierInformationV2" - } + }, + "x-ms-identifiers": [] }, "isManagedVirtualMachine": { "description": "Whether VM is with Managed Disks", @@ -7760,7 +7857,10 @@ "type": "array", "items": { "$ref": "#/definitions/MabErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorString" + ] }, "extendedInfo": { "$ref": "#/definitions/MabJobExtendedInfo", @@ -7778,7 +7878,10 @@ "type": "array", "items": { "$ref": "#/definitions/MabJobTaskDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "propertyBag": { "description": "The job properties.", @@ -7939,7 +8042,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceHealthDetails" - } + }, + "x-ms-identifiers": [ + "code" + ] } } }, @@ -8567,14 +8673,20 @@ "type": "array", "items": { "$ref": "#/definitions/DiskInformation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "excludedDiskList": { "description": "Information of disks excluded from backup", "type": "array", "items": { "$ref": "#/definitions/DiskInformation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -9001,6 +9113,13 @@ "retentionPolicy": { "$ref": "#/definitions/RetentionPolicy", "description": "Retention policy with the details on backup copy retention ranges." + }, + "tieringPolicy": { + "description": "Tiering policy to automatically move RPs to another tier.\r\nKey is Target Tier, defined in RecoveryPointTierType enum.\r\nTiering policy specifies the criteria to move RP to the target tier.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/TieringPolicy" + } } } }, @@ -9140,7 +9259,10 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDetail" - } + }, + "x-ms-identifiers": [ + "code" + ] } } }, @@ -9451,7 +9573,10 @@ "type": "array", "items": { "$ref": "#/definitions/VaultJobErrorInfo" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "extendedInfo": { "$ref": "#/definitions/VaultJobExtendedInfo", @@ -9920,7 +10045,10 @@ "type": "array", "items": { "$ref": "#/definitions/SQLDataDirectory" - } + }, + "x-ms-identifiers": [ + "path" + ] } }, "x-ms-discriminator-value": "SQLInstance" @@ -10142,7 +10270,10 @@ "type": "array", "items": { "$ref": "#/definitions/BackupManagementUsage" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -10605,7 +10736,10 @@ "type": "array", "items": { "$ref": "#/definitions/DistributedNodesInfo" - } + }, + "x-ms-identifiers": [ + "nodeName" + ] } } }, @@ -11346,7 +11480,7 @@ "type": "string" } }, - "x-ms-discriminator-value": "IaaSVMContainer" + "x-ms-discriminator-value": "IaasVMContainer" }, "IaasVMILRRegistrationRequest": { "description": "Restore files/folders from a backup copy of IaaS VM.", @@ -11445,7 +11579,8 @@ "type": "array", "items": { "$ref": "#/definitions/WorkloadInquiryDetails" - } + }, + "x-ms-identifiers": [] } } }, @@ -11477,7 +11612,8 @@ "type": "array", "items": { "$ref": "#/definitions/ClientScriptForConnect" - } + }, + "x-ms-identifiers": [] } } }, @@ -11517,7 +11653,10 @@ "type": "array", "items": { "$ref": "#/definitions/MABContainerHealthDetails" - } + }, + "x-ms-identifiers": [ + "code" + ] }, "containerHealthState": { "description": "Health state of mab container.", @@ -11936,7 +12075,10 @@ "VMAppContainer", "SQLAGWorkLoadContainer", "StorageContainer", - "GenericContainer" + "GenericContainer", + "AzureWorkloadContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines" ], "type": "string", "x-ms-enum": { @@ -12393,7 +12535,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceGuardOperationDetail" - } + }, + "x-ms-identifiers": [ + "vaultCriticalOperation" + ] }, "lastUpdatedTime": { "type": "string" @@ -12434,6 +12579,46 @@ } } } + }, + "TieringPolicy": { + "description": "Tiering Policy for a target tier.\r\nIf the policy is not specified for a given target tier, service retains the existing configured tiering policy for that tier", + "type": "object", + "properties": { + "tieringMode": { + "description": "Tiering Mode to control automatic tiering of recovery points. Supported values are:\r\n1. TierRecommended: Tier all recovery points recommended to be tiered\r\n2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below.\r\n3. DoNotTier: Do not tier any recovery points", + "enum": [ + "Invalid", + "TierRecommended", + "TierAfter", + "DoNotTier" + ], + "type": "string", + "x-ms-enum": { + "name": "TieringMode", + "modelAsString": true + } + }, + "duration": { + "format": "int32", + "description": "Number of days/weeks/months/years to retain backups in current tier before tiering.\r\nUsed only if TieringMode is set to TierAfter", + "type": "integer" + }, + "durationType": { + "description": "Retention duration type: days/weeks/months/years\r\nUsed only if TieringMode is set to TierAfter", + "enum": [ + "Invalid", + "Days", + "Weeks", + "Months", + "Years" + ], + "type": "string", + "x-ms-enum": { + "name": "RetentionDurationType", + "modelAsString": true + } + } + } } }, "parameters": { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupPolicies_List.json index 364068241201..37cb62188a6f 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -36,6 +36,11 @@ } } }, + "tieringPolicy": { + "ArchivedRP": { + "tieringMode": "TierRecommended" + } + }, "protectedItemsCount": 0 } }, @@ -65,6 +70,13 @@ } } }, + "tieringPolicy": { + "ArchivedRP": { + "tieringMode": "TierAfter", + "duration": 12, + "durationType": "Months" + } + }, "timeZone": "Pacific Standard Time", "protectedItemsCount": 0 } diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupProtectedItems_List.json index 1f5584b8e856..de738fb7b3d8 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupProtectedItems_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -29,7 +29,15 @@ "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" + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z", + "extendedInfo": { + "oldestRecoveryPoint": "2021-01-30T00:09:30.8639311Z", + "oldestRecoveryPointInVault": "2021-01-30T00:09:30.8639311Z", + "oldestRecoveryPointInArchive": "2021-01-30T00:09:30.8639311Z", + "newestRecoveryPointInArchive": "2021-01-30T00:09:30.8639311Z", + "recoveryPointCount": 14, + "policyInconsistent": false + } } } ] diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureWorkload/BackupPolicies_List.json index a20bed84739a..2867b6c605cb 100644 --- a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureWorkload/BackupPolicies_List.json +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/examples/AzureWorkload/BackupPolicies_List.json @@ -43,6 +43,13 @@ "durationType": "Days" } } + }, + "tieringPolicy": { + "ArchivedRP": { + "tieringMode": "TierAfter", + "duration": 60, + "durationType": "Days" + } } }, { diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/bms.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/bms.json new file mode 100644 index 000000000000..0ce1ce657524 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/bms.json @@ -0,0 +1,12500 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "RecoveryServicesBackupClient", + "x-ms-code-generation-settings": { + "internalConstructors": false + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig": { + "get": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Fetches resource storage config.", + "operationId": "BackupResourceStorageConfigsNonCRR_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Put.json" + } + } + }, + "patch": { + "tags": [ + "BackupResourceStorageConfigsNonCRR" + ], + "description": "Updates vault storage model type.", + "operationId": "BackupResourceStorageConfigsNonCRR_patch", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault storage config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceConfigResource" + } + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Storage Configuration": { + "$ref": "./examples/Common/BackupStorageConfig_Patch.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection": { + "post": { + "tags": [ + "ProtectionIntent" + ], + "summary": "It will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "operationId": "ProtectionIntent_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Enable backup validation request on Virtual Machine", + "required": true, + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PreValidateEnableBackupResponse" + } + } + }, + "x-ms-examples": { + "Validate Enable Protection on Azure Vm": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus": { + "post": { + "tags": [ + "BackupStatus" + ], + "summary": "Get the container backup status", + "operationId": "BackupStatus_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Container Backup Status Request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupStatusResponse" + } + } + }, + "x-ms-examples": { + "Get Azure Virtual Machine Backup Status": { + "$ref": "./examples/AzureIaasVm/GetBackupStatus.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures": { + "post": { + "tags": [ + "FeatureSupport" + ], + "summary": "It will validate if given feature with resource properties is supported in service", + "operationId": "FeatureSupport_Validate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/AzureRegion" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Feature support request object", + "required": true, + "schema": { + "$ref": "#/definitions/FeatureSupportRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureVMResourceFeatureSupportResponse" + } + } + }, + "x-ms-examples": { + "Check Azure Vm Backup Feature Support": { + "$ref": "./examples/AzureIaasVm/BackupFeature_Validate.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}": { + "get": { + "tags": [ + "ProtectionIntent" + ], + "description": "Provides the details of the protection intent up item. This is an asynchronous operation. To know the status of the operation,\r\ncall the GetItemOperationResult API.", + "operationId": "ProtectionIntent_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": "intentObjectName", + "in": "path", + "description": "Backed up item name whose details are to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Get ProtectionIntent for an item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionIntent" + ], + "description": "Create Intent for Enabling backup of an item. This is a synchronous operation.", + "operationId": "ProtectionIntent_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent object name.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backed up item", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + }, + "x-ms-examples": { + "Create or Update Azure Vm Protection Intent": { + "$ref": "./examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionIntent" + ], + "description": "Used to remove intent from an item", + "operationId": "ProtectionIntent_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 intent.", + "required": true, + "type": "string" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Intent to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "NoContent" + } + }, + "x-ms-examples": { + "Delete Protection intent from item": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_Delete.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionIntents": { + "get": { + "tags": [ + "BackupProtectionIntent" + ], + "description": "Provides a pageable list of all intents that are present within a vault.", + "operationId": "BackupProtectionIntent_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/ProtectionIntentResourceList" + } + } + }, + "x-ms-odata": "#/definitions/ProtectionIntentQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protection intent with backupManagementType filter": { + "$ref": "./examples/AzureWorkload/BackupProtectionIntent_List.json" + } + } + } + }, + "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupUsageSummaries": { + "get": { + "tags": [ + "BackupUsageSummaries" + ], + "description": "Fetches the backup management usage summaries of the vault.", + "operationId": "BackupUsageSummaries_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupManagementUsageList" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupSummariesQueryObject", + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Get Protected Items Usages Summary": { + "$ref": "./examples/Common/BackupProtectedItem_UsageSummary_Get.json" + }, + "Get Protected Containers Usages Summary": { + "$ref": "./examples/Common/BackupProtectionContainers_UsageSummary_Get.json" + } + } + } + }, + "/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Returns the list of available operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ClientDiscoveryResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } + } + } + }, + "/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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Patch.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceVaultConfigs" + ], + "description": "Updates vault security config. ", + "operationId": "BackupResourceVaultConfigs_Put", + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Security Config": { + "$ref": "./examples/Common/BackupResourceVaultConfigs_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEncryptionConfigs/backupResourceEncryptionConfig": { + "get": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Fetches Vault Encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtendedResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "BackupResourceEncryptionConfigs" + ], + "description": "Updates Vault encryption config.", + "operationId": "BackupResourceEncryptionConfigs_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Vault encryption input config request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupResourceEncryptionConfigResource" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Update Vault Encryption Configuration": { + "$ref": "./examples/BackupResourceEncryptionConfig_Put.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Get Private Endpoint Connection. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Approve or Reject Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "description": "Delete Private Endpoint requests. This call is made by Backup Admin.", + "operationId": "PrivateEndpointConnection_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "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 PrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "PrivateEndpoint" + ], + "summary": "Gets the operation status for a private endpoint connection.", + "operationId": "PrivateEndpoint_GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation id", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationStatus/{operationId}": { + "get": { + "tags": [ + "DataMove" + ], + "description": "Fetches operation status for data move operation on vault", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/prepareDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Prepares source vault for Data Move operation", + "operationId": "BMSPrepareDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Prepare data move request", + "required": true, + "schema": { + "$ref": "#/definitions/PrepareDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Prepare Data Move": { + "$ref": "./examples/BackupDataMove/PrepareDataMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/operationResults/{operationId}": { + "get": { + "tags": [ + "BMSPrepareDataMoveOperationResult" + ], + "description": "Fetches Operation Result for Prepare Data Move", + "operationId": "BMSPrepareDataMoveOperationResult_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed. ", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-examples": { + "Get operation result for PrepareDataMove": { + "$ref": "./examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig/triggerDataMove": { + "post": { + "tags": [ + "DataMove" + ], + "description": "Triggers Data Move Operation on target vault", + "operationId": "BMSTriggerDataMove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "Trigger data move request", + "required": true, + "schema": { + "$ref": "#/definitions/TriggerDataMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/NewErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Trigger Data Move": { + "$ref": "./examples/BackupDataMove/TriggerDataMove_Post.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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restore to New Azure IaasVm with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreRequest with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore to New Azure IaasVm with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json" + }, + "Restore Disks with IaasVMRestoreRequest with IdentityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json" + }, + "Restore Disks with IaasVMRestoreWithRehydrationRequest": { + "$ref": "./examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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 AzureIaasVm with both V1 and V2 policies": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-List-Policies.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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure IaasVm Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Get.json" + }, + "Get Azure IaasVm Enhanced Protection Policy Details": { + "$ref": "./examples/AzureIaasVm/V2Policy/v2-Get-Policy.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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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 Enhanced Azure Vm Protection Policy with Hourly backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json" + }, + "Create or Update Enhanced Azure Vm Protection Policy with daily backup": { + "$ref": "./examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json" + }, + "Create or Update Full Azure Workload Protection Policy": { + "$ref": "./examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json" + }, + "Create or Update Daily Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json" + }, + "Create or Update Hourly Azure Storage Protection Policy": { + "$ref": "./examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionPolicies" + ], + "description": "Deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status of the\r\noperation can be fetched using GetProtectionPolicyOperationResult API.", + "operationId": "ProtectionPolicies_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy to be deleted.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Azure Vm Protection Policy": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicies_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationResults" + ], + "description": "Provides the result of an operation.", + "operationId": "ProtectionPolicyOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's result needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionPolicyResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "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" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk.json" + }, + "Validate Operation with identityBasedRestoreDetails": { + "$ref": "./examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupTriggerValidateOperation": { + "post": { + "tags": [ + "ValidateOperation" + ], + "description": "Validate operation for specified backed up item in the form of an asynchronous operation. Returns tracking headers which can be tracked using GetValidateOperationResult API.", + "operationId": "ValidateOperation_Trigger", + "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": { + "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": { + "Trigger Validate Operation": { + "$ref": "./examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationResults/{operationId}": { + "get": { + "tags": [ + "ValidateOperationResults" + ], + "description": "Fetches the result of a triggered validate operation.", + "operationId": "ValidateOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateOperationsResponse" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Results of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupValidateOperationsStatuses/{operationId}": { + "get": { + "tags": [ + "ValidateOperationStatuses" + ], + "description": "Fetches the status of a triggered validate operation. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation.\r\nIf operation has completed, this method returns the list of errors obtained while validating the operation.", + "operationId": "ValidateOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Validate Operation": { + "$ref": "./examples/AzureIaasVm/ValidateOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Backup management servers registered to Recovery Services Vault. Returns a pageable list of servers.", + "operationId": "BackupEngines_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEnginesQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Dpm/AzureBackupServer/Lajolla Backup Engines": { + "$ref": "./examples/Dpm/BackupEngines_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupEngines/{backupEngineName}": { + "get": { + "tags": [ + "BackupEngines" + ], + "description": "Returns backup management server registered to Recovery Services Vault.", + "operationId": "BackupEngines_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "backupEngineName", + "in": "path", + "description": "Name of the backup management server.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSBackupEngineQueryObject", + "x-ms-examples": { + "Get Dpm/AzureBackupServer/Lajolla Backup Engine Details": { + "$ref": "./examples/Dpm/BackupEngines_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerRefreshOperationResults" + ], + "description": "Provides the result of the refresh operation triggered by the BeginRefresh operation.", + "operationId": "ProtectionContainerRefreshOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID associated with the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Azure Vm Discovery Operation Result": { + "$ref": "./examples/Common/RefreshContainers_OperationResults.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectableContainers": { + "get": { + "tags": [ + "ProtectableContainers" + ], + "description": "Lists the containers that can be registered to Recovery Services Vault.", + "operationId": "ProtectableContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureStorage": { + "$ref": "./examples/AzureStorage/ProtectableContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}": { + "get": { + "tags": [ + "ProtectionContainers" + ], + "description": "Gets details of the specific container registered to your Recovery Services Vault.", + "operationId": "ProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container whose details need to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Container Details": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ProtectionContainers" + ], + "description": "Registers the container with Recovery Services vault.\r\nThis is an asynchronous operation. To track the operation status, use location header to call get latest status of\r\nthe operation.", + "operationId": "ProtectionContainers_Register", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container to be registered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "RegisterAzure Storage ProtectionContainers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Register.json" + } + } + }, + "delete": { + "tags": [ + "ProtectionContainers" + ], + "description": "Unregisters the given container from your Recovery Services Vault. This is an asynchronous operation. To determine\r\nwhether the backend service has finished processing the request, call Get Container Operation Result API.", + "operationId": "ProtectionContainers_Unregister", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric where the container belongs.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container which needs to be unregistered from the Recovery Services Vault.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Unregister Protection Container": { + "$ref": "./examples/AzureWorkload/ProtectionContainers_Unregister.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "summary": "Inquires all the protectable items under the given container.", + "description": "This is an async operation and the results should be tracked using location header or Azure-async-url.", + "operationId": "ProtectionContainers_Inquire", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric Name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container in which inquiry needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainersInquiryQueryObject", + "x-ms-examples": { + "Inquire Azure Storage Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/items": { + "get": { + "tags": [ + "BackupWorkloadItems" + ], + "description": "Provides a pageable list of workload item of a specific container according to the query filter and the pagination\r\nparameters.", + "operationId": "BackupWorkloadItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Name of the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSWorkloadItemQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Workload Items in Container": { + "$ref": "./examples/AzureWorkload/BackupWorkloadItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/operationResults/{operationId}": { + "get": { + "tags": [ + "ProtectionContainerOperationResults" + ], + "description": "Fetches the result of any operation on the container.", + "operationId": "ProtectionContainerOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the container.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name whose information should be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents the operation whose result needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResource" + } + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Azure Storage Protection Container Operation Result": { + "$ref": "./examples/AzureStorage/ProtectionContainers_Inquire_Result.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup": { + "post": { + "tags": [ + "Backups" + ], + "description": "Triggers backup for specified backed up item. This is an asynchronous operation. To know the status of the\r\noperation, call GetProtectedItemOperationResult API.", + "operationId": "Backups_Trigger", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item for which backup needs to be triggered.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource backup request", + "required": true, + "schema": { + "$ref": "#/definitions/BackupRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Trigger Backup": { + "$ref": "./examples/Common/TriggerBackup_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{operationId}": { + "get": { + "tags": [ + "ProtectedItemOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of the operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with the operation.", + "operationId": "ProtectedItemOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backup item.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backup item name whose details are to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID represents the operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Status of Protected Vm": { + "$ref": "./examples/AzureIaasVm/ProtectedItemOperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/provisionInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Provisions a script which invokes an iSCSI connection to the backup data. Executing this script opens a file\r\nexplorer displaying all the recoverable files and folders. This is an asynchronous operation. To know the status of\r\nprovisioning, call GetProtectedItemOperationResult API.", + "operationId": "ItemLevelRecoveryConnections_Provision", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be provisioned\r\nfor this backed up data.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "resource ILR request", + "required": true, + "schema": { + "$ref": "#/definitions/ILRRequestResource" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Provision Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Provision_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/revokeInstantItemRecovery": { + "post": { + "tags": [ + "ItemLevelRecoveryConnections" + ], + "description": "Revokes an iSCSI connection which can be used to download a script. Executing this script opens a file explorer\r\ndisplaying all recoverable files and folders. This is an asynchronous operation.", + "operationId": "ItemLevelRecoveryConnections_Revoke", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "description": "Container name associated with the backed up items.", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "description": "Backed up item name whose files/folders are to be restored.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "description": "Recovery point ID which represents backed up data. iSCSI connection will be revoked for\r\nthis backed up data.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Revoke Instant Item Level Recovery for Azure Vm": { + "$ref": "./examples/AzureIaasVm/Revoke_Ilr.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers": { + "post": { + "tags": [ + "ProtectionContainers" + ], + "description": "Discovers all the containers in the subscription that can be backed up to Recovery Services Vault. This is an\r\nasynchronous operation. To know the status of the operation, call GetRefreshOperationResult API.", + "operationId": "ProtectionContainers_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name associated the container.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSRefreshContainersQueryObject", + "x-ms-examples": { + "Trigger Azure Vm Discovery": { + "$ref": "./examples/Common/RefreshContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperationResults/{operationId}": { + "get": { + "tags": [ + "BackupOperationResults" + ], + "description": "Provides the status of the delete operations such as deleting backed up item. Once the operation has started, the\r\nstatus code in the response would be Accepted. It will continue to be in this state till it reaches completion. On\r\nsuccessful completion, the status code will be OK. This method expects OperationID as an argument. OperationID is\r\npart of the Location header of the operation response.", + "operationId": "BackupOperationResults_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Result for Protected Item Delete Operation": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupOperations/{operationId}": { + "get": { + "tags": [ + "BackupOperationStatuses" + ], + "description": "Fetches the status of an operation such as triggering a backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the OperationStatus enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs when the operation is complete.", + "operationId": "BackupOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "operationId", + "in": "path", + "description": "OperationID which represents the operation.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protected Item Delete Operation Status": { + "$ref": "./examples/Common/ProtectedItem_Delete_OperationStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}": { + "get": { + "tags": [ + "ProtectionPolicyOperationStatuses" + ], + "description": "Provides the status of the asynchronous operations like backup, restore. The status can be in progress, completed\r\nor failed. You can refer to the Operation Status enum for all the possible states of an operation. Some operations\r\ncreate jobs. This method returns the list of jobs associated with operation.", + "operationId": "ProtectionPolicyOperationStatuses_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Backup policy name whose operation's status needs to be fetched.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation ID which represents an operation whose status needs to be fetched.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Protection Policy Operation Status": { + "$ref": "./examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems": { + "get": { + "tags": [ + "BackupProtectableItems" + ], + "description": "Provides a pageable list of protectable objects within your subscription according to the query filter and the\r\npagination parameters.", + "operationId": "BackupProtectableItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken Filter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkloadProtectableItemResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSPOQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List protectable items with backupManagementType filter as AzureIaasVm": { + "$ref": "./examples/AzureIaasVm/BackupProtectableItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectionContainers": { + "get": { + "tags": [ + "BackupProtectionContainers" + ], + "description": "Lists the containers registered to Recovery Services Vault.", + "operationId": "BackupProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/BMSContainerQueryObject", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Backup Protection Containers": { + "$ref": "./examples/AzureStorage/ProtectionContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupSecurityPIN": { + "post": { + "tags": [ + "SecurityPINs" + ], + "description": "Get the security PIN.", + "operationId": "SecurityPINs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "security pin request", + "required": false, + "schema": { + "$ref": "#/definitions/SecurityPinBase" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TokenInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Vault Security Pin": { + "$ref": "./examples/Common/BackupSecurityPin_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/move": { + "post": { + "tags": [ + "RecoveryPoint" + ], + "summary": "Move recovery point from one datastore to another store.", + "operationId": "MoveRecoveryPoint", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointId", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Move Resource Across Tiers Request", + "required": true, + "schema": { + "$ref": "#/definitions/MoveRPAcrossTiersRequest" + } + } + ], + "responses": { + "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": { + "Trigger RP Move Operation": { + "$ref": "./examples/TriggerRecoveryPointMove_Post.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPointsRecommendedForMove": { + "post": { + "tags": [ + "RecoveryPointsRecommendedForMove" + ], + "description": "Lists the recovery points recommended for move to another tier", + "operationId": "RecoveryPointsRecommendedForMove_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "containerName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "protectedItemName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "List Recovery points Recommended for Move Request", + "required": true, + "schema": { + "$ref": "#/definitions/ListRecoveryPointsRecommendedForMoveRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Protected Azure Vm Recovery Points Recommended for Move": { + "$ref": "./examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies": { + "get": { + "tags": [ + "ResourceGuardProxies" + ], + "description": "List the ResourceGuardProxies under vault", + "operationId": "ResourceGuardProxies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get VaultGuardProxies": { + "$ref": "./examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}": { + "get": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Returns ResourceGuardProxy under vault and with the name referenced in request", + "operationId": "ResourceGuardProxy_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json" + } + } + }, + "put": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Add or Update ResourceGuardProxy under vault\r\nSecures vault critical operations", + "operationId": "ResourceGuardProxy_Put", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json" + } + } + }, + "delete": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Delete ResourceGuardProxy under vault", + "operationId": "ResourceGuardProxy_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupResourceGuardProxies/{resourceGuardProxyName}/unlockDelete": { + "post": { + "tags": [ + "ResourceGuardProxy" + ], + "description": "Secures delete ResourceGuardProxy operations.", + "operationId": "ResourceGuardProxy_UnlockDelete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "resourceGuardProxyName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "Request body for operation", + "required": true, + "schema": { + "$ref": "#/definitions/UnlockDeleteRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UnlockDeleteResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UnlockDelete ResourceGuardProxy": { + "$ref": "./examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json" + } + } + } + } + }, + "definitions": { + "BackupResourceEncryptionConfig": { + "type": "object", + "properties": { + "encryptionAtRestType": { + "description": "Encryption At Rest Type", + "enum": [ + "Invalid", + "MicrosoftManaged", + "CustomerManaged" + ], + "type": "string", + "x-ms-enum": { + "name": "EncryptionAtRestType", + "modelAsString": true + } + }, + "keyUri": { + "description": "Key Vault Key URI", + "type": "string" + }, + "subscriptionId": { + "description": "Key Vault Subscription Id", + "type": "string" + }, + "lastUpdateStatus": { + "enum": [ + "Invalid", + "NotEnabled", + "PartiallySucceeded", + "PartiallyFailed", + "Failed", + "Succeeded", + "Initialized", + "FirstInitialization" + ], + "type": "string", + "x-ms-enum": { + "name": "LastUpdateStatus", + "modelAsString": true + } + }, + "infrastructureEncryptionState": { + "enum": [ + "Invalid", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "BackupResourceEncryptionConfigExtended": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupResourceEncryptionConfig" + } + ], + "properties": { + "userAssignedIdentity": { + "description": "User Assigned Identity Id", + "type": "string" + }, + "useSystemAssignedIdentity": { + "description": "bool to indicate whether to use system Assigned Identity or not", + "type": "boolean" + } + } + }, + "BackupResourceEncryptionConfigExtendedResource": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfigExtended", + "description": "BackupResourceEncryptionConfigExtendedResource properties" + } + } + }, + "BackupResourceEncryptionConfigResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceEncryptionConfig", + "description": "BackupResourceEncryptionConfigResource properties" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection", + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Gets or sets private endpoint associated with the private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Gets or sets private link service connection state" + } + } + }, + "PrivateEndpointConnectionResource": { + "description": "Private Endpoint Connection Response Properties", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection", + "description": "PrivateEndpointConnectionResource properties" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Private Link Service Connection State", + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description", + "type": "string" + }, + "actionRequired": { + "description": "Gets or sets actions required", + "type": "string" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "type": "object", + "$ref": "#/definitions/CloudErrorBody", + "description": "The error object." + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "A list of additional details about the error." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + }, + "description": "An error response from the Container Instance service." + }, + "NewErrorResponse": { + "properties": { + "error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "readOnly": true, + "type": "string", + "description": "The error code." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The error message." + }, + "target": { + "readOnly": true, + "type": "string", + "description": "The error target." + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NewErrorResponse" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + } + }, + "description": "The resource management error response." + }, + "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 + } + }, + "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" + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "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" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "fileShareSnapshotUri": { + "description": "Contains Url to the snapshot of fileshare, if applicable", + "type": "string" + }, + "recoveryPointSizeInGB": { + "format": "int32", + "description": "Contains recovery point size", + "type": "integer" + } + }, + "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 + } + } + }, + "ResourceHealthDetails": { + "description": "Health Details for backup items.", + "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 + } + } + }, + "AzureIaaSVMHealthDetails": { + "description": "Azure IaaS VM workload-specific Health Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceHealthDetails" + } + ] + }, + "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." + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AzureIaaSVMJob" + }, + "AzureIaaSVMJobV2": { + "description": "Azure IaaS VM workload-specific job object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Job" + } + ], + "properties": { + "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 + } + } + }, + "containerName": { + "description": "Container name of the entity on which the current job is executing.", + "type": "string" + }, + "duration": { + "format": "duration", + "description": "Time elapsed during the execution of this job.", + "type": "string" + }, + "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": "AzureIaaSVMJobV2" + }, + "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" + } + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + }, + "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" + }, + "policyType": { + "enum": [ + "Invalid", + "V1", + "V2" + ], + "type": "string", + "x-ms-enum": { + "name": "IAASVMPolicyType", + "modelAsString": true + } + } + }, + "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." + }, + "isUserTriggered": { + "description": "Indicated that whether the job is adhoc(true) or scheduled(false)", + "type": "boolean" + } + }, + "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." + }, + "kpisHealths": { + "description": "Health details of different KPIs", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/KPIResourceHealthDetails" + } + } + }, + "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" + }, + "recoveryModel": { + "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" + }, + "type": { + "description": "Type of restore point", + "enum": [ + "Invalid", + "Full", + "Log", + "Differential", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "RestorePointType", + "modelAsString": true + } + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + } + }, + "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 + } + }, + "targetVirtualMachineId": { + "description": "This is the complete ARM Id of the target VM\r\nFor e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm}", + "type": "string" + } + }, + "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" + }, + "dataDirectoryPaths": { + "description": "List of data directory paths during restore operation.", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + } + }, + "AzureWorkloadSQLRestoreRequest": { + "description": "AzureWorkload SQL -specific restore. Specifically for full/diff restore", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadRestoreRequest" + } + ], + "properties": { + "shouldUseAlternateTargetLocation": { + "description": "Default option set to true. If this is set to false, alternate data directory must be provided", + "type": "boolean" + }, + "isNonRecoverable": { + "description": "SQL specific property where user can chose to set no-recovery when restore operation is tried", + "type": "boolean" + }, + "alternateDirectoryPaths": { + "description": "Data directory details", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectoryMapping" + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreRequest" + }, + "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", + "Incremental" + ], + "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" + }, + "moveReadyRPOnly": { + "description": "Whether the RP can be moved to another tier", + "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" + } + } + }, + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name for shoebox log specification.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "blob duration of shoebox log specification", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } + } + } + }, + "ClientDiscoveryResponse": { + "description": "Operations List response which contains list of available APIs.", + "type": "object", + "properties": { + "value": { + "description": "List of available operations.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" + } + }, + "nextLink": { + "description": "Link to the next chunk of Response.", + "type": "string" + } + } + }, + "ClientDiscoveryValueForSingleApi": { + "description": "Available operation details.", + "type": "object", + "properties": { + "name": { + "description": "Name of the Operation.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/ClientDiscoveryDisplay", + "description": "Contains the localized display information for this particular operation" + }, + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." + } + } + }, + "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" + }, + "BackupResourceConfigResource": { + "description": "The resource storage details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceConfig", + "description": "BackupResourceConfigResource properties" + } + } + }, + "BackupResourceConfig": { + "description": "The resource storage details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "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 + } + }, + "crossRegionRestoreFlag": { + "description": "Opt in details of Cross Region Restore feature.", + "type": "boolean" + }, + "dedupState": { + "description": "Vault Dedup state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "dedupState", + "modelAsString": true + } + }, + "xcoolState": { + "description": "Vault x-cool state", + "enum": [ + "Invalid", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "xcoolState", + "modelAsString": true + } + } + } + }, + "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." + }, + "linuxVmApplicationName": { + "description": "Linux VM name", + "type": "string" + } + } + }, + "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" + }, + "HourlySchedule": { + "type": "object", + "properties": { + "interval": { + "format": "int32", + "description": "Interval at which backup needs to be triggered. For hourly the value\r\n can be 4/6/8/12", + "type": "integer" + }, + "scheduleWindowStartTime": { + "format": "date-time", + "description": "To specify start time of the backup window", + "type": "string" + }, + "scheduleWindowDuration": { + "format": "int32", + "description": "To specify duration of the backup window", + "type": "integer" + } + } + }, + "DailySchedule": { + "type": "object", + "properties": { + "scheduleRunTimes": { + "description": "List of times of day this schedule has to be run.", + "type": "array", + "items": { + "format": "date-time", + "type": "string" + } + } + } + }, + "WeeklySchedule": { + "type": "object", + "properties": { + "scheduleRunDays": { + "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" + } + } + } + }, + "IdentityBasedRestoreDetails": { + "description": "IaaS VM workload specific restore details for restores using managed identity", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "Fully qualified ARM ID of the target storage account.", + "type": "string" + } + } + }, + "IdentityInfo": { + "description": "Encapsulates Managed Identity related information", + "type": "object", + "properties": { + "isSystemAssignedIdentity": { + "description": "To differentiate if the managed identity is system assigned or user assigned", + "type": "boolean" + }, + "managedIdentityResourceId": { + "description": "Managed Identity Resource Id\r\nOptional: Might not be required in the case of system assigned managed identity", + "type": "string" + } + } + }, + "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" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "Time at which this backup copy was created.", + "type": "string" + }, + "recoveryPointAdditionalInfo": { + "description": "Additional information associated with this backup copy.", + "type": "string" + }, + "sourceVMStorageType": { + "description": "Storage type of the VM whose backup copy is created.", + "type": "string" + }, + "isSourceVMEncrypted": { + "description": "Identifies whether the VM was encrypted when the backup copy is created.", + "type": "boolean" + }, + "keyAndSecret": { + "$ref": "#/definitions/KeyAndSecretDetails", + "description": "Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true." + }, + "isInstantIlrSessionActive": { + "description": "Is the session to recover items from this backup copy still active.", + "type": "boolean" + }, + "recoveryPointTierDetails": { + "description": "Recovery point tier information.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPointTierInformationV2" + } + }, + "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" + }, + "zones": { + "description": "Identifies the zone of the VM at the time of backup. Applicable only for zone-pinned Vms", + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPointMoveReadinessInfo": { + "description": "Eligibility of RP to be moved to another tier", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RecoveryPointMoveReadinessInfo" + } + } + }, + "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" + } + }, + "restoreWithManagedDisks": { + "description": "Flag to denote of an Unmanaged disk VM should be restored with Managed disks.", + "type": "boolean" + }, + "diskEncryptionSetId": { + "description": "DiskEncryptionSet's ID - needed if the VM needs to be encrypted at rest during restore with customer managed key.", + "type": "string" + }, + "zones": { + "description": "Target zone where the VM and its disks should be restored.", + "type": "array", + "items": { + "type": "string" + } + }, + "identityInfo": { + "$ref": "#/definitions/IdentityInfo", + "description": "Managed Identity information required to access customer storage account." + }, + "identityBasedRestoreDetails": { + "$ref": "#/definitions/IdentityBasedRestoreDetails", + "description": "IaaS VM workload specific restore details for restores using managed identity." + } + }, + "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", + "UpdateCustomerManagedKey" + ], + "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" + }, + "KPIResourceHealthDetails": { + "description": "KPI Resource Health Details", + "type": "object", + "properties": { + "resourceHealthStatus": { + "description": "Resource Health Status", + "enum": [ + "Healthy", + "TransientDegraded", + "PersistentDegraded", + "TransientUnhealthy", + "PersistentUnhealthy", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceHealthStatus", + "modelAsString": true + } + }, + "resourceHealthDetails": { + "description": "Resource Health Status", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceHealthDetails" + } + } + } + }, + "PrepareDataMoveRequest": { + "description": "Prepare DataMove Request", + "required": [ + "targetResourceId", + "targetRegion", + "dataMoveLevel" + ], + "type": "object", + "properties": { + "targetResourceId": { + "description": "ARM Id of target vault", + "type": "string" + }, + "targetRegion": { + "description": "Target Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds\r\nThis needs to be populated only if DataMoveLevel is set to container", + "type": "array", + "items": { + "type": "string" + } + }, + "ignoreMoved": { + "description": "Ignore the artifacts which are already moved.", + "type": "boolean" + } + } + }, + "PrepareDataMoveResponse": { + "description": "Prepare DataMove Response", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/VaultStorageConfigOperationResultResponse" + } + ], + "properties": { + "correlationId": { + "description": "Co-relationId for move operation", + "type": "string" + }, + "sourceVaultProperties": { + "description": "Source Vault Properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "PrepareDataMoveResponse" + }, + "VaultStorageConfigOperationResultResponse": { + "description": "Operation result response for Vault Storage Config", + "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" + }, + "TriggerDataMoveRequest": { + "description": "Trigger DataMove Request", + "required": [ + "sourceResourceId", + "sourceRegion", + "dataMoveLevel", + "correlationId" + ], + "type": "object", + "properties": { + "sourceResourceId": { + "description": "ARM Id of source vault", + "type": "string" + }, + "sourceRegion": { + "description": "Source Region", + "type": "string" + }, + "dataMoveLevel": { + "description": "DataMove Level", + "enum": [ + "Invalid", + "Vault", + "Container" + ], + "type": "string", + "x-ms-enum": { + "name": "DataMoveLevel", + "modelAsString": true + } + }, + "correlationId": { + "description": "Correlation Id", + "type": "string" + }, + "sourceContainerArmIds": { + "description": "Source Container ArmIds", + "type": "array", + "items": { + "type": "string" + } + }, + "pauseGC": { + "description": "Pause GC", + "type": "boolean" + } + } + }, + "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" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuardOperationRequests on which LAC check will be performed", + "type": "array", + "items": { + "type": "string" + } + }, + "isArchiveEnabled": { + "description": "Flag to identify whether datasource is protected in archive", + "type": "boolean" + }, + "policyName": { + "description": "Name of the policy used for protection", + "type": "string" + } + }, + "discriminator": "protectedItemType" + }, + "ProtectedItemQueryObject": { + "description": "Filters to list backup items.", + "type": "object", + "properties": { + "healthState": { + "description": "Health State for the backed up item.", + "enum": [ + "Passed", + "ActionRequired", + "ActionSuggested", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthState", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Backup management type for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "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" + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "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", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": false + } + }, + "extendedInfo": { + "description": "Recovery point tier status.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "RecoveryPointTierInformationV2": { + "description": "RecoveryPoint Tier Information V2", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPointTierInformation" + } + ], + "properties": { + "type": { + "description": "Recovery point tier type.", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": true + } + }, + "status": { + "description": "Recovery point tier status.", + "enum": [ + "Invalid", + "Valid", + "Disabled", + "Deleted", + "Rehydrated" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierStatus", + "modelAsString": true + } + } + } + }, + "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", + "Hourly" + ], + "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" + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "Hourly Schedule of this Policy" + }, + "scheduleWeeklyFrequency": { + "format": "int32", + "description": "At every number weeks this schedule has to be run.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicy" + }, + "SimpleSchedulePolicyV2": { + "description": "The V2 policy schedule for IaaS that supports hourly backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SchedulePolicy" + } + ], + "properties": { + "scheduleRunFrequency": { + "description": "Frequency of the schedule operation of this policy.", + "enum": [ + "Invalid", + "Daily", + "Weekly", + "Hourly" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleRunType", + "modelAsString": true + } + }, + "hourlySchedule": { + "$ref": "#/definitions/HourlySchedule", + "description": "hourly schedule of this policy" + }, + "dailySchedule": { + "$ref": "#/definitions/DailySchedule", + "description": "Daily schedule of this policy" + }, + "weeklySchedule": { + "$ref": "#/definitions/WeeklySchedule", + "description": "Weekly schedule of this policy" + } + }, + "x-ms-discriminator-value": "SimpleSchedulePolicyV2" + }, + "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", + "Incremental" + ], + "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." + } + } + }, + "BackupResourceVaultConfigResource": { + "description": "Backup resource vault config details.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupResourceVaultConfig", + "description": "BackupResourceVaultConfigResource properties" + } + } + }, + "BackupResourceVaultConfig": { + "description": "Backup resource vault config details.", + "type": "object", + "properties": { + "storageModelType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageType": { + "description": "Storage type.", + "enum": [ + "Invalid", + "GeoRedundant", + "LocallyRedundant", + "ZoneRedundant", + "ReadAccessGeoZoneRedundant" + ], + "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 + } + }, + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + }, + "isSoftDeleteFeatureStateEditable": { + "description": "Is soft delete feature state editable", + "type": "boolean" + } + } + }, + "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." + } + } + }, + "VaultJob": { + "description": "Vault level 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/VaultJobErrorInfo" + } + }, + "extendedInfo": { + "$ref": "#/definitions/VaultJobExtendedInfo", + "description": "Additional information about the job." + } + }, + "x-ms-discriminator-value": "VaultJob" + }, + "VaultJobErrorInfo": { + "description": "Vault Job 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" + } + } + } + }, + "VaultJobExtendedInfo": { + "description": "Vault Job for CMK - has CMK specific info.", + "type": "object", + "properties": { + "propertyBag": { + "description": "Job properties.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AzureBackupServerContainer": { + "description": "AzureBackupServer (DPMVenus) workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DpmContainer" + } + ], + "x-ms-discriminator-value": "AzureBackupServerContainer" + }, + "AzureBackupServerEngine": { + "description": "Backup engine type when Azure Backup Server is used to manage the backups.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "AzureBackupServerEngine" + }, + "AzureFileShareBackupRequest": { + "description": "AzureFileShare workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareBackupRequest" + }, + "AzureFileShareProtectableItem": { + "description": "Protectable item for Azure Fileshare workloads.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentContainerFabricId": { + "description": "Full Fabric ID of container to which this protectable item belongs. For example, ARM ID.", + "type": "string" + }, + "parentContainerFriendlyName": { + "description": "Friendly name of container to which this protectable item belongs.", + "type": "string" + }, + "azureFileShareType": { + "description": "File Share type XSync or XSMB.", + "enum": [ + "Invalid", + "XSMB", + "XSync" + ], + "type": "string", + "x-ms-enum": { + "name": "AzureFileShareType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureFileShare" + }, + "AzureFileShareProvisionILRRequest": { + "description": "Update snapshot Uri with the correct friendly Name of the source Azure file share.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "Recovery point ID.", + "type": "string" + }, + "sourceResourceId": { + "description": "Source Storage account ARM Id", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureFileShareProvisionILRRequest" + }, + "AzureIaaSClassicComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing a classic virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSClassicComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Classic Compute VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.ClassicCompute/virtualMachines" + }, + "AzureIaaSComputeVMContainer": { + "description": "IaaS VM workload-specific backup item representing an Azure Resource Manager virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMContainer" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureIaaSComputeVMProtectableItem": { + "description": "IaaS VM workload-specific backup item representing the Azure Resource Manager VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaaSVMProtectableItem" + } + ], + "x-ms-discriminator-value": "Microsoft.Compute/virtualMachines" + }, + "AzureSQLAGWorkloadContainerProtectionContainer": { + "description": "Container for SQL workloads under SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "SQLAGWorkLoadContainer" + }, + "AzureSqlContainer": { + "description": "Azure Sql workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "x-ms-discriminator-value": "AzureSqlContainer" + }, + "AzureStorageContainer": { + "description": "Azure Storage Account workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "Fully qualified ARM url.", + "type": "string" + }, + "storageAccountVersion": { + "description": "Storage account version.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "acquireStorageAccountLock": { + "description": "Whether storage account lock is to be acquired for this container or not.", + "enum": [ + "Acquire", + "NotAcquire" + ], + "type": "string", + "x-ms-enum": { + "name": "AcquireStorageAccountLock", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureStorageProtectableContainer": { + "description": "Azure Storage-specific protectable containers", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "StorageContainer" + }, + "AzureVMAppContainerProtectableContainer": { + "description": "Azure workload-specific container", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectableContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVMAppContainerProtectionContainer": { + "description": "Container for SQL workloads under Azure Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadContainer" + } + ], + "x-ms-discriminator-value": "VMAppContainer" + }, + "AzureVmWorkloadItem": { + "description": "Azure VM workload-specific workload item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if workload item is auto-protectable", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subWorkloadItemCount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadItem" + }, + "AzureVmWorkloadProtectableItem": { + "description": "Azure VM workload-specific protectable item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "parentName": { + "description": "Name for instance or AG", + "type": "string" + }, + "parentUniqueName": { + "description": "Parent Unique Name is added to provide the service formatted URI Name of the Parent\r\nOnly Applicable for data bases where the parent would be either Instance or a SQL AG.", + "type": "string" + }, + "serverName": { + "description": "Host/Cluster Name for instance or AG", + "type": "string" + }, + "isAutoProtectable": { + "description": "Indicates if protectable item is auto-protectable", + "type": "boolean" + }, + "isAutoProtected": { + "description": "Indicates if protectable item is auto-protected", + "type": "boolean" + }, + "subinquireditemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's present", + "type": "integer" + }, + "subprotectableitemcount": { + "format": "int32", + "description": "For instance or AG, indicates number of DB's to be protected", + "type": "integer" + }, + "prebackupvalidation": { + "$ref": "#/definitions/PreBackupValidation", + "description": "Pre-backup validation for protectable objects" + } + }, + "x-ms-discriminator-value": "AzureVmWorkloadProtectableItem" + }, + "AzureVmWorkloadSAPAseDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseDatabase" + }, + "AzureVmWorkloadSAPAseSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPAseSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP ASE System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPAseSystem" + }, + "AzureVmWorkloadSAPHanaDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaDatabase" + }, + "AzureVmWorkloadSAPHanaSystemProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSAPHanaSystemWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SAP HANA System.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SAPHanaSystem" + }, + "AzureVmWorkloadSQLAvailabilityGroupProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Availability Group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLAvailabilityGroupContainer" + }, + "AzureVmWorkloadSQLDatabaseProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLDatabaseWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Database.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "x-ms-discriminator-value": "SQLDataBase" + }, + "AzureVmWorkloadSQLInstanceProtectableItem": { + "description": "Azure VM workload-specific protectable item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadProtectableItem" + } + ], + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureVmWorkloadSQLInstanceWorkloadItem": { + "description": "Azure VM workload-specific workload item representing SQL Instance.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureVmWorkloadItem" + } + ], + "properties": { + "dataDirectoryPaths": { + "description": "Data Directory Paths for default directories", + "type": "array", + "items": { + "$ref": "#/definitions/SQLDataDirectory" + } + } + }, + "x-ms-discriminator-value": "SQLInstance" + }, + "AzureWorkloadBackupRequest": { + "description": "AzureWorkload workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "backupType": { + "description": "Type of backup, viz. Full, Differential, Log or CopyOnlyFull", + "enum": [ + "Invalid", + "Full", + "Differential", + "Log", + "CopyOnlyFull", + "Incremental" + ], + "type": "string", + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "enableCompression": { + "description": "Bool for Compression setting", + "type": "boolean" + }, + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureWorkloadBackupRequest" + }, + "AzureBackupGoalFeatureSupportRequest": { + "description": "Azure backup goal feature specific request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "x-ms-discriminator-value": "AzureBackupGoals" + }, + "AzureRecoveryServiceVaultProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "RecoveryServiceVaultItem" + }, + "AzureResourceProtectionIntent": { + "description": "IaaS VM specific backup protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the VM represented by this backup item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureResourceItem" + }, + "AzureVMResourceFeatureSupportRequest": { + "description": "AzureResource(IaaS VM) Specific feature support request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FeatureSupportRequest" + } + ], + "properties": { + "vmSize": { + "description": "Size of the resource: VM size(A/D series etc) in case of IaasVM", + "type": "string" + }, + "vmSku": { + "description": "SKUs (Premium/Managed etc) in case of IaasVM", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureVMResourceBackup" + }, + "AzureVMResourceFeatureSupportResponse": { + "description": "Response for feature support requests for Azure IaasVm", + "type": "object", + "properties": { + "supportStatus": { + "description": "Support status of feature", + "enum": [ + "Invalid", + "Supported", + "DefaultOFF", + "DefaultON", + "NotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "SupportStatus", + "modelAsString": true + } + } + } + }, + "AzureWorkloadContainerAutoProtectionIntent": { + "description": "Azure workload specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadContainerAutoProtectionIntent" + }, + "AzureWorkloadAutoProtectionIntent": { + "description": "Azure Recovery Services Vault specific protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureRecoveryServiceVaultProtectionIntent" + } + ], + "x-ms-discriminator-value": "AzureWorkloadAutoProtectionIntent" + }, + "AzureWorkloadSQLAutoProtectionIntent": { + "description": "Azure Workload SQL Auto Protection intent item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadAutoProtectionIntent" + } + ], + "properties": { + "workloadItemType": { + "description": "Workload item type of the item for which intent is to be set", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLAutoProtectionIntent" + }, + "BackupManagementUsage": { + "description": "Backup management usages of a vault.", + "type": "object", + "properties": { + "unit": { + "description": "Unit of the usage.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagesUnit", + "modelAsString": true + } + }, + "quotaPeriod": { + "description": "Quota period of usage.", + "type": "string" + }, + "nextResetTime": { + "format": "date-time", + "description": "Next reset time of usage.", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value of usage.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "Limit of usage.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/NameInfo", + "description": "Name of usage." + } + } + }, + "BackupManagementUsageList": { + "description": "Backup management usage for vault.", + "type": "object", + "properties": { + "value": { + "description": "The list of backup management usages for the given vault.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupManagementUsage" + } + } + } + }, + "BackupStatusRequest": { + "description": "BackupStatus request.", + "type": "object", + "properties": { + "resourceType": { + "description": "Container Type - VM, SQLPaaS, DPM, AzureFileShare...", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "Entire ARM resource id of the resource", + "type": "string" + }, + "poLogicalName": { + "description": "Protectable Item Logical Name", + "type": "string" + } + } + }, + "BackupStatusResponse": { + "description": "BackupStatus response.", + "type": "object", + "properties": { + "protectionStatus": { + "description": "Specifies whether the container is registered or not", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + }, + "vaultId": { + "description": "Specifies the arm resource id of the vault", + "type": "string" + }, + "fabricName": { + "description": "Specifies the fabric name - Azure or AD", + "enum": [ + "Invalid", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "FabricName", + "modelAsString": true + } + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;csname;vmname.", + "type": "string" + }, + "errorCode": { + "description": "ErrorCode in case of intent failed", + "type": "string" + }, + "errorMessage": { + "description": "ErrorMessage in case of intent failed.", + "type": "string" + }, + "policyName": { + "description": "Specifies the policy name which is used for protection", + "type": "string" + }, + "registrationStatus": { + "description": "Container registration status", + "type": "string" + } + } + }, + "BMSBackupSummariesQueryObject": { + "description": "Query parameters to fetch backup summaries.", + "type": "object", + "properties": { + "type": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "BackupProtectedItemCountSummary", + "BackupProtectionContainerCountSummary" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "FeatureSupportRequest": { + "description": "Base class for feature request", + "required": [ + "featureType" + ], + "type": "object", + "properties": { + "featureType": { + "description": "backup support feature type.", + "type": "string" + } + }, + "discriminator": "featureType" + }, + "NameInfo": { + "description": "The name of usage.", + "type": "object", + "properties": { + "value": { + "description": "Value of usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized value of usage.", + "type": "string" + } + } + }, + "PreValidateEnableBackupRequest": { + "description": "Contract to validate if backup can be enabled on the given resource in a given vault and given configuration.\r\nIt will validate followings\r\n1. Vault capacity\r\n2. VM is already protected\r\n3. Any VM related configuration passed in properties.", + "type": "object", + "properties": { + "resourceType": { + "description": "ProtectedItem Type- VM, SqlDataBase, AzureFileShare etc", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSourceType", + "modelAsString": true + } + }, + "resourceId": { + "description": "ARM Virtual Machine Id", + "type": "string" + }, + "vaultId": { + "description": "ARM id of the Recovery Services Vault", + "type": "string" + }, + "properties": { + "description": "Configuration of VM if any needs to be validated like OS type etc", + "type": "string" + } + } + }, + "PreValidateEnableBackupResponse": { + "description": "Response contract for enable backup validation request", + "type": "object", + "properties": { + "status": { + "description": "Validation Status", + "enum": [ + "Invalid", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true + } + }, + "errorCode": { + "description": "Response error code", + "type": "string" + }, + "errorMessage": { + "description": "Response error message", + "type": "string" + }, + "recommendation": { + "description": "Recommended action for user", + "type": "string" + }, + "containerName": { + "description": "Specifies the product specific container name. E.g. iaasvmcontainer;iaasvmcontainer;rgname;vmname. This is required\r\nfor portal", + "type": "string" + }, + "protectedItemName": { + "description": "Specifies the product specific ds name. E.g. vm;iaasvmcontainer;rgname;vmname. This is required for portal", + "type": "string" + } + } + }, + "ProtectionIntent": { + "description": "Base class for backup ProtectionIntent.", + "required": [ + "protectionIntentItemType" + ], + "type": "object", + "properties": { + "protectionIntentItemType": { + "description": "backup protectionIntent type.", + "enum": [ + "Invalid", + "AzureResourceItem", + "RecoveryServiceVaultItem", + "AzureWorkloadContainerAutoProtectionIntent", + "AzureWorkloadAutoProtectionIntent", + "AzureWorkloadSQLAutoProtectionIntent" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionIntentItemType", + "modelAsString": true + } + }, + "backupManagementType": { + "description": "Type of backup management for the backed up item.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "sourceResourceId": { + "description": "ARM ID of the resource to be backed up.", + "type": "string" + }, + "itemId": { + "description": "ID of the item which is getting protected, In case of Azure Vm , it is ProtectedItemId", + "type": "string" + }, + "policyId": { + "description": "ID of the backup policy with which this item is backed up.", + "type": "string" + }, + "protectionState": { + "description": "Backup state of this backup item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectionIntentItemType" + }, + "ProtectionIntentQueryObject": { + "description": "Filters to list protection intent.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backed up item", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "itemType": { + "description": "Type of workload this item represents", + "enum": [ + "Invalid", + "SQLInstance", + "SQLAvailabilityGroupContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "IntentItemType", + "modelAsString": true + } + }, + "parentName": { + "description": "Parent name of the intent", + "type": "string" + }, + "itemName": { + "description": "Item name of the intent", + "type": "string" + } + } + }, + "ProtectionIntentResource": { + "description": "Base class for backup ProtectionIntent.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionIntent", + "description": "ProtectionIntentResource properties" + } + } + }, + "ProtectionIntentResourceList": { + "description": "List of ProtectionIntent resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionIntentResource" + } + } + } + }, + "AzureWorkloadContainer": { + "description": "Container for the workloads running inside Azure Compute or Classic Compute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "sourceResourceId": { + "description": "ARM ID of the virtual machine represented by this Azure Workload Container", + "type": "string" + }, + "lastUpdatedTime": { + "format": "date-time", + "description": "Time stamp when this container was updated.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/AzureWorkloadContainerExtendedInfo", + "description": "Additional details of a workload container." + }, + "workloadType": { + "description": "Workload type for which registration was sent.", + "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 + } + }, + "operationType": { + "description": "Re-Do Operation", + "enum": [ + "Invalid", + "Register", + "Reregister" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AzureWorkloadContainer" + }, + "AzureWorkloadContainerExtendedInfo": { + "description": "Extended information of the container.", + "type": "object", + "properties": { + "hostServerName": { + "description": "Host Os Name in case of Stand Alone and Cluster Name in case of distributed container.", + "type": "string" + }, + "inquiryInfo": { + "$ref": "#/definitions/InquiryInfo", + "description": "Inquiry Status for the container." + }, + "nodesList": { + "description": "List of the nodes in case of distributed container.", + "type": "array", + "items": { + "$ref": "#/definitions/DistributedNodesInfo" + } + } + } + }, + "BackupEngineBase": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "type": "object", + "required": [ + "backupEngineType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Registration status of the backup engine with the Recovery Services Vault.", + "type": "string" + }, + "backupEngineState": { + "description": "Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed}", + "type": "string" + }, + "healthStatus": { + "description": "Backup status of the backup engine.", + "type": "string" + }, + "backupEngineType": { + "description": "Type of the backup engine.", + "enum": [ + "Invalid", + "DpmBackupEngine", + "AzureBackupServerEngine" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupEngineType", + "modelAsString": true + } + }, + "canReRegister": { + "description": "Flag indicating if the backup engine be registered, once already registered.", + "type": "boolean" + }, + "backupEngineId": { + "description": "ID of the backup engine.", + "type": "string" + }, + "dpmVersion": { + "description": "Backup engine version", + "type": "string" + }, + "azureBackupAgentVersion": { + "description": "Backup agent version", + "type": "string" + }, + "isAzureBackupAgentUpgradeAvailable": { + "description": "To check if backup agent upgrade available", + "type": "boolean" + }, + "isDpmUpgradeAvailable": { + "description": "To check if backup engine upgrade available", + "type": "boolean" + }, + "extendedInfo": { + "$ref": "#/definitions/BackupEngineExtendedInfo", + "description": "Extended info of the backupengine" + } + }, + "discriminator": "backupEngineType" + }, + "BackupEngineBaseResource": { + "description": "The base backup engine class. All workload specific backup engines derive from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupEngineBase", + "description": "BackupEngineBaseResource properties" + } + } + }, + "BackupEngineBaseResourceList": { + "description": "List of BackupEngineBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BackupEngineBaseResource" + } + } + } + }, + "BackupEngineExtendedInfo": { + "description": "Additional information on backup engine.", + "type": "object", + "properties": { + "databaseName": { + "description": "Database name of backup engine.", + "type": "string" + }, + "protectedItemsCount": { + "format": "int32", + "description": "Number of protected items in the backup engine.", + "type": "integer" + }, + "protectedServersCount": { + "format": "int32", + "description": "Number of protected servers in the backup engine.", + "type": "integer" + }, + "diskCount": { + "format": "int32", + "description": "Number of disks in the backup engine.", + "type": "integer" + }, + "usedDiskSpace": { + "format": "double", + "description": "Disk space used in the backup engine.", + "type": "number" + }, + "availableDiskSpace": { + "format": "double", + "description": "Disk space currently available in the backup engine.", + "type": "number" + }, + "refreshedAt": { + "format": "date-time", + "description": "Last refresh time in the backup engine.", + "type": "string" + }, + "azureProtectedInstances": { + "format": "int32", + "description": "Protected instances in the backup engine.", + "type": "integer" + } + } + }, + "BackupRequest": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "BackupRequestResource": { + "description": "Base class for backup request. Workload-specific backup requests are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BackupRequest", + "description": "BackupRequestResource properties" + } + } + }, + "BMSBackupEngineQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "expand": { + "description": "attribute to add extended info", + "type": "string" + } + } + }, + "BMSBackupEnginesQueryObject": { + "description": "Query parameters to fetch list of backup engines.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for the backup engine.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "friendlyName": { + "description": "Friendly name of the backup engine.", + "type": "string" + }, + "expand": { + "description": "Attribute to add extended info.", + "type": "string" + } + } + }, + "BMSContainerQueryObject": { + "description": "The query filters that can be used with the list containers API.", + "required": [ + "backupManagementType" + ], + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "containerType": { + "description": "Type of container for filter", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } + }, + "backupEngineName": { + "description": "Backup engine name", + "type": "string" + }, + "fabricName": { + "description": "Fabric name for filter", + "type": "string" + }, + "status": { + "description": "Status of registration of this container with the Recovery Services Vault.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of this container.", + "type": "string" + } + } + }, + "BMSContainersInquiryQueryObject": { + "description": "The query filters that can be used with the inquire container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type for this container.", + "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 + } + } + } + }, + "BMSPOQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "containerName": { + "description": "Full name of the container whose Protectable Objects should be returned.", + "type": "string" + }, + "status": { + "description": "Backup status query parameter.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name.", + "type": "string" + } + } + }, + "BMSRefreshContainersQueryObject": { + "description": "The query filters that can be used with the refresh container API.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type for this container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + } + } + }, + "BMSWorkloadItemQueryObject": { + "description": "Filters to list items that can be backed up.", + "type": "object", + "properties": { + "backupManagementType": { + "description": "Backup management type.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureSql", + "AzureBackupServer", + "AzureWorkload", + "AzureStorage", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "workloadItemType": { + "description": "Workload Item type", + "enum": [ + "Invalid", + "SQLInstance", + "SQLDataBase", + "SAPHanaSystem", + "SAPHanaDatabase", + "SAPAseSystem", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadItemType", + "modelAsString": true + } + }, + "workloadType": { + "description": "Workload type", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true + } + }, + "protectionStatus": { + "description": "Backup status query parameter.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + } + }, + "ClientScriptForConnect": { + "description": "Client script details for file / folder restore.", + "type": "object", + "properties": { + "scriptContent": { + "description": "File content of the client script for file / folder restore.", + "type": "string" + }, + "scriptExtension": { + "description": "File extension of the client script for file / folder restore - .ps1 , .sh , etc.", + "type": "string" + }, + "osType": { + "description": "OS type - Windows, Linux etc. for which this file / folder restore client script works.", + "type": "string" + }, + "url": { + "description": "URL of Executable from where to source the content. If this is not null then ScriptContent should not be used", + "type": "string" + }, + "scriptNameSuffix": { + "description": "Mandatory suffix that should be added to the name of script that is given for download to user.\r\nIf its null or empty then , ignore it.", + "type": "string" + } + } + }, + "ContainerIdentityInfo": { + "description": "Container identity information", + "type": "object", + "properties": { + "uniqueName": { + "description": "Unique name of the container", + "type": "string" + }, + "aadTenantId": { + "description": "Protection container identity - AAD Tenant", + "type": "string" + }, + "servicePrincipalClientId": { + "description": "Protection container identity - AAD Service Principal", + "type": "string" + }, + "audience": { + "description": "Protection container identity - Audience", + "type": "string" + } + } + }, + "DistributedNodesInfo": { + "description": "This is used to represent the various nodes of the distributed container.", + "type": "object", + "properties": { + "nodeName": { + "description": "Name of the node under a distributed container.", + "type": "string" + }, + "status": { + "description": "Status of this Node.\r\nFailed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + } + } + }, + "DpmBackupEngine": { + "description": "Data Protection Manager (DPM) specific backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupEngineBase" + } + ], + "x-ms-discriminator-value": "DpmBackupEngine" + }, + "DpmContainer": { + "description": "DPM workload-specific protection container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Specifies whether the container is re-registrable.", + "type": "boolean" + }, + "containerId": { + "description": "ID of container.", + "type": "string" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of protected items in the BackupEngine", + "type": "integer" + }, + "dpmAgentVersion": { + "description": "Backup engine Agent version", + "type": "string" + }, + "dpmServers": { + "description": "List of BackupEngines protecting the container", + "type": "array", + "items": { + "type": "string" + } + }, + "upgradeAvailable": { + "description": "To check if upgrade available", + "type": "boolean" + }, + "protectionStatus": { + "description": "Protection status of the container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/DPMContainerExtendedInfo", + "description": "Extended Info of the container." + } + }, + "x-ms-discriminator-value": "DPMContainer" + }, + "DPMContainerExtendedInfo": { + "description": "Additional information of the DPMContainer.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Last refresh time of the DPMContainer.", + "type": "string" + } + } + }, + "GenericContainer": { + "description": "Base class for generic container of backup items", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "fabricName": { + "description": "Name of the container's fabric", + "type": "string" + }, + "extendedInformation": { + "$ref": "#/definitions/GenericContainerExtendedInfo", + "description": "Extended information (not returned in List container API calls)" + } + }, + "x-ms-discriminator-value": "GenericContainer" + }, + "GenericContainerExtendedInfo": { + "description": "Container extended information", + "type": "object", + "properties": { + "rawCertData": { + "description": "Public key of container cert", + "type": "string" + }, + "containerIdentityInfo": { + "$ref": "#/definitions/ContainerIdentityInfo", + "description": "Container identity information" + }, + "serviceEndpoints": { + "description": "Azure Backup Service Endpoints for the container", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "IaasVMBackupRequest": { + "description": "IaaS VM workload-specific backup request.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequest" + } + ], + "properties": { + "recoveryPointExpiryTimeInUTC": { + "format": "date-time", + "description": "Backup copy will expire after the time specified (UTC).", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMBackupRequest" + }, + "IaaSVMContainer": { + "description": "IaaS VM workload-specific container.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaasVMContainer" + }, + "IaasVMILRRegistrationRequest": { + "description": "Restore files/folders from a backup copy of IaaS VM.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ILRRequest" + } + ], + "properties": { + "recoveryPointId": { + "description": "ID of the IaaS VM backup copy from where the files/folders have to be restored.", + "type": "string" + }, + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored.", + "type": "string" + }, + "initiatorName": { + "description": "iSCSI initiator name.", + "type": "string" + }, + "renewExistingRegistration": { + "description": "Whether to renew existing registration with the iSCSI server.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "IaasVMILRRegistrationRequest" + }, + "IaaSVMProtectableItem": { + "description": "IaaS VM workload-specific backup item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/WorkloadProtectableItem" + } + ], + "properties": { + "virtualMachineId": { + "description": "Fully qualified ARM ID of the virtual machine.", + "type": "string" + }, + "virtualMachineVersion": { + "description": "Specifies whether the container represents a Classic or an Azure Resource Manager VM.", + "type": "string" + }, + "resourceGroup": { + "description": "Resource group name of Recovery Services Vault.", + "type": "string" + } + }, + "x-ms-discriminator-value": "IaaSVMProtectableItem" + }, + "ILRRequest": { + "description": "Parameters to Provision ILR API.", + "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" + }, + "ILRRequestResource": { + "description": "Parameters to Provision ILR API.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ILRRequest", + "description": "ILRRequestResource properties" + } + } + }, + "InquiryInfo": { + "description": "Details about inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Inquiry Status for this container such as\r\nInProgress | Failed | Succeeded", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Details if the Status is non-success." + }, + "inquiryDetails": { + "description": "Inquiry Details which will have workload specific details.\r\nFor e.g. - For SQL and oracle this will contain different details.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadInquiryDetails" + } + } + } + }, + "InquiryValidation": { + "description": "Validation for inquired protectable items under a given container.", + "type": "object", + "properties": { + "status": { + "description": "Status for the Inquiry Validation.", + "type": "string" + }, + "errorDetail": { + "$ref": "#/definitions/ErrorDetail", + "description": "Error Detail in case the status is non-success." + }, + "additionalDetail": { + "description": "Error Additional Detail in case the status is non-success.", + "type": "string", + "readOnly": true + } + } + }, + "InstantItemRecoveryTarget": { + "description": "Target details for file / folder restore.", + "type": "object", + "properties": { + "clientScripts": { + "description": "List of client scripts.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientScriptForConnect" + } + } + } + }, + "MabContainer": { + "description": "Container with items backed up using MAB backup engine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainer" + } + ], + "properties": { + "canReRegister": { + "description": "Can the container be registered one more time.", + "type": "boolean" + }, + "containerId": { + "format": "int64", + "description": "ContainerID represents the container.", + "type": "integer" + }, + "protectedItemCount": { + "format": "int64", + "description": "Number of items backed up in this container.", + "type": "integer" + }, + "agentVersion": { + "description": "Agent version of this container.", + "type": "string" + }, + "extendedInfo": { + "$ref": "#/definitions/MabContainerExtendedInfo", + "description": "Additional information for this container" + }, + "mabContainerHealthDetails": { + "description": "Health details on this mab container.", + "type": "array", + "items": { + "$ref": "#/definitions/MABContainerHealthDetails" + } + }, + "containerHealthState": { + "description": "Health state of mab container.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Windows" + }, + "MabContainerExtendedInfo": { + "description": "Additional information of the container.", + "type": "object", + "properties": { + "lastRefreshedAt": { + "format": "date-time", + "description": "Time stamp when this container was refreshed.", + "type": "string" + }, + "backupItemType": { + "description": "Type of backup items associated with this container.", + "enum": [ + "Invalid", + "VM", + "FileFolder", + "AzureSqlDb", + "SQLDB", + "Exchange", + "Sharepoint", + "VMwareVM", + "SystemState", + "Client", + "GenericDataSource", + "SQLDataBase", + "AzureFileShare", + "SAPHanaDatabase", + "SAPAseDatabase" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupItemType", + "modelAsString": true + } + }, + "backupItems": { + "description": "List of backup items associated with this container.", + "type": "array", + "items": { + "type": "string" + } + }, + "policyName": { + "description": "Backup policy associated with this container.", + "type": "string" + }, + "lastBackupStatus": { + "description": "Latest backup status of this container.", + "type": "string" + } + } + }, + "MABContainerHealthDetails": { + "description": "MAB workload-specific Health Details.", + "type": "object", + "properties": { + "code": { + "format": "int32", + "description": "Health Code", + "type": "integer" + }, + "title": { + "description": "Health Title", + "type": "string" + }, + "message": { + "description": "Health Message", + "type": "string" + }, + "recommendations": { + "description": "Health Recommended Actions", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "OperationStatus": { + "description": "Operation status.", + "type": "object", + "properties": { + "id": { + "description": "ID of the operation.", + "type": "string" + }, + "name": { + "description": "Name of the operation.", + "type": "string" + }, + "status": { + "description": "Operation status.", + "enum": [ + "Invalid", + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationStatusValues", + "modelAsString": true + } + }, + "startTime": { + "format": "date-time", + "description": "Operation start time. Format: ISO-8601.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "Operation end time. Format: ISO-8601.", + "type": "string" + }, + "error": { + "$ref": "#/definitions/OperationStatusError", + "description": "Error information related to this operation." + }, + "properties": { + "$ref": "#/definitions/OperationStatusExtendedInfo", + "description": "Additional information associated with this operation." + } + } + }, + "OperationStatusError": { + "description": "Error information associated with operation status call.", + "type": "object", + "properties": { + "code": { + "description": "Error code of the operation failure.", + "type": "string" + }, + "message": { + "description": "Error message displayed if the operation failure.", + "type": "string" + } + } + }, + "OperationStatusExtendedInfo": { + "description": "Base class for additional information of operation status.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "OperationStatusJobExtendedInfo": { + "description": "Operation status job extended info.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobId": { + "description": "ID of the job created for this protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "OperationStatusJobExtendedInfo" + }, + "OperationStatusJobsExtendedInfo": { + "description": "Operation status extended info for list of jobs.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "jobIds": { + "description": "IDs of the jobs created for the protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "failedJobsError": { + "description": "Stores all the failed jobs along with the corresponding error codes.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "OperationStatusJobsExtendedInfo" + }, + "OperationStatusProvisionILRExtendedInfo": { + "description": "Operation status extended info for ILR provision action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "recoveryTarget": { + "$ref": "#/definitions/InstantItemRecoveryTarget", + "description": "Target details for file / folder restore." + } + }, + "x-ms-discriminator-value": "OperationStatusProvisionILRExtendedInfo" + }, + "OperationStatusValidateOperationExtendedInfo": { + "description": "Operation status extended info for ValidateOperation action.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/OperationStatusExtendedInfo" + } + ], + "properties": { + "validateOperationResponse": { + "$ref": "#/definitions/ValidateOperationResponse", + "description": "Gets the validation operation response" + } + }, + "x-ms-discriminator-value": "OperationStatusValidateOperationExtendedInfo" + }, + "PreBackupValidation": { + "description": "Pre-backup validation for Azure VM Workload provider.", + "type": "object", + "properties": { + "status": { + "description": "Status of protectable item, i.e. InProgress,Succeeded,Failed", + "enum": [ + "Invalid", + "Success", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "InquiryStatus", + "modelAsString": true + } + }, + "code": { + "description": "Error code of protectable item", + "type": "string" + }, + "message": { + "description": "Message corresponding to the error code for the protectable item", + "type": "string" + } + } + }, + "ProtectableContainer": { + "description": "Protectable Container Class.", + "type": "object", + "required": [ + "protectableContainerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "protectableContainerType": { + "description": "Type of the container. The value of this property for\r\n1. Compute Azure VM is Microsoft.Compute/virtualMachines\r\n2. Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "readOnly": false, + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": false + } + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerId": { + "description": "Fabric Id of the container such as ARM Id.", + "type": "string" + } + }, + "discriminator": "protectableContainerType" + }, + "ProtectableContainerResource": { + "description": "Protectable Container Class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableContainer", + "description": "ProtectableContainerResource properties" + } + } + }, + "ProtectableContainerResourceList": { + "description": "List of ProtectableContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableContainerResource" + } + } + } + }, + "ProtectionContainer": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "type": "object", + "required": [ + "containerType" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the container.", + "type": "string" + }, + "backupManagementType": { + "description": "Type of backup management for the container.", + "enum": [ + "Invalid", + "AzureIaasVM", + "MAB", + "DPM", + "AzureBackupServer", + "AzureSql", + "AzureStorage", + "AzureWorkload", + "DefaultBackup" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupManagementType", + "modelAsString": true + } + }, + "registrationStatus": { + "description": "Status of registration of the container with the Recovery Services Vault.", + "type": "string" + }, + "healthStatus": { + "description": "Status of health of the container.", + "type": "string" + }, + "containerType": { + "description": "Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.\r\nClassic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is\r\nWindows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload\r\nBackup is VMAppContainer", + "enum": [ + "Invalid", + "Unknown", + "IaasVMContainer", + "IaasVMServiceContainer", + "DPMContainer", + "AzureBackupServerContainer", + "MABContainer", + "Cluster", + "AzureSqlContainer", + "Windows", + "VCenter", + "VMAppContainer", + "SQLAGWorkLoadContainer", + "StorageContainer", + "GenericContainer", + "Microsoft.ClassicCompute/virtualMachines", + "Microsoft.Compute/virtualMachines", + "AzureWorkloadContainer" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } + }, + "protectableObjectType": { + "description": "Type of the protectable object associated with this container", + "type": "string" + } + }, + "discriminator": "containerType" + }, + "ProtectionContainerResource": { + "description": "Base class for container with backup items. Containers with specific workloads are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainer", + "description": "ProtectionContainerResource properties" + } + } + }, + "ProtectionContainerResourceList": { + "description": "List of ProtectionContainer resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerResource" + } + } + } + }, + "SecurityPinBase": { + "description": "Base class for get security pin request body", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "description": "ResourceGuard Operation Requests", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TokenInformation": { + "description": "The token information details.", + "type": "object", + "properties": { + "token": { + "description": "Token value.", + "type": "string" + }, + "expiryTimeInUtcTicks": { + "format": "int64", + "description": "Expiry time of token.", + "type": "integer" + }, + "securityPIN": { + "description": "Security PIN", + "type": "string" + } + } + }, + "WorkloadInquiryDetails": { + "description": "Details of an inquired protectable item.", + "type": "object", + "properties": { + "type": { + "description": "Type of the Workload such as SQL, Oracle etc.", + "type": "string" + }, + "itemCount": { + "format": "int64", + "description": "Contains the protectable item Count inside this Container.", + "type": "integer" + }, + "inquiryValidation": { + "$ref": "#/definitions/InquiryValidation", + "description": "Inquiry validation such as permissions and other backup validations." + } + } + }, + "WorkloadItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "workloadItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "workloadItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "workloadItemType" + }, + "WorkloadItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadItem", + "description": "WorkloadItemResource properties" + } + } + }, + "WorkloadItemResourceList": { + "description": "List of WorkloadItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadItemResource" + } + } + } + }, + "WorkloadProtectableItem": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "type": "object", + "required": [ + "protectableItemType" + ], + "properties": { + "backupManagementType": { + "description": "Type of backup management to backup an item.", + "type": "string" + }, + "workloadType": { + "description": "Type of workload for the backup management", + "type": "string" + }, + "protectableItemType": { + "description": "Type of the backup item.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the backup item.", + "type": "string" + }, + "protectionState": { + "description": "State of the back up item.", + "enum": [ + "Invalid", + "NotProtected", + "Protecting", + "Protected", + "ProtectionFailed" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtectionStatus", + "modelAsString": true + } + } + }, + "discriminator": "protectableItemType" + }, + "WorkloadProtectableItemResource": { + "description": "Base class for backup item. Workload-specific backup items are derived from this class.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadProtectableItem", + "description": "WorkloadProtectableItemResource properties" + } + } + }, + "WorkloadProtectableItemResourceList": { + "description": "List of WorkloadProtectableItem resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkloadProtectableItemResource" + } + } + } + }, + "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSAPHanaRestoreWithRehydrateRequest": { + "description": "AzureWorkload SAP Hana-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSAPHanaRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSAPHanaRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLPointInTimeRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLPointInTimeRestoreWithRehydrateRequest" + }, + "AzureWorkloadSQLRestoreWithRehydrateRequest": { + "description": "AzureWorkload SQL-specific restore with integrated rehydration of recovery point", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureWorkloadSQLRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "AzureWorkloadSQLRestoreWithRehydrateRequest" + }, + "IaasVMRestoreWithRehydrationRequest": { + "description": "IaaS VM workload-specific restore with integrated rehydration of recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/IaasVMRestoreRequest" + } + ], + "properties": { + "recoveryPointRehydrationInfo": { + "$ref": "#/definitions/RecoveryPointRehydrationInfo", + "description": "RP Rehydration Info" + } + }, + "x-ms-discriminator-value": "IaasVMRestoreWithRehydrationRequest" + }, + "MoveRPAcrossTiersRequest": { + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "sourceTierType": { + "description": "Source tier from where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + }, + "targetTierType": { + "description": "Target tier where RP needs to be moved", + "enum": [ + "Invalid", + "InstantRP", + "HardenedRP", + "ArchivedRP" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointTierType", + "modelAsString": false + } + } + } + }, + "RecoveryPointMoveReadinessInfo": { + "type": "object", + "properties": { + "isReadyForMove": { + "type": "boolean" + }, + "additionalInfo": { + "type": "string" + } + } + }, + "RecoveryPointRehydrationInfo": { + "description": "RP Rehydration Info", + "type": "object", + "properties": { + "rehydrationRetentionDuration": { + "description": "How long the rehydrated RP should be kept\r\nShould be ISO8601 Duration format e.g. \"P7D\"", + "type": "string" + }, + "rehydrationPriority": { + "description": "Rehydration Priority", + "enum": [ + "Standard", + "High" + ], + "type": "string", + "x-ms-enum": { + "name": "RehydrationPriority", + "modelAsString": true + } + } + } + }, + "ListRecoveryPointsRecommendedForMoveRequest": { + "description": "ListRecoveryPointsRecommendedForMoveRequest Request", + "type": "object", + "properties": { + "objectType": { + "description": "Gets the class type.", + "type": "string" + }, + "excludedRPList": { + "description": "List of Recovery Points excluded from Move", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UnlockDeleteRequest": { + "description": "Request body of unlock delete API.", + "type": "object", + "properties": { + "resourceGuardOperationRequests": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceToBeDeleted": { + "type": "string" + } + } + }, + "UnlockDeleteResponse": { + "description": "Response of Unlock Delete API.", + "type": "object", + "properties": { + "unlockDeleteExpiryTime": { + "description": "This is the time when unlock delete privileges will get expired.", + "type": "string" + } + } + }, + "ResourceGuardOperationDetail": { + "type": "object", + "properties": { + "vaultCriticalOperation": { + "type": "string" + }, + "defaultResourceRequest": { + "type": "string" + } + } + }, + "ResourceGuardProxyBase": { + "type": "object", + "properties": { + "resourceGuardResourceId": { + "type": "string" + }, + "resourceGuardOperationDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardOperationDetail" + } + }, + "lastUpdatedTime": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "ResourceGuardProxyBaseResource": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResourceGuardProxyBase", + "description": "ResourceGuardProxyBaseResource properties" + } + } + }, + "ResourceGuardProxyBaseResourceList": { + "description": "List of ResourceGuardProxyBase resources", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResourceList" + } + ], + "properties": { + "value": { + "description": "List of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceGuardProxyBaseResource" + } + } + } + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "AzureRegion": { + "name": "azureRegion", + "in": "path", + "description": "Azure region to hit Api", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "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/2022-01-01/examples/AzureIaasVm/BackupFeature_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupFeature_Validate.json new file mode 100644 index 000000000000..22cb6715ccc6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupFeature_Validate.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2022-01-01", + "parameters": { + "featureType": "AzureVMResourceBackup", + "vmSize": "Basic_A0", + "vmSku": "Premium" + } + }, + "responses": { + "200": { + "body": { + "supportStatus": "DefaultOFF" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupPolicies_List.json new file mode 100644 index 000000000000..8d31f75a9f51 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupPolicies_List.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectableItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectableItems_List.json new file mode 100644 index 000000000000..35fcb8513f40 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectableItems_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectableItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionState": "NotProtected", + "protectableItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectedItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectedItems_List.json new file mode 100644 index 000000000000..7ff7b5617368 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/BackupProtectedItems_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json new file mode 100644 index 000000000000..044f87a319ba --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ClassicCompute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainer;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.ClassicCompute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainer;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.ClassicCompute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json new file mode 100644 index 000000000000..01ce2a3693b7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Compute_ProtectedItem_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "protectedItemName": "vm;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;iaasvm-rg;iaasvm-1/protectedItems/VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "name": "VM;iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems", + "properties": { + "friendlyName": "iaasvm-1", + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "protectionStatus": "Healthy", + "protectionState": "Protected", + "healthStatus": "Passed", + "lastBackupStatus": "Completed", + "lastBackupTime": "2018-01-22T12:25:32.048723Z", + "protectedItemDataId": "636482643132986882", + "protectedItemType": "Microsoft.Compute/virtualMachines", + "backupManagementType": "AzureIaasVM", + "workloadType": "VM", + "containerName": "iaasvmcontainerv2;iaasvm-rg;iaasvm-1", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/providers/Microsoft.Compute/virtualMachines/iaasvm-1", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupPolicies/testPolicy1", + "lastRecoveryPoint": "2017-11-22T12:25:32.048723Z" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ConfigureProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ConfigureProtection.json new file mode 100644 index 000000000000..4ed4e11c5f80 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01", + "parameters": { + "properties": { + "protectedItemType": "Microsoft.Compute/virtualMachines", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "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/2022-01-01/examples/AzureIaasVm/GetBackupStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/GetBackupStatus.json new file mode 100644 index 000000000000..e49106f9861b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/GetBackupStatus.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2022-01-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Compute/VirtualMachines/testVm", + "resourceType": "VM" + } + }, + "responses": { + "200": { + "body": { + "protectionStatus": "Protected", + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/Vaults/testVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;testRg;testVm", + "protectedItemName": "vm;iaasvmcontainerv2;testRg;testVm", + "policyName": "myPolicy", + "errorCode": "Success", + "errorMessage": "ErrorMessage" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectedItemOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectedItemOperationResults.json new file mode 100644 index 000000000000..83ee393de1e1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/protectedItems/VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "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/2022-01-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json new file mode 100644 index 000000000000..8d6a71218fa2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectedItemOperationStatus.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "protectedItemName": "VM;iaasvmcontainerv2;netsdktestrg;netvmtestv2vm1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusJobExtendedInfo", + "jobId": "00000000-0000-0000-0000-000000000000" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json new file mode 100644 index 000000000000..bf130a59b325 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_CreateOrUpdate.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/chamsrgtest/providers/Microsoft.Compute/virtualMachines/chamscandel", + "protectionIntentItemType": "AzureResourceItem", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "name": "vm;iaasvmcontainerv2;chamsrgtest;chamscandel", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureResourceItem", + "backupManagementType": "AzureIaasVM", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "protectionState": "Protected" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json new file mode 100644 index 000000000000..b0792d21acac --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionIntent_Validate.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "azureRegion": "southeastasia", + "api-version": "2022-01-01", + "parameters": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/arunaupgrade/providers/Microsoft.Compute/VirtualMachines/upgrade1", + "resourceType": "VM", + "vaultId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/Vaults/myVault", + "properties": "" + } + }, + "responses": { + "200": { + "body": { + "status": "Failed", + "errorCode": "VirtualMachineAlreadyProtected", + "errorMessage": "Virtual machine with same name and same resource group is already protected. Please select `Disable' choice above for backup and go to backup item corresponding to this VM in the vault", + "recommendation": "Please do not enable protection again.", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;arunaupgrade;upgrade1", + "protectedItemName": "vm;iaasvmcontainerv2;arunaupgrade;upgrade1" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..d9fd531efd09 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Monday", + "Wednesday", + "Thursday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Monday", + "Wednesday", + "Thursday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Wednesday", + "Thursday" + ], + "weeksOfTheMonth": [ + "First", + "Third" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "February", + "November" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Monday", + "Thursday" + ], + "weeksOfTheMonth": [ + "Fourth" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 4, + "durationType": "Years" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_CreateOrUpdate_Simple.json new file mode 100644 index 000000000000..f43a518a419f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "Pacific Standard Time", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json new file mode 100644 index 000000000000..f5ebef8515ce --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Get.json new file mode 100644 index 000000000000..ac92ee8c6aa2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json new file mode 100644 index 000000000000..09804a909ef1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationResults_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 1 + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json new file mode 100644 index 000000000000..66b95de90d60 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ProtectionPolicyOperationStatuses_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "testPolicy1", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "GetProtectionPolicyOperationStatus", + "status": "Succeeded", + "startTime": "2018-01-24T12:57:32.1142968Z", + "endTime": "2018-01-24T12:57:32.1142968Z", + "properties": { + "objectType": "OperationStatusJobsExtendedInfo", + "jobIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "failedJobsError": {} + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Provision_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Provision_Ilr.json new file mode 100644 index 000000000000..6a9ce73e8df4 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Provision_Ilr.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "initiatorName": "Hello World", + "recoveryPointId": "38823086363464", + "renewExistingRegistration": true, + "virtualMachineId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pysdktestrg/providers/Microsoft.Compute/virtualMachines/pysdktestv2vm1", + "objectType": "IaasVMILRRegistrationRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json new file mode 100644 index 000000000000..ebbc90c3cc3b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPointsRecommendedForMove_List.json @@ -0,0 +1,101 @@ +{ + "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": "2022-01-01", + "parameters": { + "objectType": "ListRecoveryPointsRecommendedForMoveRequest", + "excludedRPList": [ + "348916168024334", + "348916168024335" + ] + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_Get.json new file mode 100644 index 000000000000..0ea5417205d0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_Get.json @@ -0,0 +1,47 @@ +{ + "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": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rshhtestmdvmrg/providers/Microsoft.RecoveryServices/vaults/rshvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/protectedItems/VM;iaasvmcontainerv2;rshhtestmdvmrg;rshmdvmsmall/recoveryPoints/26083826328862", + "name": "26083826328862", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints", + "properties": { + "objectType": "IaasVMRecoveryPoint", + "recoveryPointType": "CrashConsistent", + "recoveryPointTime": "2017-11-22T22:32:46.6088472Z", + "recoveryPointAdditionalInfo": "", + "sourceVMStorageType": "NormalStorage", + "isSourceVMEncrypted": false, + "isInstantIlrSessionActive": false, + "recoveryPointTierDetails": [ + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": true + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_List.json new file mode 100644 index 000000000000..e25fa4852aee --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/RecoveryPoints_List.json @@ -0,0 +1,95 @@ +{ + "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": "2022-01-01" + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Valid" + } + ], + "recoveryPointMoveReadinessInfo": { + "Archive": { + "isReadyForMove": true + } + }, + "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": "Deleted" + }, + { + "type": "HardenedRP", + "status": "Deleted" + }, + { + "type": "ArchivedRP", + "status": "Rehydrated", + "extendedInfo": { + "RehydratedRPExpiryTime": "2020-12-21T22:48:25.4353958Z" + } + } + ], + "recoveryPointMoveReadinessInfo": { + "ArchivedRP": { + "isReadyForMove": false, + "additionalInfo": "Recovery point cannot be moved to archive tier since it has already been moved." + } + }, + "isManagedVirtualMachine": true, + "virtualMachineSize": "Standard_D1", + "originalStorageAccountOption": false, + "zones": [ + "1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Revoke_Ilr.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Revoke_Ilr.json new file mode 100644 index 000000000000..5b46c46ee614 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/Revoke_Ilr.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "fabricName": "Azure", + "containerName": "iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "protectedItemName": "vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1", + "recoveryPointId": "1", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/protectedItems/vm;iaasvmcontainerv2;pysdktestrg;pysdktestv2vm1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/StopProtection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/StopProtection.json new file mode 100644 index 000000000000..64a78b2c6d6f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01", + "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/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..4f3c866029e2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest.json @@ -0,0 +1,43 @@ +{ + "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": "2022-01-01", + "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 + }, + "identityInfo": { + "isSystemAssignedIdentity": true + } + } + } + }, + "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/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..9eeedbf51f40 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,45 @@ +{ + "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": "2021-07-01", + "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", + "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 + }, + "identityInfo": { + "isSystemAssignedIdentity": true + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.Storage/storageAccounts/testingAccount" + } + } + } + }, + "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/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..5db40796c01c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_ALR_IaasVMRestoreWithRehydrationRequest.json @@ -0,0 +1,44 @@ +{ + "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": "2022-01-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "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 + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "High" + } + } + } + }, + "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/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.json new file mode 100644 index 000000000000..83015e9210ca --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest.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": "2022-01-01", + "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 + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..179c3249ece5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreRequest_IdentityBasedRestoreDetails.json @@ -0,0 +1,42 @@ +{ + "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": "2021-07-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreRequest", + "recoveryPointId": "348916168024334", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.json new file mode 100644 index 000000000000..9743534f6b5b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerRestore_RestoreDisks_IaasVMRestoreWithRehydrationRequest.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": "2022-01-01", + "parameters": { + "properties": { + "objectType": "IaasVMRestoreWithRehydrationRequest", + "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 + }, + "recoveryPointRehydrationInfo": { + "rehydrationRetentionDuration": "P7D", + "rehydrationPriority": "Standard" + } + } + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..f0408605ad84 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/TriggerValidateOperation_RestoreDisk.json @@ -0,0 +1,41 @@ +{ + "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": "2022-01-01", + "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 + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-01-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-01-01", + "Retry-After": 10 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json new file mode 100644 index 000000000000..14eecd989be1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_daily.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json new file mode 100644 index 000000000000..5f28e2df3a1e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/IaaS_v2_hourly.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureIaasVM", + "timeZone": "India Standard Time", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null, + "retentionPolicy": { + "dailySchedule": { + "retentionDuration": { + "count": 180, + "durationType": "Days" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "monthlySchedule": { + "retentionDuration": { + "count": 60, + "durationType": "Months" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + }, + "yearlySchedule": { + "monthsOfYear": [ + "January" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + }, + "retentionScheduleDaily": null, + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-12-17T08:00:00+00:00" + ] + } + }, + "schedulePolicy": { + "hourlySchedule": { + "interval": 4, + "scheduleWindowDuration": 16, + "scheduleWindowStartTime": "2021-12-17T08:00:00Z" + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Hourly" + }, + "timeZone": "India Standard Time" + }, + "type": "Microsoft.RecoveryServices/vaults/backupPolicies" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample/operations/00000000-0000-0000-0000-000000000000?api-version=2020-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json new file mode 100644 index 000000000000..cc6a44712447 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-Get-Policy.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "policyName": "v2-daily-sample", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-sample", + "name": "v2-daily-sample", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "instantRpRetentionRangeInDays": 30, + "policyType": "V2", + "schedulePolicy": { + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + }, + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily" + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0, + "resourceGuardOperationRequests": null + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json new file mode 100644 index 000000000000..fa5657932ab7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/V2Policy/v2-List-Policies.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureIaasVM'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/DefaultPolicy", + "name": "DefaultPolicy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + }, + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2018-01-24T02:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2018-01-24T02:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Days" + } + } + }, + "timeZone": "Pacific Standard Time", + "protectedItemsCount": 0 + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/v2-daily-policy", + "name": "v2-daily-policy", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureIaasVM", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicyV2", + "scheduleRunFrequency": "Daily", + "dailySchedule": { + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ] + } + }, + "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/2022-01-01/examples/AzureIaasVm/ValidateOperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperationResults.json new file mode 100644 index 000000000000..0d84cf3ef209 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperationResults.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationResults/00000000-0000-0000-0000-000000000000?api-version=2022-01-01", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupValidateOperationsStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-01-01", + "Retry-After": 10 + } + }, + "200": { + "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/2022-01-01/examples/AzureIaasVm/ValidateOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperationStatus.json new file mode 100644 index 000000000000..00d76e518465 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperationStatus.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "Succeeded", + "startTime": "2017-10-29T06:04:18.207325Z", + "endTime": "2017-10-29T06:04:18.207325Z", + "properties": { + "objectType": "OperationStatusValidateOperationExtendedInfo", + "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/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json new file mode 100644 index 000000000000..7d373eafdf7f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk.json @@ -0,0 +1,50 @@ +{ + "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": "2022-01-01", + "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 + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + } + } + } + }, + "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/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json new file mode 100644 index 000000000000..f8677e832d0a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureIaasVm/ValidateOperation_RestoreDisk_IdentityBasedRestoreDetails.json @@ -0,0 +1,52 @@ +{ + "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": "2021-07-01", + "parameters": { + "objectType": "ValidateIaasVMRestoreOperationRequest", + "restoreRequest": { + "recoveryPointId": "348916168024334", + "objectType": "IaasVMRestoreRequest", + "recoveryType": "RestoreDisks", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/netsdktestrg/providers/Microsoft.Compute/virtualMachines/netvmtestv2vm1", + "region": "southeastasia", + "createNewCloudService": true, + "originalStorageAccountOption": false, + "encryptionDetails": { + "encryptionEnabled": false + }, + "identityInfo": { + "isSystemAssignedIdentity": false, + "managedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asmaskarRG1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asmaskartestmsi" + }, + "identityBasedRestoreDetails": { + "targetStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testingRg/providers/Microsoft.Storage/storageAccounts/testAccount" + } + } + } + }, + "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/2022-01-01/examples/AzureStorage/ProtectableContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectableContainers_List.json new file mode 100644 index 000000000000..996151ae6784 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectableContainers_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testvault", + "fabricName": "Azure", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureStorage' and workloadType eq 'AzureFileShare'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;storage;test-rg;teststorage", + "name": "StorageContainer;storage;test-rg;testst", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/teststorage" + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectableContainers/StorageContainer;ClassicStorage;test-rg;teststorage", + "name": "StorageContainer;ClassicStorage;test-rg;teststorage", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers", + "properties": { + "friendlyName": "teststorage", + "backupManagementType": "AzureStorage", + "protectableContainerType": "StorageContainer", + "healthStatus": "Healthy", + "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ClassicStorage/storageAccounts/teststorage" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire.json new file mode 100644 index 000000000000..bd517b6bdda0 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json new file mode 100644 index 000000000000..96a9952c85fb --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Inquire_Result.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "testvault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_List.json new file mode 100644 index 000000000000..7d3758d79c57 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2022-01-01", + "fabricName": "Azure", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourcegroups/testrg/providers/microsoft.recoveryservices/vaults/suchandr-test-vault-wcus/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;testrg;suchandrtestsa125", + "name": "StorageContainer;Storage;testrg;suchandrtestsa125", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "sourceResourceId": "/subscriptions/172424a4-d65f-421e-a8de-197d98aabeba/resourceGroups/testrg/providers/Microsoft.Storage/storageAccounts/suchandrtestsa125", + "protectedItemCount": 2, + "friendlyName": "suchandrtestsa125", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Register.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Register.json new file mode 100644 index 000000000000..c890968dbfe2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionContainers_Register.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "fabricName": "Azure", + "containerName": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "containerType": "StorageContainer", + "acquireStorageAccountLock": "Acquire" + } + } + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2019-05-13-preview", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "name": "StorageContainer;Storage;SwaggerTestRg;swaggertestsa", + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/SwaggerTestRg/providers/Microsoft.Storage/storageAccounts/swaggertestsa", + "protectedItemCount": 0, + "acquireStorageAccountLock": "Acquire", + "friendlyName": "swaggertestsa", + "backupManagementType": "AzureStorage", + "registrationStatus": "Registered", + "healthStatus": "Healthy", + "containerType": "StorageContainer" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json new file mode 100644 index 000000000000..3c2d3247a8d6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Daily.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "dailyPolicy2", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00.000Z" + ] + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00.000Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2", + "name": "dailyPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2021-09-29T08:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T08:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/dailyPolicy2/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/swaggertestvault/backupPolicies/dailyPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json new file mode 100644 index 000000000000..c3bd93deebd3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureStorage/ProtectionPolicies_CreateOrUpdate_Hourly.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "swaggertestvault", + "policyName": "newPolicy2", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureStorage", + "workLoadType": "AzureFileShare", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z", + "scheduleWindowDuration": 12 + } + }, + "timeZone": "UTC", + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": null, + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": null, + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleDaily": null, + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": null, + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2", + "name": "newPolicy2", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureStorage", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Hourly", + "hourlySchedule": { + "interval": 4, + "scheduleWindowStartTime": "2021-09-29T08:00:00Z", + "scheduleWindowDuration": 12 + }, + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 5, + "durationType": "Days" + } + }, + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday" + ], + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 12, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 60, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "First" + ] + }, + "retentionTimes": [ + "2021-09-29T20:00:00Z" + ], + "retentionDuration": { + "count": 10, + "durationType": "Years" + } + } + }, + "timeZone": "UTC", + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/swaggertestvault/backupPolicies/newPolicy2/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/swaggertestvault/backupPolicies/newPolicy2/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupPolicies_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupPolicies_List.json new file mode 100644 index 000000000000..75b6b90849e2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupPolicies_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/HourlyLogBackup", + "name": "HourlyLogBackup", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "UTC", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Daily", + "scheduleRunTimes": [ + "2017-12-05T19:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "dailySchedule": { + "retentionTimes": [ + "2017-12-05T19:00:00Z" + ], + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 30, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json new file mode 100644 index 000000000000..828ffa83b6ea --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2022-01-01", + "parameters": {} + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json new file mode 100644 index 000000000000..4f4d502bfd8e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "fabricName": "Azure", + "intentObjectName": "249D9B07-D2EF-4202-AA64-65F35418564E", + "api-version": "2022-01-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json new file mode 100644 index 000000000000..b44b279a1385 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupProtectionIntent_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myRG", + "vaultName": "myVault", + "api-version": "2022-01-01", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupFabrics/Azure/backupProtectionIntent/249D9B07-D2EF-4202-AA64-65F35418564E", + "name": "249D9B07-D2EF-4202-AA64-65F35418564E", + "type": "Microsoft.RecoveryServices/vaults/backupProtectionIntent", + "properties": { + "protectionIntentItemType": "AzureWorkloadContainerAutoProtectionIntent", + "backupManagementType": "AzureWorkload", + "policyId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupPolicies/myPolicy", + "itemId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/myVault/backupProtectionContainer/VMAppContainer;Compute;testVmName/backupProtectableItems/SQLInstance;MSSQLSERVER" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupWorkloadItems_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupWorkloadItems_List.json new file mode 100644 index 000000000000..f6bc346b527f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/BackupWorkloadItems_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "suchandr-seacan-rsv", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureWorkload'", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;bvtdtestag;sqlserver-1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testRg/providers/Microsoft.RecoveryServices/vaults/suchandr-seacan-rsv/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;bvtdtestag;sqlserver-1/protectableItems/SQLInstance;MSSQLSERVER", + "name": "SQLInstance;MSSQLSERVER", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/items", + "properties": { + "dataDirectoryPaths": [ + { + "type": "Data", + "path": "F:\\DATA\\" + }, + { + "type": "Log", + "path": "F:\\LOG\\" + } + ], + "parentName": "MSSQLSERVER", + "serverName": "sqlserver-1.contoso.com", + "isAutoProtectable": true, + "subinquireditemcount": 0, + "subWorkloadItemCount": 3, + "backupManagementType": "AzureWorkload", + "workloadType": "SQL", + "workloadItemType": "SQLInstance", + "friendlyName": "MSSQLSERVER", + "protectionState": "NotProtected" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Get.json new file mode 100644 index 000000000000..2c250dc1f179 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "fabricName": "Azure", + "containerName": "VMAppContainer;Compute;testRG;testSQL", + "api-version": "2022-01-01", + "$filter": "backupManagementType eq 'AzureWorkload'" + }, + "responses": { + "200": { + "body": { + "name": "VMAppContainer;Compute;testRG;testSQL", + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRg/providers/Microsoft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;testRG;testSQL", + "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers", + "properties": { + "extendedInfo": { + "hostServerName": "testsql", + "nodesList": [], + "inquiryInfo": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + }, + "inquiryDetails": [ + { + "type": "sql", + "itemCount": 14, + "inquiryValidation": { + "status": "Success", + "errorDetail": { + "code": "Success", + "message": "Not Available", + "recommendations": [ + "Not Available" + ] + } + } + } + ] + } + }, + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/testSQL", + "backupManagementType": "AzureWorkload", + "workloadType": null, + "containerType": "VMAppContainer", + "friendlyName": "testSQL" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Unregister.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Unregister.json new file mode 100644 index 000000000000..970699b63522 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionContainers_Unregister.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRg", + "vaultName": "testVault", + "api-version": "2022-01-01", + "fabricName": "Azure", + "containerName": "storagecontainer;Storage;test-rg;teststorage" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/storagecontainer;Storage;test-rg;teststorage/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/AzureWorkload/ProtectionPolicies_CreateOrUpdate_Complex.json new file mode 100644 index 000000000000..b461b598d008 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01", + "parameters": { + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleRunDays": [ + "Friday" + ] + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1", + "name": "testPolicy1", + "type": "Microsoft.RecoveryServices/vaults/backupPolicies", + "properties": { + "backupManagementType": "AzureWorkload", + "workLoadType": "SQLDataBase", + "settings": { + "timeZone": "Pacific Standard Time", + "issqlcompression": false + }, + "subProtectionPolicy": [ + { + "policyType": "Full", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Sunday", + "Tuesday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "LongTermRetentionPolicy", + "weeklySchedule": { + "daysOfTheWeek": [ + "Sunday", + "Tuesday" + ], + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 2, + "durationType": "Weeks" + } + }, + "monthlySchedule": { + "retentionScheduleFormatType": "Weekly", + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Second" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Months" + } + }, + "yearlySchedule": { + "retentionScheduleFormatType": "Weekly", + "monthsOfYear": [ + "January", + "June", + "December" + ], + "retentionScheduleWeekly": { + "daysOfTheWeek": [ + "Sunday" + ], + "weeksOfTheMonth": [ + "Last" + ] + }, + "retentionTimes": [ + "2018-01-24T10:00:00Z" + ], + "retentionDuration": { + "count": 1, + "durationType": "Years" + } + } + } + }, + { + "policyType": "Differential", + "schedulePolicy": { + "schedulePolicyType": "SimpleSchedulePolicy", + "scheduleRunFrequency": "Weekly", + "scheduleRunDays": [ + "Friday" + ], + "scheduleRunTimes": [ + "2018-01-24T10:00:00Z" + ], + "scheduleWeeklyFrequency": 0 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 8, + "durationType": "Days" + } + } + }, + { + "policyType": "Log", + "schedulePolicy": { + "schedulePolicyType": "LogSchedulePolicy", + "scheduleFrequencyInMins": 60 + }, + "retentionPolicy": { + "retentionPolicyType": "SimpleRetentionPolicy", + "retentionDuration": { + "count": 7, + "durationType": "Days" + } + } + } + ], + "protectedItemsCount": 0 + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupPolicies/testPolicy1/operations/00000000-0000-0000-0000-000000000000?api-version=2016-06-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json new file mode 100644 index 000000000000..694bb91000a8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/BackupDataMoveOperationStatus_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json new file mode 100644 index 000000000000..77292d263b9b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMoveOperationResult_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + }, + "200": { + "body": { + "objectType": "PrepareDataMoveResponse" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMove_Post.json new file mode 100644 index 000000000000..5cc9297a0181 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/PrepareDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sourceRG", + "vaultName": "source-rsv", + "api-version": "2022-01-01", + "parameters": { + "targetResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/targetRG/providers/Microsoft.RecoveryServices/vaults/target-rsv", + "targetRegion": "USGov Virginia", + "dataMoveLevel": "Vault" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/prepareDataMove/operationResult/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/TriggerDataMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/TriggerDataMove_Post.json new file mode 100644 index 000000000000..8f272889751c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupDataMove/TriggerDataMove_Post.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "targetRG", + "vaultName": "target-rsv", + "api-version": "2022-01-01", + "parameters": { + "sourceResourceId": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv", + "sourceRegion": "USGov Iowa", + "dataMoveLevel": "Vault", + "correlationId": "MTg2OTcyMzM4NzYyMjc1NDY3Nzs1YmUzYmVmNi04YjJiLTRhOTItOTllYi01NTM0MDllYjk2NjE=" + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sourceRG/providers/Microsoft.RecoveryServices/vaults/source-rsv/backupStorageConfig/vaultStorageConfig/backupDataMove/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2020-07-01-preview", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Get.json new file mode 100644 index 000000000000..1fda5fa1398d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rishgrp", + "vaultName": "rishTestVault", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rishgrp/providers/Microsoft.RecoveryServicesBVTD2/vaults/rishTestVault/backupEncryptionConfigs/backupResourceEncryptionConfig", + "name": "backupResourceEncryptionConfig", + "type": "Microsoft.RecoveryServices/vaults/backupEncryptionConfigs", + "properties": { + "userAssignedIdentity": "/subscriptions/85bf5e8c-3084-4f42-add2-746ebb7e97b2/resourcegroups/defaultrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/examplemsi", + "useSystemAssignedIdentity": false, + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "lastUpdateStatus": "Succeeded", + "infrastructureEncryptionState": "Disabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Put.json new file mode 100644 index 000000000000..107a405a679c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/BackupResourceEncryptionConfig_Put.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "vaultName": "source-rsv", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "encryptionAtRestType": "CustomerManaged", + "keyUri": "https://gktestkv1.vault.azure.net/keys/Test1/ed2e8cdc7f86477ebf0c6462b504a9ed", + "subscriptionId": "1a2311d9-66f5-47d3-a9fb-7a37da63934b", + "infrastructureEncryptionState": "true" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json new file mode 100644 index 000000000000..d92fb12831dd --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectedItem_UsageSummary_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2022-01-01", + "$filter": "type eq 'BackupProtectedItemCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 7, + "limit": -1, + "name": { + "value": "AzureIaasVM", + "localizedValue": "Azure Virtual Machine" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureStorage", + "localizedValue": "Azure Storage (Azure Files)" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json new file mode 100644 index 000000000000..82c8b7f20977 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupProtectionContainers_UsageSummary_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2022-01-01", + "$filter": "type eq 'BackupProtectionContainerCountSummary'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 2, + "limit": -1, + "name": { + "value": "AzureBackupServer", + "localizedValue": "Azure Backup Server" + } + }, + { + "unit": "Count", + "currentValue": 3, + "limit": -1, + "name": { + "value": "MAB", + "localizedValue": "Azure Backup Agent" + } + }, + { + "unit": "Count", + "currentValue": 1, + "limit": -1, + "name": { + "value": "AzureWorkload", + "localizedValue": "SQL in Azure VM" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Get.json new file mode 100644 index 000000000000..6f6628dbf571 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Get.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Patch.json new file mode 100644 index 000000000000..55bd1cd26a38 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Patch.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Put.json new file mode 100644 index 000000000000..0529938e58df --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupResourceVaultConfigs_Put.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/SwaggerTest/backupconfig/vaultconfig", + "name": "vaultconfig", + "type": "Microsoft.RecoveryServices/vaults/backupconfig", + "properties": { + "enhancedSecurityState": "Enabled", + "softDeleteFeatureState": "Enabled" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupSecurityPin_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupSecurityPin_Get.json new file mode 100644 index 000000000000..09a3be3c38b2 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupSecurityPin_Get.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "SwaggerTest", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "token": "200432", + "expiryTimeInUtcTicks": 636495150137443121, + "securityPIN": "200432" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Get.json new file mode 100644 index 000000000000..182c07e6fd35 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "GeoRedundant", + "storageType": "GeoRedundant", + "storageTypeState": "Locked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Patch.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Patch.json new file mode 100644 index 000000000000..cc315a50c474 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Patch.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Put.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Put.json new file mode 100644 index 000000000000..15f2a0b5691a --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/BackupStorageConfig_Put.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupstorageconfig/vaultstorageconfig", + "name": "vaultstorageconfig", + "type": "Microsoft.RecoveryServices/vaults/backupstorageconfig", + "properties": { + "storageModelType": "LocallyRedundant", + "storageType": "LocallyRedundant", + "storageTypeState": "Unlocked" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/CancelJobOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/CancelJobOperationResult.json new file mode 100644 index 000000000000..90b6f7c8ae1d --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01" + }, + "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/2022-01-01/examples/Common/ExportJobsOperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ExportJobsOperationResult.json new file mode 100644 index 000000000000..0d27df522be5 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ExportJobsOperationResult.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo", + "blobUrl": "https://azureblob.blob.core.windows.net/reportcontainer/exportjobsreportc00000000-0000-0000-0000-000000000000", + "blobSasKey": "?sv=2014-02-14&sr=b&sig=&st=2017-11-29T07%3A53%3A34Z&se=2017-11-29T08%3A03%3A34Z&sp=r" + }, + "headers": {} + } + }, + "202": { + "headers": { + "Retry-After": 60, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + }, + "body": { + "operation": { + "objectType": "ExportJobsOperationResultInfo" + }, + "headers": { + "Location": [ + "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01" + ], + "Retry-After": [ + "60" + ] + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/GetJobDetails.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/GetJobDetails.json new file mode 100644 index 000000000000..b69c3dd9d8d7 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/GetJobDetails.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "jobName": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-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/2022-01-01/examples/Common/ListJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobs.json new file mode 100644 index 000000000000..87c04e5a08ba --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobs.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-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/2022-01-01/examples/Common/ListJobsWithAllSupportedFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobsWithAllSupportedFilters.json new file mode 100644 index 000000000000..e31a487c2f17 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobsWithAllSupportedFilters.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-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/2022-01-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json new file mode 100644 index 000000000000..c4f5c54bb1c1 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ListJobsWithStartTimeAndEndTimeFilters.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-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/2022-01-01/examples/Common/ProtectedItem_Delete.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete.json new file mode 100644 index 000000000000..441b82618ea3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete.json @@ -0,0 +1,22 @@ +{ + "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": "2022-01-01" + }, + "responses": { + "200": {}, + "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/2022-01-01/examples/Common/ProtectedItem_Delete_OperationResult.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete_OperationResult.json new file mode 100644 index 000000000000..1efc1d6be251 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete_OperationResult.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperations/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/PythonSDKBackupTestRg/providers/Microsoft.RecoveryServices/vaults/PySDKBackupTestRsVault/backupOperationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete_OperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete_OperationStatus.json new file mode 100644 index 000000000000..101469395626 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/ProtectedItem_Delete_OperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "PythonSDKBackupTestRg", + "vaultName": "PySDKBackupTestRsVault", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "status": "InProgress", + "startTime": "2017-08-03T06:52:53.886027Z", + "endTime": "0001-01-01T00:00:00.00000Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers.json new file mode 100644 index 000000000000..9f11d1415a0c --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers_OperationResults.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers_OperationResults.json new file mode 100644 index 000000000000..ee6a3b9f648f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/RefreshContainers_OperationResults.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "fabricName": "Azure", + "operationId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupFabrics/Azure/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerBackup_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerBackup_Post.json new file mode 100644 index 000000000000..386452409952 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerBackup_Post.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "linuxRsVaultRG", + "vaultName": "linuxRsVault", + "fabricName": "Azure", + "containerName": "IaasVMContainer;iaasvmcontainerv2;testrg;v1win2012r", + "protectedItemName": "VM;iaasvmcontainerv2;testrg;v1win2012r", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "objectType": "IaasVMBackupRequest" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationResults/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Azure-AsyncOperation": "https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/linuxRsVaultRG/providers/Microsoft.RecoveryServices/vaults/linuxRsVault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;testrg;v1win2012r/protectedItems/VM;iaasvmcontainer;testrg;v1win2012r/operationsStatus/00000000-0000-0000-0000-000000000000?api-version=2016-12-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerCancelJob.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerCancelJob.json new file mode 100644 index 000000000000..fc8bf0bef9b6 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/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": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SwaggerTestRg/providers/Microsoft.RecoveryServices/vaults/NetSDKTestRsVault/backupJobs/00000000-0000-0000-0000-000000000000/operationResults/00000000-0000-0000-0000-000000000000?api-version=2017-07-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerExportJobs.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerExportJobs.json new file mode 100644 index 000000000000..05aaf48c732e --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Common/TriggerExportJobs.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "SwaggerTestRg", + "vaultName": "NetSDKTestRsVault", + "api-version": "2022-01-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/2022-01-01/examples/Dpm/BackupEngines_Get.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Dpm/BackupEngines_Get.json new file mode 100644 index 000000000000..572aa5579bee --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Dpm/BackupEngines_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "backupEngineName": "testServer", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer", + "name": "testServer", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Dpm/BackupEngines_List.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Dpm/BackupEngines_List.json new file mode 100644 index 000000000000..bf6e8d031c60 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Dpm/BackupEngines_List.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "testRG", + "vaultName": "testVault", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer1", + "name": "testServer1", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9532.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer1", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + }, + { + "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.RecoveryServices/vaults/testVault/backupEngines/testServer5", + "name": "testServer5", + "type": "Microsoft.RecoveryServices/vaults/backupEngines", + "properties": { + "backupEngineType": "DpmBackupEngine", + "dpmVersion": "5.1.348.0", + "isDpmUpgradeAvailable": false, + "azureBackupAgentVersion": "2.0.9530.0", + "isAzureBackupAgentUpgradeAvailable": false, + "registrationStatus": "Registered", + "backupEngineState": "Active", + "friendlyName": "testServer5", + "extendedInfo": { + "protectedItemsCount": 35, + "protectedServersCount": 21, + "diskCount": 5, + "availableDiskSpace": 50, + "usedDiskSpace": 20 + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json new file mode 100644 index 000000000000..9235bce514a8 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ListOperations.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "microsoft.recoveryservices/vaults/usages/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupUsageSummaries/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/storageConfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/tokenInfo/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupSecurityPIN/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupManagementMetaData/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupOperations/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/cancel/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobs/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPolicies/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectedItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/operationsStatus/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectableItems/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/refreshContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupProtectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupEngines", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupStatus", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupPreValidateProtection", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "PreValidate Protection", + "operation": "Pre Validate Enable Protection", + "description": "" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupValidateFeatures", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Validate Features", + "operation": "Validate Features", + "description": "Validate Features" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/backupProtectionIntent/write", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Intent", + "operation": "Create backup Protection Intent", + "description": "Create a backup Protection Intent" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/{fabricName}/protectionContainers/{containerName}/items/read", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Workload Items", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + }, + { + "name": "microsoft.recoveryservices/vaults/backupFabrics/protectionContainers/inquire/action", + "display": { + "provider": "microsoft.recoveryservices", + "resource": "Protection Containers Inquire", + "operation": "Get all items in a container", + "description": "Get all items in a container" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..dcab891ffb1b --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/DeletePrivateEndpointConnection.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json new file mode 100644 index 000000000000..9d5f4bbe5d33 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json new file mode 100644 index 000000000000..13e185145ca3 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/GetPrivateEndpointConnectionOperationStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "vaultName": "gaallavaultbvtd2msi", + "operationId": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "name": "0f48183b-0a44-4dca-aec1-bba5daab888a", + "status": "Succeeded", + "startTime": "2020-02-27T11:59:47.5901592Z", + "endTime": "2020-02-27T11:59:47.5901592Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json new file mode 100644 index 000000000000..b2313a278c38 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/PrivateEndpointConnection/PutPrivateEndpointConnection.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "04cf684a-d41f-4550-9f70-7708a3a2283b", + "resourceGroupName": "gaallaRG", + "vaultName": "gaallavaultbvtd2msi", + "privateEndpointConnectionName": "gaallatestpe2.5704c932-249a-490b-a142-1396838cd3b", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Pending", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/6c48fa17-39c7-45f1-90ac-47a587128ace/resourceGroups/backupadminrg/providers/Microsoft.RecoveryServices/Vaults/demo-pevault-2/privateEndpointConnections/autoapprovalpeecy4.3679789459502941542.backup.5ede856d-d9f0-461e-a15b-370c84525817/operationsStatus/2908a25d-8036-48d2-bdcc-fdce26b9771f?api-versi", + "Retry-After": "60" + } + }, + "200": { + "body": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.RecoveryServicesBVTD2/vaults/gaallavaultbvtd2msi/privateEndpointConnections/gaallatestpe3.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "name": "gaallatestpe1.3592346090307038890.backup.5704c932-249a-490b-a142-1396838cd3b", + "type": "Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/gaallaRG/providers/Microsoft.Network/privateEndpoints/gaallatestpe3" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json new file mode 100644 index 000000000000..9ad8089c49cf --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/DeleteResourceGuardProxy.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json new file mode 100644 index 000000000000..39f6b084dd32 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/GetResourceGuardProxy.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/resourceguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json new file mode 100644 index 000000000000..795cec65791f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/ListResourceGuardProxy.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json new file mode 100644 index 000000000000..efcfd251a013 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/PutResourceGuardProxy.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2022-01-01", + "parameters": { + "id": "/subscriptions/0b352192-dcac-4cc7-992e-a96190ccc68c/resourceGroups/SampleResourceGroup/providers/Microsoft.RecoveryServicesBVTD2/vaults/sampleVault/backupResourceGuardProxies/swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/backupmanagement/resources/sampleVault/backupResourceGuardProxies/swaggerExample", + "name": "swaggerExample", + "type": "Microsoft.RecoveryServices/vaults/backupResourceGuardProxies", + "properties": { + "resourceGuardResourceId": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew", + "resourceGuardOperationDetails": [ + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/deleteResourceGuardProxyRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteResourceGuardProxyRequests/default" + }, + { + "vaultCriticalOperation": "Microsoft.DataProtection/resourceGuards/disableSoftDeleteRequests", + "defaultResourceRequest": "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/disableSoftDeleteRequests/default" + } + ], + "lastUpdatedTime": "2021-02-11T12:20:47.8210031Z", + "description": "Please take JIT access before performing any of the critical operation" + } + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json new file mode 100644 index 000000000000..758c85435060 --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ResourceGuardProxyCRUD/UnlockDeleteResourceGuardProxy.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "0b352192-dcac-4cc7-992e-a96190ccc68c", + "vaultName": "sampleVault", + "resourceGroupName": "SampleResourceGroup", + "resourceGuardProxyName": "swaggerExample", + "api-version": "2022-01-01", + "parameters": { + "resourceGuardOperationRequests": [ + "/subscriptions/c999d45b-944f-418c-a0d8-c3fcfd1802c8/resourceGroups/vaultguardRGNew/providers/Microsoft.DataProtection/resourceGuards/VaultGuardTestNew/deleteProtectedItemRequests/default" + ], + "resourceToBeDeleted": "/subscriptions/62b829ee-7936-40c9-a1c9-47a93f9f3965/resourceGroups/gaallarg/providers/Microsoft.RecoveryServices/vaults/MercuryCrrVault/backupFabrics/Azure/protectionContainers/VMAppContainer;compute;crrtestrg;crrtestvm/protectedItems/SQLDataBase;mssqlserver;testdb" + } + }, + "responses": { + "200": { + "body": { + "unlockDeleteExpiryTime": "2021-02-11T13:12:27.7870742Z" + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TriggerRecoveryPointMove_Post.json b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TriggerRecoveryPointMove_Post.json new file mode 100644 index 000000000000..da9a1624c83f --- /dev/null +++ b/specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TriggerRecoveryPointMove_Post.json @@ -0,0 +1,26 @@ +{ + "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": "2022-01-01", + "parameters": { + "objectType": "MoveRPAcrossTiersRequest", + "sourceTierType": "HardenedRP", + "targetTierType": "ArchivedRP" + } + }, + "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=2020-09-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=2020-09-01", + "Retry-After": 60 + } + } + } +} diff --git a/specification/recoveryservicesbackup/resource-manager/readme.go.md b/specification/recoveryservicesbackup/resource-manager/readme.go.md index 38ee5e065cd2..08525c8af777 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.go.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-12 - tag: package-2021-07 - tag: package-2021-01 - tag: package-2020-12 @@ -32,6 +33,15 @@ batch: - tag: package-2016-06 ``` +### Tag: package-2021-12 and go + +These settings apply only when `--tag=package-2021-12 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2021-12' && $(go) +output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2021-12-01/$(namespace) +``` + ### Tag: package-2021-07 and go These settings apply only when `--tag=package-2021-07 --go` is specified on the command line. diff --git a/specification/recoveryservicesbackup/resource-manager/readme.md b/specification/recoveryservicesbackup/resource-manager/readme.md index 8530169fe793..4bcd9485d96f 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.md @@ -40,7 +40,7 @@ tag: package-passivestamp-2021-11-15 ``` ``` yaml $(package-activestamp) -tag: package-2021-12 +tag: package-2022-01 ``` ### Validations @@ -55,14 +55,23 @@ message-format: json ``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.RecoveryServices/stable/2022-01-01/bms.json +``` ### Tag: package-2021-12 These settings apply only when `--tag=package-2021-12` is specified on the command line. -```yaml $(tag) == 'package-2021-12' +``` yaml $(tag) == 'package-2021-12' input-file: - Microsoft.RecoveryServices/stable/2021-12-01/bms.json ``` + ### Tag: package-passivestamp-2021-11-15 These settings apply only when `--tag=package-passivestamp-2021-11-15` is specified on the command line. @@ -306,7 +315,7 @@ csharp: payload-flattening-threshold: 1 license-header: MICROSOFT_MIT_NO_VERSION namespace: Microsoft.Azure.Management.RecoveryServices.Backup - output-folder: $(csharp-sdks-folder)/recoveryservices-backup/Microsoft.Azure.Management.RecoveryServices.Backup/src/Generated + output-folder: $(csharp-sdks-folder)/recoveryservices-backup/Microsoft.Azure.Management.RecoveryServices.Backup/src/recoveryservicesbackup/Generated clear-output-folder: true ``` diff --git a/specification/recoveryservicesbackup/resource-manager/readme.python.md b/specification/recoveryservicesbackup/resource-manager/readme.python.md index 0dec73714f4f..294e15de0072 100644 --- a/specification/recoveryservicesbackup/resource-manager/readme.python.md +++ b/specification/recoveryservicesbackup/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-recoveryservicesbackup @@ -14,7 +14,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(track2) +```yaml $(python) clear-output-folder: true batch: - tag: package-passivestamp-2021-11-15 @@ -42,7 +42,7 @@ namespace: azure.mgmt.recoveryservicesbackup.activestamp output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservicesbackup/azure/mgmt/recoveryservicesbackup/activestamp ``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true directive: diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/service.json index fcb920f22b1e..d782d7d5345c 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/service.json +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2021-12-01/service.json @@ -7979,14 +7979,22 @@ "type": "array", "items": { "$ref": "#/definitions/A2AVmDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri" + ] }, "vmManagedDisks": { "description": "The list of vm managed disk details.", "type": "array", "items": { "$ref": "#/definitions/A2AVmManagedDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ] } }, "x-ms-discriminator-value": "A2A" @@ -8144,14 +8152,20 @@ "type": "array", "items": { "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri" + ] }, "vmManagedDisks": { "description": "The list of vm managed disk inputs.", "type": "array", "items": { "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "multiVmGroupName": { "description": "The multi vm group name.", @@ -8338,14 +8352,22 @@ "type": "array", "items": { "$ref": "#/definitions/A2AVmDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri" + ] }, "vmManagedDisks": { "description": "The list of vm managed disk details.", "type": "array", "items": { "$ref": "#/definitions/A2AVmManagedDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ] }, "multiVmGroupName": { "description": "The multi vm group name.", @@ -8968,21 +8990,30 @@ "type": "array", "items": { "$ref": "#/definitions/A2AProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskUri" + ] }, "unprotectedDisks": { "description": "The list of unprotected disks.", "type": "array", "items": { "$ref": "#/definitions/A2AUnprotectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskLunId" + ] }, "protectedManagedDisks": { "description": "The list of protected managed disks.", "type": "array", "items": { "$ref": "#/definitions/A2AProtectedManagedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "recoveryBootDiagStorageAccountId": { "description": "The recovery boot diagnostic storage account Arm Id.", @@ -9033,7 +9064,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "vmSyncedConfigDetails": { "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", @@ -9205,14 +9239,20 @@ "type": "array", "items": { "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri" + ] }, "vmManagedDisks": { "description": "The list of vm managed disk details.", "type": "array", "items": { "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "recoveryResourceGroupId": { "description": "The recovery resource group id.", @@ -9324,7 +9364,12 @@ "type": "array", "items": { "$ref": "#/definitions/A2AVmDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri", + "recoveryAzureStorageAccountId", + "primaryStagingAzureStorageAccountId" + ] }, "recoveryResourceGroupId": { "description": "The recovery resource group Id. Valid for V2 scenarios.", @@ -9363,14 +9408,24 @@ "type": "array", "items": { "$ref": "#/definitions/A2AVmDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskUri", + "recoveryAzureStorageAccountId", + "primaryStagingAzureStorageAccountId" + ] }, "vmManagedDisks": { "description": "The list of vm managed disk details.", "type": "array", "items": { "$ref": "#/definitions/A2AVmManagedDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ] }, "recoveryResourceGroupId": { "description": "The recovery resource group Id. Valid for V2 scenarios.", @@ -9541,7 +9596,10 @@ "type": "array", "items": { "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "recoveryBootDiagStorageAccountId": { "description": "The boot diagnostic storage account.", @@ -9827,6 +9885,9 @@ "items": { "$ref": "#/definitions/AgentDiskDetails" }, + "x-ms-identifiers": [ + "diskId" + ], "readOnly": true } } @@ -9926,7 +9987,8 @@ "type": "array", "items": { "$ref": "#/definitions/ReplicationAppliance" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "The value of next link.", @@ -10071,7 +10133,10 @@ "type": "array", "items": { "$ref": "#/definitions/JobErrorDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] } } }, @@ -10164,7 +10229,8 @@ "type": "array", "items": { "$ref": "#/definitions/A2AZoneDetails" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "Azure" @@ -10240,7 +10306,10 @@ "type": "array", "items": { "$ref": "#/definitions/InputEndpoint" - } + }, + "x-ms-identifiers": [ + "endpointName" + ] } } }, @@ -10363,7 +10432,10 @@ "type": "array", "items": { "$ref": "#/definitions/InconsistentVmDetails" - } + }, + "x-ms-identifiers": [ + "vmName" + ] } }, "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" @@ -10441,7 +10513,8 @@ "type": "array", "items": { "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" - } + }, + "x-ms-identifiers": [] } } }, @@ -10555,14 +10628,16 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanGroup" - } + }, + "x-ms-identifiers": [] }, "providerSpecificInput": { "description": "The provider specific input.", "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" - } + }, + "x-ms-identifiers": [] } } }, @@ -10848,6 +10923,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true }, "forwardProtectedItemCount": { @@ -11052,7 +11130,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] } } }, @@ -11363,7 +11444,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "health": { "description": "Health of fabric.", @@ -11491,7 +11575,10 @@ "type": "array", "items": { "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "x-ms-discriminator-value": "FailoverJobDetails" @@ -11594,7 +11681,10 @@ "type": "array", "items": { "$ref": "#/definitions/ASRTask" - } + }, + "x-ms-identifiers": [ + "taskId" + ] } }, "discriminator": "instanceType" @@ -11608,7 +11698,10 @@ "type": "array", "items": { "$ref": "#/definitions/InnerHealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "errorSource": { "description": "Source of error.", @@ -12005,7 +12098,10 @@ "type": "array", "items": { "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "diskEncryptionSetId": { "description": "The DiskEncryptionSet ARM Id.", @@ -12231,7 +12327,11 @@ "type": "array", "items": { "$ref": "#/definitions/AzureVmDiskDetails" - } + }, + "x-ms-identifiers": [ + "vhdId", + "diskId" + ] }, "recoveryAzureVmName": { "description": "Recovery Azure given name.", @@ -12285,7 +12385,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "selectedRecoveryAzureNetworkId": { "description": "The selected recovery azure network Id.", @@ -12384,7 +12487,10 @@ "type": "array", "items": { "$ref": "#/definitions/HyperVReplicaAzureManagedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] } }, "x-ms-discriminator-value": "HyperVReplicaAzure" @@ -12552,7 +12658,10 @@ "type": "array", "items": { "$ref": "#/definitions/UpdateDiskInput" - } + }, + "x-ms-identifiers": [ + "diskId" + ] } }, "x-ms-discriminator-value": "HyperVReplicaAzure" @@ -12660,7 +12769,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "vmId": { "description": "The virtual machine Id.", @@ -12683,7 +12795,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiskDetails" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" @@ -12785,7 +12898,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "vmId": { "description": "The virtual machine Id.", @@ -12808,7 +12924,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiskDetails" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "HyperVReplica2012R2" @@ -12948,7 +13065,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "vmId": { "description": "The virtual machine Id.", @@ -12971,7 +13091,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiskDetails" - } + }, + "x-ms-identifiers": [] } }, "x-ms-discriminator-value": "HyperVReplica2012" @@ -13024,7 +13145,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiskDetails" - } + }, + "x-ms-identifiers": [] }, "hasPhysicalDisk": { "description": "A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum.", @@ -13299,7 +13421,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageAzureV2DiskInputDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "targetAzureNetworkId": { "description": "The selected target Azure network Id.", @@ -13806,7 +13931,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "diskResized": { "description": "A value indicating whether any disk is resized for this VM.", @@ -13843,7 +13971,11 @@ "type": "array", "items": { "$ref": "#/definitions/AzureVmDiskDetails" - } + }, + "x-ms-identifiers": [ + "vhdId", + "diskId" + ] }, "recoveryAzureVMName": { "description": "Recovery Azure given name.", @@ -13866,7 +13998,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "selectedRecoveryAzureNetworkId": { "description": "The selected recovery azure network Id.", @@ -13932,7 +14067,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "lastRpoCalculatedTime": { "format": "date-time", @@ -13957,7 +14095,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "lastRecoveryPointReceived": { "format": "date-time", @@ -14019,7 +14160,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageAzureV2SwitchProviderBlockingErrorDetails" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "switchProviderDetails": { "$ref": "#/definitions/InMageAzureV2SwitchProviderDetails", @@ -14272,7 +14416,10 @@ "type": "array", "items": { "$ref": "#/definitions/UpdateDiskInput" - } + }, + "x-ms-identifiers": [ + "diskId" + ] } }, "x-ms-discriminator-value": "InMageAzureV2" @@ -14353,7 +14500,10 @@ "type": "array", "items": { "$ref": "#/definitions/DiskVolumeDetails" - } + }, + "x-ms-identifiers": [ + "label" + ] } } }, @@ -14366,14 +14516,18 @@ "type": "array", "items": { "$ref": "#/definitions/InMageVolumeExclusionOptions" - } + }, + "x-ms-identifiers": [ + "volumeLabel" + ] }, "diskSignatureOptions": { "description": "The guest disk signature based option for disk exclusion.", "type": "array", "items": { "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" - } + }, + "x-ms-identifiers": [] } } }, @@ -14774,6 +14928,9 @@ "items": { "$ref": "#/definitions/InMageRcmFabricSwitchProviderBlockingErrorDetails" }, + "x-ms-identifiers": [ + "errorCode" + ], "readOnly": true } } @@ -14984,7 +15141,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmDiskInput" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "disksDefault": { "$ref": "#/definitions/InMageRcmDisksDefaultInput", @@ -15253,6 +15413,9 @@ "items": { "$ref": "#/definitions/AgentDetails" }, + "x-ms-identifiers": [ + "agentId" + ], "readOnly": true } }, @@ -15798,7 +15961,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmFailbackProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "mobilityAgentDetails": { "$ref": "#/definitions/InMageRcmFailbackMobilityAgentDetails", @@ -15809,7 +15975,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmFailbackNicDetails" - } + }, + "x-ms-identifiers": [ + "macAddress" + ] }, "lastPlannedFailoverStartTime": { "format": "date-time", @@ -16641,7 +16810,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "isLastUpgradeSuccessful": { "description": "A value indicating whether last agent upgrade was successful or not.", @@ -16662,21 +16834,30 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "agentUpgradeBlockingErrorDetails": { "description": "The agent upgrade blocking error information.", "type": "array", "items": { "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] }, "vmNics": { "description": "The network details.", "type": "array", "items": { "$ref": "#/definitions/InMageRcmNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "discoveredVmDetails": { "$ref": "#/definitions/InMageRcmDiscoveredProtectedVmDetails", @@ -16908,7 +17089,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageRcmNicInput" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "licenseType": { "description": "The license type.", @@ -17003,7 +17187,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "ipAddress": { "description": "The source IP address.", @@ -17067,7 +17254,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "discoveryType": { "description": "A value indicating the discovery type of the machine.", @@ -17089,7 +17279,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "lastRpoCalculatedTime": { "format": "date-time", @@ -17479,14 +17672,20 @@ "type": "array", "items": { "$ref": "#/definitions/ASRTask" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "errors": { "description": "The errors.", "type": "array", "items": { "$ref": "#/definitions/JobErrorDetails" - } + }, + "x-ms-identifiers": [ + "taskId" + ] }, "startTime": { "format": "date-time", @@ -17772,6 +17971,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true } } @@ -17814,28 +18016,40 @@ "type": "array", "items": { "$ref": "#/definitions/RetentionVolume" - } + }, + "x-ms-identifiers": [ + "volumeName" + ] }, "dataStores": { "description": "The list of data stores in the fabric.", "type": "array", "items": { "$ref": "#/definitions/DataStore" - } + }, + "x-ms-identifiers": [ + "symbolicName" + ] }, "validationErrors": { "description": "Validation errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "healthErrors": { "description": "Health errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "diskCount": { "format": "int32", @@ -18041,6 +18255,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true }, "allowedOperations": { @@ -18319,7 +18536,10 @@ "type": "array", "items": { "$ref": "#/definitions/Subnet" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "friendlyName": { "description": "The Friendly Name.", @@ -18429,7 +18649,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationsDiscovery" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The value of next link.", @@ -18654,7 +18877,10 @@ "type": "array", "items": { "$ref": "#/definitions/MobilityServiceUpdate" - } + }, + "x-ms-identifiers": [ + "version" + ] }, "hostId": { "description": "The agent generated Id.", @@ -18735,7 +18961,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "agentExpiryDate": { "format": "date-time", @@ -19018,6 +19247,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true }, "protectedItemCount": { @@ -19271,7 +19503,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "policyId": { "description": "Policy ARM Id.", @@ -19464,6 +19699,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true } } @@ -19534,6 +19772,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true } } @@ -19820,14 +20061,20 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanAction" - } + }, + "x-ms-identifiers": [ + "actionName" + ] }, "endGroupActions": { "description": "The end group actions.", "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanAction" - } + }, + "x-ms-identifiers": [ + "actionName" + ] } } }, @@ -20110,7 +20357,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + }, + "x-ms-identifiers": [] } } }, @@ -20188,14 +20436,16 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanGroup" - } + }, + "x-ms-identifiers": [] }, "providerSpecificDetails": { "description": "The provider id and provider specific details.", "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails" - } + }, + "x-ms-identifiers": [] } } }, @@ -20373,7 +20623,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + }, + "x-ms-identifiers": [] } } }, @@ -20428,7 +20679,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + }, + "x-ms-identifiers": [] } } }, @@ -20602,7 +20854,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "draIdentifier": { "description": "The DRA Id.", @@ -20787,6 +21042,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true } } @@ -20893,7 +21151,10 @@ "uniqueItems": false, "items": { "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo" - } + }, + "x-ms-identifiers": [ + "code" + ] } } }, @@ -21032,7 +21293,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "policyId": { "description": "The ID of Policy governing this PE.", @@ -21281,6 +21545,9 @@ "items": { "$ref": "#/definitions/HealthError" }, + "x-ms-identifiers": [ + "errorId" + ], "readOnly": true }, "protectedItemCount": { @@ -21339,7 +21606,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResolveHealthError" - } + }, + "x-ms-identifiers": [ + "healthErrorId" + ] } } }, @@ -21383,7 +21653,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthErrorSummary" - } + }, + "x-ms-identifiers": [ + "summaryCode" + ] }, "categorizedResourceCounts": { "description": "The categorized resource counts.", @@ -21883,7 +22156,10 @@ "type": "array", "items": { "$ref": "#/definitions/OSVersionWrapper" - } + }, + "x-ms-identifiers": [ + "version" + ] } } }, @@ -21896,7 +22172,8 @@ "type": "array", "items": { "$ref": "#/definitions/SupportedOSProperty" - } + }, + "x-ms-identifiers": [] } } }, @@ -21913,7 +22190,10 @@ "type": "array", "items": { "$ref": "#/definitions/SupportedOSDetails" - } + }, + "x-ms-identifiers": [ + "osName" + ] } } }, @@ -22091,7 +22371,8 @@ "type": "array", "items": { "$ref": "#/definitions/ComputeSizeErrorDetails" - } + }, + "x-ms-identifiers": [] }, "highIopsSupported": { "description": "The value indicating whether the target compute size supports high Iops.", @@ -22213,7 +22494,10 @@ "type": "array", "items": { "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "x-ms-discriminator-value": "TestFailoverJobDetails" @@ -22547,7 +22831,8 @@ "type": "array", "items": { "$ref": "#/definitions/RecoveryPlanGroup" - } + }, + "x-ms-identifiers": [] } } }, @@ -22594,7 +22879,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMNicInputDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "licenseType": { "description": "License type.", @@ -22693,7 +22981,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] }, "protectedItemsHealth": { "$ref": "#/definitions/ResourceHealthSummary", @@ -22864,7 +23155,10 @@ "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] } } }, @@ -23035,7 +23329,10 @@ "type": "array", "items": { "$ref": "#/definitions/IPConfigDetails" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "selectionType": { "description": "Selection type for failover.", @@ -23106,7 +23403,10 @@ "type": "array", "items": { "$ref": "#/definitions/IPConfigInputDetails" - } + }, + "x-ms-identifiers": [ + "ipConfigName" + ] }, "selectionType": { "description": "Selection type for failover.", @@ -23306,7 +23606,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMwareCbtDiskInput" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "licenseType": { "description": "License type.", @@ -23547,7 +23850,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMwareCbtProtectedDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "targetNetworkId": { "description": "The target network Id.", @@ -23558,7 +23864,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMwareCbtNicDetails" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "targetNicTags": { "description": "The tags for the target NICs.", @@ -24032,7 +24341,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMwareCbtNicInput" - } + }, + "x-ms-identifiers": [ + "nicId" + ] }, "vmDisks": { "description": "The list of disk update properties.", @@ -24040,7 +24352,10 @@ "type": "array", "items": { "$ref": "#/definitions/VMwareCbtUpdateDiskInput" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "licenseType": { "description": "The license type.", @@ -24128,7 +24443,10 @@ "type": "array", "items": { "$ref": "#/definitions/RunAsAccount" - } + }, + "x-ms-identifiers": [ + "accountId" + ] }, "replicationPairCount": { "description": "The number of replication pairs configured in this CS.", @@ -24259,7 +24577,10 @@ "type": "array", "items": { "$ref": "#/definitions/InMageFabricSwitchProviderBlockingErrorDetails" - } + }, + "x-ms-identifiers": [ + "errorCode" + ] } }, "x-ms-discriminator-value": "VMware" @@ -24387,14 +24708,20 @@ "type": "array", "items": { "$ref": "#/definitions/InMageDiskDetails" - } + }, + "x-ms-identifiers": [ + "diskId" + ] }, "validationErrors": { "description": "The validation errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" - } + }, + "x-ms-identifiers": [ + "errorId" + ] } }, "x-ms-discriminator-value": "VMwareVirtualMachine" diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_Get.json new file mode 100644 index 000000000000..0de54c885af1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationRecoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "200": { + "body": { + "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints", + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json new file mode 100644 index 000000000000..294e620a24d1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "648336ef-2d70-4d98-b100-8c299f97cd41", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints", + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/648336ef-2d70-4d98-b100-8c299f97cd41", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + }, + { + "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems/migrationRecoveryPoints", + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1/migrationRecoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "properties": { + "recoveryPointTime": "2017-04-26T07:37:30.9722019Z", + "recoveryPointType": "CrashConsistent" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Operations_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Operations_List.json new file mode 100644 index 000000000000..b66df8baaa44 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/Operations_List.json @@ -0,0 +1,1225 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.RecoveryServices/Vaults/vaultTokens/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Vault Token", + "description": "The Vault Token operation can be used to get Vault Token for vault level backend operations." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Register Service Container", + "description": "The Register Service Container operation can be used to register a container with Recovery Service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Operation Results", + "description": "The Get Operation Results operation can be used get the operation status and result for the asynchronously submitted operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Containers", + "description": "The Get Containers operation can be used get the containers registered for a resource." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/registeredIdentities/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Unregister Service Container", + "description": "The UnRegister Container operation can be used to unregister a container." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/certificates/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Update Resource Certificate", + "description": "The Update Resource Certificate operation updates the resource/vault credential certificate." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Alerts Settings", + "operation": "Read Alerts Settings", + "description": "Read Any Alerts Settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationAlertSettings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Alerts Settings", + "operation": "Create or Update Alerts Settings", + "description": "Create or Update Any Alerts Settings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationEvents/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Events", + "operation": "Read Events", + "description": "Read Any Events" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Networks", + "operation": "Read Networks", + "description": "Read Any Networks" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Read Network Mappings", + "description": "Read Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Create or Update Network Mappings", + "description": "Create or Update Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Network Mappings", + "operation": "Delete Network Mappings", + "description": "Delete Any Network Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protectable Items", + "operation": "Read Protectable Items", + "description": "Read Any Protectable Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Read Protection Container Mappings", + "description": "Read Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Create or Update Protection Container Mappings", + "description": "Create or Update Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Remove Protection Container Mapping", + "description": "Remove Protection Container Mapping" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Container Mappings", + "operation": "Delete Protection Container Mappings", + "description": "Delete Any Protection Container Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Replication Recovery Points", + "operation": "Read Replication Recovery Points", + "description": "Read Any Replication Recovery Points" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Read Protected Items", + "description": "Read Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Create or Update Protected Items", + "description": "Create or Update Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Delete Any Protected Items" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Remove Protected Item", + "description": "Remove Protected Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/plannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Planned Failover", + "description": "Planned Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/unplannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Failover", + "description": "Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Test Failover", + "description": "Test Failover" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/testFailoverCleanup/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Test Failover Cleanup", + "description": "Test Failover Cleanup" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/failoverCommit/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Failover Commit", + "description": "Failover Commit" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/reProtect/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "ReProtect Protected Item", + "description": "ReProtect Protected Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/updateMobilityService/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Update Mobility Service", + "description": "Update Mobility Service" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/repairReplication/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Repair replication", + "description": "Repair replication" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/applyRecoveryPoint/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protected Items", + "operation": "Apply Recovery Point", + "description": "Apply Recovery Point" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Read Jobs", + "description": "Read Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/cancel/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Cancel Job", + "description": "Cancel Job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/restart/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Restart job", + "description": "Restart job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationJobs/resume/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Resume Job", + "description": "Resume Job" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Read Protection Containers", + "description": "Read Any Protection Containers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/discoverProtectableItem/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Discover Protectable Item", + "description": "Discover Protectable Item" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Create or Update Protection Containers", + "description": "Create or Update Any Protection Containers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Remove Protection Container", + "description": "Remove Protection Container" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/switchprotection/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Protection Containers", + "operation": "Switch Protection Container", + "description": "Switch Protection Container" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Read Policies", + "description": "Read Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Create or Update Policies", + "description": "Create or Update Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationPolicies/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Policies", + "operation": "Delete Policies", + "description": "Delete Any Policies" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Read Recovery Plans", + "description": "Read Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Create or Update Recovery Plans", + "description": "Create or Update Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Delete Recovery Plans", + "description": "Delete Any Recovery Plans" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/plannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Planned Failover Recovery Plan", + "description": "Planned Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/unplannedFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Failover Recovery Plan", + "description": "Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailover/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Test Failover Recovery Plan", + "description": "Test Failover Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/testFailoverCleanup/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Test Failover Cleanup Recovery Plan", + "description": "Test Failover Cleanup Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/failoverCommit/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "Failover Commit Recovery Plan", + "description": "Failover Commit Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans/reProtect/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Plans", + "operation": "ReProtect Recovery Plan", + "description": "ReProtect Recovery Plan" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Read Recovery Services Providers", + "description": "Read Any Recovery Services Providers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Remove Recovery Services Provider", + "description": "Remove Recovery Services Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Delete Recovery Services Providers", + "description": "Delete Any Recovery Services Providers" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders/refreshProvider/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Recovery Services Providers", + "operation": "Refresh Provider", + "description": "Refresh Provider" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Read Fabrics", + "description": "Read Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Create or Update Fabrics", + "description": "Create or Update Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/remove/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Remove Fabric", + "description": "Remove Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/checkConsistency/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Checks Consistency of the Fabric", + "description": "Checks Consistency of the Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Delete Fabrics", + "description": "Delete Any Fabrics" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/renewcertificate/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Renew Certificate for Fabric", + "description": "Renew Certificate for Fabric" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/deployProcessServerImage/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Deploy Process Server Image", + "description": "Deploy Process Server Image" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/reassociateGateway/action", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Fabrics", + "operation": "Reassociate Gateway", + "description": "Reassociate Gateway" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classifications", + "operation": "Read Storage Classifications", + "description": "Read Any Storage Classifications" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Read Storage Classification Mappings", + "description": "Read Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Create or Update Storage Classification Mappings", + "description": "Create or Update Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Storage Classification Mappings", + "operation": "Delete Storage Classification Mappings", + "description": "Delete Any Storage Classification Mappings" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/usages/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Vault Usages", + "operation": "Read Vault Usages", + "description": "Read Any Vault Usages" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/read", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Read Jobs", + "description": "Read Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/write", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Create or Update Jobs", + "description": "Create or Update Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters/delete", + "display": { + "provider": "Microsoft Recovery Services", + "resource": "Jobs", + "operation": "Delete Jobs", + "description": "Delete Any Jobs" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/usages/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Usage", + "operation": "Recovery Services Vault usage details.", + "description": "Returns usage details for a Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupUsageSummaries/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Usages Summaries", + "operation": "Recovery Services Protected Items and Protected Servers usage summaries details.", + "description": "Returns summaries for Protected Items and Protected Servers for a Recovery Services ." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/storageConfig/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Storage Config", + "operation": "Get Resource Storage Config", + "description": "Returns Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/storageConfig/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Storage Config", + "operation": "Write Resource Storage Config", + "description": "Updates Storage Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Config", + "operation": "Get Resource Config", + "description": "Returns Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupconfig/vaultconfig/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vault Config", + "operation": "Update Resource Config", + "description": "Updates Configuration for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/tokenInfo/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Token Info", + "operation": "Get Vault Token Info", + "description": "Returns token information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupSecurityPIN/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "SecurityPINInfo", + "operation": "Get Security PIN Info", + "description": "Returns Security PIN Information for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupManagementMetaData/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Management Metadata", + "operation": "Get Backup Management Metadata", + "description": "Returns Backup Management Metadata for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupOperationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Operation Results", + "operation": "Get Backup Operation Result", + "description": "Returns Backup Operation Result for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupOperations/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Operation Status", + "operation": "Get Backup Operation Status", + "description": "Returns Backup Operation Status for Recovery Services Vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs", + "operation": "Get Jobs", + "description": "Returns all Job Objects" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/cancel/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs", + "operation": "Cancel Jobs", + "description": "Cancel the Job" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Export Backup Jobs", + "operation": "Export Jobs", + "description": "Export Jobs" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobs/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Jobs Operation Results", + "operation": "Get Job Operation Result", + "description": "Returns the Result of Job Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupJobsExport/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Export Backup Jobs Operation Results", + "operation": "Get Export Job Operation Result", + "description": "Returns the Result of Export Job Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Get Recovery Points", + "description": "Get Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/restore/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Restore Recovery Points", + "description": "Restore Recovery Points for Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/provisionInstantItemRecovery/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Provision Instant Item Recovery for Protected Item", + "description": "Provision Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/recoveryPoints/revokeInstantItemRecovery/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Recovery Points", + "operation": "Revoke Instant Item Recovery for Protected Item", + "description": "Revoke Instant Item Recovery for Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Get Protection Policy", + "description": "Returns all Protection Policies" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Create Protection Policy", + "description": "Creates Protection Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policies", + "operation": "Delete Protection Policy", + "description": "Delete a Protection Policy" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policy Operation Results", + "operation": "Get Policy Operation Results", + "description": "Get Results of Policy Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupPolicies/operationStatus/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Policy Operation Status", + "operation": "Get Policy Operation Status", + "description": "Get Status of Policy Operation." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Get Protected Item Details", + "description": "Returns object details of the Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectedItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Get All Protected Items", + "description": "Returns the list of all Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Create Backup Protected Item", + "description": "Create a backup Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Delete Protected Items", + "description": "Deletes Protected Item" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Item Operation Results", + "operation": "Get Protected Items Operation Results", + "description": "Gets Result of Operation Performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/operationStatus/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Item Operation Status", + "operation": "Get Protected Items operation status", + "description": "Returns the status of Operation performed on Protected Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/backup/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protected Items", + "operation": "Backup Protected Item", + "description": "Performs Backup for Protected Item." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectableItems/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Protectable Items", + "operation": "Get Protectable Items", + "description": "Returns list of all Protectable Items." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/refreshContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Refresh Containers", + "operation": "Refresh container", + "description": "Refreshes the container list" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Refresh Containers Operation Results", + "operation": "Get Operation Results", + "description": "Returns status of the operation" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupProtectionContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Protection Containers", + "operation": "Get Containers In Subscription", + "description": "Returns all containers belonging to the subscription" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protection Containers", + "operation": "Get Registered Container", + "description": "Returns all registered containers" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/operationResults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Protection Containers Operation Results", + "operation": "Get Container Operation Results", + "description": "Gets result of Operation performed on Protection Container." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupEngines", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Engines", + "operation": "List of backup management servers.", + "description": "Returns all the backup management servers registered with vault." + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/backupStatus", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Backup Status", + "operation": "Check Backup Status for Vault", + "description": "Check Backup Status for Recovery Services Vaults" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Create Vault", + "description": "Create Vault operation creates an Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Vault", + "description": "The Get Vault operation gets an object representing the Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Delete Vault", + "description": "The Delete Vault operation deletes the specified Azure resource of type 'vault'" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/write", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/Vaults/extendedInformation/delete", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "Vaults", + "operation": "Get Extended Info", + "description": "The Get Extended Info operation gets an object's Extended Info representing the Azure resource of type ?vault?" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/locations/allocatedStamp/read", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "locations/allocatedStamp", + "operation": "Get Allocated Stamp", + "description": "GetAllocatedStamp is internal operation used by service" + }, + "origin": "user" + }, + { + "name": "Microsoft.RecoveryServices/locations/allocateStamp/action", + "display": { + "provider": "Microsoft.RecoveryServices", + "resource": "locations/allocateStamp", + "operation": "Allocated Stamp Action", + "description": "AllocateStamp is internal operation used by service" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_Get.json new file mode 100644 index 000000000000..c2eb71252fd2 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPointName": "b22134ea-620c-474b-9fa5-3c1cb47708e3" + }, + "responses": { + "200": { + "body": { + "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json new file mode 100644 index 000000000000..69617ccfeefe --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/RecoveryPoints_ListByReplicationProtectedItems.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "b22134ea-620c-474b-9fa5-3c1cb47708e3", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "properties": { + "recoveryPointTime": "2017-04-26T06:37:50.8082715Z", + "recoveryPointType": "CrashConsistent" + } + }, + { + "name": "34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/recoveryPoints", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/34cb2d05-e730-4d3f-b96b-a60a5e92acb2", + "properties": { + "recoveryPointTime": "2017-04-26T07:37:30.9722019Z", + "recoveryPointType": "CrashConsistent" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Create.json new file mode 100644 index 000000000000..ee0df46e44fa --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Create.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "alertSettingName": "defaultAlertSetting", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "request": { + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Get.json new file mode 100644 index 000000000000..a7722d073b4c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "alertSettingName": "defaultAlertSetting", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_List.json new file mode 100644 index 000000000000..00584e6ce6e5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAlertSettings_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationAlertSettings", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationAlertSettings/defaultAlertSetting", + "name": "defaultAlertSetting", + "properties": { + "sendToOwners": "false", + "customEmailAddresses": [ + "ronehr@microsoft.com" + ], + "locale": "en-US" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAppliances_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAppliances_List.json new file mode 100644 index 000000000000..2565c39ad138 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationAppliances_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "providerSpecificDetails": { + "instanceType": "InMageRcm", + "appliances": [] + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_Get.json new file mode 100644 index 000000000000..a594dc9b282e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "virtualMachineName": "testVm1", + "resourceGroupName": "testRg1", + "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278" + }, + "responses": { + "200": { + "body": { + "name": "default", + "type": "Microsoft.RecoveryServices/replicationEligibilityResults", + "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm1/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default", + "properties": { + "clientRequestId": "7d72ade7-b9f7-4d9b-8a19-15d9728c6190", + "errors": [ + { + "code": "A2AOperatingSystemNotSupported", + "message": "The A2A operation could not be completed as the virtual machine is running OS 'ubuntu' with version '18.04' which is not supported for replication.", + "possibleCauses": "OS version not supported.", + "recommendedAction": "The virtual machine is running unsupported Operating system. Refer to the documentation for supported OS versions - https://aka.ms/a2a-os-support-matrix.", + "status": "Error" + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_List.json new file mode 100644 index 000000000000..c333ef756138 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEligibilityResults_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "virtualMachineName": "testVm2", + "resourceGroupName": "testRg1", + "subscriptionId": "d90d145a-4cdd-45a3-b2c4-971d69775278" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "type": "Microsoft.RecoveryServices/replicationEligibilityResults", + "id": "/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default", + "properties": { + "clientRequestId": "a62c81df-e26e-47ea-ab4b-f1fcc1e5b135", + "errors": [ + { + "code": "AzureVmIsNotInDesiredProvisioningState", + "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with provisioning state 'failed'. To enable replication, VM's provisioning state should be 'succeeded'.", + "possibleCauses": "Virtual machine is not in desired state.", + "recommendedAction": "\n Ensure that the VM's provisioning state is 'succeeded'.\n Refer to https://aka.ms/a2a-vm-state-issues to troubleshoot VM provisioning state issues.\n ", + "status": "Error" + }, + { + "code": "AzureVmIsNotInDesiredPowerState", + "message": "Azure virtual machine with Id (/subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/testRg1/providers/Microsoft.Compute/virtualMachines/testVm2) is with power status 'deallocated'. To enable replication, VM's power status should be 'running'.", + "possibleCauses": "Virtual machine is not in desired state.", + "recommendedAction": "\n Ensure that the VM's power status is 'running'.\n You can check the power status in 'VM > Settings > Properties > Status' in Azure portal.\n ", + "status": "Error" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_Get.json new file mode 100644 index 000000000000..c96f3b41b425 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "eventName": "654b71d0-b2ce-4e6e-a861-98528d4bd375", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "properties": { + "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47", + "description": "Virtual machine health is OK", + "eventType": "VmHealth", + "affectedObjectFriendlyName": "vm1", + "severity": "OK", + "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatus" + }, + "healthErrors": [] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_List.json new file mode 100644 index 000000000000..41df5d914f8b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationEvents_List.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814", + "name": "JobStatusMonitoringEvent;9091989892524070155_4ed6f1a6-9b6d-4048-9079-1307dd24b814", + "properties": { + "eventCode": "d32574f6-f59e-4545-b5ac-bc88d545f089", + "description": "TestFailover - Failed", + "eventType": "JobStatus", + "affectedObjectFriendlyName": "vm1", + "severity": "Critical", + "timeOfOccurrence": "2017-05-02T16:00:33.0705652Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatus" + }, + "healthErrors": [ + { + "errorCode": "499", + "errorMessage": "An internal error occurred.", + "possibleCauses": "The operation failed due to an internal error.", + "recommendedAction": "Retry the last action. If the issue persists, contact Support." + } + ] + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationEvents", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationEvents/VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "name": "VmMonitoringEvent;9091989947769704276_516de684-0079-48f7-b44b-882923268654", + "properties": { + "eventCode": "d9a07b07-c7b5-49ca-ab6c-6926596dfe47", + "description": "Virtual machine health is OK", + "eventType": "VmHealth", + "affectedObjectFriendlyName": "vm1", + "severity": "OK", + "timeOfOccurrence": "2017-05-02T14:28:28.5071531Z", + "fabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "eventSpecificDetails": { + "instanceType": "JobStatus" + }, + "healthErrors": [] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_CheckConsistency.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_CheckConsistency.json new file mode 100644 index 000000000000..2d4dee920a69 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_CheckConsistency.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Create.json new file mode 100644 index 000000000000..c9d9020a205f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Create.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "customDetails": { + "instanceType": "FabricSpecificCreationInput" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Delete.json new file mode 100644 index 000000000000..b99fbb861879 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Get.json new file mode 100644 index 000000000000..178963f1fc84 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_List.json new file mode 100644 index 000000000000..c593c0294649 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_MigrateToAad.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_MigrateToAad.json new file mode 100644 index 000000000000..b99fbb861879 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_MigrateToAad.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Purge.json new file mode 100644 index 000000000000..b99fbb861879 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_Purge.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_ReassociateGateway.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_ReassociateGateway.json new file mode 100644 index 000000000000..d5f01f415c46 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_ReassociateGateway.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "fabricName": "GRACE-V2A-1", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "failoverProcessServerRequest": { + "properties": { + "containerName": "cloud_1f3c15af-2256-4568-9e06-e1ef4f728f75", + "sourceProcessServerId": "AFA0EC54-1894-4E44-9CAB02DB8854B117", + "targetProcessServerId": "5D3ED340-85AE-C646-B338641E015DA405", + "vmsToMigrate": [ + "Vm1", + "Vm2" + ], + "updateType": "ServerLevel" + } + } + }, + "responses": { + "200": { + "body": { + "name": "bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/bc15edf300344660d9c2965f5d9225593d99734f6580613c997033abc3512a56", + "properties": { + "friendlyName": "GRACE-V2A-1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "1f3c15af-2256-4568-9e06-e1ef4f728f75", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "VMware" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_RenewCertificate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_RenewCertificate.json new file mode 100644 index 000000000000..d48331193177 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationFabrics_RenewCertificate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "renewCertificate": { + "properties": { + "renewCertificateType": "Cloud" + } + } + }, + "responses": { + "200": { + "body": { + "name": "cloud1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "properties": { + "friendlyName": "cloud1", + "encryptionDetails": { + "kekState": "None" + }, + "rolloverEncryptionDetails": { + "kekState": "None" + }, + "internalIdentifier": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "bcdrState": "Valid", + "customDetails": { + "instanceType": "HyperVSite" + }, + "healthErrorDetails": [], + "health": "Normal" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Cancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Cancel.json new file mode 100644 index 000000000000..473e0c875faa --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Cancel.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "jobName": "2653c648-fc72-4316-86f3-fdf8eaa0066b", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2653c648-fc72-4316-86f3-fdf8eaa0066b", + "name": "2653c648-fc72-4316-86f3-fdf8eaa0066b", + "properties": { + "activityId": "bfbbf6dd-9cbb-4cbc-98a6-faecc8891579 ActivityId: 07cc35ca-b63f-4e42-83c9-81ae0191c322", + "scenarioName": "PlannedFailover", + "friendlyName": "Planned failover", + "state": "Cancelling", + "stateDescription": "Cancelling", + "tasks": [], + "errors": [], + "startTime": "2017-05-03T06:16:06.3235186Z", + "allowedActions": [], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": { + "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "PrimaryVmName": "vm1", + "RecoveryVmId": "", + "RecoveryVmName": "vm1", + "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryCloudName": "cloud1", + "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478", + "RecoveryCloudName": "Microsoft Azure", + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "RecoveryVmmName": "Microsoft Azure", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Export.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Export.json new file mode 100644 index 000000000000..43a7d413ec83 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Export.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "jobQueryParameter": { + "startTime": "2017-04-27T14:26:51.9161395Z", + "endTime": "2017-05-04T14:26:51.9161395Z", + "affectedObjectTypes": "", + "jobStatus": "" + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/37e0fc2b-13f2-4817-aafa-0cd807d46842", + "name": "37e0fc2b-13f2-4817-aafa-0cd807d46842", + "properties": { + "activityId": "36841d27-34f6-49ad-b572-e7dc263f100b-2017-05-04 14:26:47Z-Ibz ActivityId: c124df21-7661-4541-b32a-3c723ebbb045", + "scenarioName": "ExportJobs", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-04T14:33:42.2765562Z", + "endTime": "2017-05-04T14:33:43Z", + "allowedActions": [], + "targetObjectId": "", + "targetObjectName": "", + "targetInstanceType": "Other", + "customDetails": { + "blobUri": "", + "sasToken": "", + "instanceType": "ExportJobDetails", + "affectedObjectDetails": {} + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Get.json new file mode 100644 index 000000000000..3d0c8be31249 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Get.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/32ea4b9e-de62-49a1-b062-7864d5c3b897", + "name": "32ea4b9e-de62-49a1-b062-7864d5c3b897", + "properties": { + "activityId": "fc8e9c8f-0e76-4b6b-8e7e-d37c1b31eba0 ActivityId: c506b6ba-0711-411e-8b09-1f3f4dcb824b", + "scenarioName": "DeleteRecoveryPlan", + "friendlyName": "Delete a recovery plan", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [ + { + "taskId": "763326a2-01c9-4257-b2a1-0aac56465014", + "name": "DeleteRecoveryPlanTask", + "startTime": "2017-04-27T11:25:57.3029434Z", + "endTime": "2017-04-27T11:25:57.318574Z", + "allowedActions": [], + "friendlyName": "Delete a recovery plan task", + "state": "Succeeded", + "stateDescription": "Completed", + "taskType": "TaskDetails", + "customDetails": { + "instanceType": "ManualActionTaskDetails" + }, + "errors": [] + } + ], + "errors": [], + "startTime": "2017-04-27T11:25:56.800358Z", + "endTime": "2017-04-27T11:25:57Z", + "allowedActions": [], + "targetObjectId": "966c33bb-66e7-4567-9786-f80b0694f5f9", + "targetObjectName": "RPtest1", + "targetInstanceType": "RecoveryPlan", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": { + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_List.json new file mode 100644 index 000000000000..2d6d257420cc --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_List.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/1557d73f-6244-491e-8f0b-d300f752240b", + "name": "1557d73f-6244-491e-8f0b-d300f752240b", + "properties": { + "scenarioName": "AddProtectionProfile", + "friendlyName": "Create replication policy", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-04-27T12:46:04.641851Z", + "endTime": "2017-04-27T12:46:11Z", + "allowedActions": [], + "targetObjectId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "targetObjectName": "protectionprofile1", + "targetInstanceType": "ProtectionProfile" + } + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/0236416a-7573-4913-a4a1-6a286fbb1ceb", + "name": "0236416a-7573-4913-a4a1-6a286fbb1ceb", + "properties": { + "scenarioName": "RegisterDra", + "friendlyName": "Register the Azure Site Recovery Provider", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-02T14:07:19.2784338Z", + "endTime": "2017-05-02T14:07:21Z", + "allowedActions": [], + "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "targetObjectName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "targetInstanceType": "Server" + } + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2438d560-80f0-420b-839e-5c8ee0af90a1", + "name": "2438d560-80f0-420b-839e-5c8ee0af90a1", + "properties": { + "scenarioName": "CreateSite", + "friendlyName": "Create a site", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [], + "errors": [], + "startTime": "2017-05-02T05:56:14.569095Z", + "endTime": "2017-05-02T05:56:16Z", + "allowedActions": [], + "targetObjectId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "targetObjectName": "cloud1", + "targetInstanceType": "Server" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Restart.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Restart.json new file mode 100644 index 000000000000..113b03bbdcaf --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Restart.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "jobName": "0664564c-353e-401a-ab0c-722257c10e25", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/42c7d13b-790c-4609-8e0b-0936f1c5e5fb", + "name": "42c7d13b-790c-4609-8e0b-0936f1c5e5fb", + "properties": { + "activityId": "2443a5b4-e675-499f-8983-4126ea0e232c ActivityId: 2a776896-5e56-470b-af55-3c981283c4bc", + "scenarioName": "RestartJob", + "friendlyName": "Restart job", + "state": "Succeeded", + "stateDescription": "Completed", + "tasks": [ + { + "taskId": "RemediateWfTask", + "name": "RemediateTask", + "startTime": "2017-05-03T10:45:13.5677237Z", + "endTime": "2017-05-03T10:45:13.6458467Z", + "allowedActions": [], + "friendlyName": "Restarting job", + "state": "Succeeded", + "stateDescription": "Completed", + "taskType": "TaskDetails", + "customDetails": { + "instanceType": "ManualActionTaskDetails" + }, + "errors": [] + } + ], + "errors": [], + "startTime": "2017-05-03T10:45:12.1320757Z", + "endTime": "2017-05-03T10:45:14Z", + "allowedActions": [], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "AsrJobDetails", + "affectedObjectDetails": {} + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Resume.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Resume.json new file mode 100644 index 000000000000..e68d1d0d4846 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationJobs_Resume.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "jobName": "58776d0b-3141-48b2-a377-9ad863eb160d", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "resumeJobParams": { + "properties": { + "comments": " " + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/58776d0b-3141-48b2-a377-9ad863eb160d", + "name": "58776d0b-3141-48b2-a377-9ad863eb160d", + "properties": { + "activityId": "1b808dfe-0451-44ac-894c-c7270711cd8c ActivityId: 9f6f849e-922a-43ec-a7a6-0be45fc85c56", + "scenarioName": "TestFailover", + "friendlyName": "Test failover", + "state": "Suspended", + "stateDescription": "WaitingForStopTestFailover", + "tasks": [], + "errors": [], + "startTime": "2017-04-25T09:57:57.0357829Z", + "allowedActions": [ + "Cancel", + "Resume" + ], + "targetObjectId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "targetObjectName": "vm1", + "targetInstanceType": "ProtectionEntity", + "customDetails": { + "instanceType": "TestFailoverJobDetails", + "testFailoverStatus": "Completed", + "comments": " ", + "networkName": "vnetavrai", + "networkFriendlyName": "vnetavrai", + "networkType": "VmNetworkAsInput", + "protectedItemDetails": [ + { + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "friendlyName": "vm1", + "testVmName": "vm1-test", + "testVmFriendlyName": "vm1-test", + "networkConnectionStatus": "Connected", + "networkFriendlyName": "vnetavrai", + "subnet": "Subnet1" + } + ], + "affectedObjectDetails": { + "PrimaryVmId": "f8491e4f-817a-40dd-a90c-af773978c75b", + "PrimaryVmName": "vm1", + "RecoveryVmId": "", + "RecoveryVmName": "vm1", + "ProtectionProfileId": "af095a1e-1f1b-5365-87c9-99162ebcfaf0", + "PrimaryCloudId": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryCloudName": "cloud1", + "RecoveryCloudId": "d38048d4-b460-4791-8ece-108395ee8478", + "RecoveryCloudName": "Microsoft Azure", + "PrimaryVmmId": "6d224fc6-f326-5d35-96de-fbf51efb3179", + "PrimaryVmmName": "cloud1", + "RecoveryVmmId": "21a9403c-6ec1-44f2-b744-b4e50b792387", + "RecoveryVmmName": "Microsoft Azure", + "PrimaryFabricProviderId": "HyperVSite", + "RecoveryFabricProviderId": "Azure" + } + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_Get.json new file mode 100644 index 000000000000..8ccb443bc78f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "logicalNetworkName": "87ab394f-165f-4aa9-bd84-b018500b4509", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "name": "87ab394f-165f-4aa9-bd84-b018500b4509", + "properties": { + "friendlyName": "corp", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json new file mode 100644 index 000000000000..685b38cc6959 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "name": "87ab394f-165f-4aa9-bd84-b018500b4509", + "properties": { + "friendlyName": "corp", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsNotIsolated" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationLogicalNetworks", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationLogicalNetworks/87ab394f-165f-4aa9-bd84-b018500b4509", + "name": "53f5a278-ae85-4001-bd5f-f6a02e1f579d", + "properties": { + "friendlyName": "LN-VLANNetwork-4", + "networkVirtualizationStatus": "NetworkVirtualizationNotEnabled", + "logicalNetworkUsage": "NotUsedAsPrivateNetworkForTestFailover", + "logicalNetworkDefinitionsStatus": "LogicalNetworkDefinitionsIsolated" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Create.json new file mode 100644 index 000000000000..a50c30980f30 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "input": { + "properties": { + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "providerSpecificDetails": { + "instanceType": "VMwareCbt", + "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" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Delete.json new file mode 100644 index 000000000000..d4fbf25658cd --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Get.json new file mode 100644 index 000000000000..059e521a8a11 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_List.json new file mode 100644 index 000000000000..5bf56bb692ef --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..ac7b5a6d7464 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Migrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Migrate.json new file mode 100644 index 000000000000..dc58e9302a5e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Migrate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "migrateInput": { + "properties": { + "providerSpecificDetails": { + "instanceType": "VMwareCbt", + "performShutdown": "true" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Resync.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Resync.json new file mode 100644 index 000000000000..c4ce97ee6318 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Resync.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "input": { + "properties": { + "providerSpecificDetails": { + "instanceType": "VMwareCbt", + "skipCbtReset": "true" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrate.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrate.json new file mode 100644 index 000000000000..59c1f8834db1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "testMigrateInput": { + "properties": { + "providerSpecificDetails": { + "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" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json new file mode 100644 index 000000000000..6993d557afb6 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_TestMigrateCleanup.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "testMigrateCleanupInput": { + "properties": { + "comments": "Test Failover Cleanup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Update.json new file mode 100644 index 000000000000..75e203e06da1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationMigrationItems_Update.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "migrationItemName": "virtualmachine1", + "protectionContainerName": "vmwareContainer1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "input": { + "properties": { + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationProtectionContainers/vmwareContainer1/replicationMigrationItems/virtualmachine1", + "name": "virtualmachine1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationMigrationItems", + "properties": { + "machineName": "vm-0520-2", + "migrationState": "Replicating", + "migrationStateDescription": "Ready to migrate", + "testMigrateState": "None", + "testMigrateStateDescription": "None", + "policyFriendlyName": "vmwarepolicy1", + "policyId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationPolicies/vmwarepolicy1", + "allowedOperations": [ + "Migrate", + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup" + ], + "currentJob": { + "jobName": "None", + "jobId": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationJobs/None", + "startTime": "2017-04-26T06:37:50.8082715Z" + }, + "providerSpecificDetails": { + "instanceType": "VMwareCbt" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Create.json new file mode 100644 index 000000000000..6142646dd82a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Create.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap", + "input": { + "properties": { + "recoveryFabricName": "Microsoft Azure", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "fabricSpecificDetails": { + "instanceType": "VmmToAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Delete.json new file mode 100644 index 000000000000..20e835c9eab4 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Get.json new file mode 100644 index 000000000000..63ad5f913f70 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_List.json new file mode 100644 index 000000000000..19d2017fa2bf --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServicesBVTD2/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServicesBVTD2/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json new file mode 100644 index 000000000000..8876522c38a0 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_ListByReplicationNetworks.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Update.json new file mode 100644 index 000000000000..2b8627fdd44b --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworkMappings_Update.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "networkMappingName": "corpe2amap", + "input": { + "properties": { + "recoveryFabricName": "Microsoft Azure", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2", + "fabricSpecificDetails": { + "instanceType": "VmmToAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks/replicationNetworkMappings", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06/replicationNetworkMappings/corpe2amap", + "name": "corpe2amap", + "properties": { + "state": "Paired", + "primaryNetworkFriendlyName": "corp", + "primaryNetworkId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "primaryFabricFriendlyName": "CP-B3L30108-01.ntdev.corp.microsoft.com", + "recoveryNetworkFriendlyName": "vnetavrai2", + "recoveryNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai2", + "recoveryFabricArmId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5", + "recoveryFabricFriendlyName": "Microsoft Azure", + "fabricSpecificSettings": { + "instanceType": "VmmToAzure" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_Get.json new file mode 100644 index 000000000000..e88c460568f5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "networkName": "93ce99d7-1219-4914-aa61-73fe5023988e" + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_List.json new file mode 100644 index 000000000000..fef94625bf15 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_NoIso", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "corp", + "networkType": "NoIsolation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_ListByReplicationFabrics.json new file mode 100644 index 000000000000..53fc47b33049 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationNetworks_ListByReplicationFabrics.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "fabricName": "b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac", + "api-version": "2022-01-01", + "resourceName": "srce2avaultbvtaC27", + "resourceGroupName": "srcBvte2a14C27", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/93ce99d7-1219-4914-aa61-73fe5023988e", + "name": "93ce99d7-1219-4914-aa61-73fe5023988e", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_VLan", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "name": "b83bf8fd-f304-48d7-82c9-5d74e6215c1b", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "VSwitch_NoIso", + "networkType": "NoIsolation" + } + }, + { + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationNetworks", + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/srcBvte2a14C27/providers/Microsoft.RecoveryServices/vaults/srce2avaultbvtaC27/replicationFabrics/b0cef6e9a4437b81803d0b55ada4f700ab66caae59c35d62723a1589c0cd13ac/replicationNetworks/e2267b5c-2650-49bd-ab3f-d66aae694c06", + "name": "e2267b5c-2650-49bd-ab3f-d66aae694c06", + "properties": { + "fabricType": "VMM", + "subnets": [], + "friendlyName": "corp", + "networkType": "NoIsolation" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Create.json new file mode 100644 index 000000000000..484d005a6987 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Create.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "providerSpecificInput": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Delete.json new file mode 100644 index 000000000000..ee6baa9a1be3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Get.json new file mode 100644 index 000000000000..320c60f56786 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_List.json new file mode 100644 index 000000000000..c94208c4ae85 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Update.json new file mode 100644 index 000000000000..c1dfd5e448f5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationPolicies_Update.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "policyName": "protectionprofile1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "replicationProviderSettings": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "name": "protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationPolicies", + "properties": { + "friendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_Get.json new file mode 100644 index 000000000000..ea62a9cd1c92 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectableItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm2", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "ReplicationGroupDetails" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..02756c57d41c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "name": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm2", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "ReplicationGroupDetails" + } + } + }, + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectableItems", + "properties": { + "friendlyName": "vm1", + "protectionStatus": "Unprotected", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "protectionReadinessErrors": [], + "supportedReplicationProviders": [ + "HyperVReplicaAzure" + ], + "customDetails": { + "instanceType": "ReplicationGroupDetails" + } + } + } + ], + "nextLink": "https://management.azure.com/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems?api-version=2021-06-01&%24skipToken=ReplicationGroup%3aBegin" + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_AddDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_AddDisks.json new file mode 100644 index 000000000000..1f9279e85106 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_AddDisks.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "addDisksInput": { + "properties": { + "providerSpecificDetails": { + "instanceType": "A2A", + "vmDisks": [ + { + "diskUri": "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd", + "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" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectedItemType": "", + "protectableItemId": null, + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf", + "primaryFabricFriendlyName": "cloud1", + "primaryFabricProvider": "AzureFabric", + "recoveryFabricFriendlyName": "cloud2", + "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2", + "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "RepairReplication", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "failoverHealth": "Normal", + "healthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy", + "policyFriendlyName": "A2APolicy", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1752-12-31T19:31:01Z" + }, + "failoverRecoveryPointId": null, + "providerSpecificDetails": { + "instanceType": "A2A" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json new file mode 100644 index 000000000000..4e4fe707fdfc --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ApplyRecoveryPoint.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "applyRecoveryPointInput": { + "properties": { + "recoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "UnplannedFailoverCommitPendingStatesBegin", + "protectionStateDescription": "Failover completed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Critical", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/e4d05fe9-5dfd-47be-b50b-aad306b2802d", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Create.json new file mode 100644 index 000000000000..c9039ec9f9b2 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Create.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Delete.json new file mode 100644 index 000000000000..8a9db7e5d1db --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Delete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "disableProtectionInput": { + "properties": { + "replicationProviderInput": { + "instanceType": "DisableProtectionProviderSpecificInput" + } + } + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCancel.json new file mode 100644 index 000000000000..748ead3ae859 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCancel.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "cloud1", + "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "cloud1", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "DisableProtection" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2021-02-24T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "1601-01-01T00:00:00.0000000Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "2021-02-24T07:17:23.1358752Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "InMageRcmFailback" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCommit.json new file mode 100644 index 000000000000..0f909c1d1f00 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_FailoverCommit.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "PlannedFailoverStatesBegin", + "protectionStateDescription": "Planned failover committed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "DisableProtection", + "Failback" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Get.json new file mode 100644 index 000000000000..498e8c811366 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_List.json new file mode 100644 index 000000000000..8155de77bbf7 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_List.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..76c435654684 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_PlannedFailover.json new file mode 100644 index 000000000000..cba692818352 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_PlannedFailover.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "failoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "PlannedFailoverCommitRequired", + "protectionStateDescription": "Planned failover finished", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Purge.json new file mode 100644 index 000000000000..ef13910c0134 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Purge.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RemoveDisks.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RemoveDisks.json new file mode 100644 index 000000000000..e3953f56627a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RemoveDisks.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "removeDisksInput": { + "properties": { + "providerSpecificDetails": { + "instanceType": "A2A", + "vmDisksUris": [ + "https://vmstorage.blob.core.windows.net/vhds/datadisk1.vhd" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectedItemType": "", + "protectableItemId": null, + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf", + "primaryFabricFriendlyName": "cloud1", + "primaryFabricProvider": "AzureFabric", + "recoveryFabricFriendlyName": "cloud2", + "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2", + "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "RepairReplication", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "failoverHealth": "Normal", + "healthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy", + "policyFriendlyName": "A2APolicy", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1752-12-31T19:31:01Z" + }, + "failoverRecoveryPointId": null, + "providerSpecificDetails": { + "instanceType": "A2A" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RepairReplication.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RepairReplication.json new file mode 100644 index 000000000000..7492edf61d35 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_RepairReplication.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Reprotect.json new file mode 100644 index 000000000000..2b68e75c4eec --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Reprotect.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "reprotectInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json new file mode 100644 index 000000000000..64b2f29d0710 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_ResolveHealthErrors.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "resolveHealthInput": { + "properties": { + "healthErrors": [ + { + "healthErrorId": "3:8020" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectedItemType": "", + "protectableItemId": null, + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/6d2940f9-4c34-5989-9f56-1243a6e76ecf", + "primaryFabricFriendlyName": "cloud1", + "primaryFabricProvider": "AzureFabric", + "recoveryFabricFriendlyName": "cloud2", + "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2", + "primaryProtectionContainerFriendlyName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "recoveryProtectionContainerFriendlyName": "cloud_81224fc6-f326-5d35-96de-fbf51efb3188", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "RepairReplication", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "failoverHealth": "Normal", + "healthErrors": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/A2APolicy", + "policyFriendlyName": "A2APolicy", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1752-12-31T19:31:01Z" + }, + "failoverRecoveryPointId": null, + "providerSpecificDetails": { + "instanceType": "A2A" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2/replicationProtectionContainers/cloud_81224fc6-f326-5d35-96de-fbf51efb3188" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_SwitchProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_SwitchProvider.json new file mode 100644 index 000000000000..acfcbddd5d26 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_SwitchProvider.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "switchProviderInput": { + "properties": { + "targetInstanceType": "InMageRcm", + "providerSpecificDetails": { + "instanceType": "InMageAzureV2", + "targetVaultID": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault2", + "targetFabricID": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud2", + "targetApplianceID": "5efaa202-e958-435e-8171-706bf735fcc4" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "PlannedFailoverCommitRequired", + "protectionStateDescription": "Planned failover finished", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailover.json new file mode 100644 index 000000000000..0c67e816111f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailover.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "testfailoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "networkType": "VmNetworkAsInput", + "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Cleanup test failover pending", + "activeLocation": "Primary", + "testFailoverState": "WaitingForCompletion", + "testFailoverStateDescription": "Waiting for user input", + "allowedOperations": [ + "TestFailoverCleanup" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "TestFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/2838f9b4-2609-4f76-a7e9-07e6387c5e98", + "startTime": "2017-04-25T09:57:57.0357829Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/0689d0d0-3518-4793-8c98-c26bf94526f6", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json new file mode 100644 index 000000000000..5ff3b2234341 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_TestFailoverCleanup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "cleanupInput": { + "properties": { + "comments": "Test Failover Cleanup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T06:37:23.1578655Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b22134ea-620c-474b-9fa5-3c1cb47708e3", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UnplannedFailover.json new file mode 100644 index 000000000000..c904ba4b0731 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UnplannedFailover.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "failoverInput": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "sourceSiteOperations": "NotRequired", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "UnplannedFailoverCommitPendingStatesBegin", + "protectionStateDescription": "Failover completed", + "activeLocation": "Recovery", + "testFailoverState": "MarkedForDeletion", + "testFailoverStateDescription": "Cleaning up test environment", + "allowedOperations": [ + "CompleteMigration", + "Commit", + "DisableProtection", + "ChangePit" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "lastSuccessfulFailoverTime": "2017-04-26T08:42:33.0996129Z", + "lastSuccessfulTestFailoverTime": "2017-04-25T09:57:57.0357829Z", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b/recoveryPoints/b2c7b208-0999-40a4-804f-8ee1019c8f76", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Update.json new file mode 100644 index 000000000000..938763c31084 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_Update.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "f8491e4f-817a-40dd-a90c-af773978c75b", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "updateProtectionInput": { + "properties": { + "recoveryAzureVMName": "vm1", + "recoveryAzureVMSize": "Basic_A0", + "selectedRecoveryAzureNetworkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "vmNics": [ + { + "nicId": "TWljcm9zb2Z0OkY4NDkxRTRGLTgxN0EtNDBERC1BOTBDLUFGNzczOTc4Qzc1Qlw3NjAwMzMxRS03NDk4LTQ0QTQtQjdDNy0xQjY1NkJDREQ1MkQ=", + "selectionType": "SelectedByUser", + "ipConfigs": [ + { + "ipConfigName": "ipconfig1", + "isPrimary": true, + "recoverySubnetName": "subnet1", + "recoveryStaticIPAddress": "10.0.2.46" + } + ] + } + ], + "licenseType": "WindowsServer", + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "name": "f8491e4f-817a-40dd-a90c-af773978c75b", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "vm1", + "protectedItemType": "HyperVVirtualMachine", + "protectableItemId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectableItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "recoveryServicesProviderId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "cloud1", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "policyFriendlyName": "protectionprofile1", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "HyperVReplicaAzure" + }, + "recoveryContainerId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateAppliance.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateAppliance.json new file mode 100644 index 000000000000..96e03ec486ba --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateAppliance.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f", + "protectionContainerName": "Ayan-0106-SA-Vaultreplicationcontainer", + "fabricName": "Ayan-0106-SA-Vaultreplicationfabric", + "resourceName": "Ayan-0106-SA-Vault", + "resourceGroupName": "Ayan-0106-SA-RG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "applianceUpdateInput": { + "properties": { + "targetApplianceId": "", + "providerSpecificDetails": { + "instanceType": "InMageRcm", + "runAsAccountId": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationProtectionContainers/Ayan-0106-SA-Vaultreplicationcontainer/replicationProtectedItems/idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f", + "name": "idclab-vcen67_50158124-8857-3e08-0893-2ddf8ebb8c1f", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "Ayan-RHEL7-Test2", + "protectedItemType": "", + "protectableItemId": null, + "recoveryServicesProviderId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/Ayan-0106-SA-Vaultreplicationfabric/replicationRecoveryServicesProviders/a552cf2d-bbb3-4d78-8145-e1992ecb31d1", + "primaryFabricFriendlyName": "Ayan-0106-SA-Vaultreplicationfabric", + "primaryFabricProvider": "InMageRcmFabric", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "Ayan-0106-SA-Vaultreplicationcontainer", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "failoverHealth": "Normal", + "healthErrors": [], + "policyId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationPolicies/24-hour-replication-policy", + "policyFriendlyName": "24-hour-replication-policy", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "failoverRecoveryPointId": null, + "providerSpecificDetails": { + "instanceType": "InMageRcm" + }, + "recoveryContainerId": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/Ayan-0106-SA-RG/providers/Microsoft.RecoveryServices/vaults/Ayan-0106-SA-Vault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478", + "eventCorrelationId": "fb40d161-cffd-44d9-a252-0b7978e1f73c" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateMobilityService.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateMobilityService.json new file mode 100644 index 000000000000..66c9ada0b203 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectedItems_UpdateMobilityService.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicationProtectedItemName": "79dd20ab-2b40-11e7-9791-0050568f387e", + "protectionContainerName": "cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0", + "fabricName": "WIN-JKKJ31QI8U2", + "resourceName": "WCUSVault", + "resourceGroupName": "wcusValidations", + "subscriptionId": "b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c", + "updateMobilityServiceRequest": { + "properties": { + "runAsAccountId": "2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "79dd20ab-2b40-11e7-9791-0050568f387e", + "id": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectedItems/79dd20ab-2b40-11e7-9791-0050568f387e", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems", + "properties": { + "friendlyName": "MMR-LIN-V2A-3", + "protectedItemType": "", + "protectableItemId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationProtectionContainers/cloud_c6780228-83bd-4f3e-a70e-cb46b7da33a0/replicationProtectableItems/79dd20ab-2b40-11e7-9791-0050568f387e", + "recoveryServicesProviderId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d70b0326a201008a953505ef271dc908e5e23468bc7356862ea178696f5f15c7/replicationRecoveryServicesProviders/c6780228-83bd-4f3e-a70e-cb46b7da33a0", + "primaryFabricFriendlyName": "WIN-JKKJ31QI8U2", + "recoveryFabricFriendlyName": "Microsoft Azure", + "recoveryFabricId": "Microsoft Azure", + "primaryProtectionContainerFriendlyName": "WIN-JKKJ31QI8U2", + "recoveryProtectionContainerFriendlyName": "Microsoft Azure", + "protectionState": "Protected", + "protectionStateDescription": "Protected", + "activeLocation": "Primary", + "testFailoverState": "None", + "testFailoverStateDescription": "None", + "allowedOperations": [ + "UnplannedFailover", + "DisableProtection", + "TestFailover" + ], + "replicationHealth": "Normal", + "policyId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationPolicies/MadhaviPolicyNew", + "policyFriendlyName": "MadhaviPolicyNew", + "currentScenario": { + "scenarioName": "None", + "jobId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationJobs/None", + "startTime": "1753-01-01T01:01:01Z" + }, + "providerSpecificDetails": { + "instanceType": "InMageAzureV2" + }, + "recoveryContainerId": "/Subscriptions/b364ed8d-4279-4bf8-8fd1-56f8fa0ae05c/resourceGroups/wcusValidations/providers/Microsoft.RecoveryServices/vaults/WCUSVault/replicationFabrics/d49858f157601230a6ac5862fbbc6e63bf38d23ecd96cf953767945d457fe9d5/replicationProtectionContainers/d38048d4-b460-4791-8ece-108395ee8478" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Create.json new file mode 100644 index 000000000000..585c7905051a --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Create.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "creationInput": { + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "providerSpecificInput": { + "instanceType": "ReplicationProviderSpecificContainerMappingInput" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Delete.json new file mode 100644 index 000000000000..e5bb6a7096b9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Delete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "removalInput": { + "properties": { + "providerSpecificInput": {} + } + } + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Get.json new file mode 100644 index 000000000000..42fdfafbaf47 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_List.json new file mode 100644 index 000000000000..090815de7537 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json new file mode 100644 index 000000000000..0ac45c6fa5cc --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Purge.json new file mode 100644 index 000000000000..0983e103bb0f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Purge.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Update.json new file mode 100644 index 000000000000..cd6430748b21 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainerMappings_Update.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "mappingName": "cloud1protectionprofile1", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "updateInput": { + "properties": { + "providerSpecificInput": { + "instanceType": "A2A", + "agentAutoUpdateStatus": "Enabled", + "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectionContainerMappings/cloud1protectionprofile1", + "name": "cloud1protectionprofile1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectionContainerMappings", + "properties": { + "targetProtectionContainerId": "Microsoft Azure", + "targetProtectionContainerFriendlyName": "Microsoft Azure", + "health": "Normal", + "healthErrorDetails": [], + "policyId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationPolicies/protectionprofile1", + "state": "Paired", + "sourceProtectionContainerFriendlyName": "cloud1", + "sourceFabricFriendlyName": "cloud1", + "targetFabricFriendlyName": "Microsoft Azure", + "policyFriendlyName": "protectionprofile1", + "providerSpecificDetails": { + "instanceType": "A2A", + "agentAutoUpdateStatus": "Enabled", + "automationAccountArmId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/automationrg1/providers/Microsoft.Automation/automationAccounts/automationaccount1", + "scheduleName": "cloud1protectionprofile1_a85ea38f-62a8-471b-93cc-69b74fd9578c", + "jobScheduleName": "ffd503ec-5f88-4b58-97c8-841466e7aa47" + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Create.json new file mode 100644 index 000000000000..9a66b53629de --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Create.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "creationInput": { + "properties": { + "providerSpecificInput": [ + { + "instanceType": "ReplicationProviderSpecificContainerCreationInput" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Delete.json new file mode 100644 index 000000000000..d0a10eeb59f9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json new file mode 100644 index 000000000000..2c4ac19308ed --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_DiscoverProtectableItem.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "fabricName": "V2A-W2K12-660", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "discoverProtectableItemRequest": { + "properties": { + "friendlyName": "Test", + "ipAddress": "10.150.2.3", + "osType": "Windows" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationProtectionContainers/cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "name": "cloud_7328549c-5c37-4459-a3c2-e35f9ef6893c", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "V2A-W2K12-660", + "friendlyName": "V2A-W2K12-660", + "fabricType": "VMware", + "protectedItemCount": 2, + "pairingStatus": "Paired", + "role": "Primary" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Get.json new file mode 100644 index 000000000000..2f94a68d5820 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_List.json new file mode 100644 index 000000000000..7a163cd06d7f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json new file mode 100644 index 000000000000..083bf3a5745d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_ListByReplicationFabrics.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "fabricName": "cloud1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "name": "cloud_6d224fc6-f326-5d35-96de-fbf51efb3179", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "cloud1", + "friendlyName": "cloud1", + "fabricType": "HyperVSite", + "protectedItemCount": 0, + "pairingStatus": "NotPaired", + "role": "" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_SwitchProtection.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_SwitchProtection.json new file mode 100644 index 000000000000..12a2f4777287 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionContainers_SwitchProtection.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "protectionContainerName": "CentralUSCancloud", + "fabricName": "CentralUSCanSite", + "resourceName": "priyanponeboxvault", + "resourceGroupName": "priyanprg", + "subscriptionId": "42195872-7e70-4f8a-837f-84b28ecbb78b", + "switchInput": { + "properties": { + "replicationProtectedItemName": "a2aSwapOsVm", + "providerSpecificDetails": { + "instanceType": "A2A" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/42195872-7e70-4f8a-837f-84b28ecbb78b/resourceGroups/priyanprg/providers/Microsoft.RecoveryServices/vaults/priyanponeboxvault/replicationFabrics/EUSCanSite/replicationProtectionContainers/euscancloud", + "name": "euscancloud", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers", + "properties": { + "fabricFriendlyName": "East US 2 EUAP", + "friendlyName": "euscancloud", + "fabricType": "Azure", + "protectedItemCount": 0, + "pairingStatus": "Paired", + "role": "Primary" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Create.json new file mode 100644 index 000000000000..74a38cf78489 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Create.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "intentObjectName": "vm1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69", + "input": { + "properties": { + "providerSpecificDetails": { + "instanceType": "A2A", + "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5", + "primaryLocation": "eastUs2", + "recoveryLocation": "westus2", + "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640", + "recoveryAvailabilityType": "Single", + "recoveryResourceGroupId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne-asr" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1", + "name": "vm1", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents", + "properties": { + "friendlyName": "vm1", + "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867", + "jobState": "InProgress", + "providerSpecificDetails": { + "instanceType": "A2A", + "recoveryAvailabilityType": "Single" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Get.json new file mode 100644 index 000000000000..31cb5e5a160d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "intentObjectName": "vm1", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1", + "name": "vm1", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents", + "properties": { + "friendlyName": "vm1", + "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867", + "jobState": "InProgress", + "providerSpecificDetails": { + "instanceType": "A2A", + "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5", + "primaryLocation": "eastUs2", + "recoveryLocation": "westus2", + "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640", + "recoveryAvailabilityType": "Single" + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_List.json new file mode 100644 index 000000000000..fd0d84c6c29f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationProtectionIntents_List.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "2007vttp", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "509099b2-9d2c-4636-b43e-bd5cafb6be69" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/2007vttp/providers/Microsoft.RecoveryServices/vaults/tp2007vt/replicationProtectionIntents/vm1", + "name": "vm1", + "type": "Microsoft.RecoveryServices/vaults/replicationProtectionIntents", + "properties": { + "friendlyName": "vm1", + "jobId": "/Subscriptions/d90d145a-4cdd-45a3-b2c4-971d69775278/resourceGroups/a2acl-rg-vault-prod-gip-ccy/providers/Microsoft.RecoveryServices/vaults/a2acl-vault-prod-gip-ccy/replicationJobs/02004ea7-d498-4bb4-bdeb-cdb611706867", + "jobState": "InProgress", + "providerSpecificDetails": { + "instanceType": "A2A", + "fabricObjectId": "/subscriptions/509099b2-9d2c-4636-b43e-bd5cafb6be69/resourceGroups/removeOne/providers/Microsoft.Compute/virtualMachines/vmPpgAv5", + "primaryLocation": "eastUs2", + "recoveryLocation": "westus2", + "recoverySubscriptionId": "ed5bcdf6-d61e-47bd-8ea9-f2bd379a2640", + "recoveryAvailabilityType": "Single" + } + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Create.json new file mode 100644 index 000000000000..505186b05c90 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Create.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "recoveryFabricId": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "groups": [ + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Delete.json new file mode 100644 index 000000000000..5c975dcf53f0 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCancel.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCancel.json new file mode 100644 index 000000000000..736be347fa9d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCancel.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "recoveryFabricFriendlyName": "cloud1", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "InMageRcmFailback" + ], + "allowedOperations": [ + "PlannedFailover" + ], + "lastPlannedFailoverTime": "2021-02-24T07:33:49.1372448Z", + "lastTestFailoverTime": "1601-01-01T00:00:00.0000000Z", + "currentScenario": { + "scenarioName": "CancelFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b", + "startTime": "2021-02-24T08:52:42.1587592Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCommit.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCommit.json new file mode 100644 index 000000000000..129707e49b37 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_FailoverCommit.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "CommitFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/5276a7bc-12a3-43a1-bc53-9bf80e0be87b", + "startTime": "2017-04-27T08:52:42.1587592Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Get.json new file mode 100644 index 000000000000..94901098cc30 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Get.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_List.json new file mode 100644 index 000000000000..13d8010453da --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_List.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_PlannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_PlannedFailover.json new file mode 100644 index 000000000000..8d5608687866 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_PlannedFailover.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover", + "Commit" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "PlannedFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d4821a53-90da-4fcb-bc11-a280d13e3350", + "startTime": "2017-04-27T07:34:02.6176524Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Reprotect.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Reprotect.json new file mode 100644 index 000000000000..c2b8ae235d4e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Reprotect.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "ReverseReplication", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/edf01dfb-b649-4802-91e4-3d55ce3bebf0", + "startTime": "2017-04-27T09:52:16.9818841Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailover.json new file mode 100644 index 000000000000..b8ab56e48800 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailover.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "networkType": "VmNetworkAsInput", + "networkId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/siterecoveryProd1/providers/Microsoft.Network/virtualNetworks/vnetavrai", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "TestFailoverCleanup" + ], + "currentScenario": { + "scenarioName": "TestFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/d40bfb40-aaaa-4c0d-87d3-41b15439a84b", + "startTime": "2017-04-27T07:00:58.8191916Z" + }, + "currentScenarioStatus": "Suspended", + "currentScenarioStatusDescription": "WaitingForStopTestFailover", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json new file mode 100644 index 000000000000..5aa10f156d4d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_TestFailoverCleanup.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "comments": "Test Failover Cleanup" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "lastPlannedFailoverTime": "2017-04-27T07:33:49.1372448Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "TestFailoverCleanup", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/4ae8eaa8-a384-42cb-9768-152cb5b8a1ff", + "startTime": "2017-04-27T07:10:52.8424747Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json new file mode 100644 index 000000000000..5a1eff4484d0 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_UnplannedFailover.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "failoverDirection": "PrimaryToRecovery", + "sourceSiteOperations": "Required", + "providerSpecificDetails": [ + { + "instanceType": "HyperVReplicaAzure" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover", + "Commit" + ], + "lastPlannedFailoverTime": "2017-04-27T08:58:35.9062813Z", + "lastTestFailoverTime": "2017-04-27T07:00:27.8354747Z", + "currentScenario": { + "scenarioName": "UnplannedFailover", + "jobId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationJobs/60b84068-9adb-4867-a49d-88be40bff14b", + "startTime": "2017-04-27T10:03:03.2206946Z" + }, + "currentScenarioStatus": "Succeeded", + "currentScenarioStatusDescription": "Completed", + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Update.json new file mode 100644 index 000000000000..aa92040b54dd --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryPlans_Update.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "recoveryPlanName": "RPtest1", + "input": { + "properties": { + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationRecoveryPlans/RPtest1", + "name": "RPtest1", + "type": "Microsoft.RecoveryServices/vaults/replicationRecoveryPlans", + "properties": { + "friendlyName": "RPtest1", + "primaryFabricId": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1", + "primaryFabricFriendlyName": "cloud1", + "recoveryFabricId": "Microsoft Azure", + "recoveryFabricFriendlyName": "Microsoft Azure", + "failoverDeploymentModel": "ResourceManager", + "replicationProviders": [ + "HyperVReplicaAzure" + ], + "allowedOperations": [ + "PlannedFailover", + "UnplannedFailover", + "TestFailover" + ], + "groups": [ + { + "groupType": "Shutdown", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Failover", + "replicationProtectedItems": [], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/f8491e4f-817a-40dd-a90c-af773978c75b", + "virtualMachineId": "f8491e4f-817a-40dd-a90c-af773978c75b" + } + ], + "startGroupActions": [], + "endGroupActions": [] + }, + { + "groupType": "Boot", + "replicationProtectedItems": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationProtectionContainers/cloud_6d224fc6-f326-5d35-96de-fbf51efb3179/replicationProtectedItems/c0c14913-3d7a-48ea-9531-cc99e0e686e6", + "virtualMachineId": "c0c14913-3d7a-48ea-9531-cc99e0e686e6" + } + ], + "startGroupActions": [], + "endGroupActions": [] + } + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Create.json new file mode 100644 index 000000000000..f849770a918c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Create.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "providerName": "vmwareprovider1", + "fabricName": "vmwarefabric1", + "resourceName": "migrationvault", + "resourceGroupName": "resourcegroup1", + "subscriptionId": "cb53d0c3-bd59-4721-89bc-06916a9147ef", + "addProviderInput": { + "properties": { + "machineName": "vmwareprovider1", + "authenticationIdentityInput": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90", + "objectId": "141360b8-5686-4240-a027-5e24e6affeba", + "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874", + "aadAuthority": "https://login.microsoftonline.com" + }, + "resourceAccessIdentityInput": { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "applicationId": "f66fce08-c0c6-47a1-beeb-0ede5ea94f90", + "objectId": "141360b8-5686-4240-a027-5e24e6affeba", + "audience": "https://microsoft.onmicrosoft.com/cf19e349-644c-4c6a-bcae-9c8f35357874", + "aadAuthority": "https://login.microsoftonline.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/cb53d0c3-bd59-4721-89bc-06916a9147ef/resourceGroups/resourcegroup1/providers/Microsoft.RecoveryServices/vaults/migrationvault/replicationFabrics/vmwarefabric1/replicationRecoveryServicesProviders/vmwareprovider1", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "vmwareprovider1", + "properties": { + "fabricType": "VMwareV2", + "friendlyName": "vmwareprovider1", + "providerVersion": "5.1.3688.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "vmwarefabric1", + "lastHeartBeat": "2017-04-27T09:16:04.9405768Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Delete.json new file mode 100644 index 000000000000..19eabef8a0ea --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Get.json new file mode 100644 index 000000000000..3cae3dc8fef8 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:16:04.9405768Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_List.json new file mode 100644 index 000000000000..faac4b660034 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:06:38.2728455Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json new file mode 100644 index 000000000000..11b06869d45c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:06:38.2728455Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Purge.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Purge.json new file mode 100644 index 000000000000..19eabef8a0ea --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_Purge.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json new file mode 100644 index 000000000000..050287858f97 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationRecoveryServicesProviders_RefreshProvider.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "providerName": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "fabricName": "cloud1", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/cloud1/replicationRecoveryServicesProviders/241641e6-ee7b-4ee4-8141-821fadda43fa", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationRecoveryServicesProviders", + "name": "241641e6-ee7b-4ee4-8141-821fadda43fa", + "properties": { + "fabricType": "HyperVSite", + "friendlyName": "CP-B3L40406-12.ntdev.corp.microsoft.com", + "providerVersion": "5.1.2250.0", + "serverVersion": "3.2.7510.0", + "providerVersionState": "Latest", + "fabricFriendlyName": "cloud1", + "lastHeartBeat": "2017-04-27T09:48:36.6528303Z", + "connectionStatus": "Connected", + "protectedItemCount": 2, + "allowedScenarios": [ + "Refresh" + ] + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Create.json new file mode 100644 index 000000000000..aa8813922184 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Create.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071", + "pairingInput": { + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Delete.json new file mode 100644 index 000000000000..a792618972e0 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Delete.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Get.json new file mode 100644 index 000000000000..0c7c82a33e8e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_Get.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "storageClassificationMappingName": "testStorageMapping", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_List.json new file mode 100644 index 000000000000..a7f56ce451b3 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json new file mode 100644 index 000000000000..e7e3bb34718c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09/replicationStorageClassificationMappings/testStorageMapping", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications/replicationStorageClassificationMappings", + "name": "testStorageMapping", + "properties": { + "targetStorageClassificationId": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_Get.json new file mode 100644 index 000000000000..e804d787505f --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "storageClassificationName": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_List.json new file mode 100644 index 000000000000..77a7e4f6d2c6 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json new file mode 100644 index 000000000000..11cb1b547daa --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationStorageClassifications_ListByReplicationFabrics.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "fabricName": "2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "9112a37f-0f3e-46ec-9c00-060c6edca071" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/9112a37f-0f3e-46ec-9c00-060c6edca071/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationFabrics/2a48e3770ac08aa2be8bfbd94fcfb1cbf2dcc487b78fb9d3bd778304441b06a0/replicationStorageClassifications/8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationStorageClassifications", + "name": "8891569e-aaef-4a46-a4a0-78c14f2d7b09", + "properties": { + "friendlyName": "testStorageClassification" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Get.json new file mode 100644 index 000000000000..32059c4f9cb4 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default", + "properties": { + "vaultErrors": [], + "protectedItemsHealth": { + "resourceCount": 6, + "issues": [ + { + "summaryCode": "10008", + "category": "Replication", + "severity": "Error", + "summaryMessage": "RPO Throttled", + "affectedResourceType": "replicationProtectedItems", + "affectedResourceSubtype": "", + "affectedResourceCorrelationIds": [ + "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "c183865e-6077-46f2-a3b1-ceb0a4c3751e" + ] + } + ] + }, + "fabricsHealth": { + "resourceCount": 1, + "issues": [] + } + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Refresh.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Refresh.json new file mode 100644 index 000000000000..2a786e1c3a7d --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultHealth_Refresh.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultHealth", + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultHealth/Default", + "properties": { + "vaultErrors": [], + "protectedItemsHealth": { + "resourceCount": 2, + "issues": [] + }, + "fabricsHealth": { + "resourceCount": 1, + "issues": [] + } + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Create.json new file mode 100644 index 000000000000..8c12cf2505d1 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Create.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultSettingName": "default", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a", + "input": { + "properties": { + "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default", + "name": "default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings", + "properties": { + "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Get.json new file mode 100644 index 000000000000..534e512cfb0e --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "vaultSettingName": "default", + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default", + "name": "default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings", + "properties": { + "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_List.json new file mode 100644 index 000000000000..84b266a61e63 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationVaultSetting_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.RecoveryServices/vaults/vault1/replicationVaultSettings/default", + "name": "default", + "type": "Microsoft.RecoveryServices/vaults/replicationVaultSettings", + "properties": { + "migrationSolutionId": "/subscriptions/c183865e-6077-46f2-a3b1-deb0f4f4650a/resourceGroups/resourceGroupPS1/providers/Microsoft.Migrate/MigrateProjects/resourceGroupPS1-MigrateProject/Solutions/Servers-Migration-ServerMigration" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Create.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Create.json new file mode 100644 index 000000000000..8626affb86f5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Create.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "vcenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "addVCenterRequest": { + "properties": { + "friendlyName": "esx-78", + "ipAddress": "inmtest78", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "port": "443", + "runAsAccountId": "2" + } + } + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Delete.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Delete.json new file mode 100644 index 000000000000..7beee482a087 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "vcenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Get.json new file mode 100644 index 000000000000..116f30d858af --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "vcenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_List.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_List.json new file mode 100644 index 000000000000..b855d5c87c34 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_List.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_ListByReplicationFabrics.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_ListByReplicationFabrics.json new file mode 100644 index 000000000000..146a3c478f25 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_ListByReplicationFabrics.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "fabricName": "MadhaviFabric", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "inmtest78", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + ] + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Update.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Update.json new file mode 100644 index 000000000000..313d168eaef5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/ReplicationvCenters_Update.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "vcenterName": "esx-78", + "fabricName": "MadhaviFabric", + "api-version": "2022-01-01", + "resourceName": "MadhaviVault", + "resourceGroupName": "MadhaviVRG", + "subscriptionId": "7c943c1b-5122-4097-90c8-861411bdd574", + "updateVCenterRequest": { + "properties": { + "ipAddress": "10.150.109.25" + } + } + }, + "responses": { + "200": { + "body": { + "name": "esx-78", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationvCenters", + "id": "/Subscriptions/7c943c1b-5122-4097-90c8-861411bdd574/resourceGroups/MadhaviVRG/providers/Microsoft.RecoveryServices/vaults/MadhaviVault/replicationFabrics/239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d/replicationvCenters/esx-78", + "properties": { + "friendlyName": "esx-78", + "internalId": "inmtest78", + "discoveryStatus": "Pending", + "processServerId": "5A720CAB-39CB-F445-BD1662B0B33164B5", + "ipAddress": "10.150.109.25", + "port": "443", + "runAsAccountId": "2", + "fabricArmResourceName": "239f778f368e34f78216d81f030725cdf2033174b47879b9f2eeede06fdd9c4d" + } + } + }, + "202": {} + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/SupportedOperatingSystems_Get.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/SupportedOperatingSystems_Get.json new file mode 100644 index 000000000000..1677b4f0cfc5 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/SupportedOperatingSystems_Get.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "resourceName": "vault1", + "resourceGroupName": "resourceGroupPS1", + "subscriptionId": "c183865e-6077-46f2-a3b1-deb0f4f4650a" + }, + "responses": { + "200": { + "body": { + "name": "Default", + "type": "Microsoft.RecoveryServices/vaults/replicationSupportedOperatingSystems", + "id": "/Subscriptions/bc403605-c2b0-43dd-abe9-0162124b1ee1/resourceGroups/oneBoxRG/providers/Microsoft.RecoveryServices/vaults/oneBoxRSVault/replicationSupportedOperatingSystems/Default", + "properties": { + "supportedOsList": [ + { + "instanceType": "A2A", + "supportedOs": [ + { + "osName": "centos", + "osType": "linux", + "osVersions": [ + { + "version": "6.0" + } + ] + }, + { + "osName": "Windows Server 2008 R2 Datacenter", + "osType": "windows", + "osVersions": [ + { + "version": "6.1", + "servicePack": "1" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json new file mode 100644 index 000000000000..8ba2ce2fe25c --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/examples/TargetComputeSizes_ListByReplicationProtectedItems.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "replicatedProtectedItemName": "468c912d-b1ab-4ea2-97eb-4b5095155db2", + "protectionContainerName": "asr-a2a-default-centraluseuap-container", + "fabricName": "asr-a2a-default-centraluseuap", + "resourceName": "avraiMgDiskVault", + "resourceGroupName": "avraiMgDiskVaultRG", + "subscriptionId": "6808dbbc-98c7-431f-a1b1-9580902423b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Basic_A0", + "name": "Basic_A0", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes", + "properties": { + "name": "Basic_A0", + "friendlyName": "Basic_A0", + "cpuCoresCount": 1, + "memoryInGB": 0.75, + "maxDataDiskCount": 1, + "maxNicsCount": 2, + "errors": null, + "highIopsSupported": "NotSupported" + } + }, + { + "id": "/Subscriptions/6808dbbc-98c7-431f-a1b1-9580902423b7/resourceGroups/avraiMgDiskVaultRG/providers/Microsoft.RecoveryServices/vaults/avraiMgDiskVault/replicationFabrics/asr-a2a-default-centraluseuap/replicationProtectionContainers/asr-a2a-default-centraluseuap-container/replicationProtectedItems/468c912d-b1ab-4ea2-97eb-4b5095155db2/targetComputeSizes/Standard_A0", + "name": "Standard_A0", + "type": "Microsoft.RecoveryServices/vaults/replicationFabrics/replicationProtectionContainers/replicationProtectedItems/targetComputeSizes", + "properties": { + "name": "Standard_A0", + "friendlyName": "Standard_A0", + "cpuCoresCount": 1, + "vCPUsAvailable": 1, + "memoryInGB": 0.75, + "maxDataDiskCount": 1, + "maxNicsCount": 2, + "errors": null, + "highIopsSupported": "NotSupported", + "hyperVGenerations": [ + "V1" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/service.json b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/service.json new file mode 100644 index 000000000000..5f3e2fee58f9 --- /dev/null +++ b/specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2022-01-01/service.json @@ -0,0 +1,24508 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01", + "title": "SiteRecoveryManagementClient", + "x-ms-code-generation-settings": { + "header": "MICROSOFT_MIT_NO_VERSION" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Returns the list of available operations.", + "description": "Operation to return the list of available operations.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsDiscoveryCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the list of available operations.": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { + "get": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Gets the list of configured email notification(alert) configurations.", + "description": "Gets the list of email notification(alert) configurations for the vault.", + "operationId": "ReplicationAlertSettings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of configured email notification(alert) configurations.": { + "$ref": "./examples/ReplicationAlertSettings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { + "get": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Gets an email notification(alert) configuration.", + "description": "Gets the details of the specified email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification configuration.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + } + }, + "x-ms-examples": { + "Gets an email notification(alert) configuration.": { + "$ref": "./examples/ReplicationAlertSettings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationAlertSettings" + ], + "summary": "Configures email notifications for this vault.", + "description": "Create or update an email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification(alert) configuration.", + "required": true, + "type": "string" + }, + { + "name": "request", + "in": "body", + "description": "The input to configure the email notification(alert).", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigureAlertRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + } + }, + "x-ms-examples": { + "Configures email notifications for this vault.": { + "$ref": "./examples/ReplicationAlertSettings_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAppliances": { + "get": { + "tags": [ + "ReplicationAppliances" + ], + "summary": "Gets the list of appliances.", + "description": "Gets the list of Azure Site Recovery appliances for the vault.", + "operationId": "ReplicationAppliances_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplianceCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ApplianceQueryParameter", + "x-ms-examples": { + "Gets the list of appliances.": { + "$ref": "./examples/ReplicationAppliances_List.json" + } + } + } + }, + "/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-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-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": [ + "ReplicationEvents" + ], + "summary": "Gets the list of Azure Site Recovery events.", + "description": "Gets the list of Azure Site Recovery events for the vault.", + "operationId": "ReplicationEvents_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/EventQueryParameter", + "x-ms-examples": { + "Gets the list of Azure Site Recovery events.": { + "$ref": "./examples/ReplicationEvents_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": { + "get": { + "tags": [ + "ReplicationEvents" + ], + "summary": "Get the details of an Azure Site recovery event.", + "description": "The operation to get the details of an Azure Site recovery event.", + "operationId": "ReplicationEvents_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "eventName", + "in": "path", + "description": "The name of the Azure Site Recovery event.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Event" + } + } + }, + "x-ms-examples": { + "Get the details of an Azure Site recovery event.": { + "$ref": "./examples/ReplicationEvents_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "get": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Gets the list of ASR fabrics.", + "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", + "operationId": "ReplicationFabrics_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FabricCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of ASR fabrics.": { + "$ref": "./examples/ReplicationFabrics_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { + "get": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Gets the details of an ASR fabric.", + "description": "Gets the details of an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + } + }, + "x-ms-odata": "#/definitions/FabricQueryParameter", + "x-ms-examples": { + "Gets the details of an ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Creates an Azure Site Recovery fabric.", + "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).", + "operationId": "ReplicationFabrics_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the ASR fabric.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Fabric creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCreationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates an Azure Site Recovery fabric.": { + "$ref": "./examples/ReplicationFabrics_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Purges the site.", + "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Purge", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to purge.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges the site.": { + "$ref": "./examples/ReplicationFabrics_Purge.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Checks the consistency of the ASR fabric.", + "description": "The operation to perform a consistency check on the fabric.", + "operationId": "ReplicationFabrics_CheckConsistency", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Checks the consistency of the ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Migrates the site to AAD.", + "description": "The operation to migrate an Azure Site Recovery fabric to AAD.", + "operationId": "ReplicationFabrics_MigrateToAad", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to migrate.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Migrates the site to AAD.": { + "$ref": "./examples/ReplicationFabrics_MigrateToAad.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Perform failover of the process server.", + "description": "The operation to move replications from a process server to another process server.", + "operationId": "ReplicationFabrics_ReassociateGateway", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric containing the process server.", + "required": true, + "type": "string" + }, + { + "name": "failoverProcessServerRequest", + "in": "body", + "description": "The input to the failover process server operation.", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverProcessServerRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Perform failover of the process server.": { + "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Deletes the site.", + "description": "The operation to delete or remove an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to delete.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the site.": { + "$ref": "./examples/ReplicationFabrics_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { + "post": { + "tags": [ + "ReplicationFabrics" + ], + "summary": "Renews certificate for the fabric.", + "description": "Renews the connection certificate for the ASR replication fabric.", + "operationId": "ReplicationFabrics_RenewCertificate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "fabric name to renew certs for.", + "required": true, + "type": "string" + }, + { + "name": "renewCertificate", + "in": "body", + "description": "Renew certificate input.", + "required": true, + "schema": { + "$ref": "#/definitions/RenewCertificateInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Fabric" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Renews certificate for the fabric.": { + "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { + "get": { + "tags": [ + "ReplicationLogicalNetworks" + ], + "summary": "Gets the list of logical networks under a fabric.", + "description": "Lists all the logical networks of the Azure Site Recovery fabric.", + "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicalNetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of logical networks under a fabric.": { + "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { + "get": { + "tags": [ + "ReplicationLogicalNetworks" + ], + "summary": "Gets a logical network with specified server id and logical network name.", + "description": "Gets the details of a logical network.", + "operationId": "ReplicationLogicalNetworks_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "logicalNetworkName", + "in": "path", + "description": "Logical network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicalNetwork" + } + } + }, + "x-ms-examples": { + "Gets a logical network with specified server id and logical network name.": { + "$ref": "./examples/ReplicationLogicalNetworks_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets the list of networks under a fabric.", + "description": "Lists the networks available for a fabric.", + "operationId": "ReplicationNetworks_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of networks under a fabric.": { + "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets a network with specified server id and network name.", + "description": "Gets the details of a network.", + "operationId": "ReplicationNetworks_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Network" + } + } + }, + "x-ms-examples": { + "Gets a network with specified server id and network name.": { + "$ref": "./examples/ReplicationNetworks_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a network.", + "description": "Lists all ASR network mappings for the specified network.", + "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all the network mappings under a network.": { + "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets network mapping by name.", + "description": "Gets the details of an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + } + }, + "x-ms-examples": { + "Gets network mapping by name.": { + "$ref": "./examples/ReplicationNetworkMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Creates network mapping.", + "description": "The operation to create an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateNetworkMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Delete network mapping.", + "description": "The operation to delete a network mapping.", + "operationId": "ReplicationNetworkMappings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "ARM Resource Name for network mapping.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Updates network mapping.", + "description": "The operation to update an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Primary fabric name.", + "required": true, + "type": "string" + }, + { + "name": "networkName", + "in": "path", + "description": "Primary network name.", + "required": true, + "type": "string" + }, + { + "name": "networkMappingName", + "in": "path", + "description": "Network mapping name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateNetworkMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the list of protection container for a fabric.", + "description": "Lists the protection containers in the specified fabric.", + "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of protection container for a fabric.": { + "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the protection container details.", + "description": "Gets the details of a protection container.", + "operationId": "ReplicationProtectionContainers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + } + }, + "x-ms-examples": { + "Gets the protection container details.": { + "$ref": "./examples/ReplicationProtectionContainers_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Create a protection container.", + "description": "Operation to create a protection container.", + "operationId": "ReplicationProtectionContainers_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric ARM name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", + "in": "body", + "description": "Creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionContainerInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Adds a protectable item to the replication protection container.", + "description": "The operation to a add a protectable item to a protection container(Add physical server).", + "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the protection container.", + "required": true, + "type": "string" + }, + { + "name": "discoverProtectableItemRequest", + "in": "body", + "description": "The request object to add a protectable item.", + "required": true, + "schema": { + "$ref": "#/definitions/DiscoverProtectableItemRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Adds a protectable item to the replication protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Removes a protection container.", + "description": "Operation to remove a protection container.", + "operationId": "ReplicationProtectionContainers_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric ARM name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Removes a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems": { + "get": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Gets the list of migration items in the protection container.", + "description": "Gets the list of ASR migration items in the protection container.", + "operationId": "ReplicationMigrationItems_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, + "type": "string" + }, + { + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/MigrationItemsQueryParameter", + "x-ms-examples": { + "Gets the list of migration items in the protection container.": { + "$ref": "./examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}": { + "get": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Gets the details of a migration item.", + "operationId": "ReplicationMigrationItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + } + }, + "x-ms-examples": { + "Gets the details of a migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Enables migration.", + "description": "The operation to create an ASR migration item (enable migration).", + "operationId": "ReplicationMigrationItems_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Enable migration input.", + "required": true, + "schema": { + "$ref": "#/definitions/EnableMigrationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Enables migration.": { + "$ref": "./examples/ReplicationMigrationItems_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Delete the migration item.", + "description": "The operation to delete an ASR migration item.", + "operationId": "ReplicationMigrationItems_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "deleteOption", + "in": "query", + "description": "The delete option.", + "required": false, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Updates migration item.", + "description": "The operation to update the recovery settings of an ASR migration item.", + "operationId": "ReplicationMigrationItems_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update migration item input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMigrationItemInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate": { + "post": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Migrate item.", + "description": "The operation to initiate migration of the item.", + "operationId": "ReplicationMigrationItems_Migrate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "migrateInput", + "in": "body", + "description": "Migrate input.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrateInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Migrate item.": { + "$ref": "./examples/ReplicationMigrationItems_Migrate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints": { + "get": { + "tags": [ + "MigrationRecoveryPoints" + ], + "summary": "Gets the recovery points for a migration item.", + "operationId": "MigrationRecoveryPoints_ListByReplicationMigrationItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationRecoveryPointCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the recovery points for a migration item.": { + "$ref": "./examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}": { + "get": { + "tags": [ + "MigrationRecoveryPoints" + ], + "summary": "Gets a recovery point for a migration item.", + "operationId": "MigrationRecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "migrationRecoveryPointName", + "in": "path", + "description": "The migration recovery point name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationRecoveryPoint" + } + } + }, + "x-ms-examples": { + "Gets a recovery point for a migration item.": { + "$ref": "./examples/MigrationRecoveryPoints_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resync": { + "post": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Resynchronizes replication.", + "description": "The operation to resynchronize replication of an ASR migration item.", + "operationId": "ReplicationMigrationItems_Resync", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Resync input.", + "required": true, + "schema": { + "$ref": "#/definitions/ResyncInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resynchronizes replication.": { + "$ref": "./examples/ReplicationMigrationItems_Resync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate": { + "post": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Test migrate item.", + "description": "The operation to initiate test migration of the item.", + "operationId": "ReplicationMigrationItems_TestMigrate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "testMigrateInput", + "in": "body", + "description": "Test migrate input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestMigrateInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Test migrate item.": { + "$ref": "./examples/ReplicationMigrationItems_TestMigrate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup": { + "post": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Test migrate cleanup.", + "description": "The operation to initiate test migrate cleanup.", + "operationId": "ReplicationMigrationItems_TestMigrateCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "testMigrateCleanupInput", + "in": "body", + "description": "Test migrate cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestMigrateCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Test migrate cleanup.": { + "$ref": "./examples/ReplicationMigrationItems_TestMigrateCleanup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "get": { + "tags": [ + "ReplicationProtectableItems" + ], + "summary": "Gets the list of protectable items.", + "description": "Lists the protectable items in a protection container.", + "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$take", + "in": "query", + "description": "take OData query parameter.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken OData query parameter.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectableItemQueryParameter", + "x-ms-examples": { + "Gets the list of protectable items.": { + "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { + "get": { + "tags": [ + "ReplicationProtectableItems" + ], + "summary": "Gets the details of a protectable item.", + "description": "The operation to get the details of a protectable item.", + "operationId": "ReplicationProtectableItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "protectableItemName", + "in": "path", + "description": "Protectable item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectableItem" + } + } + }, + "x-ms-examples": { + "Gets the details of a protectable item.": { + "$ref": "./examples/ReplicationProtectableItems_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the list of Replication protected items.", + "description": "Gets the list of ASR replication protected items in the protection container.", + "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of Replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the details of a Replication protected item.", + "description": "Gets the details of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + } + }, + "x-ms-examples": { + "Gets the details of a Replication protected item.": { + "$ref": "./examples/ReplicationProtectedItems_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Enables protection.", + "description": "The operation to create an ASR replication protected item (Enable replication).", + "operationId": "ReplicationProtectedItems_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "A name for the replication protected item.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Enable Protection Input.", + "required": true, + "schema": { + "$ref": "#/definitions/EnableProtectionInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Enables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Purges protection.", + "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", + "operationId": "ReplicationProtectedItems_Purge", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges protection.": { + "$ref": "./examples/ReplicationProtectedItems_Purge.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Updates the replication protected item settings.", + "description": "The operation to update the recovery settings of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "updateProtectionInput", + "in": "body", + "description": "Update protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the replication protected Item settings.": { + "$ref": "./examples/ReplicationProtectedItems_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Add disk(s) for protection.", + "description": "Operation to add disks(s) to the replication protected item.", + "operationId": "ReplicationProtectedItems_AddDisks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "addDisksInput", + "in": "body", + "description": "Add disks input.", + "required": true, + "schema": { + "$ref": "#/definitions/AddDisksInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add disk(s) for protection.": { + "$ref": "./examples/ReplicationProtectedItems_AddDisks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Change or apply recovery point.", + "description": "The operation to change the recovery point of a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The ARM fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replicated protected item name.", + "required": true, + "type": "string" + }, + { + "name": "applyRecoveryPointInput", + "in": "body", + "description": "The ApplyRecoveryPointInput.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplyRecoveryPointInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Change or apply recovery point.": { + "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute cancel failover.", + "description": "Operation to cancel the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute cancel failover.": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCancel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute commit failover.", + "description": "Operation to commit the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCommit", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute commit failover.": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute planned failover.", + "description": "Operation to initiate a planned failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_PlannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Planned failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/PlannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute planned failover.": { + "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "summary": "Gets the list of recovery points for a replication protected item.", + "description": "Lists the available recovery points for a replication protected item.", + "operationId": "RecoveryPoints_ListByReplicationProtectedItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPointCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of recovery points for a replication protected item.": { + "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { + "get": { + "tags": [ + "RecoveryPoints" + ], + "summary": "Gets a recovery point.", + "description": "Get the details of specified recovery point.", + "operationId": "RecoveryPoints_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointName", + "in": "path", + "description": "The recovery point name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPoint" + } + } + }, + "x-ms-examples": { + "Gets a recovery point.": { + "$ref": "./examples/RecoveryPoints_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Disables protection.", + "description": "The operation to disable replication on a replication protected item. This will also remove the item.", + "operationId": "ReplicationProtectedItems_Delete", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "disableProtectionInput", + "in": "body", + "description": "Disable protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/DisableProtectionInput" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Disables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Removes disk(s).", + "description": "Operation to remove disk(s) from the replication protected item.", + "operationId": "ReplicationProtectedItems_RemoveDisks", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "removeDisksInput", + "in": "body", + "description": "Remove disks input.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveDisksInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Removes disk(s).": { + "$ref": "./examples/ReplicationProtectedItems_RemoveDisks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Resynchronize or repair replication.", + "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", + "operationId": "ReplicationProtectedItems_RepairReplication", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The name of the replication protected item.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resynchronize or repair replication.": { + "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute Reverse Replication\\Reprotect.", + "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_Reprotect", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "reprotectInput", + "in": "body", + "description": "Reverse replication input.", + "required": true, + "schema": { + "$ref": "#/definitions/ReverseReplicationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute Reverse Replication\\Reprotect.": { + "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Resolve health errors.", + "description": "Operation to resolve health issues of the replication protected item.", + "operationId": "ReplicationProtectedItems_ResolveHealthErrors", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "resolveHealthInput", + "in": "body", + "description": "Health issue input object.", + "required": true, + "schema": { + "$ref": "#/definitions/ResolveHealthInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resolve health errors.": { + "$ref": "./examples/ReplicationProtectedItems_ResolveHealthErrors.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/switchProvider": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute switch provider.", + "description": "Operation to initiate a switch provider of the replication protected item.", + "operationId": "ReplicationProtectedItems_SwitchProvider", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "switchProviderInput", + "in": "body", + "description": "Switch provider input.", + "required": true, + "schema": { + "$ref": "#/definitions/SwitchProviderInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Execute switch provider.": { + "$ref": "./examples/ReplicationProtectedItems_SwitchProvider.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "get": { + "tags": [ + "TargetComputeSizes" + ], + "summary": "Gets the list of target compute sizes for the replication protected item.", + "description": "Lists the available target compute sizes for a replication protected item.", + "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TargetComputeSizeCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of target compute sizes for the replication protected item.": { + "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute test failover.", + "description": "Operation to perform a test failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "testfailoverInput", + "in": "body", + "description": "Test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute test failover cleanup.", + "description": "Operation to clean up the test failover of a replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailoverCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "cleanupInput", + "in": "body", + "description": "Test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover cleanup.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Execute unplanned failover.", + "description": "Operation to initiate a failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_UnplannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/UnplannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute unplanned failover.": { + "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Updates appliance for replication protected Item.", + "description": "The operation to update appliance of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_UpdateAppliance", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "applianceUpdateInput", + "in": "body", + "description": "Appliance update protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates appliance for replication protected Item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateAppliance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Update the mobility service on a protected item.", + "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", + "operationId": "ReplicationProtectedItems_UpdateMobilityService", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "replicationProtectedItemName", + "in": "path", + "description": "The name of the protected item on which the agent is to be updated.", + "required": true, + "type": "string" + }, + { + "name": "updateMobilityServiceRequest", + "in": "body", + "description": "Request to update the mobility service on the protected item.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMobilityServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the mobility service on a protected item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets the list of protection container mappings for a protection container.", + "description": "Lists the protection container mappings for a protection container.", + "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of protection container mappings for a protection container.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets a protection container mapping.", + "description": "Gets the details of a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection Container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + } + }, + "x-ms-examples": { + "Gets a protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Create protection container mapping.", + "description": "The operation to create a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", + "in": "body", + "description": "Mapping creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionContainerMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Purge protection container mapping.", + "description": "The operation to purge(force delete) a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Purge", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purge protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Update protection container mapping.", + "description": "The operation to update protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "updateInput", + "in": "body", + "description": "Mapping update input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateProtectionContainerMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "post": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Remove protection container mapping.", + "description": "The operation to delete or remove a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Delete", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "removalInput", + "in": "body", + "description": "Removal input.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + } + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Remove protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "post": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Switches protection from one container to another or one replication provider to another.", + "description": "Operation to switch protection from one container to another or one replication provider to another.", + "operationId": "ReplicationProtectionContainers_SwitchProtection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "switchInput", + "in": "body", + "description": "Switch protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/SwitchProtectionInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Switches protection from one container to another or one replication provider to another.": { + "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the list of registered recovery services providers for the fabric.", + "description": "Lists the registered recovery services providers for the specified fabric.", + "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of registered recovery services providers for the fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the details of a recovery services provider.", + "description": "Gets the details of registered recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + } + }, + "x-ms-examples": { + "Gets the details of a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Adds a recovery services provider.", + "description": "The operation to add a recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + }, + { + "name": "addProviderInput", + "in": "body", + "description": "Add provider input.", + "required": true, + "schema": { + "$ref": "#/definitions/AddRecoveryServicesProviderInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Adds a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Purges recovery service provider from fabric.", + "description": "The operation to purge(force delete) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Purge", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Purges recovery service provider from fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { + "post": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Refresh details from the recovery services provider.", + "description": "The operation to refresh the information from the recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refresh details from the recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { + "post": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", + "description": "The operation to removes/delete(unregister) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the list of storage classification objects under a fabric.", + "description": "Lists the storage classifications available in the specified fabric.", + "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Site name of interest.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification objects under a fabric.": { + "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the details of a storage classification.", + "description": "Gets the details of the specified storage classification.", + "operationId": "ReplicationStorageClassifications_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassification" + } + } + }, + "x-ms-examples": { + "Gets the details of a storage classification.": { + "$ref": "./examples/ReplicationStorageClassifications_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the list of storage classification mappings objects under a storage.", + "description": "Lists the storage classification mappings for the fabric.", + "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification mappings objects under a storage.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the details of a storage classification mapping.", + "description": "Gets the details of the specified storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMapping" + } + } + }, + "x-ms-examples": { + "Gets the details of a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Create storage classification mapping.", + "description": "The operation to create a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + }, + { + "name": "pairingInput", + "in": "body", + "description": "Pairing input.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageClassificationMappingInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMapping" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Delete a storage classification mapping.", + "description": "The operation to delete a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the list of vCenter registered under a fabric.", + "description": "Lists the vCenter servers registered in a fabric.", + "operationId": "ReplicationvCenters_ListByReplicationFabrics", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vCenter registered under a fabric.": { + "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the details of a vCenter.", + "description": "Gets the details of a registered vCenter server(Add vCenter server).", + "operationId": "ReplicationvCenters_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + } + }, + "x-ms-examples": { + "Gets the details of a vCenter.": { + "$ref": "./examples/ReplicationvCenters_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Add vCenter.", + "description": "The operation to create a vCenter object..", + "operationId": "ReplicationvCenters_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" + }, + { + "name": "addVCenterRequest", + "in": "body", + "description": "The input to the add vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/AddVCenterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Add vCenter.": { + "$ref": "./examples/ReplicationvCenters_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Remove vcenter operation.", + "description": "The operation to remove(unregister) a registered vCenter server from the vault.", + "operationId": "ReplicationvCenters_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Remove vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Update vCenter operation.", + "description": "The operation to update a registered vCenter.", + "operationId": "ReplicationvCenters_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" + }, + { + "name": "updateVCenterRequest", + "in": "body", + "description": "The input to the update vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateVCenterRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { + "get": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Gets the list of jobs.", + "description": "Gets the list of Azure Site Recovery Jobs for the vault.", + "operationId": "ReplicationJobs_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/JobQueryParameter", + "x-ms-examples": { + "Gets the list of jobs.": { + "$ref": "./examples/ReplicationJobs_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { + "get": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Gets the job details.", + "description": "Get the details of an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + } + }, + "x-ms-examples": { + "Gets the job details.": { + "$ref": "./examples/ReplicationJobs_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Cancels the specified job.", + "description": "The operation to cancel an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Cancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Cancels the specified job.": { + "$ref": "./examples/ReplicationJobs_Cancel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Restarts the specified job.", + "description": "The operation to restart an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Restart", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Restarts the specified job.": { + "$ref": "./examples/ReplicationJobs_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Resumes the specified job.", + "description": "The operation to resume an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Resume", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" + }, + { + "name": "resumeJobParams", + "in": "body", + "description": "Resume rob comments.", + "required": true, + "schema": { + "$ref": "#/definitions/ResumeJobParams" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Resumes the specified job.": { + "$ref": "./examples/ReplicationJobs_Resume.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { + "post": { + "tags": [ + "ReplicationJobs" + ], + "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", + "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", + "operationId": "ReplicationJobs_Export", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobQueryParameter", + "in": "body", + "description": "job query filter.", + "required": true, + "schema": { + "$ref": "#/definitions/JobQueryParameter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Job" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Exports the details of the Azure Site Recovery jobs of the vault.": { + "$ref": "./examples/ReplicationJobs_Export.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems": { + "get": { + "tags": [ + "ReplicationMigrationItems" + ], + "summary": "Gets the list of migration items in the vault.", + "operationId": "ReplicationMigrationItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, + "type": "string" + }, + { + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/MigrationItemsQueryParameter", + "x-ms-examples": { + "Gets the list of migration items in the vault.": { + "$ref": "./examples/ReplicationMigrationItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a vault.", + "description": "Lists all ASR network mappings in the vault.", + "operationId": "ReplicationNetworkMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all the network mappings under a vault.": { + "$ref": "./examples/ReplicationNetworkMappings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets the list of networks. View-only API.", + "description": "Lists the networks available in a vault.", + "operationId": "ReplicationNetworks_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of networks. View-only API.": { + "$ref": "./examples/ReplicationNetworks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the list of replication policies.", + "description": "Lists the replication policies for a vault.", + "operationId": "ReplicationPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PolicyCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of replication policies.": { + "$ref": "./examples/ReplicationPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the requested policy.", + "description": "Gets the details of a replication policy.", + "operationId": "ReplicationPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + } + }, + "x-ms-examples": { + "Gets the requested policy.": { + "$ref": "./examples/ReplicationPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Creates the policy.", + "description": "The operation to create a replication policy.", + "operationId": "ReplicationPolicies_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create policy input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates the policy.": { + "$ref": "./examples/ReplicationPolicies_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Delete the policy.", + "description": "The operation to delete a replication policy.", + "operationId": "ReplicationPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the policy.": { + "$ref": "./examples/ReplicationPolicies_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Updates the policy.", + "description": "The operation to update a replication policy.", + "operationId": "ReplicationPolicies_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Policy Id.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update Policy Input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the policy.": { + "$ref": "./examples/ReplicationPolicies_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the list of replication protected items.", + "description": "Gets the list of ASR replication protected items in the vault.", + "operationId": "ReplicationProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", + "x-ms-examples": { + "Gets the list of replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets the list of all protection container mappings in a vault.", + "description": "Lists the protection container mappings in the vault.", + "operationId": "ReplicationProtectionContainerMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection container mappings in a vault.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the list of all protection containers in a vault.", + "description": "Lists the protection containers in a vault.", + "operationId": "ReplicationProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection containers in a vault.": { + "$ref": "./examples/ReplicationProtectionContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents": { + "get": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Gets the list of replication protection intent objects.", + "description": "Gets the list of ASR replication protection intent objects in the vault.", + "operationId": "ReplicationProtectionIntents_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, + "type": "string" + }, + { + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntentCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of replication protection intent objects.": { + "$ref": "./examples/ReplicationProtectionIntents_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}": { + "get": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Gets the details of a Replication protection intent item.", + "description": "Gets the details of an ASR replication protection intent.", + "operationId": "ReplicationProtectionIntents_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Replication protection intent name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntent" + } + } + }, + "x-ms-examples": { + "Gets the details of a Replication protection intent item.": { + "$ref": "./examples/ReplicationProtectionIntents_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Create protection intent Resource.", + "description": "The operation to create an ASR replication protection intent item.", + "operationId": "ReplicationProtectionIntents_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "A name for the replication protection item.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create Protection Intent Input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionIntentInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntent" + } + } + }, + "x-ms-examples": { + "Create protection intent Resource.": { + "$ref": "./examples/ReplicationProtectionIntents_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the list of recovery plans.", + "description": "Lists the recovery plans in the vault.", + "operationId": "ReplicationRecoveryPlans_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlanCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of recovery plans.": { + "$ref": "./examples/ReplicationRecoveryPlans_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the requested recovery plan.", + "description": "Gets the details of the recovery plan.", + "operationId": "ReplicationRecoveryPlans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Name of the recovery plan.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + } + }, + "x-ms-examples": { + "Gets the requested recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Creates a recovery plan with the given details.", + "description": "The operation to create a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery Plan creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a recovery plan with the given details.": { + "$ref": "./examples/ReplicationRecoveryPlans_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Deletes the specified recovery plan.", + "description": "Delete a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the specified recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Updates the given recovery plan.", + "description": "The operation to update a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update recovery plan input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the given recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCancel": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute cancel failover of the recovery plan.", + "description": "The operation to cancel the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute cancel failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCancel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute commit failover of the recovery plan.", + "description": "The operation to commit the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute commit failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute planned failover of the recovery plan.", + "description": "The operation to start the planned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute planned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute reprotect of the recovery plan.", + "description": "The operation to reprotect(reverse replicate) a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Reprotect", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute reprotect of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover of the recovery plan.", + "description": "The operation to start the test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover cleanup of the recovery plan.", + "description": "The operation to cleanup test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover cleanup of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute unplanned failover of the recovery plan.", + "description": "The operation to start the unplanned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan unplanned failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute unplanned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", + "description": "Lists the registered recovery services providers in the vault.", + "operationId": "ReplicationRecoveryServicesProviders_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of registered recovery services providers in the vault. This is a view only api.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the list of storage classification mappings objects under a vault.", + "description": "Lists the storage classification mappings in the vault.", + "operationId": "ReplicationStorageClassificationMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification mappings objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the list of storage classification objects under a vault.", + "description": "Lists the storage classifications in the vault.", + "operationId": "ReplicationStorageClassifications_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassifications_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationSupportedOperatingSystems": { + "get": { + "tags": [ + "SupportedOperatingSystems" + ], + "summary": "Gets the data of supported operating systems by SRS.", + "operationId": "SupportedOperatingSystems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "instanceType", + "in": "query", + "description": "The instance type.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SupportedOperatingSystems" + } + } + }, + "x-ms-examples": { + "Gets the data of supported operating systems by SRS.": { + "$ref": "./examples/SupportedOperatingSystems_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { + "get": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Gets the health summary for the vault.", + "description": "Gets the health details of the vault.", + "operationId": "ReplicationVaultHealth_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + } + }, + "x-ms-examples": { + "Gets the health summary for the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { + "post": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Refreshes health summary of the vault.", + "operationId": "ReplicationVaultHealth_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refreshes health summary of the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Refresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings": { + "get": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Gets the list of vault setting.", + "description": "Gets the list of vault setting. This includes the Migration Hub connection settings.", + "operationId": "ReplicationVaultSetting_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSettingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vault setting.": { + "$ref": "./examples/ReplicationVaultSetting_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}": { + "get": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Gets the vault setting.", + "description": "Gets the vault setting. This includes the Migration Hub connection settings.", + "operationId": "ReplicationVaultSetting_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "vaultSettingName", + "in": "path", + "description": "Vault setting name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSetting" + } + } + }, + "x-ms-examples": { + "Gets the vault setting.": { + "$ref": "./examples/ReplicationVaultSetting_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.", + "description": "The operation to configure vault setting.", + "operationId": "ReplicationVaultSetting_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "vaultSettingName", + "in": "path", + "description": "Vault setting name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Vault setting creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/VaultSettingCreationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSetting" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.": { + "$ref": "./examples/ReplicationVaultSetting_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the list of vCenter registered under the vault.", + "description": "Lists the vCenter servers registered in the vault.", + "operationId": "ReplicationvCenters_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vCenter registered under the vault.": { + "$ref": "./examples/ReplicationvCenters_List.json" + } + } + } + } + }, + "definitions": { + "A2AAddDisksInput": { + "description": "A2A add disk(s) input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AddDisksProviderSpecificInput" + } + ], + "properties": { + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2A provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AContainerCreationInput": { + "description": "A2A cloud creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AContainerMappingInput": { + "description": "A2A container mapping input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ACreateProtectionIntentInput": { + "description": "A2A create protection intent input.", + "required": [ + "fabricObjectId", + "primaryLocation", + "recoveryLocation", + "recoverySubscriptionId", + "recoveryAvailabilityType", + "recoveryResourceGroupId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryLocation": { + "description": "The primary location for the virtual machine.", + "type": "string" + }, + "recoveryLocation": { + "description": "The recovery location for the virtual machine.", + "type": "string" + }, + "recoverySubscriptionId": { + "description": "The recovery subscription Id of the virtual machine.", + "type": "string" + }, + "recoveryAvailabilityType": { + "description": "The recovery availability type of the virtual machine.", + "enum": [ + "Single", + "AvailabilitySet", + "AvailabilityZone" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARecoveryAvailabilityType", + "modelAsString": true + } + }, + "protectionProfileCustomInput": { + "$ref": "#/definitions/ProtectionProfileCustomDetails", + "description": "The protection profile custom inputs." + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + }, + "recoveryAvailabilitySetCustomInput": { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails", + "description": "The recovery availability set input." + }, + "recoveryVirtualNetworkCustomInput": { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails", + "description": "The recovery virtual network input." + }, + "recoveryProximityPlacementGroupCustomInput": { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails", + "description": "The recovery proximity placement group custom input." + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of vm disk inputs.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk inputs.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The boot diagnostic storage account." + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the authentication type for automation account. The default value is \"RunAsAccount\".", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ACrossClusterMigrationApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationContainerCreationInput": { + "description": "A2ACrossClusterMigration cloud creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationEnableProtectionInput": { + "description": "A2A Cross-Cluster Migration enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationPolicyCreationInput": { + "description": "A2A Cross-Cluster Migration Policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationReplicationDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "osType": { + "description": "The type of operating system.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2AEnableProtectionInput": { + "description": "A2A enable protection input.", + "required": [ + "fabricObjectId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The recovery extended location." + }, + "recoveryAzureNetworkId": { + "description": "The recovery Azure virtual network ARM id.", + "type": "string" + }, + "recoverySubnetName": { + "description": "The recovery subnet name.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The virtual machine scale set Id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AEventDetails": { + "description": "Model class for event details of a A2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item arm name.", + "type": "string" + }, + "fabricObjectId": { + "description": "The azure vm arm id.", + "type": "string" + }, + "fabricName": { + "description": "Fabric arm name.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "type": "string" + }, + "remoteFabricName": { + "description": "Remote fabric arm name.", + "type": "string" + }, + "remoteFabricLocation": { + "description": "Remote fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyCreationInput": { + "description": "A2A Policy creation input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyDetails": { + "description": "A2A specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectedDiskDetails": { + "description": "A2A protected disk details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery disk storage account.", + "type": "string" + }, + "primaryDiskAzureStorageAccountId": { + "description": "The primary disk storage account.", + "type": "string" + }, + "recoveryDiskUri": { + "description": "Recovery disk uri.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + }, + "diskState": { + "description": "The disk state.", + "type": "string" + }, + "allowedDiskLevelOperation": { + "description": "The disk level operations list.", + "type": "array", + "items": { + "type": "string" + } + }, + "isDiskEncrypted": { + "description": "A value indicating whether vm has encrypted os disk or not.", + "type": "boolean" + }, + "secretIdentifier": { + "description": "The secret URL / identifier (BEK).", + "type": "string" + }, + "dekKeyVaultArmId": { + "description": "The KeyVault resource id for secret (BEK).", + "type": "string" + }, + "isDiskKeyEncrypted": { + "description": "A value indicating whether disk key got encrypted or not.", + "type": "boolean" + }, + "keyIdentifier": { + "description": "The key URL / identifier (KEK).", + "type": "string" + }, + "kekKeyVaultArmId": { + "description": "The KeyVault resource id for key (KEK).", + "type": "string" + }, + "failoverDiskName": { + "description": "The failover name for the managed disk.", + "type": "string" + }, + "tfoDiskName": { + "description": "The test failover name for the managed disk.", + "type": "string" + } + } + }, + "A2AProtectedManagedDiskDetails": { + "description": "A2A protected managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The managed disk Arm id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery disk resource group Arm Id.", + "type": "string" + }, + "recoveryTargetDiskId": { + "description": "Recovery target disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskId": { + "description": "Recovery replica disk Arm Id.", + "type": "string" + }, + "recoveryOrignalTargetDiskId": { + "description": "Recovery original target disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryDiskEncryptionSetId": { + "description": "The recovery disk encryption set Id.", + "type": "string" + }, + "primaryDiskEncryptionSetId": { + "description": "The primary disk encryption set Id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + }, + "diskState": { + "description": "The disk state.", + "type": "string" + }, + "allowedDiskLevelOperation": { + "description": "The disk level operations list.", + "type": "array", + "items": { + "type": "string" + } + }, + "isDiskEncrypted": { + "description": "A value indicating whether vm has encrypted os disk or not.", + "type": "boolean" + }, + "secretIdentifier": { + "description": "The secret URL / identifier (BEK).", + "type": "string" + }, + "dekKeyVaultArmId": { + "description": "The KeyVault resource id for secret (BEK).", + "type": "string" + }, + "isDiskKeyEncrypted": { + "description": "A value indicating whether disk key got encrypted or not.", + "type": "boolean" + }, + "keyIdentifier": { + "description": "The key URL / identifier (KEK).", + "type": "string" + }, + "kekKeyVaultArmId": { + "description": "The KeyVault resource id for key (KEK).", + "type": "string" + }, + "failoverDiskName": { + "description": "The failover name for the managed disk.", + "type": "string" + }, + "tfoDiskName": { + "description": "The test failover name for the managed disk.", + "type": "string" + } + } + }, + "A2AProtectionContainerMappingDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + }, + "scheduleName": { + "description": "The schedule arm name.", + "type": "string" + }, + "jobScheduleName": { + "description": "The job schedule arm name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectionIntentDiskInputDetails": { + "description": "Azure VM unmanaged disk input details.", + "required": [ + "diskUri" + ], + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", + "type": "string" + }, + "recoveryAzureStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The recovery VHD storage account input." + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + } + } + }, + "A2AProtectionIntentManagedDiskInputDetails": { + "description": "Azure VM managed disk input details.", + "required": [ + "diskId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + }, + "recoveryResourceGroupCustomInput": { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails", + "description": "The recovery resource group input." + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "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)." + } + } + }, + "A2ARecoveryPointDetails": { + "description": "A2A provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "recoveryPointSyncType": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "enum": [ + "MultiVmSyncRecoveryPoint", + "PerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointSyncType", + "modelAsString": true + } + }, + "disks": { + "description": "List of disk ids representing a recovery point.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ARemoveDisksInput": { + "description": "A2A remove disk(s) input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RemoveDisksProviderSpecificInput" + } + ], + "properties": { + "vmDisksUris": { + "description": "The list of vm disk vhd URIs.", + "type": "array", + "items": { + "type": "string" + } + }, + "vmManagedDisksIds": { + "description": "The list of vm managed disk Ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReplicationDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "initialPrimaryZone": { + "description": "The initial primary availability zone.", + "type": "string", + "readOnly": true + }, + "initialPrimaryFabricLocation": { + "description": "The initial primary fabric location.", + "type": "string", + "readOnly": true + }, + "initialRecoveryZone": { + "description": "The initial recovery availability zone.", + "type": "string", + "readOnly": true + }, + "initialPrimaryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The initial primary extended location." + }, + "initialRecoveryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The initial recovery extended location." + }, + "initialRecoveryFabricLocation": { + "description": "The initial recovery fabric location.", + "type": "string", + "readOnly": true + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": true + } + }, + "managementId": { + "description": "The management Id.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedDiskDetails" + } + }, + "unprotectedDisks": { + "description": "The list of unprotected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AUnprotectedDiskDetails" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The recovery boot diagnostic storage account Arm Id.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + }, + "osType": { + "description": "The type of operating system.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The size of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureVMName": { + "description": "The name of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The recovery resource group.", + "type": "string" + }, + "recoveryCloudService": { + "description": "The recovery cloud service.", + "type": "string" + }, + "recoveryAvailabilitySet": { + "description": "The recovery availability set.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "The recovery virtual network.", + "type": "string" + }, + "selectedTfoAzureNetworkId": { + "description": "The test failover virtual network.", + "type": "string" + }, + "vmNics": { + "description": "The virtual machine nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmSyncedConfigDetails": { + "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", + "description": "The synced configuration details." + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isReplicationAgentUpdateRequired": { + "description": "A value indicating whether replication agent update is required.", + "type": "boolean" + }, + "agentCertificateExpiryDate": { + "format": "date-time", + "description": "Agent certificate expiry date.", + "type": "string", + "readOnly": true + }, + "isReplicationAgentCertificateUpdateRequired": { + "description": "A value indicating whether agent certificate update is required.", + "type": "boolean" + }, + "recoveryFabricObjectId": { + "description": "The recovery fabric object Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "type": "string" + }, + "testFailoverRecoveryFabricObjectId": { + "description": "The test failover fabric object Id.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The last RPO value in seconds.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", + "type": "string" + }, + "primaryAvailabilityZone": { + "description": "The primary availability zone.", + "type": "string" + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "primaryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The primary Extended Location." + }, + "recoveryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The recovery Extended Location." + }, + "vmEncryptionType": { + "description": "The encryption type of the VM.", + "type": "string", + "readOnly": true, + "enum": [ + "NotEncrypted", + "OnePassEncrypted", + "TwoPassEncrypted" + ], + "x-ms-enum": { + "name": "VmEncryptionType", + "modelAsString": true + } + }, + "tfoAzureVMName": { + "description": "The test failover vm name.", + "type": "string" + }, + "recoveryAzureGeneration": { + "description": "The recovery azure generation.", + "type": "string", + "readOnly": true + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The recovery virtual machine scale set id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReplicationIntentDetails": { + "description": "A2A provider specific settings.", + "required": [ + "recoveryAvailabilityType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryLocation": { + "description": "The primary location for the virtual machine.", + "type": "string" + }, + "recoveryLocation": { + "description": "The recovery location for the virtual machine.", + "type": "string" + }, + "recoverySubscriptionId": { + "description": "The recovery subscription Id of the virtual machine.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group id.", + "type": "string" + }, + "protectionProfile": { + "$ref": "#/definitions/ProtectionProfileCustomDetails", + "description": "The protection profile custom details." + }, + "primaryStagingStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account details." + }, + "recoveryAvailabilitySet": { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails", + "description": "The recovery availability set details." + }, + "recoveryVirtualNetwork": { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails", + "description": "The recovery virtual network details." + }, + "recoveryProximityPlacementGroup": { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails", + "description": "The recovery proximity placement group custom details." + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The boot diagnostic storage account." + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryAvailabilityType": { + "description": "The recovery availability type of the virtual machine.", + "type": "string" + }, + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ASwitchProtectionInput": { + "description": "A2A specific switch protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The virtual machine scale set id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information." + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ATestFailoverInput": { + "description": "A2A provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUnplannedFailoverInput": { + "description": "A2A provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for failover or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUnprotectedDiskDetails": { + "description": "A2A unprotected disk details.", + "type": "object", + "properties": { + "diskLunId": { + "format": "int32", + "description": "The source lun Id for the data disk.", + "type": "integer" + }, + "diskAutoProtectionStatus": { + "description": "A value indicating whether the disk auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + } + } + }, + "A2AUpdateContainerMappingInput": { + "description": "A2A update protection container mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryCloudServiceId": { + "description": "The target cloud service ARM Id (for V1).", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group ARM Id (for V2).", + "type": "string" + }, + "managedDiskUpdateDetails": { + "description": "Managed disk update details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery os disk encryption information." + }, + "tfoAzureVMName": { + "description": "The user given name for Test Failover VM.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The recovery virtual machine scale set Id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AVmDiskInputDetails": { + "description": "A2A disk input details.", + "required": [ + "diskUri", + "recoveryAzureStorageAccountId", + "primaryStagingAzureStorageAccountId" + ], + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery VHD storage account Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Id.", + "type": "string" + } + } + }, + "A2AVmManagedDiskInputDetails": { + "description": "A2A managed disk input details.", + "required": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Arm Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "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)." + } + } + }, + "A2AVmManagedDiskUpdateDetails": { + "description": "A2A Vm managed disk update details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type before failover.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type before failover.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery os disk encryption information." + }, + "failoverDiskName": { + "description": "The target disk name for unplanned failover operation.", + "type": "string" + }, + "tfoDiskName": { + "description": "The target disk name for test failover operation.", + "type": "string" + } + } + }, + "A2AZoneDetails": { + "description": "Zone details data.", + "type": "object", + "properties": { + "source": { + "description": "Source zone info.", + "type": "string" + }, + "target": { + "description": "The target zone info.", + "type": "string" + } + } + }, + "AddDisksInput": { + "description": "Input for add disk(s) operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddDisksInputProperties", + "description": "Add disks input properties." + } + } + }, + "AddDisksInputProperties": { + "description": "Add Disks input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/AddDisksProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "AddDisksProviderSpecificInput": { + "description": "Add Disks provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "AddRecoveryServicesProviderInput": { + "description": "Input required to add a provider.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties", + "description": "The properties of an add provider request." + } + } + }, + "AddRecoveryServicesProviderInputProperties": { + "description": "The properties of an add provider request.", + "required": [ + "machineName", + "authenticationIdentityInput", + "resourceAccessIdentityInput" + ], + "type": "object", + "properties": { + "machineName": { + "description": "The name of the machine where the provider is getting added.", + "type": "string" + }, + "machineId": { + "description": "The Id of the machine where the provider is getting added.", + "type": "string" + }, + "biosId": { + "description": "The Bios Id of the machine.", + "type": "string" + }, + "authenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for DRA authentication." + }, + "resourceAccessIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for resource access." + }, + "dataPlaneAuthenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for data plane authentication." + } + } + }, + "AddVCenterRequest": { + "description": "Input required to add vCenter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddVCenterRequestProperties", + "description": "The properties of an add vCenter request." + } + } + }, + "AddVCenterRequestProperties": { + "description": "The properties of an add vCenter request.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the vCenter.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id from where the discovery is orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + } + } + }, + "AgentDetails": { + "description": "Agent details.", + "type": "object", + "properties": { + "agentId": { + "description": "The Id of the agent running on the server.", + "type": "string", + "readOnly": true + }, + "machineId": { + "description": "The Id of the machine to which the agent is registered.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The machine BIOS Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The machine FQDN.", + "type": "string", + "readOnly": true + }, + "disks": { + "description": "The disks.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDiskDetails" + }, + "readOnly": true + } + } + }, + "AgentDiskDetails": { + "description": "Agent disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "lunId": { + "format": "int32", + "description": "The lun of disk.", + "type": "integer", + "readOnly": true + } + } + }, + "Alert": { + "description": "Implements the Alert class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Alert related data." + } + } + }, + "AlertCollection": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The list of alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "AlertProperties": { + "description": "The properties of an alert.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ApplianceCollection": { + "description": "Collection of appliance details.", + "type": "object", + "properties": { + "value": { + "description": "The appliance details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationAppliance" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ApplianceQueryParameter": { + "description": "Query parameter to get appliance.", + "type": "object", + "properties": { + "providerType": { + "description": "The providerType to be used for fetching appliance details.", + "type": "string" + } + } + }, + "ApplianceSpecificDetails": { + "description": "Appliance specific details.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType", + "required": [ + "instanceType" + ] + }, + "ApplyRecoveryPointInput": { + "description": "Input to apply recovery point.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ApplyRecoveryPointInputProperties", + "description": "The input properties to apply recovery point." + } + } + }, + "ApplyRecoveryPointInputProperties": { + "description": "Input properties to apply recovery point.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", + "description": "Provider specific input for applying recovery point." + } + } + }, + "ApplyRecoveryPointProviderSpecificInput": { + "description": "Provider specific input for apply recovery point.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "AsrJobDetails": { + "description": "This class represents job details based on specific job type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "AsrJobDetails" + }, + "ASRTask": { + "description": "Task of the Job.", + "type": "object", + "properties": { + "taskId": { + "description": "The Id.", + "type": "string" + }, + "name": { + "description": "The unique Task name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The state/actions applicable on this task.", + "type": "array", + "items": { + "type": "string" + } + }, + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "state": { + "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "type": "string" + }, + "taskType": { + "description": "The type of task. Details in CustomDetails property depend on this type.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/TaskTypeDetails", + "description": "The custom task details based on the task type." + }, + "groupTaskCustomDetails": { + "$ref": "#/definitions/GroupTaskDetails", + "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." + }, + "errors": { + "description": "The task error details.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + } + } + }, + "AutomationRunbookTaskDetails": { + "description": "This class represents the task details for an automation runbook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The recovery plan task name.", + "type": "string" + }, + "cloudServiceName": { + "description": "The cloud service of the automation runbook account.", + "type": "string" + }, + "subscriptionId": { + "description": "The subscription Id of the automation runbook account.", + "type": "string" + }, + "accountName": { + "description": "The automation account name of the runbook.", + "type": "string" + }, + "runbookId": { + "description": "The runbook Id.", + "type": "string" + }, + "runbookName": { + "description": "The runbook name.", + "type": "string" + }, + "jobId": { + "description": "The job Id of the runbook execution.", + "type": "string" + }, + "jobOutput": { + "description": "The execution output of the runbook.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + }, + "AzureFabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "location": { + "description": "The Location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureFabricSpecificDetails": { + "description": "Azure Fabric Specific Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "location": { + "description": "The Location for the Azure fabric.", + "type": "string" + }, + "containerIds": { + "description": "The container Ids for the Azure fabric.", + "type": "array", + "items": { + "type": "string" + } + }, + "zones": { + "description": "The zones.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AZoneDetails" + } + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping.", + "required": [ + "primaryNetworkId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureNetworkMappingSettings": { + "description": "A2A Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": { + "primaryFabricLocation": { + "description": "The primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureUpdateNetworkMappingInput": { + "description": "Updates network mappings input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureVmSyncedConfigDetails": { + "description": "Azure to Azure VM synced configuration details.", + "type": "object", + "properties": { + "tags": { + "description": "The Azure VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "inputEndpoints": { + "description": "The Azure VM input endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/InputEndpoint" + } + } + } + }, + "AzureVmDiskDetails": { + "description": "Disk details for E2A provider.", + "type": "object", + "properties": { + "vhdType": { + "description": "VHD type.", + "type": "string" + }, + "vhdId": { + "description": "The VHD id.", + "type": "string" + }, + "diskId": { + "description": "The disk resource id.", + "type": "string" + }, + "vhdName": { + "description": "VHD name.", + "type": "string" + }, + "maxSizeMB": { + "description": "Max side in MB.", + "type": "string" + }, + "targetDiskLocation": { + "description": "Blob uri of the Azure disk.", + "type": "string" + }, + "targetDiskName": { + "description": "The target Azure disk name.", + "type": "string" + }, + "lunId": { + "description": "Ordinal\\LunId of the disk for the Azure VM.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + }, + "customTargetDiskName": { + "description": "The custom target Azure disk name.", + "type": "string" + } + } + }, + "ComputeSizeErrorDetails": { + "description": "Represents the error used to indicate why the target compute size is not applicable.", + "type": "object", + "properties": { + "message": { + "description": "The error message.", + "type": "string" + }, + "severity": { + "description": "The severity of the error.", + "type": "string" + } + } + }, + "ConfigurationSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ConfigureAlertRequest": { + "description": "Request to configure alerts for the system.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigureAlertRequestProperties", + "description": "The properties of a configure alert request." + } + } + }, + "ConfigureAlertRequestProperties": { + "description": "Properties of a configure alert request.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ConsistencyCheckTaskDetails": { + "description": "This class contains monitoring details of all the inconsistent Protected Entities in Vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmDetails": { + "description": "The list of inconsistent Vm details.", + "type": "array", + "items": { + "$ref": "#/definitions/InconsistentVmDetails" + } + } + }, + "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + }, + "CreateNetworkMappingInput": { + "description": "Create network mappings input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateNetworkMappingInputProperties", + "description": "Input properties for creating network mapping." + } + } + }, + "CreateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "required": [ + "recoveryNetworkId" + ], + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric Name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", + "description": "Fabric specific input properties." + } + } + }, + "CreatePolicyInput": { + "description": "Protection Policy input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreatePolicyInputProperties", + "description": "Policy creation properties." + } + } + }, + "CreatePolicyInputProperties": { + "description": "Policy creation properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "CreateProtectionContainerInput": { + "description": "Create protection container input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerInputProperties", + "description": "Create protection container input properties." + } + } + }, + "CreateProtectionContainerInputProperties": { + "description": "Create protection container input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "description": "Provider specific inputs for container creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + } + } + }, + "CreateProtectionContainerMappingInput": { + "description": "Configure pairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "CreateProtectionContainerMappingInputProperties": { + "description": "Configure pairing input properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "The target unique protection container name.", + "type": "string" + }, + "policyId": { + "description": "Applicable policy.", + "type": "string" + }, + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput", + "description": "Provider specific input for pairing." + } + } + }, + "CreateProtectionIntentInput": { + "description": "Create protection intent input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionIntentProperties", + "description": "Create protection intent input properties." + } + } + }, + "CreateProtectionIntentProperties": { + "description": "Create protection intent input properties.", + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails", + "description": "The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object." + } + } + }, + "CreateProtectionIntentProviderSpecificDetails": { + "description": "Create protection intent provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "CreateRecoveryPlanInput": { + "description": "Create recovery plan input class.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties", + "description": "Recovery plan creation properties." + } + } + }, + "CreateRecoveryPlanInputProperties": { + "description": "Recovery plan creation properties.", + "required": [ + "primaryFabricId", + "recoveryFabricId", + "groups" + ], + "type": "object", + "properties": { + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ], + "type": "string", + "x-ms-enum": { + "name": "FailoverDeploymentModel", + "modelAsString": true + } + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + "providerSpecificInput": { + "description": "The provider specific input.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + } + } + }, + "CurrentJobDetails": { + "description": "Current job details of the migration item.", + "type": "object", + "properties": { + "jobName": { + "description": "The job name.", + "type": "string", + "readOnly": true + }, + "jobId": { + "description": "The ARM Id of the job being executed.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The start time of the job.", + "type": "string", + "readOnly": true + } + } + }, + "CurrentScenarioDetails": { + "description": "Current scenario details of the protected entity.", + "type": "object", + "properties": { + "scenarioName": { + "description": "Scenario name.", + "type": "string" + }, + "jobId": { + "description": "ARM Id of the job being executed.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the workflow.", + "type": "string" + } + } + }, + "DataStore": { + "description": "The datastore details of the MT.", + "type": "object", + "properties": { + "symbolicName": { + "description": "The symbolic name of data store.", + "type": "string" + }, + "uuid": { + "description": "The uuid of data store.", + "type": "string" + }, + "capacity": { + "description": "The capacity of data store in GBs.", + "type": "string" + }, + "freeSpace": { + "description": "The free space of data store in GBs.", + "type": "string" + }, + "type": { + "description": "The type of data store.", + "type": "string" + } + } + }, + "DisableProtectionInput": { + "description": "Disable protection input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DisableProtectionInputProperties", + "description": "Disable protection input properties." + } + } + }, + "DisableProtectionInputProperties": { + "description": "Disable protection input properties.", + "type": "object", + "properties": { + "disableProtectionReason": { + "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "enum": [ + "NotSpecified", + "MigrationComplete" + ], + "type": "string", + "x-ms-enum": { + "name": "DisableProtectionReason", + "modelAsString": true + } + }, + "replicationProviderInput": { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput", + "description": "Replication provider specific input." + } + } + }, + "DisableProtectionProviderSpecificInput": { + "description": "Disable protection provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "DiscoverProtectableItemRequest": { + "description": "Request to add a physical machine as a protectable item in a container.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DiscoverProtectableItemRequestProperties", + "description": "The properties of a discover protectable item request." + } + } + }, + "DiscoverProtectableItemRequestProperties": { + "description": "Discover protectable item properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the physical machine.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the physical machine to be discovered.", + "type": "string" + }, + "osType": { + "description": "The OS type on the physical machine.", + "type": "string" + } + } + }, + "DiskDetails": { + "description": "Onprem disk details data.", + "type": "object", + "properties": { + "maxSizeMB": { + "format": "int64", + "description": "The hard disk max size in MB.", + "type": "integer" + }, + "vhdType": { + "description": "The type of the volume.", + "type": "string" + }, + "vhdId": { + "description": "The VHD Id.", + "type": "string" + }, + "vhdName": { + "description": "The VHD name.", + "type": "string" + } + } + }, + "DiskEncryptionInfo": { + "description": "Recovery disk encryption info (BEK and KEK).", + "type": "object", + "properties": { + "diskEncryptionKeyInfo": { + "$ref": "#/definitions/DiskEncryptionKeyInfo", + "description": "The recovery KeyVault reference for secret." + }, + "keyEncryptionKeyInfo": { + "$ref": "#/definitions/KeyEncryptionKeyInfo", + "description": "The recovery KeyVault reference for key." + } + } + }, + "DiskEncryptionKeyInfo": { + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).", + "type": "object", + "properties": { + "secretIdentifier": { + "description": "The secret url / identifier.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The KeyVault resource ARM id for secret.", + "type": "string" + } + } + }, + "DiskVolumeDetails": { + "description": "Volume details.", + "type": "object", + "properties": { + "label": { + "description": "The volume label.", + "type": "string" + }, + "name": { + "description": "The volume name.", + "type": "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", + "type": "object", + "properties": { + "provider": { + "description": "The provider. The localized friendly form of the resource provider name - it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".", + "type": "string" + }, + "resource": { + "description": "The resource. The localized friendly form of the resource related to this action/operation - it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent's display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\".", + "type": "string" + }, + "operation": { + "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'.", + "type": "string" + }, + "description": { + "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise - it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'.", + "type": "string" + } + } + }, + "DraDetails": { + "description": "DRA details.", + "type": "object", + "properties": { + "id": { + "description": "The DRA Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The DRA name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The DRA Bios Id.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the DRA.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "forwardProtectedItemCount": { + "format": "int32", + "description": "The count of protected items which are protected in forward direction.", + "type": "integer", + "readOnly": true + }, + "reverseProtectedItemCount": { + "format": "int32", + "description": "The count of protected items which are protected in reverse direction.", + "type": "integer", + "readOnly": true + } + } + }, + "EnableMigrationInput": { + "description": "Enable migration input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnableMigrationInputProperties", + "description": "Enable migration input properties." + } + } + }, + "EnableMigrationInputProperties": { + "description": "Enable migration input properties.", + "required": [ + "policyId", + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "policyId": { + "description": "The policy Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EnableMigrationProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "EnableMigrationProviderSpecificInput": { + "description": "Enable migration provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EnableProtectionInput": { + "description": "Enable protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnableProtectionInputProperties", + "description": "Enable protection input properties." + } + } + }, + "EnableProtectionInputProperties": { + "description": "Enable protection input properties.", + "type": "object", + "properties": { + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "protectableItemId": { + "description": "The protectable item Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "EnableProtectionProviderSpecificInput": { + "description": "Enable protection provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EncryptionDetails": { + "description": "Encryption details for the fabric.", + "type": "object", + "properties": { + "kekState": { + "description": "The key encryption key state for the Vmm.", + "type": "string" + }, + "kekCertThumbprint": { + "description": "The key encryption key certificate thumbprint.", + "type": "string" + }, + "kekCertExpiryDate": { + "format": "date-time", + "description": "The key encryption key certificate expiry date.", + "type": "string" + } + } + }, + "Event": { + "description": "Implements the Event class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventProperties", + "description": "Event related data." + } + } + }, + "EventCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "EventProperties": { + "description": "The properties of a monitoring event.", + "type": "object", + "properties": { + "eventCode": { + "description": "The Id of the monitoring event.", + "type": "string" + }, + "description": { + "description": "The event name.", + "type": "string" + }, + "eventType": { + "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", + "type": "string" + }, + "affectedObjectCorrelationId": { + "description": "The affected object correlationId for the event.", + "type": "string" + }, + "severity": { + "description": "The severity of the event.", + "type": "string" + }, + "timeOfOccurrence": { + "format": "date-time", + "description": "The time of occurrence of the event.", + "type": "string" + }, + "fabricId": { + "description": "The ARM ID of the fabric.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EventProviderSpecificDetails", + "description": "The provider specific settings." + }, + "eventSpecificDetails": { + "$ref": "#/definitions/EventSpecificDetails", + "description": "The event specific settings." + }, + "healthErrors": { + "description": "The list of errors / warnings capturing details associated with the issue(s).", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "EventProviderSpecificDetails": { + "description": "Model class for provider specific details for an event.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EventQueryParameter": { + "description": "Implements the event query parameter.", + "type": "object", + "properties": { + "eventCode": { + "description": "The source id of the events to be queried.", + "type": "string" + }, + "severity": { + "description": "The severity of the events to be queried.", + "type": "string" + }, + "eventType": { + "description": "The type of the events to be queried.", + "type": "string" + }, + "fabricName": { + "description": "The affected object server id of the events to be queried.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The affected object name of the events to be queried.", + "type": "string" + }, + "affectedObjectCorrelationId": { + "description": "The affected object correlationId for the events to be queried.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time of the time range within which the events are to be queried.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time of the time range within which the events are to be queried.", + "type": "string" + } + } + }, + "EventSpecificDetails": { + "description": "Model class for event specific details for an event.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ExistingProtectionProfile": { + "description": "Existing storage account input.", + "required": [ + "protectionProfileId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" + } + ], + "properties": { + "protectionProfileId": { + "description": "The protection profile Arm Id. Throw error, if resource does not exists.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryAvailabilitySet": { + "description": "Existing recovery availability set input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails" + } + ], + "properties": { + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id. Will throw error, if resource does not exist.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryProximityPlacementGroup": { + "description": "Existing recovery proximity placement group input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails" + } + ], + "properties": { + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryRecoveryResourceGroup": { + "description": "Existing recovery resource group input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails" + } + ], + "properties": { + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryVirtualNetwork": { + "description": "Existing recovery virtual network input.", + "required": [ + "recoveryVirtualNetworkId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + } + ], + "properties": { + "recoveryVirtualNetworkId": { + "description": "The recovery virtual network Id. Will throw error, if resource does not exist.", + "type": "string" + }, + "recoverySubnetName": { + "description": "The recovery subnet name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingStorageAccount": { + "description": "Existing storage account input.", + "required": [ + "azureStorageAccountId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + } + ], + "properties": { + "azureStorageAccountId": { + "description": "The storage account Arm Id. Throw error, if resource does not exists.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExportJobDetails": { + "description": "This class represents details for export jobs workflow.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "blobUri": { + "description": "BlobUri of the exported jobs.", + "type": "string" + }, + "sasToken": { + "description": "The sas token to access blob.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobDetails" + }, + "ExtendedLocation": { + "description": "Extended location of the resource.", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the extended location.", + "type": "string" + }, + "type": { + "description": "The extended location type.", + "enum": [ + "EdgeZone" + ], + "type": "string", + "x-ms-enum": { + "name": "ExtendedLocationType", + "modelAsString": true + } + } + } + }, + "Fabric": { + "description": "Fabric definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FabricProperties", + "description": "Fabric related data." + } + } + }, + "FabricCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The fabric details.", + "type": "array", + "items": { + "$ref": "#/definitions/Fabric" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "FabricCreationInput": { + "description": "Site details provided during the time of site creation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FabricCreationInputProperties", + "description": "Fabric creation input." + } + } + }, + "FabricCreationInputProperties": { + "description": "Properties of site details provided during the time of site creation.", + "type": "object", + "properties": { + "customDetails": { + "$ref": "#/definitions/FabricSpecificCreationInput", + "description": "Fabric provider specific creation input." + } + } + }, + "FabricProperties": { + "description": "Fabric properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the fabric.", + "type": "string" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Encryption details for the fabric." + }, + "rolloverEncryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Rollover encryption details for the fabric." + }, + "internalIdentifier": { + "description": "Dra Registration Id.", + "type": "string" + }, + "bcdrState": { + "description": "BCDR state of the fabric.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/FabricSpecificDetails", + "description": "Fabric specific settings." + }, + "healthErrorDetails": { + "description": "Fabric health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "health": { + "description": "Health of fabric.", + "type": "string" + } + } + }, + "FabricQueryParameter": { + "description": "Query parameter to get fabric.", + "type": "object", + "properties": { + "zoneToZoneMappings": { + "description": "A value indicating whether the zone to zone mappings are to be returned.", + "type": "string" + }, + "fetchAgentDetails": { + "description": "A value indicating whether the agent details are to be fetched.", + "type": "string" + }, + "biosId": { + "description": "The BIOS Id to be used for fetching agent details.", + "type": "string" + }, + "fqdn": { + "description": "The FQDN to be used for fetching agent details.", + "type": "string" + }, + "discoveryType": { + "description": "The type of the discovered machine to be used for fetching agent details.", + "type": "string" + }, + "osType": { + "description": "The OS type to be used for fetching agent details.", + "type": "string" + } + } + }, + "FabricReplicationGroupTaskDetails": { + "description": "This class represents the fabric replication group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobTaskDetails" + } + ], + "properties": { + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + } + }, + "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + }, + "FabricSpecificCreateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificCreationInput": { + "description": "Fabric provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificDetails": { + "description": "Fabric specific details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificUpdateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FailoverJobDetails": { + "description": "This class represents the details for a failover job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } + } + }, + "x-ms-discriminator-value": "FailoverJobDetails" + }, + "FailoverProcessServerRequest": { + "description": "Request to failover a process server.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FailoverProcessServerRequestProperties", + "description": "The properties of the PS Failover request." + } + } + }, + "FailoverProcessServerRequestProperties": { + "description": "The properties of the Failover Process Server request.", + "type": "object", + "properties": { + "containerName": { + "description": "The container identifier.", + "type": "string" + }, + "sourceProcessServerId": { + "description": "The source process server.", + "type": "string" + }, + "targetProcessServerId": { + "description": "The new process server.", + "type": "string" + }, + "vmsToMigrate": { + "description": "The VMS to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "updateType": { + "description": "A value for failover type. It can be systemlevel/serverlevel.", + "type": "string" + } + } + }, + "FailoverReplicationProtectedItemDetails": { + "description": "Failover details for a replication protected item.", + "type": "object", + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name.", + "type": "string" + }, + "testVmName": { + "description": "The test Vm name.", + "type": "string" + }, + "testVmFriendlyName": { + "description": "The test Vm friendly name.", + "type": "string" + }, + "networkConnectionStatus": { + "description": "The network connection status.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The network friendly name.", + "type": "string" + }, + "subnet": { + "description": "The network subnet.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" + } + } + }, + "GroupTaskDetails": { + "description": "This class represents the group task details when parent child relationship exists in the drill down.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The type of task details.", + "type": "string" + }, + "childTasks": { + "description": "The child tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } + } + }, + "discriminator": "instanceType" + }, + "HealthError": { + "description": "Health Error.", + "type": "object", + "properties": { + "innerHealthErrors": { + "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerHealthError" + } + }, + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC).", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + }, + "errorId": { + "description": "The health error unique id.", + "type": "string" + }, + "customerResolvability": { + "description": "Value indicating whether the health error is customer resolvable.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCustomerResolvability", + "modelAsString": true + } + } + } + }, + "HealthErrorSummary": { + "description": "class to define the summary of the health error details.", + "type": "object", + "properties": { + "summaryCode": { + "description": "The code of the health error.", + "type": "string" + }, + "category": { + "description": "The category of the health error.", + "enum": [ + "None", + "Replication", + "TestFailover", + "Configuration", + "FabricInfrastructure", + "VersionExpiry", + "AgentAutoUpdateInfra", + "AgentAutoUpdateArtifactDeleted", + "AgentAutoUpdateRunAsAccount", + "AgentAutoUpdateRunAsAccountExpiry", + "AgentAutoUpdateRunAsAccountExpired" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCategory", + "modelAsString": true + } + }, + "severity": { + "description": "Severity of error.", + "enum": [ + "NONE", + "Warning", + "Error", + "Info" + ], + "type": "string", + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "summaryMessage": { + "description": "The summary message of the health error.", + "type": "string" + }, + "affectedResourceType": { + "description": "The type of affected ARM resource.", + "type": "string" + }, + "affectedResourceSubtype": { + "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", + "type": "string" + }, + "affectedResourceCorrelationIds": { + "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HyperVHostDetails": { + "description": "Hyper-V host details.", + "type": "object", + "properties": { + "id": { + "description": "The Hyper-V host Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Hyper-V host name.", + "type": "string", + "readOnly": true + }, + "marsAgentVersion": { + "description": "The Mars agent version.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVReplica2012EventDetails": { + "description": "Model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplica2012R2EventDetails": { + "description": "Model class for event details of a HyperVReplica blue E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaAzureApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "The primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary kek certificate pfx.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureDiskInputDetails": { + "description": "Disk input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The DiskId.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The LogStorageAccountId.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + } + } + }, + "HyperVReplicaAzureEnableProtectionInput": { + "description": "HyperVReplicaAzure specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host VM Id.", + "type": "string" + }, + "vmName": { + "description": "The VM Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with VM.", + "type": "string" + }, + "vhdId": { + "description": "The OS disk VHD id associated with VM.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "The storage account Id.", + "type": "string" + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure VM Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The list of VHD Ids of disks to be protected.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id for resource manager deployment.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" + }, + "useManagedDisksForReplication": { + "description": "A value indicating whether managed disks should be used during replication.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "disksToIncludeForManagedDisks": { + "description": "The disks to include list for managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails" + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureEventDetails": { + "description": "Model class for event details of a HyperVReplica E2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureFailbackProviderInput": { + "description": "HyperVReplicaAzureFailback specific planned failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "dataSyncOption": { + "description": "Data sync option.", + "type": "string" + }, + "recoveryVmCreationOption": { + "description": "ALR options to create alternate recovery.", + "type": "string" + }, + "providerIdForAlternateRecovery": { + "description": "Provider Id for alternate location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "HyperVReplicaAzureManagedDiskDetails": { + "description": "Hyper-V Managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "seedManagedDiskId": { + "description": "Seed managed disk Id.", + "type": "string" + }, + "replicaDiskType": { + "description": "The replica disk type.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string" + } + } + }, + "HyperVReplicaAzurePlannedFailoverProviderInput": { + "description": "HyperVReplicaAzure specific planned failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyDetails": { + "description": "Hyper-V Replica Azure specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryDurationInHours": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "encryption": { + "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", + "type": "string" + }, + "activeStorageAccountId": { + "description": "The active storage account Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyInput": { + "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryDuration": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "storageAccounts": { + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReplicationDetails": { + "description": "Hyper V Replica Azure provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "azureVmDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVmName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "Last RPO value.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "encryption": { + "description": "The encryption info.", + "type": "string" + }, + "oSDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The operating system info." + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "type": "string" + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVReplicaAzureManagedDiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" + }, + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vHDId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureTestFailoverInput": { + "description": "HvrA provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUnplannedFailoverInput": { + "description": "HvrA provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { + "description": "HyperV replica Azure input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "diskIdToDiskEncryptionMap": { + "description": "The dictionary of disk resource Id to disk encryption set ARM Id.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDiskInput" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaBaseEventDetails": { + "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + }, + "HyperVReplicaBasePolicyDetails": { + "description": "Base class for HyperVReplica policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" + }, + "HyperVReplicaBaseReplicationDetails": { + "description": "Hyper V replica provider specific settings base class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + }, + "HyperVReplicaBluePolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBluePolicyInput": { + "description": "HyperV Replica Blue policy input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBlueReplicationDetails": { + "description": "HyperV replica 2012 R2 (Blue) replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaPolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaPolicyInput": { + "description": "Hyper-V Replica specific policy Input.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", + "type": "string" + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaReplicationDetails": { + "description": "HyperV replica 2012 replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVSiteDetails": { + "description": "HyperVSite fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "hyperVHosts": { + "description": "The list of Hyper-V hosts associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVHostDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVSite" + }, + "HyperVVirtualMachineDetails": { + "description": "Single Host fabric provider specific VM settings.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "sourceItemId": { + "description": "The source id of the object.", + "type": "string" + }, + "generation": { + "description": "The id of the object in fabric.", + "type": "string" + }, + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hyperVHostId": { + "description": "The Id of the hyper-v host in fabric.", + "type": "string" + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "HyperVVirtualMachine" + }, + "IdentityProviderDetails": { + "description": "Identity provider details.", + "type": "object", + "properties": { + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", + "type": "string" + } + } + }, + "IdentityProviderInput": { + "description": "Identity provider input.", + "required": [ + "tenantId", + "applicationId", + "objectId", + "audience", + "aadAuthority" + ], + "type": "object", + "properties": { + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", + "type": "string" + } + } + }, + "InconsistentVmDetails": { + "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", + "type": "object", + "properties": { + "vmName": { + "description": "The Vm name.", + "type": "string" + }, + "cloudName": { + "description": "The Cloud name.", + "type": "string" + }, + "details": { + "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", + "type": "array", + "items": { + "type": "string" + } + }, + "errorIds": { + "description": "The list of error ids.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InitialReplicationDetails": { + "description": "Initial replication details.", + "type": "object", + "properties": { + "initialReplicationType": { + "description": "Initial replication type.", + "type": "string" + }, + "initialReplicationProgressPercentage": { + "description": "The initial replication progress percentage.", + "type": "string" + } + } + }, + "InlineWorkflowTaskDetails": { + "description": "This class represents the inline workflow task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "workflowIds": { + "description": "The list of child workflow ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + }, + "InMageAgentDetails": { + "description": "The details of the InMage agent.", + "type": "object", + "properties": { + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentUpdateStatus": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + } + } + }, + "InMageAzureV2ApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2DiskInputDetails": { + "description": "Disk input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The DiskId.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The LogStorageAccountId.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + } + } + }, + "InMageAzureV2EnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi VM group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2DiskInputDetails" + } + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure VM Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id for resource manager deployment.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2EventDetails": { + "description": "Model class for event details of a VMwareAzureV2 event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "eventType": { + "description": "InMage Event type. Takes one of the values of InMageDataContract.InMageMonitoringEventType.", + "type": "string" + }, + "category": { + "description": "InMage Event Category.", + "type": "string" + }, + "component": { + "description": "InMage Event Component.", + "type": "string" + }, + "correctiveAction": { + "description": "Corrective Action string for the event.", + "type": "string" + }, + "details": { + "description": "InMage Event Details.", + "type": "string" + }, + "summary": { + "description": "InMage Event Summary.", + "type": "string" + }, + "siteName": { + "description": "VMware Site name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ManagedDiskDetails": { + "description": "InMageAzureV2 Managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "seedManagedDiskId": { + "description": "Seed managed disk Id.", + "type": "string" + }, + "replicaDiskType": { + "description": "The replica disk type.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + }, + "targetDiskName": { + "description": "The target disk name.", + "type": "string" + } + } + }, + "InMageAzureV2PolicyDetails": { + "description": "InMage Azure v2 specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + }, + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2PolicyInput": { + "description": "VMWare Azure specific policy Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ProtectedDiskDetails": { + "description": "InMageAzureV2 protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The disk file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMegaBytes": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMegaBytes": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMegaBytes": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes.", + "type": "integer" + }, + "resyncTotalTransferredBytes": { + "format": "int64", + "description": "The resync total transferred bytes.", + "type": "integer" + }, + "resyncLast15MinutesTransferredBytes": { + "format": "int64", + "description": "The resync last 15 minutes transferred bytes.", + "type": "integer" + }, + "resyncLastDataTransferTimeUTC": { + "format": "date-time", + "description": "The last data transfer time in UTC.", + "type": "string" + }, + "resyncStartTime": { + "format": "date-time", + "description": "The resync start time.", + "type": "string" + }, + "progressHealth": { + "description": "The Progress Health.", + "type": "string" + }, + "progressStatus": { + "description": "The Progress Status.", + "type": "string" + }, + "secondsToTakeSwitchProvider": { + "format": "int64", + "description": "The seconds to take for switch provider.", + "type": "integer" + } + } + }, + "InMageAzureV2RecoveryPointDetails": { + "description": "InMage Azure V2 provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReplicationDetails": { + "description": "InMageAzureV2 provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isAgentUpdateRequired": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "isRebootAfterUpdateRequired": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "processServerName": { + "description": "The process server name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi vm sync is enabled or disabled.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string" + }, + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + }, + "osDiskId": { + "description": "The id of the disk containing the OS.", + "type": "string" + }, + "azureVMDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVMName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedTfoAzureNetworkId": { + "description": "The test failover virtual network.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetVmId": { + "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "type": "string" + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", + "type": "string" + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails" + } + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type of this protected item.", + "type": "string" + }, + "azureVmGeneration": { + "description": "The target generation for this protected item.", + "type": "string" + }, + "isAdditionalStatsAvailable": { + "description": "A value indicating whether additional IR stats are available or not.", + "type": "boolean" + }, + "totalDataTransferred": { + "format": "int64", + "description": "The total transferred data in bytes.", + "type": "integer" + }, + "totalProgressHealth": { + "description": "The progress health.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "switchProviderBlockingErrorDetails": { + "description": "The switch provider blocking error information.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2SwitchProviderBlockingErrorDetails" + } + }, + "switchProviderDetails": { + "$ref": "#/definitions/InMageAzureV2SwitchProviderDetails", + "description": "The switch provider blocking error information." + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2SwitchProviderBlockingErrorDetails": { + "description": "InMageAzureV2 switch provider blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "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 + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageAzureV2SwitchProviderDetails": { + "description": "InMageAzureV2 switch provider details.", + "type": "object", + "properties": { + "targetVaultId": { + "description": "The target vault Id.", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "The target resource Id.", + "type": "string", + "readOnly": true + }, + "targetFabricId": { + "description": "The target fabric Id.", + "type": "string", + "readOnly": true + }, + "targetApplianceId": { + "description": "The target appliance Id.", + "type": "string", + "readOnly": true + } + } + }, + "InMageAzureV2SwitchProviderProviderInput": { + "description": "Provider specific input for InMageAzureV2 switch provider.", + "required": [ + "targetVaultID", + "targetFabricID", + "targetApplianceID" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SwitchProviderProviderSpecificInput" + } + ], + "properties": { + "targetVaultID": { + "description": "The target vault Id.", + "type": "string" + }, + "targetFabricID": { + "description": "The target fabric Id.", + "type": "string" + }, + "targetApplianceID": { + "description": "The target appliance Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2TestFailoverInput": { + "description": "InMageAzureV2 provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UnplannedFailoverInput": { + "description": "InMageAzureV2 provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDiskInput" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageBasePolicyDetails": { + "description": "Base class for the policies of providers using InMage replication.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageBasePolicyDetails" + }, + "InMageDisableProtectionProviderSpecificInput": { + "description": "InMage disable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + } + ], + "properties": { + "replicaVmDeletionStatus": { + "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageDiskDetails": { + "description": "VMware/Physical specific Disk Details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskSizeInMB": { + "description": "The disk size in MB.", + "type": "string" + }, + "diskType": { + "description": "Whether disk is system disk or data disk.", + "type": "string" + }, + "diskConfiguration": { + "description": "Whether disk is dynamic disk or basic disk.", + "type": "string" + }, + "volumeList": { + "description": "Volumes of the disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskVolumeDetails" + } + } + } + }, + "InMageDiskExclusionInput": { + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "volumeOptions": { + "description": "The volume label based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + "diskSignatureOptions": { + "description": "The guest disk signature based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + } + } + }, + "InMageDiskSignatureExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "diskSignature": { + "description": "The guest signature of disk to be excluded from replication.", + "type": "string" + } + } + }, + "InMageEnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "multiVmGroupId", + "multiVmGroupName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "vmFriendlyName": { + "description": "The VM Name.", + "type": "string" + }, + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi VM group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageFabricSwitchProviderBlockingErrorDetails": { + "description": "InMageFabric switch provider blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "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 + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMagePolicyDetails": { + "description": "InMage specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMagePolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageProtectedDiskDetails": { + "description": "InMage protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMB": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMB": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMB": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes.", + "type": "integer" + }, + "resyncTotalTransferredBytes": { + "format": "int64", + "description": "The resync total transferred bytes.", + "type": "integer" + }, + "resyncLast15MinutesTransferredBytes": { + "format": "int64", + "description": "The resync last 15 minutes transferred bytes.", + "type": "integer" + }, + "resyncLastDataTransferTimeUTC": { + "format": "date-time", + "description": "The last data transfer time in UTC.", + "type": "string" + }, + "resyncStartTime": { + "format": "date-time", + "description": "The resync start time.", + "type": "string" + }, + "progressHealth": { + "description": "The Progress Health.", + "type": "string" + }, + "progressStatus": { + "description": "The Progress Status.", + "type": "string" + } + } + }, + "InMageRcmAgentUpgradeBlockingErrorDetails": { + "description": "InMageRcm source agent upgrade blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "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 + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmApplianceDetails": { + "description": "InMageRcm appliance details.", + "type": "object", + "properties": { + "id": { + "description": "The appliance Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The appliance name.", + "type": "string", + "readOnly": true + }, + "fabricArmId": { + "description": "The fabric ARM Id.", + "type": "string", + "readOnly": true + }, + "processServer": { + "$ref": "#/definitions/ProcessServerDetails", + "description": "The process server.", + "readOnly": true + }, + "rcmProxy": { + "$ref": "#/definitions/RcmProxyDetails", + "description": "The of RCM proxy.", + "readOnly": true + }, + "pushInstaller": { + "$ref": "#/definitions/PushInstallerDetails", + "description": "The push installer.", + "readOnly": true + }, + "replicationAgent": { + "$ref": "#/definitions/ReplicationAgentDetails", + "description": "The replication agent.", + "readOnly": true + }, + "reprotectAgent": { + "$ref": "#/definitions/ReprotectAgentDetails", + "description": "The reprotect agent.", + "readOnly": true + }, + "marsAgent": { + "$ref": "#/definitions/MarsAgentDetails", + "description": "The Mars agent.", + "readOnly": true + }, + "dra": { + "$ref": "#/definitions/DraDetails", + "description": "The DRA.", + "readOnly": true + }, + "switchProviderBlockingErrorDetails": { + "description": "The switch provider blocking error information.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmFabricSwitchProviderBlockingErrorDetails" + }, + "readOnly": true + } + } + }, + "InMageRcmApplianceSpecificDetails": { + "description": "InMageRcm appliance specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplianceSpecificDetails" + } + ], + "properties": { + "appliances": { + "description": "The list of appliances.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmApplianceDetails" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageRcm provider.", + "required": [ + "recoveryPointId", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmDiscoveredProtectedVmDetails": { + "description": "InMageRcm discovered protected VM details.", + "type": "object", + "properties": { + "vCenterId": { + "description": "The VCenter Id.", + "type": "string", + "readOnly": true + }, + "vCenterFqdn": { + "description": "The VCenter fqdn.", + "type": "string", + "readOnly": true + }, + "datastores": { + "description": "The list of datastores.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "ipAddresses": { + "description": "The list of IP addresses.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vmwareToolsStatus": { + "description": "The VMware tools status.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "The VM power status.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "The VM fqdn.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "The VM's OS name.", + "type": "string", + "readOnly": true + }, + "createdTimestamp": { + "format": "date-time", + "description": "The SDS created timestamp.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "format": "date-time", + "description": "The SDS updated timestamp.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "A value indicating whether the VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "lastDiscoveryTimeInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmDiskInput": { + "description": "InMageRcm disk input.", + "required": [ + "diskId", + "logStorageAccountId", + "diskType" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + } + } + }, + "InMageRcmDisksDefaultInput": { + "description": "InMageRcm disk input.", + "required": [ + "logStorageAccountId", + "diskType" + ], + "type": "object", + "properties": { + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + } + } + }, + "InMageRcmEnableProtectionInput": { + "description": "InMageRcm specific enable protection input.", + "required": [ + "fabricDiscoveryMachineId", + "targetResourceGroupId", + "processServerId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricDiscoveryMachineId": { + "description": "The ARM Id of discovered machine.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmDiskInput" + } + }, + "disksDefault": { + "$ref": "#/definitions/InMageRcmDisksDefaultInput", + "description": "The default disk input." + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The selected target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The selected test network ARM Id.", + "type": "string" + }, + "targetSubnetName": { + "description": "The selected target subnet name.", + "type": "string" + }, + "testSubnetName": { + "description": "The selected test subnet name.", + "type": "string" + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmEventDetails": { + "description": "Event details for InMageRcm provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "vmName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "latestAgentVersion": { + "description": "The latest agent version.", + "type": "string", + "readOnly": true + }, + "jobId": { + "description": "The job Id.", + "type": "string", + "readOnly": true + }, + "fabricName": { + "description": "The fabric name.", + "type": "string", + "readOnly": true + }, + "applianceName": { + "description": "The appliance name.", + "type": "string", + "readOnly": true + }, + "serverType": { + "description": "The server type.", + "type": "string", + "readOnly": true + }, + "componentDisplayName": { + "description": "The component display name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricCreationInput": { + "description": "InMageRcm fabric provider specific settings.", + "required": [ + "vmwareSiteId", + "physicalSiteId", + "sourceAgentIdentity" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string" + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string" + }, + "sourceAgentIdentity": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for source agent authentication." + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricSpecificDetails": { + "description": "InMageRcm fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string", + "readOnly": true + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string", + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", + "type": "string", + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", + "type": "string", + "readOnly": true + }, + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "dataPlaneUri": { + "description": "The data plane Uri.", + "type": "string", + "readOnly": true + }, + "controlPlaneUri": { + "description": "The control plane Uri.", + "type": "string", + "readOnly": true + }, + "sourceAgentIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The source agent identity details." + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true + }, + "rcmProxies": { + "description": "The list of RCM proxies.", + "type": "array", + "items": { + "$ref": "#/definitions/RcmProxyDetails" + }, + "readOnly": true + }, + "pushInstallers": { + "description": "The list of push installers.", + "type": "array", + "items": { + "$ref": "#/definitions/PushInstallerDetails" + }, + "readOnly": true + }, + "replicationAgents": { + "description": "The list of replication agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationAgentDetails" + }, + "readOnly": true + }, + "reprotectAgents": { + "description": "The list of reprotect agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReprotectAgentDetails" + }, + "readOnly": true + }, + "marsAgents": { + "description": "The list of Mars agents.", + "type": "array", + "items": { + "$ref": "#/definitions/MarsAgentDetails" + }, + "readOnly": true + }, + "dras": { + "description": "The list of DRAs.", + "type": "array", + "items": { + "$ref": "#/definitions/DraDetails" + }, + "readOnly": true + }, + "agentDetails": { + "description": "The list of agent details.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDetails" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricSwitchProviderBlockingErrorDetails": { + "description": "InMageRcmFabric switch provider blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "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 + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmFailbackDiscoveredProtectedVmDetails": { + "description": "InMageRcmFailback discovered VM details.", + "type": "object", + "properties": { + "vCenterId": { + "description": "The VCenter Id.", + "type": "string", + "readOnly": true + }, + "vCenterFqdn": { + "description": "The VCenter fqdn.", + "type": "string", + "readOnly": true + }, + "datastores": { + "description": "The list of datastores.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "ipAddresses": { + "description": "The list of IP addresses.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vmwareToolsStatus": { + "description": "The VMware tools status.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "The VM power status.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "The VM fqdn.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "The VM's OS name.", + "type": "string", + "readOnly": true + }, + "createdTimestamp": { + "format": "date-time", + "description": "The SDS created timestamp.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "format": "date-time", + "description": "The SDS updated timestamp.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "A value indicating whether the VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "lastDiscoveryTimeInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackEventDetails": { + "description": "Event details for InMageRcmFailback provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "vmName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "applianceName": { + "description": "The appliance name.", + "type": "string", + "readOnly": true + }, + "serverType": { + "description": "The server type.", + "type": "string", + "readOnly": true + }, + "componentDisplayName": { + "description": "The component display name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackMobilityAgentDetails": { + "description": "InMageRcmFailback mobility agent details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true + }, + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true + }, + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true + }, + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true + }, + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat received from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", + "type": "array", + "items": { + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "NotProtected", + "UnsupportedProtectionScenario", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackNicDetails": { + "description": "InMageRcmFailback NIC details.", + "type": "object", + "properties": { + "macAddress": { + "description": "The mac address.", + "type": "string", + "readOnly": true + }, + "networkName": { + "description": "The network name.", + "type": "string", + "readOnly": true + }, + "adapterType": { + "description": "The adapter type.", + "type": "string", + "readOnly": true + }, + "sourceIpAddress": { + "description": "The IP address.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackPlannedFailoverProviderInput": { + "description": "Provider specific input for InMageRcmFailback failover.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "ApplicationConsistent", + "CrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageRcmFailbackRecoveryPointType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackPolicyCreationInput": { + "description": "InMageRcmFailback policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackPolicyDetails": { + "description": "InMageRcm failback specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackProtectedDiskDetails": { + "description": "InMageRcmFailback protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id (reported by source agent).", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "diskUuid": { + "description": "The disk Uuid (reported by vCenter).", + "type": "string", + "readOnly": true + }, + "dataPendingInLogDataStoreInMB": { + "format": "double", + "description": "The data pending in log data store in MB.", + "type": "number", + "readOnly": true + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source agent in MB.", + "type": "number", + "readOnly": true + }, + "isInitialReplicationComplete": { + "description": "A value indicating whether initial replication is complete or not.", + "type": "string", + "readOnly": true + }, + "irDetails": { + "$ref": "#/definitions/InMageRcmFailbackSyncDetails", + "description": "The initial replication details." + }, + "resyncDetails": { + "$ref": "#/definitions/InMageRcmFailbackSyncDetails", + "description": "The resync details." + }, + "lastSyncTime": { + "format": "date-time", + "description": "The last sync time.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackReplicationDetails": { + "description": "InMageRcmFailback provider specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true + }, + "azureVirtualMachineId": { + "description": "The ARM Id of the azure VM.", + "type": "string", + "readOnly": true + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true + }, + "reprotectAgentId": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true + }, + "reprotectAgentName": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "targetvCenterId": { + "description": "The target vCenter Id.", + "type": "string", + "readOnly": true + }, + "targetDataStoreName": { + "description": "The target datastore name.", + "type": "string", + "readOnly": true + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string", + "readOnly": true + }, + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProcessedBytes": { + "format": "int64", + "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationTransferredBytes": { + "format": "int64", + "description": "The initial replication transferred bytes from source VM to target for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProgressHealth": { + "description": "The initial replication progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer", + "readOnly": true + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "resyncTransferredBytes": { + "format": "int64", + "description": "The resync transferred bytes from source VM to target for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProgressHealth": { + "description": "The resync progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmFailbackProtectedDiskDetails" + } + }, + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmFailbackMobilityAgentDetails", + "description": "The mobility agent information." + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmFailbackNicDetails" + } + }, + "lastPlannedFailoverStartTime": { + "format": "date-time", + "description": "The last planned failover start time.", + "type": "string", + "readOnly": true + }, + "lastPlannedFailoverStatus": { + "description": "The last planned failover status.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlannedFailoverStatus", + "modelAsString": true + } + }, + "discoveredVmDetails": { + "$ref": "#/definitions/InMageRcmFailbackDiscoveredProtectedVmDetails", + "description": "The discovered VM information." + }, + "lastUsedPolicyId": { + "description": "The policy Id used by the forward replication.", + "type": "string", + "readOnly": true + }, + "lastUsedPolicyFriendlyName": { + "description": "The policy friendly name used by the forward replication.", + "type": "string", + "readOnly": true + }, + "isAgentRegistrationSuccessfulAfterFailover": { + "description": "A value indicating whether agent registration was successful after failover.", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackReprotectInput": { + "description": "InMageRcmFailback specific provider input.", + "required": [ + "processServerId", + "policyId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The run as account Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackSyncDetails": { + "description": "InMageRcmFailback disk level sync details.", + "type": "object", + "properties": { + "progressHealth": { + "description": "The progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress", + "Queued" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskReplicationProgressHealth", + "modelAsString": true + } + }, + "transferredBytes": { + "format": "int64", + "description": "The transferred bytes from source VM to azure for the disk.", + "type": "integer", + "readOnly": true + }, + "last15MinutesTransferredBytes": { + "format": "int64", + "description": "The bytes transferred in last 15 minutes from source VM to target.", + "type": "integer", + "readOnly": true + }, + "lastDataTransferTimeUtc": { + "description": "The time of the last data transfer from source VM to target.", + "type": "string", + "readOnly": true + }, + "processedBytes": { + "format": "int64", + "description": "The total processed bytes. This includes bytes that are transferred from source VM to target and matched bytes.", + "type": "integer", + "readOnly": true + }, + "startTime": { + "description": "The start time.", + "type": "string", + "readOnly": true + }, + "lastRefreshTime": { + "description": "The last refresh time.", + "type": "string", + "readOnly": true + }, + "progressPercentage": { + "format": "int32", + "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.", + "type": "integer", + "readOnly": true + } + } + }, + "InMageRcmLastAgentUpgradeErrorDetails": { + "description": "InMageRcm last source agent upgrade error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "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 + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmMobilityAgentDetails": { + "description": "InMageRcm mobility agent details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true + }, + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true + }, + "latestAgentReleaseDate": { + "description": "The latest agent version release date.", + "type": "string", + "readOnly": true + }, + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true + }, + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true + }, + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat received from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", + "type": "array", + "items": { + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "NotProtected", + "UnsupportedProtectionScenario", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmNicDetails": { + "description": "InMageRcm NIC details.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string" + }, + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true + }, + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true + }, + "sourceSubnetName": { + "description": "Source subnet name.", + "type": "string", + "readOnly": true + }, + "targetIPAddress": { + "description": "The target IP address.", + "type": "string" + }, + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "testSubnetName": { + "description": "Test subnet name.", + "type": "string" + }, + "testIPAddress": { + "description": "The test IP address.", + "type": "string" + }, + "testIPAddressType": { + "description": "The test IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + } + } + }, + "InMageRcmNicInput": { + "description": "InMageRcm NIC input.", + "required": [ + "nicId", + "isPrimaryNic" + ], + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string" + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", + "type": "string" + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetStaticIPAddress": { + "description": "The target static IP address.", + "type": "string" + }, + "testSubnetName": { + "description": "The test subnet name.", + "type": "string" + }, + "testStaticIPAddress": { + "description": "The test static IP address.", + "type": "string" + } + } + }, + "InMageRcmPolicyCreationInput": { + "description": "InMageRcm policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmPolicyDetails": { + "description": "InMageRcm specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + }, + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmProtectedDiskDetails": { + "description": "InMageRcm protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string", + "readOnly": true + }, + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true + }, + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "dataPendingInLogDataStoreInMB": { + "format": "double", + "description": "The data pending in log data store in MB.", + "type": "number", + "readOnly": true + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source agent in MB.", + "type": "number", + "readOnly": true + }, + "isInitialReplicationComplete": { + "description": "A value indicating whether initial replication is complete or not.", + "type": "string", + "readOnly": true + }, + "irDetails": { + "$ref": "#/definitions/InMageRcmSyncDetails", + "description": "The initial replication details." + }, + "resyncDetails": { + "$ref": "#/definitions/InMageRcmSyncDetails", + "description": "The resync details." + } + } + }, + "InMageRcmProtectionContainerMappingDetails": { + "description": "InMageRcm provider specific container mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" + } + ], + "properties": { + "enableAgentAutoUpgrade": { + "description": "A value indicating whether the flag for enable agent auto upgrade.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmRecoveryPointDetails": { + "description": "InMageRcm provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmReplicationDetails": { + "description": "InMageRcm provider specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true + }, + "fabricDiscoveryMachineId": { + "description": "The ARM Id of the discovered VM.", + "type": "string", + "readOnly": true + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true + }, + "discoveryType": { + "description": "The type of the discovered VM.", + "type": "string", + "readOnly": true + }, + "processServerId": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "processorCoreCount": { + "format": "int32", + "description": "The processor core count.", + "type": "integer", + "readOnly": true + }, + "allocatedMemoryInMB": { + "format": "double", + "description": "The allocated memory in MB.", + "type": "number", + "readOnly": true + }, + "processServerName": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "primaryNicIpAddress": { + "description": "The IP address of the primary network interface.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "targetVmName": { + "description": "Target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "targetLocation": { + "description": "The target location.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The test network Id.", + "type": "string" + }, + "failoverRecoveryPointId": { + "description": "The recovery point Id to which the VM was failed over.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "lastRpoInSeconds": { + "format": "int64", + "description": "The last recovery point objective value.", + "type": "integer", + "readOnly": true + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last recovery point objective calculated time.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true + }, + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProcessedBytes": { + "format": "int64", + "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationTransferredBytes": { + "format": "int64", + "description": "The initial replication transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProgressHealth": { + "description": "The initial replication progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "resyncTransferredBytes": { + "format": "int64", + "description": "The resync transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProgressHealth": { + "description": "The resync progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "agentUpgradeState": { + "description": "The agent auto upgrade state.", + "enum": [ + "None", + "Started", + "Completed", + "Commit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MobilityAgentUpgradeState", + "modelAsString": true + } + }, + "lastAgentUpgradeType": { + "description": "The last agent upgrade type.", + "type": "string", + "readOnly": true + }, + "agentUpgradeJobId": { + "description": "The agent upgrade job Id.", + "type": "string", + "readOnly": true + }, + "agentUpgradeAttemptToVersion": { + "description": "The agent version to which last agent upgrade was attempted.", + "type": "string", + "readOnly": true + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmProtectedDiskDetails" + } + }, + "isLastUpgradeSuccessful": { + "description": "A value indicating whether last agent upgrade was successful or not.", + "type": "string", + "readOnly": true + }, + "isAgentRegistrationSuccessfulAfterFailover": { + "description": "A value indicating whether agent registration was successful after failover.", + "type": "boolean", + "readOnly": true + }, + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmMobilityAgentDetails", + "description": "The mobility agent information." + }, + "lastAgentUpgradeErrorDetails": { + "description": "The last agent upgrade error information.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails" + } + }, + "agentUpgradeBlockingErrorDetails": { + "description": "The agent upgrade blocking error information.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails" + } + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicDetails" + } + }, + "discoveredVmDetails": { + "$ref": "#/definitions/InMageRcmDiscoveredProtectedVmDetails", + "description": "The discovered VM details." + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmReprotectInput": { + "description": "InMageRcm specific provider input.", + "required": [ + "reprotectAgentId", + "datastoreName", + "logStorageAccountId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "reprotectAgentId": { + "description": "The reprotect agent Id.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmSyncDetails": { + "description": "InMageRcm disk level sync details.", + "type": "object", + "properties": { + "progressHealth": { + "description": "The progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress", + "Queued" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskReplicationProgressHealth", + "modelAsString": true + } + }, + "transferredBytes": { + "format": "int64", + "description": "The transferred bytes from source VM to azure for the disk.", + "type": "integer", + "readOnly": true + }, + "last15MinutesTransferredBytes": { + "format": "int64", + "description": "The bytes transferred in last 15 minutes from source VM to azure.", + "type": "integer", + "readOnly": true + }, + "lastDataTransferTimeUtc": { + "description": "The time of the last data transfer from source VM to azure.", + "type": "string", + "readOnly": true + }, + "processedBytes": { + "format": "int64", + "description": "The total processed bytes. This includes bytes that are transferred from source VM to azure and matched bytes.", + "type": "integer", + "readOnly": true + }, + "startTime": { + "description": "The start time.", + "type": "string", + "readOnly": true + }, + "lastRefreshTime": { + "description": "The last refresh time.", + "type": "string", + "readOnly": true + }, + "progressPercentage": { + "format": "int32", + "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.", + "type": "integer", + "readOnly": true + } + } + }, + "InMageRcmTestFailoverInput": { + "description": "InMageRcm provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "networkId": { + "description": "The test network Id.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUnplannedFailoverInput": { + "description": "InMageRcm provider specific input for unplanned failover.", + "required": [ + "performShutdown" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUpdateApplianceForReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update appliance for replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput" + } + ], + "properties": { + "runAsAccountId": { + "description": "The run as account Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUpdateContainerMappingInput": { + "description": "InMageRcm update protection container mapping.", + "required": [ + "enableAgentAutoUpgrade" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput" + } + ], + "properties": { + "enableAgentAutoUpgrade": { + "description": "A value indicating whether agent auto upgrade has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmUpdateReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The test network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicInput" + } + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageReplicationDetails": { + "description": "InMage provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "The resync details of the machine." + }, + "retentionWindowStart": { + "format": "date-time", + "description": "The retention window start time.", + "type": "string" + }, + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", + "type": "string" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageProtectedDiskDetails" + } + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name, if any.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "type": "string" + }, + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine.", + "type": "string" + }, + "azureStorageAccountId": { + "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names.", + "type": "array", + "items": { + "type": "string" + } + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", + "type": "string" + }, + "isAdditionalStatsAvailable": { + "description": "A value indicating whether additional IR stats are available or not.", + "type": "boolean" + }, + "totalDataTransferred": { + "format": "int64", + "description": "The total transferred data in bytes.", + "type": "integer" + }, + "totalProgressHealth": { + "description": "The progress health.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "profileId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "profileId": { + "description": "The Policy Id.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageTestFailoverInput": { + "description": "Provider specific input for InMage test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageUnplannedFailoverInput": { + "description": "Provider specific input for InMage unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageVolumeExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "volumeLabel": { + "description": "The volume label. The disk having any volume with this label will be excluded from replication.", + "type": "string" + }, + "onlyExcludeIfSingleVolume": { + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", + "type": "string" + } + } + }, + "InnerHealthError": { + "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "object", + "properties": { + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC).", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + }, + "errorId": { + "description": "The health error unique id.", + "type": "string" + }, + "customerResolvability": { + "description": "Value indicating whether the health error is customer resolvable.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCustomerResolvability", + "modelAsString": true + } + } + } + }, + "InputEndpoint": { + "type": "object", + "properties": { + "endpointName": { + "type": "string" + }, + "privatePort": { + "format": "int32", + "type": "integer" + }, + "publicPort": { + "format": "int32", + "type": "integer" + }, + "protocol": { + "type": "string" + } + } + }, + "Job": { + "description": "Job details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "description": "The custom data." + } + } + }, + "JobCollection": { + "description": "Collection of jobs.", + "type": "object", + "properties": { + "value": { + "description": "The list of jobs.", + "type": "array", + "items": { + "$ref": "#/definitions/Job" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "JobDetails": { + "description": "Job details based on specific job type.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "type": "string" + }, + "affectedObjectDetails": { + "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "discriminator": "instanceType" + }, + "JobEntity": { + "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "type": "object", + "properties": { + "jobId": { + "description": "The job id.", + "type": "string" + }, + "jobFriendlyName": { + "description": "The job display name.", + "type": "string" + }, + "targetObjectId": { + "description": "The object id.", + "type": "string" + }, + "targetObjectName": { + "description": "The object name.", + "type": "string" + }, + "targetInstanceType": { + "description": "The workflow affected object type.", + "type": "string" + }, + "jobScenarioName": { + "description": "The job name. Enum type ScenarioName.", + "type": "string" + } + } + }, + "JobErrorDetails": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "serviceErrorDetails": { + "$ref": "#/definitions/ServiceError", + "description": "The Service error details." + }, + "providerErrorDetails": { + "$ref": "#/definitions/ProviderError", + "description": "The Provider error details." + }, + "errorLevel": { + "description": "Error level of error.", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of job error.", + "type": "string" + }, + "taskId": { + "description": "The Id of the task.", + "type": "string" + } + } + }, + "JobProperties": { + "description": "Job custom data details.", + "type": "object", + "properties": { + "activityId": { + "description": "The activity id.", + "type": "string" + }, + "scenarioName": { + "description": "The ScenarioName.", + "type": "string" + }, + "friendlyName": { + "description": "The DisplayName.", + "type": "string" + }, + "state": { + "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "type": "string" + }, + "tasks": { + "description": "The tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } + }, + "errors": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The Allowed action the job.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetObjectId": { + "description": "The affected Object Id.", + "type": "string" + }, + "targetObjectName": { + "description": "The name of the affected object.", + "type": "string" + }, + "targetInstanceType": { + "description": "The type of the affected object which is of Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType class.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/JobDetails", + "description": "The custom job details like test failover job details." + } + } + }, + "JobQueryParameter": { + "description": "Query parameter to enumerate jobs.", + "type": "object", + "properties": { + "startTime": { + "description": "Date time to get jobs from.", + "type": "string" + }, + "endTime": { + "description": "Date time to get jobs upto.", + "type": "string" + }, + "fabricId": { + "description": "The Id of the fabric to search jobs under.", + "type": "string" + }, + "affectedObjectTypes": { + "description": "The type of objects.", + "type": "string" + }, + "jobStatus": { + "description": "The states of the job to be filtered can be in.", + "type": "string" + }, + "jobOutputType": { + "description": "The output type of the jobs.", + "enum": [ + "Json", + "Xml", + "Excel" + ], + "type": "string", + "x-ms-enum": { + "name": "ExportJobOutputSerializationType", + "modelAsString": true + } + }, + "jobName": { + "description": "The job Name.", + "type": "string" + }, + "timezoneOffset": { + "format": "double", + "description": "The timezone offset for the location of the request (in minutes).", + "type": "number" + } + } + }, + "JobStatusEventDetails": { + "description": "Model class for event details of a job status event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSpecificDetails" + } + ], + "properties": { + "jobId": { + "description": "Job arm id for the event.", + "type": "string" + }, + "jobFriendlyName": { + "description": "JobName for the Event.", + "type": "string" + }, + "jobStatus": { + "description": "JobStatus for the Event.", + "type": "string" + }, + "affectedObjectType": { + "description": "AffectedObjectType for the event.", + "type": "string" + } + }, + "x-ms-discriminator-value": "JobStatus" + }, + "JobTaskDetails": { + "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "JobTaskDetails" + }, + "KeyEncryptionKeyInfo": { + "description": "Key Encryption Key (KEK) information.", + "type": "object", + "properties": { + "keyIdentifier": { + "description": "The key URL / identifier.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The KeyVault resource ARM Id for key.", + "type": "string" + } + } + }, + "LogicalNetwork": { + "description": "Logical network data model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LogicalNetworkProperties", + "description": "The Logical Network Properties." + } + } + }, + "LogicalNetworkCollection": { + "description": "List of logical networks.", + "type": "object", + "properties": { + "value": { + "description": "The Logical Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/LogicalNetwork" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "LogicalNetworkProperties": { + "description": "Logical Network Properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkVirtualizationStatus": { + "description": "A value indicating whether Network Virtualization is enabled for the logical network.", + "type": "string" + }, + "logicalNetworkUsage": { + "description": "A value indicating whether logical network is used as private test network by test failover.", + "type": "string" + }, + "logicalNetworkDefinitionsStatus": { + "description": "A value indicating whether logical network definitions are isolated.", + "type": "string" + } + } + }, + "ManualActionTaskDetails": { + "description": "This class represents the manual action task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "instructions": { + "description": "The instructions.", + "type": "string" + }, + "observation": { + "description": "The observation.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionTaskDetails" + }, + "MarsAgentDetails": { + "description": "Mars agent details.", + "type": "object", + "properties": { + "id": { + "description": "The Mars agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Mars agent name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The Mars agent Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The Mars agent Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the Mars agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the Mars agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "MasterTargetServer": { + "description": "Details of a Master Target Server.", + "type": "object", + "properties": { + "id": { + "description": "The server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the server.", + "type": "string" + }, + "name": { + "description": "The server name.", + "type": "string" + }, + "osType": { + "description": "The OS type of the server.", + "type": "string" + }, + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status.", + "type": "string" + }, + "retentionVolumes": { + "description": "The retention volumes of Master target Server.", + "type": "array", + "items": { + "$ref": "#/definitions/RetentionVolume" + } + }, + "dataStores": { + "description": "The list of data stores in the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/DataStore" + } + }, + "validationErrors": { + "description": "Validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "diskCount": { + "format": "int32", + "description": "Disk count of the master target.", + "type": "integer" + }, + "osVersion": { + "description": "OS Version of the master target.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "marsAgentVersion": { + "description": "MARS agent version.", + "type": "string" + }, + "marsAgentExpiryDate": { + "format": "date-time", + "description": "MARS agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Agent version details." + }, + "marsAgentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Mars agent version details." + } + } + }, + "MigrateInput": { + "description": "Input for migrate.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/MigrateInputProperties", + "description": "Migrate input properties." + } + } + }, + "MigrateInputProperties": { + "description": "Migrate input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/MigrateProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "MigrateProviderSpecificInput": { + "description": "Migrate provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "MigrationItem": { + "description": "Migration item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MigrationItemProperties", + "description": "The migration item properties." + } + } + }, + "MigrationItemCollection": { + "description": "Migration item collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of migration items.", + "type": "array", + "items": { + "$ref": "#/definitions/MigrationItem" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "MigrationItemProperties": { + "description": "Migration item properties.", + "type": "object", + "properties": { + "machineName": { + "description": "The on-premise virtual machine name.", + "type": "string", + "readOnly": true + }, + "policyId": { + "description": "The ARM Id of policy governing this item.", + "type": "string", + "readOnly": true + }, + "policyFriendlyName": { + "description": "The name of policy governing this item.", + "type": "string", + "readOnly": true + }, + "migrationState": { + "description": "The migration status.", + "enum": [ + "None", + "EnableMigrationInProgress", + "EnableMigrationFailed", + "DisableMigrationInProgress", + "DisableMigrationFailed", + "InitialSeedingInProgress", + "InitialSeedingFailed", + "Replicating", + "MigrationInProgress", + "MigrationSucceeded", + "MigrationFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + } + }, + "migrationStateDescription": { + "description": "The migration state description.", + "type": "string", + "readOnly": true + }, + "lastTestMigrationTime": { + "format": "date-time", + "description": "The last test migration time.", + "type": "string", + "readOnly": true + }, + "lastTestMigrationStatus": { + "description": "The status of the last test migration.", + "type": "string", + "readOnly": true + }, + "testMigrateState": { + "description": "The test migrate state.", + "enum": [ + "None", + "TestMigrationInProgress", + "TestMigrationSucceeded", + "TestMigrationFailed", + "TestMigrationCleanupInProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TestMigrationState", + "modelAsString": true + } + }, + "testMigrateStateDescription": { + "description": "The test migrate state description.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The consolidated health.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The list of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "allowedOperations": { + "description": "The allowed operations on the migration item based on the current migration state of the item.", + "type": "array", + "items": { + "enum": [ + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup", + "Migrate", + "StartResync" + ], + "type": "string", + "x-ms-enum": { + "name": "MigrationItemOperation", + "modelAsString": true + } + }, + "readOnly": true + }, + "currentJob": { + "$ref": "#/definitions/CurrentJobDetails", + "description": "The current job details.", + "readOnly": true + }, + "eventCorrelationId": { + "description": "The correlation Id for events associated with this migration item.", + "type": "string", + "readOnly": true + }, + "providerSpecificDetails": { + "$ref": "#/definitions/MigrationProviderSpecificSettings", + "description": "The migration provider custom settings." + } + } + }, + "MigrationItemsQueryParameter": { + "description": "Query parameter to enumerate migration items.", + "type": "object", + "properties": { + "sourceFabricName": { + "description": "The source fabric name filter.", + "type": "string" + }, + "sourceContainerName": { + "description": "The source container name filter.", + "type": "string" + }, + "instanceType": { + "description": "The replication provider type.", + "type": "string" + } + } + }, + "MigrationProviderSpecificSettings": { + "description": "Migration provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "MigrationRecoveryPoint": { + "description": "Recovery point for a migration item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/MigrationRecoveryPointProperties", + "description": "Recovery point properties." + } + } + }, + "MigrationRecoveryPointCollection": { + "description": "Collection of migration recovery points.", + "type": "object", + "properties": { + "value": { + "description": "The migration recovery point details.", + "type": "array", + "items": { + "$ref": "#/definitions/MigrationRecoveryPoint" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "MigrationRecoveryPointProperties": { + "description": "Migration item recovery point properties.", + "type": "object", + "properties": { + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string", + "readOnly": true + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "NotSpecified", + "ApplicationConsistent", + "CrashConsistent" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MigrationRecoveryPointType", + "modelAsString": true + } + } + } + }, + "MobilityServiceUpdate": { + "description": "The Mobility Service update details.", + "type": "object", + "properties": { + "version": { + "description": "The version of the latest update.", + "type": "string" + }, + "rebootStatus": { + "description": "The reboot status of the update - whether it is required or not.", + "type": "string" + }, + "osType": { + "description": "The OS type.", + "type": "string" + } + } + }, + "Network": { + "description": "Network model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The Network Properties." + } + } + }, + "NetworkCollection": { + "description": "List of networks.", + "type": "object", + "properties": { + "value": { + "description": "The Networks list details.", + "type": "array", + "items": { + "$ref": "#/definitions/Network" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "NetworkMapping": { + "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkMappingProperties", + "description": "The Network Mapping Properties." + } + } + }, + "NetworkMappingCollection": { + "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", + "type": "object", + "properties": { + "value": { + "description": "The Network Mappings list.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkMapping" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "NetworkMappingFabricSpecificSettings": { + "description": "Network Mapping fabric specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "NetworkMappingProperties": { + "description": "Network Mapping Properties.", + "type": "object", + "properties": { + "state": { + "description": "The pairing state for network mapping.", + "type": "string" + }, + "primaryNetworkFriendlyName": { + "description": "The primary network friendly name.", + "type": "string" + }, + "primaryNetworkId": { + "description": "The primary network id for network mapping.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryNetworkFriendlyName": { + "description": "The recovery network friendly name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "The recovery network id for network mapping.", + "type": "string" + }, + "recoveryFabricArmId": { + "description": "The recovery fabric ARM id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "fabricSpecificSettings": { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", + "description": "The fabric specific settings." + } + } + }, + "NetworkProperties": { + "description": "Network Properties.", + "type": "object", + "properties": { + "fabricType": { + "description": "The Fabric Type.", + "type": "string" + }, + "subnets": { + "description": "The List of subnets.", + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkType": { + "description": "The Network Type.", + "type": "string" + } + } + }, + "NewProtectionProfile": { + "description": "New Protection profile input.", + "required": [ + "policyName", + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" + } + ], + "properties": { + "policyName": { + "description": "The protection profile input.", + "type": "string" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "New" + }, + "NewRecoveryVirtualNetwork": { + "description": "Recovery virtual network input to create new virtual network from given source network.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + } + ], + "properties": { + "recoveryVirtualNetworkResourceGroupName": { + "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM.", + "type": "string" + }, + "recoveryVirtualNetworkName": { + "description": "The recovery virtual network name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "New" + }, + "OperationsDiscovery": { + "description": "Operations discovery class.", + "type": "object", + "properties": { + "name": { + "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release).", + "type": "string" + }, + "display": { + "$ref": "#/definitions/Display", + "description": "Object type." + }, + "origin": { + "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\".", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationsDiscoveryProperties", + "description": "Properties. Reserved for future use." + } + } + }, + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", + "type": "object", + "properties": { + "value": { + "description": "The ClientDiscovery details.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationsDiscovery" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object", + "properties": {} + }, + "OSDetails": { + "description": "Disk Details.", + "type": "object", + "properties": { + "osType": { + "description": "VM Disk details.", + "type": "string" + }, + "productType": { + "description": "Product type.", + "type": "string" + }, + "osEdition": { + "description": "The OSEdition.", + "type": "string" + }, + "oSVersion": { + "description": "The OS Version.", + "type": "string" + }, + "oSMajorVersion": { + "description": "The OS Major Version.", + "type": "string" + }, + "oSMinorVersion": { + "description": "The OS Minor Version.", + "type": "string" + } + } + }, + "OSDiskDetails": { + "description": "Details of the OS Disk.", + "type": "object", + "properties": { + "osVhdId": { + "description": "The id of the disk containing the OS.", + "type": "string" + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string" + }, + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + } + } + }, + "OSVersionWrapper": { + "description": "Wrapper model for OSVersion to include version and service pack info.", + "type": "object", + "properties": { + "version": { + "description": "The version.", + "type": "string" + }, + "servicePack": { + "description": "The service pack.", + "type": "string" + } + } + }, + "PlannedFailoverInput": { + "description": "Input definition for planned failover.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PlannedFailoverInputProperties", + "description": "Planned failover input properties." + } + } + }, + "PlannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput", + "description": "Provider specific settings." + } + } + }, + "PlannedFailoverProviderSpecificFailoverInput": { + "description": "Provider specific failover input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "Policy": { + "description": "Protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PolicyProperties", + "description": "The custom data." + } + } + }, + "PolicyCollection": { + "description": "Protection Profile Collection details.", + "type": "object", + "properties": { + "value": { + "description": "The policy details.", + "type": "array", + "items": { + "$ref": "#/definitions/Policy" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "PolicyProperties": { + "description": "Protection profile custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The FriendlyName.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/PolicyProviderSpecificDetails", + "description": "The ReplicationChannelSetting." + } + } + }, + "PolicyProviderSpecificDetails": { + "description": "Base class for Provider specific details for policies.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "PolicyProviderSpecificInput": { + "description": "Base class for provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ProcessServer": { + "description": "Details of the Process Server.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Process Server's friendly name.", + "type": "string" + }, + "id": { + "description": "The Process Server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the server.", + "type": "string" + }, + "osType": { + "description": "The OS type of the server.", + "type": "string" + }, + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status.", + "type": "string" + }, + "mobilityServiceUpdates": { + "description": "The list of the mobility service updates available on the Process Server.", + "type": "array", + "items": { + "$ref": "#/definitions/MobilityServiceUpdate" + } + }, + "hostId": { + "description": "The agent generated Id.", + "type": "string" + }, + "machineCount": { + "description": "The servers configured with this PS.", + "type": "string" + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this PS.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "psServiceStatus": { + "description": "The PS service status.", + "type": "string" + }, + "sslCertExpiryDate": { + "format": "date-time", + "description": "The PS SSL cert expiry date.", + "type": "string" + }, + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "osVersion": { + "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", + "type": "string" + }, + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." + }, + "health": { + "description": "The health of Process Server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "psStatsRefreshTime": { + "format": "date-time", + "description": "The process server stats refresh time.", + "type": "string", + "readOnly": true + }, + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputInMBps": { + "format": "int64", + "description": "The throughput in MBps.", + "type": "integer", + "readOnly": true + }, + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputStatus": { + "description": "The throughput status.", + "type": "string", + "readOnly": true + }, + "marsCommunicationStatus": { + "description": "The MARS communication status.", + "type": "string", + "readOnly": true + }, + "marsRegistrationStatus": { + "description": "The MARS registration status.", + "type": "string", + "readOnly": true + } + } + }, + "ProcessServerDetails": { + "description": "Process server details.", + "type": "object", + "properties": { + "id": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The process server Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The process server Fqdn.", + "type": "string", + "readOnly": true + }, + "ipAddresses": { + "description": "The list of IP addresses for communicating with the RCM component.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the process server.", + "type": "string", + "readOnly": true + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer", + "readOnly": true + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer", + "readOnly": true + }, + "usedMemoryInBytes": { + "format": "int64", + "description": "The used memory.", + "type": "integer", + "readOnly": true + }, + "memoryUsagePercentage": { + "format": "double", + "description": "The memory usage percentage.", + "type": "number", + "readOnly": true + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total disk space.", + "type": "integer", + "readOnly": true + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available disk space.", + "type": "integer", + "readOnly": true + }, + "usedSpaceInBytes": { + "format": "int64", + "description": "The used disk space.", + "type": "integer", + "readOnly": true + }, + "freeSpacePercentage": { + "format": "double", + "description": "The free disk space percentage.", + "type": "number", + "readOnly": true + }, + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true + }, + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true + }, + "processorUsagePercentage": { + "format": "double", + "description": "The processor usage percentage.", + "type": "number", + "readOnly": true + }, + "throughputStatus": { + "description": "The throughput status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } + }, + "systemLoad": { + "format": "int64", + "description": "The system load.", + "type": "integer", + "readOnly": true + }, + "systemLoadStatus": { + "description": "The system load status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } + }, + "diskUsageStatus": { + "description": "The disk usage status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } + }, + "processorUsageStatus": { + "description": "The processor usage status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } + }, + "health": { + "description": "The health of the process server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "protectedItemCount": { + "format": "int32", + "description": "The protected item count.", + "type": "integer", + "readOnly": true + }, + "historicHealth": { + "description": "The historic health of the process server based on the health in last 24 hours.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + } + } + }, + "ProtectableItem": { + "description": "Replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectableItemProperties", + "description": "The custom data." + } + } + }, + "ProtectableItemCollection": { + "description": "Protectable item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protectable item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableItem" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ProtectableItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "protectionStatus": { + "description": "The protection status.", + "type": "string" + }, + "replicationProtectedItemId": { + "description": "The ARM resource of protected items.", + "type": "string" + }, + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" + }, + "protectionReadinessErrors": { + "description": "The Current protection readiness errors.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedReplicationProviders": { + "description": "The list of replication providers supported for the protectable item.", + "type": "array", + "items": { + "type": "string" + } + }, + "customDetails": { + "$ref": "#/definitions/ConfigurationSettings", + "description": "The Replication provider custom settings." + } + } + }, + "ProtectableItemQueryParameter": { + "description": "Query parameter to enumerate Protectable items.", + "type": "object", + "properties": { + "state": { + "description": "State of the Protectable item query filter.", + "type": "string" + } + } + }, + "ProtectedItemsQueryParameter": { + "description": "Query parameter to enumerate protected items.", + "type": "object", + "properties": { + "sourceFabricName": { + "description": "The source fabric name filter.", + "type": "string" + }, + "recoveryPlanName": { + "description": "The recovery plan filter.", + "type": "string" + }, + "sourceFabricLocation": { + "description": "The source fabric location filter.", + "type": "string" + }, + "fabricObjectId": { + "description": "The fabric object Id filter.", + "type": "string" + }, + "vCenterName": { + "description": "The vCenter name filter.", + "type": "string" + }, + "instanceType": { + "description": "The replication provider type.", + "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": true + } + }, + "processServerId": { + "description": "The process server Id filter.", + "type": "string" + } + } + }, + "ProtectionContainer": { + "description": "Protection container details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainerProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerCollection": { + "description": "Protection Container collection.", + "type": "object", + "properties": { + "value": { + "description": "The Protection Container details.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainer" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ProtectionContainerFabricSpecificDetails": { + "description": "Base class for fabric specific details of container.", + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true + } + } + }, + "ProtectionContainerMapping": { + "description": "Protection container mapping object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProtectionContainerMappingProperties", + "description": "The custom data." + } + } + }, + "ProtectionContainerMappingCollection": { + "description": "Protection container mapping collection class.", + "type": "object", + "properties": { + "value": { + "description": "List of container mappings.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "nextLink": { + "description": "Link to fetch rest of the data.", + "type": "string" + } + } + }, + "ProtectionContainerMappingProperties": { + "description": "Protection container mapping properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "Paired protection container ARM ID.", + "type": "string" + }, + "targetProtectionContainerFriendlyName": { + "description": "Friendly name of paired container.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", + "description": "Provider specific provider details." + }, + "health": { + "description": "Health of pairing.", + "type": "string" + }, + "healthErrorDetails": { + "description": "Health error.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "Policy ARM Id.", + "type": "string" + }, + "state": { + "description": "Association Status.", + "type": "string" + }, + "sourceProtectionContainerFriendlyName": { + "description": "Friendly name of source protection container.", + "type": "string" + }, + "sourceFabricFriendlyName": { + "description": "Friendly name of source fabric.", + "type": "string" + }, + "targetFabricFriendlyName": { + "description": "Friendly name of target fabric.", + "type": "string" + }, + "policyFriendlyName": { + "description": "Friendly name of replication policy.", + "type": "string" + } + } + }, + "ProtectionContainerMappingProviderSpecificDetails": { + "description": "Container mapping provider specific details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ProtectionContainerProperties": { + "description": "Protection profile custom data details.", + "type": "object", + "properties": { + "fabricFriendlyName": { + "description": "Fabric friendly name.", + "type": "string" + }, + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "fabricType": { + "description": "The fabric type.", + "type": "string" + }, + "protectedItemCount": { + "format": "int32", + "description": "Number of protected PEs.", + "type": "integer" + }, + "pairingStatus": { + "description": "The pairing status of this cloud.", + "type": "string" + }, + "role": { + "description": "The role of this cloud.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", + "description": "Fabric specific details." + } + } + }, + "ProtectionProfileCustomDetails": { + "description": "Protection Profile custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "ProviderError": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "The Error code.", + "type": "integer" + }, + "errorMessage": { + "description": "The Error message.", + "type": "string" + }, + "errorId": { + "description": "The Provider error Id.", + "type": "string" + }, + "possibleCauses": { + "description": "The possible causes for the error.", + "type": "string" + }, + "recommendedAction": { + "description": "The recommended action to resolve the error.", + "type": "string" + } + } + }, + "ProviderSpecificRecoveryPointDetails": { + "description": "Replication provider specific recovery point details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the provider type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "PushInstallerDetails": { + "description": "Push installer details.", + "type": "object", + "properties": { + "id": { + "description": "The push installer Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The push installer name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The push installer Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The push installer Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the push installer.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the push installer.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "RcmProxyDetails": { + "description": "RCM proxy details.", + "type": "object", + "properties": { + "id": { + "description": "The RCM proxy Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The RCM proxy name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The RCM proxy Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The RCM proxy Fqdn.", + "type": "string", + "readOnly": true + }, + "clientAuthenticationType": { + "description": "The client authentication type.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the RCM proxy.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the RCM proxy.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "RecoveryAvailabilitySetCustomDetails": { + "description": "Recovery Availability Set custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "RecoveryPlan": { + "description": "Recovery plan details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanProperties", + "description": "The custom details." + } + } + }, + "RecoveryPlanA2ADetails": { + "description": "Recovery plan A2A specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails" + } + ], + "properties": { + "primaryZone": { + "description": "The primary zone.", + "type": "string" + }, + "recoveryZone": { + "description": "The recovery zone.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "RecoveryPlanA2AFailoverInput": { + "description": "Recovery plan A2A failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARpRecoveryPointType", + "modelAsString": true + } + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + }, + "multiVmSyncPointOption": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "enum": [ + "UseMultiVmSyncRecoveryPoint", + "UsePerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncPointOption", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "RecoveryPlanA2AInput": { + "description": "Recovery plan A2A input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + ], + "properties": { + "primaryZone": { + "description": "The primary zone.", + "type": "string" + }, + "recoveryZone": { + "description": "The recovery zone.", + "type": "string" + }, + "primaryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The primary extended location." + }, + "recoveryExtendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The recovery extended location." + } + }, + "x-ms-discriminator-value": "A2A" + }, + "RecoveryPlanAction": { + "description": "Recovery plan action details.", + "required": [ + "actionName", + "failoverTypes", + "failoverDirections", + "customDetails" + ], + "type": "object", + "properties": { + "actionName": { + "description": "The action name.", + "type": "string" + }, + "failoverTypes": { + "description": "The list of failover types.", + "type": "array", + "items": { + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "CancelFailover", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationProtectedItemOperation", + "modelAsString": true + } + } + }, + "failoverDirections": { + "description": "The list of failover directions.", + "type": "array", + "items": { + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } + } + }, + "customDetails": { + "$ref": "#/definitions/RecoveryPlanActionDetails", + "description": "The custom details." + } + } + }, + "RecoveryPlanActionDetails": { + "description": "Recovery plan action custom details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanAutomationRunbookActionDetails": { + "description": "Recovery plan Automation runbook action details.", + "required": [ + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "runbookId": { + "description": "The runbook ARM Id.", + "type": "string" + }, + "timeout": { + "description": "The runbook timeout.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "AutomationRunbookActionDetails" + }, + "RecoveryPlanCollection": { + "description": "Recovery plan collection details.", + "type": "object", + "properties": { + "value": { + "description": "The list of recovery plans.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryPlanGroup": { + "description": "Recovery plan group details.", + "required": [ + "groupType" + ], + "type": "object", + "properties": { + "groupType": { + "description": "The group type.", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanGroupType", + "modelAsString": true + } + }, + "replicationProtectedItems": { + "description": "The list of protected items.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + "startGroupActions": { + "description": "The start group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + "endGroupActions": { + "description": "The end group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + } + } + }, + "RecoveryPlanGroupTaskDetails": { + "description": "This class represents the recovery plan group task.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", + "type": "string" + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" + }, + "RecoveryPlanHyperVReplicaAzureFailbackInput": { + "description": "Recovery plan HVR Azure failback input.", + "required": [ + "dataSyncOption", + "recoveryVmCreationOption" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "dataSyncOption": { + "description": "The data sync option.", + "enum": [ + "ForDownTime", + "ForSynchronization" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSyncStatus", + "modelAsString": true + } + }, + "recoveryVmCreationOption": { + "description": "The ALR option.", + "enum": [ + "CreateVmIfNotFound", + "NoAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AlternateLocationRecoveryOption", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "RecoveryPlanHyperVReplicaAzureFailoverInput": { + "description": "Recovery plan HVR Azure failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "The primary KEK certificate PFX.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary KEK certificate PFX.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "HyperVReplicaAzureRpRecoveryPointType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "RecoveryPlanInMageAzureV2FailoverInput": { + "description": "Recovery plan InMageAzureV2 failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageV2RpRecoveryPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "RecoveryPlanInMageFailoverInput": { + "description": "Recovery plan InMage failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RpInMageRecoveryPointType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "RecoveryPlanInMageRcmFailbackFailoverInput": { + "description": "Recovery plan InMageRcmFailback failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "ApplicationConsistent", + "CrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageRcmFailbackRecoveryPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "RecoveryPlanInMageRcmFailoverInput": { + "description": "Recovery plan InMageRcm failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "RecoveryPlanManualActionDetails": { + "description": "Recovery plan manual action details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "description": { + "description": "The manual action description.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionDetails" + }, + "RecoveryPlanPlannedFailoverInput": { + "description": "Recovery plan planned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", + "description": "The recovery plan planned failover input properties." + } + } + }, + "RecoveryPlanPlannedFailoverInputProperties": { + "description": "Recovery plan planned failover input properties.", + "required": [ + "failoverDirection" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPlanProperties": { + "description": "Recovery plan properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name.", + "type": "string" + }, + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "type": "string" + }, + "replicationProviders": { + "description": "The list of replication providers.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedOperations": { + "description": "The list of allowed operations.", + "type": "array", + "items": { + "type": "string" + } + }, + "lastPlannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last planned failover.", + "type": "string" + }, + "lastUnplannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last unplanned failover.", + "type": "string" + }, + "lastTestFailoverTime": { + "format": "date-time", + "description": "The start time of the last test failover.", + "type": "string" + }, + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario details." + }, + "currentScenarioStatus": { + "description": "The recovery plan status.", + "type": "string" + }, + "currentScenarioStatusDescription": { + "description": "The recovery plan status description.", + "type": "string" + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + "providerSpecificDetails": { + "description": "The provider id and provider specific details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails" + } + } + } + }, + "RecoveryPlanProtectedItem": { + "description": "Recovery plan protected item.", + "type": "object", + "properties": { + "id": { + "description": "The ARM Id of the recovery plan protected item.", + "type": "string" + }, + "virtualMachineId": { + "description": "The virtual machine Id.", + "type": "string" + } + } + }, + "RecoveryPlanProviderSpecificDetails": { + "description": "Recovery plan provider specific details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanProviderSpecificFailoverInput": { + "description": "Recovery plan provider specific failover input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanProviderSpecificInput": { + "description": "Recovery plan provider specific input base class.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RecoveryPlanScriptActionDetails": { + "description": "Recovery plan script action details.", + "required": [ + "path", + "fabricLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "path": { + "description": "The script path.", + "type": "string" + }, + "timeout": { + "description": "The script timeout.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "ScriptActionDetails" + }, + "RecoveryPlanShutdownGroupTaskDetails": { + "description": "This class represents the recovery plan shutdown group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanGroupTaskDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + }, + "RecoveryPlanTestFailoverCleanupInput": { + "description": "Recovery plan test failover cleanup input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", + "description": "The recovery plan test failover cleanup input properties." + } + } + }, + "RecoveryPlanTestFailoverCleanupInputProperties": { + "description": "Recovery plan test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "The test failover cleanup comments.", + "maxLength": 1024, + "type": "string" + } + } + }, + "RecoveryPlanTestFailoverInput": { + "description": "Recovery plan test failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", + "description": "The recovery plan test failover input properties." + } + } + }, + "RecoveryPlanTestFailoverInputProperties": { + "description": "Recovery plan test failover input properties.", + "required": [ + "failoverDirection", + "networkType" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } + }, + "networkType": { + "description": "The network type to be used for test failover.", + "type": "string" + }, + "networkId": { + "description": "The Id of the network to be used for test failover.", + "type": "string" + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "maxLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPlanUnplannedFailoverInput": { + "description": "Recovery plan unplanned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", + "description": "The recovery plan unplanned failover input properties." + } + } + }, + "RecoveryPlanUnplannedFailoverInputProperties": { + "description": "Recovery plan unplanned failover input properties.", + "required": [ + "failoverDirection", + "sourceSiteOperations" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } + }, + "sourceSiteOperations": { + "description": "A value indicating whether source site operations are required.", + "enum": [ + "Required", + "NotRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceSiteOperations", + "modelAsString": true + } + }, + "providerSpecificDetails": { + "description": "The provider specific properties.", + "maxLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + } + } + }, + "RecoveryPoint": { + "description": "Recovery point.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "The recovery point properties." + } + } + }, + "RecoveryPointCollection": { + "description": "Collection of recovery point details.", + "type": "object", + "properties": { + "value": { + "description": "The recovery point details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPoint" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryPointProperties": { + "description": "Recovery point properties.", + "type": "object", + "properties": { + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", + "description": "The provider specific details for the recovery point." + } + } + }, + "RecoveryProximityPlacementGroupCustomDetails": { + "description": "Recovery Proximity placement group custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "RecoveryResourceGroupCustomDetails": { + "description": "Recovery Resource Group custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "RecoveryServicesProvider": { + "description": "Provider details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryServicesProviderProperties", + "description": "Provider properties." + } + } + }, + "RecoveryServicesProviderCollection": { + "description": "Collection of providers.", + "type": "object", + "properties": { + "value": { + "description": "The Servers details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryServicesProvider" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "RecoveryServicesProviderProperties": { + "description": "Recovery services provider properties.", + "type": "object", + "properties": { + "fabricType": { + "description": "Type of the site.", + "type": "string" + }, + "friendlyName": { + "description": "Friendly name of the DRA.", + "type": "string" + }, + "providerVersion": { + "description": "The provider version.", + "type": "string" + }, + "serverVersion": { + "description": "The fabric provider.", + "type": "string" + }, + "providerVersionState": { + "description": "DRA version status.", + "type": "string" + }, + "providerVersionExpiryDate": { + "format": "date-time", + "description": "Expiry date of the version.", + "type": "string" + }, + "fabricFriendlyName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "lastHeartBeat": { + "format": "date-time", + "description": "Time when last heartbeat was sent by the DRA.", + "type": "string" + }, + "connectionStatus": { + "description": "A value indicating whether DRA is responsive.", + "type": "string" + }, + "protectedItemCount": { + "format": "int32", + "description": "Number of protected VMs currently managed by the DRA.", + "type": "integer" + }, + "allowedScenarios": { + "description": "The scenarios allowed on this provider.", + "type": "array", + "items": { + "type": "string" + } + }, + "healthErrorDetails": { + "description": "The recovery services provider health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "draIdentifier": { + "description": "The DRA Id.", + "type": "string" + }, + "machineId": { + "description": "The machine Id.", + "type": "string" + }, + "machineName": { + "description": "The machine name.", + "type": "string" + }, + "biosId": { + "description": "The Bios Id.", + "type": "string" + }, + "authenticationIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The authentication identity details." + }, + "resourceAccessIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The resource access identity details." + }, + "dataPlaneAuthenticationIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The data plane authentication identity details." + }, + "providerVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The provider version details." + } + } + }, + "RecoveryVirtualNetworkCustomDetails": { + "description": "Recovery Virtual network custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "RemoveDisksInput": { + "description": "Input for remove disk(s) operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RemoveDisksInputProperties", + "description": "Remove disk input properties." + } + } + }, + "RemoveDisksInputProperties": { + "description": "Remove Disk input properties.", + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/RemoveDisksProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "RemoveDisksProviderSpecificInput": { + "description": "Remove Disk provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RemoveProtectionContainerMappingInput": { + "description": "Container unpairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "RemoveProtectionContainerMappingInputProperties": { + "description": "Unpairing input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", + "description": "Provider specific input for unpairing." + } + } + }, + "RenewCertificateInput": { + "description": "Certificate renewal input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RenewCertificateInputProperties", + "description": "Renew certificate input properties." + } + } + }, + "RenewCertificateInputProperties": { + "description": "Renew Certificate input properties.", + "type": "object", + "properties": { + "renewCertificateType": { + "description": "Renew certificate type.", + "type": "string" + } + } + }, + "ReplicationAgentDetails": { + "description": "Replication agent details.", + "type": "object", + "properties": { + "id": { + "description": "The replication agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The replication agent name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The replication agent Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The replication agent Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the replication agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the replication agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "ReplicationAppliance": { + "description": "Replication appliance definition.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationApplianceProperties", + "description": "Appliance related data." + } + } + }, + "ReplicationApplianceProperties": { + "description": "Replication appliance properties.", + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/ApplianceSpecificDetails", + "description": "Provider specific settings." + } + } + }, + "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" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "possibleCauses": { + "description": "The possible causes.", + "type": "string" + }, + "recommendedAction": { + "description": "The recommended action.", + "type": "string" + }, + "status": { + "description": "The error status.", + "readOnly": true, + "type": "string" + } + } + }, + "ReplicationEligibilityResultsProperties": { + "description": "Properties model for replication eligibility results API.", + "type": "object", + "properties": { + "clientRequestId": { + "description": "The client request Id.", + "readOnly": true, + "type": "string" + }, + "errors": { + "description": "The error details.", + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo" + } + } + } + }, + "ReplicationGroupDetails": { + "description": "Replication group details. This will be used in case of San.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ReplicationGroupDetails" + }, + "ReplicationProtectedItem": { + "description": "Replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProtectedItemProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectedItemCollection": { + "description": "Replication protected item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protected item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ReplicationProtectedItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "protectedItemType": { + "description": "The type of protected item type.", + "type": "string" + }, + "protectableItemId": { + "description": "The protected item ARM Id.", + "type": "string" + }, + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The friendly name of the primary fabric.", + "type": "string" + }, + "primaryFabricProvider": { + "description": "The fabric provider of the primary fabric.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The friendly name of recovery fabric.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The Arm Id of recovery fabric.", + "type": "string" + }, + "primaryProtectionContainerFriendlyName": { + "description": "The name of primary protection container friendly name.", + "type": "string" + }, + "recoveryProtectionContainerFriendlyName": { + "description": "The name of recovery container friendly name.", + "type": "string" + }, + "protectionState": { + "description": "The protection status.", + "type": "string" + }, + "protectionStateDescription": { + "description": "The protection state description.", + "type": "string" + }, + "activeLocation": { + "description": "The Current active location of the PE.", + "type": "string" + }, + "testFailoverState": { + "description": "The Test failover state.", + "type": "string" + }, + "testFailoverStateDescription": { + "description": "The Test failover state description.", + "type": "string" + }, + "switchProviderState": { + "description": "The switch provider state.", + "type": "string" + }, + "switchProviderStateDescription": { + "description": "The switch provider state description.", + "type": "string" + }, + "allowedOperations": { + "description": "The allowed operations on the Replication protected item.", + "type": "array", + "items": { + "type": "string" + } + }, + "replicationHealth": { + "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", + "type": "string" + }, + "failoverHealth": { + "description": "The consolidated failover health for the VM.", + "type": "string" + }, + "healthErrors": { + "description": "List of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "policyId": { + "description": "The ID of Policy governing this PE.", + "type": "string" + }, + "policyFriendlyName": { + "description": "The name of Policy governing this PE.", + "type": "string" + }, + "lastSuccessfulFailoverTime": { + "format": "date-time", + "description": "The Last successful failover time.", + "type": "string" + }, + "lastSuccessfulTestFailoverTime": { + "format": "date-time", + "description": "The Last successful test failover time.", + "type": "string" + }, + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario." + }, + "failoverRecoveryPointId": { + "description": "The recovery point ARM Id to which the Vm was failed over.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProviderSpecificSettings", + "description": "The Replication provider custom settings." + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "eventCorrelationId": { + "description": "The correlation Id for events associated with this protected item.", + "type": "string" + } + } + }, + "ReplicationProtectionIntent": { + "description": "Replication protection intent.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProtectionIntentProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectionIntentCollection": { + "description": "Replication protection intent objects collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protection intent details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProtectionIntent" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ReplicationProtectionIntentProperties": { + "description": "Replication protection intent custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "jobId": { + "description": "The job Id.", + "type": "string", + "readOnly": true + }, + "jobState": { + "description": "The job state.", + "type": "string", + "readOnly": true + }, + "isActive": { + "description": "A value indicating whether the intent object is active.", + "type": "boolean", + "readOnly": true + }, + "creationTimeUTC": { + "description": "The creation time in UTC.", + "type": "string", + "readOnly": true + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings", + "description": "The Replication provider custom settings." + } + } + }, + "ReplicationProtectionIntentProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderContainerUnmappingInput": { + "description": "Provider specific input for unpairing operations.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + } + }, + "ReplicationProviderSpecificContainerCreationInput": { + "description": "Provider specific input for container creation operation.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificContainerMappingInput": { + "description": "Provider specific input for pairing operations.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificUpdateContainerMappingInput": { + "description": "Provider specific input for update pairing operations.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReprotectAgentDetails": { + "description": "Reprotect agent details.", + "type": "object", + "properties": { + "id": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The reprotect agent Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The reprotect agent Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the reprotect agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the reprotect agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "protectedItemCount": { + "format": "int32", + "description": "The protected item count.", + "type": "integer", + "readOnly": true + }, + "accessibleDatastores": { + "description": "The list of accessible datastores fetched from discovery.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vcenterId": { + "description": "The Vcenter Id.", + "type": "string", + "readOnly": true + }, + "lastDiscoveryInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true + } + } + }, + "ResolveHealthError": { + "description": "Resolve health errors input properties.", + "type": "object", + "properties": { + "healthErrorId": { + "description": "Health error id.", + "type": "string" + } + } + }, + "ResolveHealthInput": { + "description": "Resolve health input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResolveHealthInputProperties", + "description": "Disable resolve health input properties." + } + } + }, + "ResolveHealthInputProperties": { + "description": "Resolve health input properties.", + "type": "object", + "properties": { + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ResolveHealthError" + } + } + } + }, + "Resource": { + "description": "Azure resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource Type", + "type": "string", + "readOnly": true + }, + "location": { + "description": "Resource Location", + "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceHealthSummary": { + "description": "Base class to define the health summary of the resources contained under an Arm resource.", + "type": "object", + "properties": { + "resourceCount": { + "format": "int32", + "description": "The count of total resources under the container.", + "type": "integer" + }, + "issues": { + "description": "The list of summary of health errors across the resources under the container.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthErrorSummary" + } + }, + "categorizedResourceCounts": { + "description": "The categorized resource counts.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } + } + } + }, + "ResumeJobParams": { + "description": "Resume job params.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResumeJobParamsProperties", + "description": "Resume job properties." + } + } + }, + "ResumeJobParamsProperties": { + "description": "Resume job properties.", + "type": "object", + "properties": { + "comments": { + "description": "Resume job comments.", + "type": "string" + } + } + }, + "ResyncInput": { + "description": "Resync input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResyncInputProperties", + "description": "Resync input properties." + } + } + }, + "ResyncInputProperties": { + "description": "Resync input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/ResyncProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "ResyncProviderSpecificInput": { + "description": "Resync provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RetentionVolume": { + "description": "The retention details of the MT.", + "type": "object", + "properties": { + "volumeName": { + "description": "The volume name.", + "type": "string" + }, + "capacityInBytes": { + "format": "int64", + "description": "The volume capacity.", + "type": "integer" + }, + "freeSpaceInBytes": { + "format": "int64", + "description": "The free space available in this volume.", + "type": "integer" + }, + "thresholdPercentage": { + "format": "int32", + "description": "The threshold percentage.", + "type": "integer" + } + } + }, + "ReverseReplicationInput": { + "description": "Reverse replication input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ReverseReplicationInputProperties", + "description": "Reverse replication properties." + } + } + }, + "ReverseReplicationInputProperties": { + "description": "Reverse replication input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", + "description": "Provider specific reverse replication input." + } + } + }, + "ReverseReplicationProviderSpecificInput": { + "description": "Provider specific reverse replication input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "RoleAssignment": { + "description": "Azure role assignment details.", + "type": "object", + "properties": { + "id": { + "description": "The ARM Id of the role assignment.", + "type": "string" + }, + "name": { + "description": "The name of the role assignment.", + "type": "string" + }, + "scope": { + "description": "Role assignment scope.", + "type": "string" + }, + "principalId": { + "description": "Principal Id.", + "type": "string" + }, + "roleDefinitionId": { + "description": "Role definition id.", + "type": "string" + } + } + }, + "RunAsAccount": { + "description": "CS Accounts Details.", + "type": "object", + "properties": { + "accountId": { + "description": "The CS RunAs account Id.", + "type": "string" + }, + "accountName": { + "description": "The CS RunAs account name.", + "type": "string" + } + } + }, + "ScriptActionTaskDetails": { + "description": "This class represents the script action task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "path": { + "description": "The path.", + "type": "string" + }, + "output": { + "description": "The output.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "ScriptActionTaskDetails" + }, + "ServiceError": { + "description": "ASR error model.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "activityId": { + "description": "Activity Id.", + "type": "string" + } + } + }, + "IPConfigDetails": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isPrimary": { + "type": "boolean" + }, + "subnetName": { + "type": "string" + }, + "staticIPAddress": { + "type": "string" + }, + "ipAddressType": { + "type": "string" + }, + "isSeletedForFailover": { + "type": "boolean" + }, + "recoverySubnetName": { + "type": "string" + }, + "recoveryStaticIPAddress": { + "type": "string" + }, + "recoveryIPAddressType": { + "type": "string" + }, + "recoveryPublicIPAddressId": { + "type": "string" + }, + "recoveryLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "tfoSubnetName": { + "type": "string" + }, + "tfoStaticIPAddress": { + "type": "string" + }, + "tfoPublicIPAddressId": { + "type": "string" + }, + "tfoLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "IPConfigInputDetails": { + "type": "object", + "properties": { + "ipConfigName": { + "type": "string" + }, + "isPrimary": { + "type": "boolean" + }, + "isSeletedForFailover": { + "type": "boolean" + }, + "recoverySubnetName": { + "type": "string" + }, + "recoveryStaticIPAddress": { + "type": "string" + }, + "recoveryPublicIPAddressId": { + "type": "string" + }, + "recoveryLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "tfoSubnetName": { + "type": "string" + }, + "tfoStaticIPAddress": { + "type": "string" + }, + "tfoPublicIPAddressId": { + "type": "string" + }, + "tfoLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "StorageAccountCustomDetails": { + "description": "Storage account custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "StorageClassification": { + "description": "Storage object definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageClassificationProperties", + "description": "Properties of the storage object." + } + } + }, + "StorageClassificationCollection": { + "description": "Collection of storage details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassification" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "StorageClassificationMapping": { + "description": "Storage mapping object.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StorageClassificationMappingProperties", + "description": "Properties of the storage mapping object." + } + } + }, + "StorageClassificationMappingCollection": { + "description": "Collection of storage mapping details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassificationMapping" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "StorageClassificationMappingInput": { + "description": "Storage mapping input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/StorageMappingInputProperties", + "description": "Storage mapping input properties." + } + } + }, + "StorageClassificationMappingProperties": { + "description": "Storage mapping properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "Target storage object Id.", + "type": "string" + } + } + }, + "StorageClassificationProperties": { + "description": "Storage object properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the Storage classification.", + "type": "string" + } + } + }, + "StorageMappingInputProperties": { + "description": "Storage mapping input properties.", + "type": "object", + "properties": { + "targetStorageClassificationId": { + "description": "The ID of the storage object.", + "type": "string" + } + } + }, + "Subnet": { + "description": "Subnets of the network.", + "type": "object", + "properties": { + "name": { + "description": "The subnet name.", + "type": "string" + }, + "friendlyName": { + "description": "The subnet friendly name.", + "type": "string" + }, + "addressList": { + "description": "The list of addresses for the subnet.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SupportedOperatingSystems": { + "description": "Supported operating systems.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SupportedOSProperties", + "description": "The supported operating systems properties." + } + } + }, + "SupportedOSDetails": { + "description": "Supported operating system details.", + "type": "object", + "properties": { + "osName": { + "description": "The name.", + "type": "string" + }, + "osType": { + "description": "The type.", + "type": "string" + }, + "osVersions": { + "description": "The list of version for operating system.", + "type": "array", + "items": { + "$ref": "#/definitions/OSVersionWrapper" + } + } + } + }, + "SupportedOSProperties": { + "description": "Supported operating systems properties.", + "type": "object", + "properties": { + "supportedOsList": { + "description": "The supported operating systems property list.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedOSProperty" + } + } + } + }, + "SupportedOSProperty": { + "description": "Supported operating systems property.", + "type": "object", + "properties": { + "instanceType": { + "description": "The replication provider type.", + "type": "string" + }, + "supportedOs": { + "description": "The list of supported operating systems.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedOSDetails" + } + } + } + }, + "SwitchProtectionInput": { + "description": "Switch protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SwitchProtectionInputProperties", + "description": "Switch protection properties." + } + } + }, + "SwitchProtectionInputProperties": { + "description": "Switch protection input properties.", + "type": "object", + "properties": { + "replicationProtectedItemName": { + "description": "The unique replication protected item name.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", + "description": "Provider specific switch protection input." + } + } + }, + "SwitchProtectionJobDetails": { + "description": "This class represents details for switch protection job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "newReplicationProtectedItemId": { + "description": "ARM Id of the new replication protected item.", + "type": "string" + } + }, + "x-ms-discriminator-value": "SwitchProtectionJobDetails" + }, + "SwitchProtectionProviderSpecificInput": { + "description": "Provider specific switch protection input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "SwitchProviderInput": { + "description": "Input definition for switch provider.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SwitchProviderInputProperties", + "description": "Switch provider input properties." + } + } + }, + "SwitchProviderInputProperties": { + "description": "Input definition for switch provider input properties.", + "type": "object", + "properties": { + "targetInstanceType": { + "description": "Target provider type.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProviderProviderSpecificInput", + "description": "Provider specific settings." + } + } + }, + "SwitchProviderProviderSpecificInput": { + "description": "Provider specific switch provider input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "TargetComputeSize": { + "description": "Represents applicable recovery vm sizes.", + "type": "object", + "properties": { + "id": { + "description": "The Id.", + "type": "string" + }, + "name": { + "description": "The name.", + "type": "string" + }, + "type": { + "description": "The Type of the object.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/TargetComputeSizeProperties", + "description": "The custom data." + } + } + }, + "TargetComputeSizeCollection": { + "description": "Target compute size collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of target compute sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetComputeSize" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "TargetComputeSizeProperties": { + "description": "Represents applicable recovery vm sizes properties.", + "type": "object", + "properties": { + "name": { + "description": "Target compute size name.", + "type": "string" + }, + "friendlyName": { + "description": "Target compute size display name.", + "type": "string" + }, + "cpuCoresCount": { + "format": "int32", + "description": "The maximum cpu cores count supported by target compute size.", + "type": "integer" + }, + "vCPUsAvailable": { + "format": "int32", + "description": "The Available vCPUs supported by target compute size.", + "type": "integer", + "readOnly": true + }, + "memoryInGB": { + "format": "double", + "description": "The maximum memory in GB supported by target compute size.", + "type": "number" + }, + "maxDataDiskCount": { + "format": "int32", + "description": "The maximum data disks count supported by target compute size.", + "type": "integer" + }, + "maxNicsCount": { + "format": "int32", + "description": "The maximum Nics count supported by target compute size.", + "type": "integer" + }, + "errors": { + "description": "The reasons why the target compute size is not applicable for the protected item.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeSizeErrorDetails" + } + }, + "highIopsSupported": { + "description": "The value indicating whether the target compute size supports high Iops.", + "type": "string" + }, + "hyperVGenerations": { + "description": "The supported HyperV Generations.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "TaskTypeDetails": { + "description": "Task details based on specific task type.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The type of task details.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "TestFailoverCleanupInput": { + "description": "Input definition for test failover cleanup.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverCleanupInputProperties", + "description": "Test failover cleanup input properties." + } + } + }, + "TestFailoverCleanupInputProperties": { + "description": "Input definition for test failover cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "Test failover cleanup comments.", + "maxLength": 1024, + "type": "string" + } + } + }, + "TestFailoverInput": { + "description": "Input definition for test failover.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverInputProperties", + "description": "Test failover input properties." + } + } + }, + "TestFailoverInputProperties": { + "description": "Input definition for test failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Test failover direction.", + "type": "string" + }, + "networkType": { + "description": "Network type to be used for test failover.", + "type": "string" + }, + "networkId": { + "description": "The id of the network to be used for test failover.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/TestFailoverProviderSpecificInput", + "description": "Provider specific settings." + } + } + }, + "TestFailoverJobDetails": { + "description": "This class represents the details for a test failover job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "testFailoverStatus": { + "description": "The test failover status.", + "type": "string" + }, + "comments": { + "description": "The test failover comments.", + "type": "string" + }, + "networkName": { + "description": "The test network name.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The test network friendly name.", + "type": "string" + }, + "networkType": { + "description": "The test network type (see TestFailoverInput enum for possible values).", + "type": "string" + }, + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } + } + }, + "x-ms-discriminator-value": "TestFailoverJobDetails" + }, + "TestFailoverProviderSpecificInput": { + "description": "Provider specific test failover input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "TestMigrateCleanupInput": { + "description": "Input for test migrate cleanup.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestMigrateCleanupInputProperties", + "description": "Test migrate cleanup input properties." + } + } + }, + "TestMigrateCleanupInputProperties": { + "description": "Test migrate cleanup input properties.", + "type": "object", + "properties": { + "comments": { + "description": "Test migrate cleanup comments.", + "maxLength": 1024, + "type": "string" + } + } + }, + "TestMigrateInput": { + "description": "Input for test migrate.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestMigrateInputProperties", + "description": "Test migrate input properties." + } + } + }, + "TestMigrateInputProperties": { + "description": "Test migrate input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/TestMigrateProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "TestMigrateProviderSpecificInput": { + "description": "Test migrate provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UnplannedFailoverInput": { + "description": "Input definition for unplanned failover.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UnplannedFailoverInputProperties", + "description": "Unplanned failover input properties." + } + } + }, + "UnplannedFailoverInputProperties": { + "description": "Input definition for unplanned failover input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" + }, + "sourceSiteOperations": { + "description": "Source site operations status.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput", + "description": "Provider specific settings." + } + } + }, + "UnplannedFailoverProviderSpecificInput": { + "description": "Provider specific unplanned failover input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateApplianceForReplicationProtectedItemInput": { + "description": "Update appliance for replication protected item input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInputProperties", + "description": "Update appliance replication protected item properties." + } + } + }, + "UpdateApplianceForReplicationProtectedItemInputProperties": { + "description": "Update appliance for protected item input properties.", + "required": [ + "targetApplianceId", + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "targetApplianceId": { + "description": "The target appliance Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput", + "description": "The provider specific input to update replication protected item." + } + } + }, + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput": { + "description": "Update replication protected item provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateDiskInput": { + "description": "Disk input for update.", + "required": [ + "diskId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "targetDiskName": { + "description": "The target disk name.", + "type": "string" + } + } + }, + "UpdateMigrationItemInput": { + "description": "Update migration item input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMigrationItemInputProperties", + "description": "Update migration item input properties." + } + } + }, + "UpdateMigrationItemInputProperties": { + "description": "Update migration item input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput", + "description": "The provider specific input to update migration item." + } + } + }, + "UpdateMigrationItemProviderSpecificInput": { + "description": "Update migration item provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateMobilityServiceRequest": { + "description": "Request to update the mobility service on a protected item.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", + "description": "The properties of the update mobility service request." + } + } + }, + "UpdateMobilityServiceRequestProperties": { + "description": "The properties of an update mobility service request.", + "type": "object", + "properties": { + "runAsAccountId": { + "description": "The CS run as account Id.", + "type": "string" + } + } + }, + "UpdateNetworkMappingInput": { + "description": "Update network mapping input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateNetworkMappingInputProperties", + "description": "The input properties needed to update network mapping." + } + } + }, + "UpdateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", + "description": "Fabrics specific input network Id." + } + } + }, + "UpdatePolicyInput": { + "description": "Update policy input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdatePolicyInputProperties", + "description": "The ReplicationProviderSettings." + } + } + }, + "UpdatePolicyInputProperties": { + "description": "Policy update properties.", + "type": "object", + "properties": { + "replicationProviderSettings": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "UpdateProtectionContainerMappingInput": { + "description": "Container pairing update input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateProtectionContainerMappingInputProperties", + "description": "Update protection container mapping input properties." + } + } + }, + "UpdateProtectionContainerMappingInputProperties": { + "description": "Container pairing update input.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput", + "description": "Provider specific input for updating protection container mapping." + } + } + }, + "UpdateRecoveryPlanInput": { + "description": "Update recovery plan input class.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", + "description": "Recovery plan update properties." + } + } + }, + "UpdateRecoveryPlanInputProperties": { + "description": "Recovery plan update properties.", + "type": "object", + "properties": { + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + } + } + }, + "UpdateReplicationProtectedItemInput": { + "description": "Update replication protected item input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", + "description": "Update replication protected item properties." + } + } + }, + "UpdateReplicationProtectedItemInputProperties": { + "description": "Update protected item input properties.", + "type": "object", + "properties": { + "recoveryAzureVMName": { + "description": "Target Azure VM name given by the user.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "Target Azure VM size.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "Target Azure Network Id.", + "type": "string" + }, + "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" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "vmNics": { + "description": "The list of VM nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicInputDetails" + } + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "recoveryAvailabilitySetId": { + "description": "The target availability set Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", + "description": "The provider specific input to update replication protected item." + } + } + }, + "UpdateReplicationProtectedItemProviderInput": { + "description": "Update replication protected item provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "UpdateVCenterRequest": { + "description": "Input required to update vCenter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateVCenterRequestProperties", + "description": "The update VCenter Request Properties." + } + } + }, + "UpdateVCenterRequestProperties": { + "description": "The properties of an update vCenter request.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the vCenter.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id from where the update can be orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id which has privileges to update the vCenter.", + "type": "string" + } + } + }, + "VaultHealthDetails": { + "description": "Vault health details definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultHealthProperties", + "description": "The vault health related data." + } + } + }, + "VaultHealthProperties": { + "description": "class to define the health summary of the Vault.", + "type": "object", + "properties": { + "vaultErrors": { + "description": "The list of errors on the vault.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "protectedItemsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the protected items in the vault." + }, + "fabricsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the fabrics in the vault." + }, + "containersHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the containers in the vault." + } + } + }, + "VaultSetting": { + "description": "Vault setting.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VaultSettingProperties", + "description": "The vault setting properties." + } + } + }, + "VaultSettingCollection": { + "description": "Vault setting collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of vault setting.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultSetting" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "VaultSettingCreationInput": { + "description": "Input to create vault setting.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/VaultSettingCreationInputProperties", + "description": "Vault setting creation input properties." + } + } + }, + "VaultSettingCreationInputProperties": { + "description": "Input to create vault setting.", + "type": "object", + "properties": { + "migrationSolutionId": { + "description": "The migration solution Id.", + "type": "string" + }, + "vmwareToAzureProviderType": { + "description": "VMware to Azure provider type.", + "type": "string" + } + } + }, + "VaultSettingProperties": { + "description": "Vault setting properties.", + "type": "object", + "properties": { + "migrationSolutionId": { + "description": "The migration solution ARM Id.", + "type": "string" + }, + "vmwareToAzureProviderType": { + "description": "VMware to Azure provider type.", + "type": "string" + } + } + }, + "VCenter": { + "description": "vCenter definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "VCenter related data." + } + } + }, + "VCenterCollection": { + "description": "Collection of vCenter details.", + "type": "object", + "properties": { + "value": { + "description": "The vCenter details.", + "type": "array", + "items": { + "$ref": "#/definitions/VCenter" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "VCenterProperties": { + "description": "vCenter properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the vCenter.", + "type": "string" + }, + "internalId": { + "description": "VCenter internal ID.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The time when the last heartbeat was received by vCenter.", + "type": "string" + }, + "discoveryStatus": { + "description": "The VCenter discovery status.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter.", + "type": "string" + }, + "infrastructureId": { + "description": "The infrastructure Id of vCenter.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + }, + "fabricArmResourceName": { + "description": "The ARM resource name of the fabric containing this VCenter.", + "type": "string" + }, + "healthErrors": { + "description": "The health errors for this VCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "VersionDetails": { + "description": "Version related details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string" + }, + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", + "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": true + } + } + } + }, + "VirtualMachineTaskDetails": { + "description": "This class represents the virtual machine task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobTaskDetails" + } + ], + "properties": { + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VirtualMachineTaskDetails" + }, + "VmmDetails": { + "description": "VMM fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VMM" + }, + "VmmToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToAzureNetworkMappingSettings": { + "description": "E2A Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToAzureUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behavior specific to vmm to azure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmNetworkMappingSettings": { + "description": "E2E Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behavior specific to vmm to vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmVirtualMachineDetails": { + "description": "VMM fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HyperVVirtualMachineDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmVirtualMachine" + }, + "VMNicDetails": { + "description": "Hyper V VM network details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", + "type": "string" + }, + "replicaNicId": { + "description": "The replica nic Id.", + "type": "string" + }, + "sourceNicArmId": { + "description": "The source nic ARM Id.", + "type": "string" + }, + "vMNetworkName": { + "description": "VM network name.", + "type": "string" + }, + "recoveryVMNetworkId": { + "description": "Recovery VM network Id.", + "type": "string" + }, + "ipConfigs": { + "description": "The IP configurations of the NIC.", + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigDetails" + } + }, + "selectionType": { + "description": "Selection type for failover.", + "type": "string" + }, + "recoveryNetworkSecurityGroupId": { + "description": "The id of the NSG associated with the NIC.", + "type": "string" + }, + "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" + }, + "tfoNetworkSecurityGroupId": { + "description": "The NSG to be used by NIC during test failover.", + "type": "string" + }, + "enableAcceleratedNetworkingOnTfo": { + "description": "Whether the TFO NIC has accelerated networking enabled.", + "type": "boolean" + }, + "recoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs.", + "type": "string" + }, + "recoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs.", + "type": "string" + }, + "reuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.", + "type": "boolean", + "default": false + }, + "tfoRecoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoRecoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoReuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.", + "type": "boolean", + "default": false + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" + } + } + }, + "VMNicInputDetails": { + "description": "Hyper V VM network input details.", + "type": "object", + "properties": { + "nicId": { + "description": "The nic Id.", + "type": "string" + }, + "ipConfigs": { + "description": "The IP configurations to be used by NIC during test failover and failover.", + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigInputDetails" + } + }, + "selectionType": { + "description": "Selection type for failover.", + "type": "string" + }, + "recoveryNetworkSecurityGroupId": { + "description": "The id of the NSG associated with the NIC.", + "type": "string" + }, + "enableAcceleratedNetworkingOnRecovery": { + "description": "Whether the NIC has accelerated networking enabled.", + "type": "boolean" + }, + "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" + }, + "recoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs.", + "type": "string" + }, + "recoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs.", + "type": "string" + }, + "reuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.", + "type": "boolean" + }, + "tfoNicName": { + "description": "The name of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoReuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.", + "type": "boolean" + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" + } + } + }, + "VmNicUpdatesTaskDetails": { + "description": "This class represents the vm NicUpdates task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmId": { + "description": "Virtual machine Id.", + "type": "string" + }, + "nicId": { + "description": "Nic Id.", + "type": "string" + }, + "name": { + "description": "Name of the Nic.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + }, + "VMwareCbtContainerCreationInput": { + "description": "VMwareCbt container creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtContainerMappingInput": { + "description": "VMwareCbt container mapping input.", + "required": [ + "storageAccountId", + "targetLocation" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + } + ], + "properties": { + "keyVaultId": { + "description": "The target key vault ARM Id.", + "type": "string" + }, + "keyVaultUri": { + "description": "The target key vault URL.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account ARM Id.", + "type": "string" + }, + "storageAccountSasSecretName": { + "description": "The secret name of the storage account.", + "type": "string" + }, + "serviceBusConnectionStringSecretName": { + "description": "The secret name of the service bus connection string.", + "type": "string" + }, + "targetLocation": { + "description": "The target location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtDiskInput": { + "description": "VMwareCbt disk input.", + "required": [ + "diskId", + "isOSDisk", + "logStorageAccountId", + "logStorageAccountSasSecretName" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "logStorageAccountSasSecretName": { + "description": "The key vault secret name of the log storage account.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + } + } + }, + "VMwareCbtEnableMigrationInput": { + "description": "VMwareCbt specific enable migration input.", + "required": [ + "vmwareMachineId", + "disksToInclude", + "dataMoverRunAsAccountId", + "snapshotRunAsAccountId", + "targetResourceGroupId", + "targetNetworkId", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableMigrationProviderSpecificInput" + } + ], + "properties": { + "vmwareMachineId": { + "description": "The ARM Id of the VM discovered in VMware.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtDiskInput" + } + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "dataMoverRunAsAccountId": { + "description": "The data mover run as account Id.", + "type": "string" + }, + "snapshotRunAsAccountId": { + "description": "The snapshot run as account Id.", + "type": "string" + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The selected test network ARM Id.", + "type": "string" + }, + "targetSubnetName": { + "description": "The target subnet name.", + "type": "string" + }, + "testSubnetName": { + "description": "The selected test subnet name.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group ARM Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedDiskTags": { + "description": "The tags for the seed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtEventDetails": { + "description": "Event details for VMwareCbt provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "migrationItemName": { + "description": "The migration item name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtMigrateInput": { + "description": "VMwareCbt specific migrate input.", + "required": [ + "performShutdown", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MigrateProviderSpecificInput" + } + ], + "properties": { + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtMigrationDetails": { + "description": "VMwareCbt provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MigrationProviderSpecificSettings" + } + ], + "properties": { + "vmwareMachineId": { + "description": "The ARM Id of the VM discovered in VMware.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "type": "string" + }, + "dataMoverRunAsAccountId": { + "description": "The data mover run as account Id.", + "type": "string", + "readOnly": true + }, + "snapshotRunAsAccountId": { + "description": "The snapshot run as account Id.", + "type": "string", + "readOnly": true + }, + "targetVmName": { + "description": "Target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetLocation": { + "description": "The target location.", + "type": "string", + "readOnly": true + }, + "targetResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtProtectedDiskDetails" + } + }, + "targetNetworkId": { + "description": "The target network Id.", + "type": "string" + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtNicDetails" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "migrationRecoveryPointId": { + "description": "The recovery point Id to which the VM was migrated.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true + }, + "initialSeedingProgressPercentage": { + "format": "int32", + "description": "The initial seeding progress percentage.", + "type": "integer", + "readOnly": true + }, + "migrationProgressPercentage": { + "format": "int32", + "description": "The migration progress percentage.", + "type": "integer", + "readOnly": true + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer", + "readOnly": true + }, + "initialSeedingRetryCount": { + "format": "int64", + "description": "The initial seeding retry count.", + "type": "integer", + "readOnly": true + }, + "resyncRetryCount": { + "format": "int64", + "description": "The resync retry count.", + "type": "integer", + "readOnly": true + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", + "type": "string" + }, + "seedDiskTags": { + "description": "The tags for the seed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtNicDetails": { + "description": "VMwareCbt NIC details.", + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true + }, + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true + }, + "targetIPAddress": { + "description": "The target IP address.", + "type": "string" + }, + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "testNetworkId": { + "description": "Source network Id.", + "type": "string" + }, + "testSubnetName": { + "description": "Test subnet name.", + "type": "string" + }, + "testIPAddress": { + "description": "The test IP address.", + "type": "string" + }, + "testIPAddressType": { + "description": "The test IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" + }, + "isSelectedForMigration": { + "description": "A value indicating whether this NIC is selected for migration.", + "type": "string" + } + } + }, + "VMwareCbtNicInput": { + "description": "VMwareCbt NIC input.", + "required": [ + "nicId", + "isPrimaryNic" + ], + "type": "object", + "properties": { + "nicId": { + "description": "The NIC Id.", + "type": "string" + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetStaticIPAddress": { + "description": "The static IP address.", + "type": "string" + }, + "isSelectedForMigration": { + "description": "A value indicating whether this NIC is selected for migration.", + "type": "string" + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" + }, + "testSubnetName": { + "description": "The test subnet name.", + "type": "string" + }, + "testStaticIPAddress": { + "description": "The test static IP address.", + "type": "string" + } + } + }, + "VMwareCbtPolicyCreationInput": { + "description": "VMware Cbt policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VmwareCbtPolicyDetails": { + "description": "VMware Cbt specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtProtectedDiskDetails": { + "description": "VMwareCbt protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskPath": { + "description": "The disk path.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "logStorageAccountSasSecretName": { + "description": "The key vault secret name of the log storage account.", + "type": "string", + "readOnly": true + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string", + "readOnly": true + }, + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true + }, + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "targetDiskName": { + "description": "The name for the target managed disk.", + "type": "string" + } + } + }, + "VMwareCbtProtectionContainerMappingDetails": { + "description": "VMwareCbt provider specific container mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" + } + ], + "properties": { + "keyVaultId": { + "description": "The target key vault ARM Id.", + "type": "string", + "readOnly": true + }, + "keyVaultUri": { + "description": "The target key vault URI.", + "type": "string", + "readOnly": true + }, + "storageAccountId": { + "description": "The storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "storageAccountSasSecretName": { + "description": "The secret name of the storage account.", + "type": "string", + "readOnly": true + }, + "serviceBusConnectionStringSecretName": { + "description": "The secret name of the service bus connection string.", + "type": "string", + "readOnly": true + }, + "targetLocation": { + "description": "The target location.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtResyncInput": { + "description": "VMwareCbt specific resync input.", + "required": [ + "skipCbtReset", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ResyncProviderSpecificInput" + } + ], + "properties": { + "skipCbtReset": { + "description": "A value indicating whether CBT is to be reset.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtTestMigrateInput": { + "description": "VMwareCbt specific test migrate input.", + "required": [ + "recoveryPointId", + "networkId", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestMigrateProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "networkId": { + "description": "The test network Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtNicInput" + }, + "x-ms-identifiers": [ + "nicId" + ] + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtUpdateDiskInput": { + "description": "VMwareCbt disk input for update.", + "required": [ + "diskId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "targetDiskName": { + "description": "The target disk name.", + "type": "string" + } + } + }, + "VMwareCbtUpdateMigrationItemInput": { + "description": "VMwareCbt specific update migration item input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput" + } + ], + "properties": { + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group ARM Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The test network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtNicInput" + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtUpdateDiskInput" + } + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareDetails": { + "description": "Store the fabric details specific to the VMware fabric.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "processServers": { + "description": "The list of Process Servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServer" + } + }, + "masterTargetServers": { + "description": "The list of Master Target servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/MasterTargetServer" + } + }, + "runAsAccounts": { + "description": "The list of run as accounts created on the server.", + "type": "array", + "items": { + "$ref": "#/definitions/RunAsAccount" + } + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this CS.", + "type": "string" + }, + "processServerCount": { + "description": "The number of process servers.", + "type": "string" + }, + "agentCount": { + "description": "The number of source and target servers configured to talk to this CS.", + "type": "string" + }, + "protectedServers": { + "description": "The number of protected servers.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "webLoad": { + "description": "The web load.", + "type": "string" + }, + "webLoadStatus": { + "description": "The web load status.", + "type": "string" + }, + "databaseServerLoad": { + "description": "The database server load.", + "type": "string" + }, + "databaseServerLoadStatus": { + "description": "The database server load status.", + "type": "string" + }, + "csServiceStatus": { + "description": "The CS service status.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent Version.", + "type": "string" + }, + "hostName": { + "description": "The host name.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from CS server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status.", + "type": "string" + }, + "sslCertExpiryDate": { + "format": "date-time", + "description": "CS SSL cert expiry date.", + "type": "string" + }, + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "psTemplateVersion": { + "description": "PS template version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." + }, + "switchProviderBlockingErrorDetails": { + "description": "The switch provider blocking error information.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageFabricSwitchProviderBlockingErrorDetails" + } + } + }, + "x-ms-discriminator-value": "VMware" + }, + "VMwareV2FabricCreationInput": { + "description": "VMwareV2 fabric provider specific settings.", + "required": [ + "migrationSolutionId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string" + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string" + }, + "migrationSolutionId": { + "description": "The ARM Id of the migration solution.", + "type": "string" + } + }, + "x-ms-discriminator-value": "VMwareV2" + }, + "VMwareV2FabricSpecificDetails": { + "description": "VMwareV2 fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string", + "readOnly": true + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string", + "readOnly": true + }, + "migrationSolutionId": { + "description": "The Migration solution ARM Id.", + "type": "string", + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", + "type": "string", + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", + "type": "string", + "readOnly": true + }, + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true + } + }, + "x-ms-discriminator-value": "VMwareV2" + }, + "VMwareVirtualMachineDetails": { + "description": "VMware provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "agentGeneratedId": { + "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", + "type": "string" + }, + "agentInstalled": { + "description": "The value indicating if InMage scout agent is installed on guest.", + "type": "string" + }, + "osType": { + "description": "The OsType installed on VM.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "poweredOn": { + "description": "The value indicating whether VM is powered on.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The VCenter infrastructure Id.", + "type": "string" + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "diskDetails": { + "description": "The disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskDetails" + } + }, + "validationErrors": { + "description": "The validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + }, + "x-ms-discriminator-value": "VMwareVirtualMachine" + } + }, + "parameters": { + "SubscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription Id.", + "required": true, + "type": "string" + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group where the recovery services vault is present.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the recovery services vault.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersion": { + "name": "api-version", + "in": "query", + "description": "Client Api Version.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account." + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "tags": [] +} diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md index a35854ee7419..7622783304e0 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.go.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-01 - tag: package-2021-12 - tag: package-2021-11 - tag: package-2021-10 @@ -32,6 +33,15 @@ batch: - tag: package-2016-08 ``` +### Tag: package-2022-01 and go + +These settings apply only when `--tag=package-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag)=='package-2022-01' && $(go) +output-folder: $(go-sdk-folder)/services/recoveryservices/mgmt/2022-01-01/$(namespace) +``` + ### Tag: package-2021-12 and go These settings apply only when `--tag=package-2021-12 --go` is specified on the command line. diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.md b/specification/recoveryservicessiterecovery/resource-manager/readme.md index d41ba2868198..bfb0b4cba710 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.md @@ -54,7 +54,7 @@ These are the global settings for the RecoveryServicesSiteRecovery API. ``` yaml openapi-type: arm -tag: package-2021-12 +tag: package-2022-01 directive: - where: - $.paths @@ -62,6 +62,15 @@ directive: - UniqueResourcePaths ``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.RecoveryServices/stable/2022-01-01/service.json +``` + ### Tag: package-2021-12 These settings apply only when `--tag=package-2021-12` is specified on the command line. diff --git a/specification/recoveryservicessiterecovery/resource-manager/readme.python.md b/specification/recoveryservicessiterecovery/resource-manager/readme.python.md index 511e3ca87bac..dd95b21219e1 100644 --- a/specification/recoveryservicessiterecovery/resource-manager/readme.python.md +++ b/specification/recoveryservicessiterecovery/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(python) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.recoveryservicessiterecovery @@ -12,12 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservicessiterecovery/azure/mgmt/recoveryservicessiterecovery ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/recoveryservices/azure-mgmt-recoveryservicessiterecovery -``` diff --git a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json index 9b9900008676..f0594259517c 100644 --- a/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json +++ b/specification/redhatopenshift/resource-manager/Microsoft.RedHatOpenShift/stable/2020-04-30/redhatopenshift.json @@ -446,7 +446,10 @@ "type": "array", "items": { "$ref": "#/definitions/CloudErrorBody" - } + }, + "x-ms-identifiers": [ + "code" + ] } } }, @@ -620,7 +623,10 @@ "type": "array", "items": { "$ref": "#/definitions/WorkerProfile" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "apiserverProfile": { "$ref": "#/definitions/APIServerProfile", @@ -631,7 +637,10 @@ "type": "array", "items": { "$ref": "#/definitions/IngressProfile" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -674,7 +683,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The link used to get the next page of operations.", diff --git a/specification/redhatopenshift/resource-manager/readme.python.md b/specification/redhatopenshift/resource-manager/readme.python.md index 3493c9bcd635..47ee9c986064 100644 --- a/specification/redhatopenshift/resource-manager/readme.python.md +++ b/specification/redhatopenshift/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--python` is specified on the command line. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-redhatopenshift @@ -15,13 +15,8 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(python) && $(multiapi) && !$(track2) -batch: - - tag: package-2020-04-30 - - tag: package-2021-09-01-preview -``` -```yaml $(python) && $(multiapi) && $(track2) +```yaml $(python) && $(multiapi) batch: - tag: package-2020-04-30 - tag: package-2021-09-01-preview @@ -30,7 +25,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/azure/mgmt/redhatopenshift/ -clear-output-folder: false perform-load: false ``` @@ -39,7 +33,7 @@ perform-load: false These settings apply only when `--tag=package-2020-04-30 --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2020-04-30' && $(python) && $(track2) +``` yaml $(tag) == 'package-2020-04-30' && $(python) namespace: azure.mgmt.redhatopenshift.v2020_04_30 output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/azure/mgmt/redhatopenshift/v2020_04_30 ``` @@ -49,13 +43,7 @@ output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/ These settings apply only when `--tag=package-2021-09-01-preview --python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(tag) == 'package-2021-09-01-preview' && $(python) && !$(track2) -python: - namespace: azure.mgmt.redhatopenshift.v2021_09_01_preview - output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/azure/mgmt/redhatopenshift/v2021_09_01_preview -``` - -``` yaml $(tag) == 'package-2021-09-01-preview' && $(python) && $(track2) +``` yaml $(tag) == 'package-2021-09-01-preview' && $(python) namespace: azure.mgmt.redhatopenshift.v2021_09_01_preview output-folder: $(python-sdks-folder)/redhatopenshift/azure-mgmt-redhatopenshift/azure/mgmt/redhatopenshift/v2021_09_01_preview ``` diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json index 8a57daafd48d..2b6fe4673861 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/examples/RedisCachePutPrivateEndpointConnection.json @@ -32,6 +32,7 @@ } } } - } + }, + "204": {} } } diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json index c99d21149c13..416633acc491 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-06-01/redis.json @@ -1660,6 +1660,9 @@ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" } }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json index 498656370051..294b116e7cca 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json @@ -25,8 +25,9 @@ "201": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cachename1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { @@ -45,8 +46,9 @@ "200": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cachename1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesGet.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesGet.json index c27d0c4a938f..f21a29b8534a 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesGet.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesGet.json @@ -10,8 +10,9 @@ "200": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cache1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesList.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesList.json index ce8749d17e25..74c863bd47e5 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesList.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePatchSchedulesList.json @@ -11,8 +11,9 @@ "value": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cache1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePutPrivateEndpointConnection.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePutPrivateEndpointConnection.json index c8d51c4c8e53..092d329a9262 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePutPrivateEndpointConnection.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/examples/RedisCachePutPrivateEndpointConnection.json @@ -32,6 +32,7 @@ } } } - } + }, + "204": {} } } diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json index 331dd6dba5d6..03005940c1f2 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2020-12-01/redis.json @@ -1663,6 +1663,9 @@ "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" } }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -2425,6 +2428,11 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/ScheduleEntries", "description": "List of patch schedules for a Redis cache." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "readOnly": true } }, "required": [ diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCacheAsyncOperationStatus.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCacheAsyncOperationStatus.json new file mode 100644 index 000000000000..7957cdf65372 --- /dev/null +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCacheAsyncOperationStatus.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "location": "East US", + "api-version": "2021-06-01", + "subscriptionId": "subid", + "operationId": "c7ba2bf5-5939-4d79-b037-2964ccf097da" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/providers/Microsoft.Cache/locations/East US/asyncOperations/c7ba2bf5-5939-4d79-b037-2964ccf097da", + "name": "c7ba2bf5-5939-4d79-b037-2964ccf097da", + "status": "Succeeded", + "startTime": null, + "endTime": null, + "percentComplete": null, + "properties": null, + "error": null + } + } + } +} diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json index 3424d7247923..63c610578645 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesCreateOrUpdate.json @@ -25,8 +25,9 @@ "201": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cachename1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { @@ -45,8 +46,9 @@ "200": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cachename1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesGet.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesGet.json index 52c13e9ccc69..923934a206ef 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesGet.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesGet.json @@ -10,8 +10,9 @@ "200": { "body": { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cache1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesList.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesList.json index 7fbba3e772cc..474f02ce0c08 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesList.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/examples/RedisCachePatchSchedulesList.json @@ -11,8 +11,9 @@ "value": [ { "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/Redis/cache1/patchSchedules/default", - "name": "default", - "type": "Microsoft.Cache/Redis/patchSchedules", + "location": "East US", + "name": "cache1/default", + "type": "Microsoft.Cache/Redis/PatchSchedules", "properties": { "scheduleEntries": [ { diff --git a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/redis.json b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/redis.json index 9e6e97040f10..7b85c0d2db31 100644 --- a/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/redis.json +++ b/specification/redis/resource-manager/Microsoft.Cache/stable/2021-06-01/redis.json @@ -1775,6 +1775,56 @@ "nextLinkName": null } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/locations/{location}/asyncOperations/{operationId}": { + "get": { + "tags": [ + "AsyncOperationStatus" + ], + "operationId": "AsyncOperationStatus_Get", + "description": "For checking the ongoing status of an operation", + "x-ms-examples": { + "RedisCacheAsyncOperationStatus": { + "$ref": "./examples/RedisCacheAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location at which operation was triggered" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of asynchronous operation" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Asynchronous operation status response", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } } }, "definitions": { @@ -2056,6 +2106,9 @@ "items": { "$ref": "#/definitions/RedisInstanceDetails" }, + "x-ms-identifiers": [ + "shardId" + ], "description": "List of the Redis instances associated with the cache" }, "privateEndpointConnections": { @@ -2431,6 +2484,7 @@ "items": { "$ref": "#/definitions/ScheduleEntry" }, + "x-ms-identifiers": [], "description": "List of patch schedules for a Redis cache." } }, @@ -2445,6 +2499,11 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/ScheduleEntries", "description": "List of patch schedules for a Redis cache." + }, + "location": { + "type": "string", + "description": "The geo-location where the resource lives", + "readOnly": true } }, "required": [ @@ -2627,6 +2686,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of operations supported by the resource provider." }, "nextLink": { @@ -2684,6 +2746,10 @@ "items": { "$ref": "#/definitions/UpgradeNotification" }, + "x-ms-identifiers": [ + "name", + "timestamp" + ], "description": "List of all notifications." }, "nextLink": { @@ -2693,6 +2759,23 @@ } }, "description": "The response of listUpgradeNotifications." + }, + "OperationStatus": { + "type": "object", + "description": "Asynchronous operation status", + "properties": { + "properties": { + "description": "Additional properties from RP, only when operation is successful", + "type": "object", + "additionalProperties": {} + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationStatusResult" + } + ], + "x-ms-external": true } }, "parameters": { diff --git a/specification/redis/resource-manager/readme.go.md b/specification/redis/resource-manager/readme.go.md index f9601b41ddda..264336a1a582 100644 --- a/specification/redis/resource-manager/readme.go.md +++ b/specification/redis/resource-manager/readme.go.md @@ -19,12 +19,15 @@ directive: - rename-model: from: 'RedisResource' to: 'ResourceInfo' +modelerfour: + lenient-model-deduplication: true ``` ### Go multi-api ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-06 - tag: package-2020-12 - tag: package-2020-06 - tag: package-2019-07-preview @@ -35,6 +38,15 @@ batch: - tag: package-2015-08 ``` +### Tag: package-2021-06 and go + +These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-06' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace) +``` + ### Tag: package-2020-12 and go These settings apply only when `--tag=package-2020-12 --go` is specified on the command line. diff --git a/specification/redis/resource-manager/readme.python.md b/specification/redis/resource-manager/readme.python.md index dd1fa807486b..82db58784187 100644 --- a/specification/redis/resource-manager/readme.python.md +++ b/specification/redis/resource-manager/readme.python.md @@ -5,8 +5,7 @@ Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) -python-mode: create +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.redisenterprise @@ -13,11 +12,7 @@ package-version: 2.0.0 clear-output-folder: true ``` -```yaml $(python) && $(python-mode) == 'update' +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/redisenterprise/azure-mgmt-redisenterprise/azure/mgmt/redisenterprise ``` -```yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/redisenterprise/azure-mgmt-redisenterprise -``` diff --git a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/relay.json b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/relay.json index 7279af590f73..e120ae06cff9 100644 --- a/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/relay.json +++ b/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/relay.json @@ -2147,7 +2147,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", diff --git a/specification/relay/resource-manager/readme.python.md b/specification/relay/resource-manager/readme.python.md index 1baadf5f4b96..e9af2901a140 100644 --- a/specification/relay/resource-manager/readme.python.md +++ b/specification/relay/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.relay @@ -13,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/relay/azure-mgmt-relay/azure/mgmt/relay ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/relay/azure-mgmt-relay -``` diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json index b884e097975a..131121b5759f 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/patchComputeQuotaRequest.json @@ -33,21 +33,15 @@ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { - "provisioningState": "Succeeded", - "message": "", - "properties": { - "properties": { - "limit": 200, - "unit": "Count", - "currentValue": 160, - "name": { - "value": "standardFSv2Family", - "localizedValue": "Standard FSv2 Family vCPUs" - }, - "quotaPeriod": "", - "properties": {} - } - } + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "standardFSv2Family", + "localizedValue": "Standard FSv2 Family vCPUs" + }, + "quotaPeriod": "", + "properties": {} } } } diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json index 7184e2231b8a..131121b5759f 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putComputeOneSkuQuotaRequest.json @@ -33,21 +33,15 @@ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { - "provisioningState": "Succeeded", - "message": "Request succeeded", - "properties": { - "properties": { - "limit": 200, - "unit": "Count", - "currentValue": 160, - "name": { - "value": "standardFSv2Family", - "localizedValue": "Standard FSv2 Family vCPUs" - }, - "quotaPeriod": "", - "properties": {} - } - } + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "standardFSv2Family", + "localizedValue": "Standard FSv2 Family vCPUs" + }, + "quotaPeriod": "", + "properties": {} } } } diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json index 280a446a7360..f9335c70d5cc 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestDedicated.json @@ -34,22 +34,16 @@ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { - "provisioningState": "Succeeded", - "message": "Request succeeded", - "properties": { - "properties": { - "limit": 200, - "unit": "Count", - "currentValue": 160, - "name": { - "value": "StandardDv2Family", - "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" - }, - "resourceType": "dedicated", - "quotaPeriod": "", - "properties": {} - } - } + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "StandardDv2Family", + "localizedValue": "Standard Dv2 Family Cluster Dedicated vCPUs" + }, + "resourceType": "dedicated", + "quotaPeriod": "", + "properties": {} } } } diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json index d4f7b2bee919..342951f5658c 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/examples/putMachineLearningServicesQuotaRequestLowPriority.json @@ -34,22 +34,16 @@ "name": "2B5C8515-37D8-4B6A-879B-CD641A2CF605", "type": "Microsoft.Capacity/serviceLimits", "properties": { - "provisioningState": "Succeeded", - "message": "Request succeeded", - "properties": { - "properties": { - "limit": 200, - "unit": "Count", - "currentValue": 160, - "name": { - "value": "TotalLowPriorityCores", - "localizedValue": "Total Cluster Low Priority Regional vCPUs" - }, - "resourceType": "lowPriority", - "quotaPeriod": "", - "properties": {} - } - } + "limit": 200, + "unit": "Count", + "currentValue": 160, + "name": { + "value": "TotalLowPriorityCores", + "localizedValue": "Total Cluster Low Priority Regional vCPUs" + }, + "resourceType": "lowPriority", + "quotaPeriod": "", + "properties": {} } } } diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json index 008d504138ae..3cb37bc1dbc2 100644 --- a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2020-10-25/quota.json @@ -103,7 +103,7 @@ }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "original-uri" }, "parameters": [ { @@ -135,7 +135,7 @@ "200": { "description": "OK. Returns details of the quota request.", "schema": { - "$ref": "#/definitions/QuotaRequestOneResourceSubmitResponse" + "$ref": "#/definitions/CurrentQuotaLimitBase" } }, "201": { @@ -165,7 +165,7 @@ }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { - "final-state-via": "location" + "final-state-via": "original-uri" }, "parameters": [ { @@ -197,7 +197,7 @@ "200": { "description": "OK. Returns details of the quota request.", "schema": { - "$ref": "#/definitions/QuotaRequestOneResourceSubmitResponse" + "$ref": "#/definitions/CurrentQuotaLimitBase" } }, "201": { @@ -402,6 +402,21 @@ "description": "Quota properties.", "x-ms-azure-resource": true, "properties": { + "id": { + "description": "The quota request ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the quota request.", + "type": "string", + "readOnly": true + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/ServiceLimits\"" + }, "properties": { "description": "Quota properties for the resource.", "$ref": "#/definitions/QuotaProperties" @@ -414,11 +429,13 @@ "properties": { "limit": { "description": "Quota properties.", - "type": "integer" + "type": "integer", + "format": "int32" }, "currentValue": { "description": "Current usage value for the resource.", "type": "integer", + "format": "int32", "readOnly": true }, "unit": { @@ -513,6 +530,7 @@ "limit": { "description": "Quota (resource limit).", "type": "integer", + "format": "int32", "readOnly": true }, "name": { diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateExchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateExchange.json new file mode 100644 index 000000000000..ad5b0e0b41e3 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateExchange.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "body": { + "properties": { + "reservationsToPurchase": [ + { + "sku": { + "name": "Standard_B1ls" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Upfront", + "quantity": 1, + "displayName": "testDisplayName", + "appliedScopeType": "Shared", + "appliedScopes": null, + "renew": false, + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + } + ], + "reservationsToExchange": [ + { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1 + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "name": "4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "status": "Succeeded", + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081", + "netPayable": { + "currencyCode": "USD", + "amount": 15840.0 + }, + "refundsTotal": { + "currencyCode": "USD", + "amount": 3960.0 + }, + "purchasesTotal": { + "currencyCode": "USD", + "amount": 19800.0 + }, + "policyResult": { + "policyErrors": null + }, + "reservationsToPurchase": [ + { + "properties": { + "sku": { + "name": "Standard_B1ls" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Upfront", + "quantity": 1, + "displayName": "testDisplayName", + "appliedScopeType": "Shared", + "appliedScopes": null, + "renew": false, + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19800.0 + } + } + ], + "reservationsToExchange": [ + { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1, + "billingRefundAmount": { + "currencyCode": "USD", + "amount": 3960.0 + }, + "billingInformation": { + "billingCurrencyTotalPaidAmount": { + "currencyCode": "USD", + "amount": 19800.0 + }, + "billingCurrencyProratedAmount": { + "currencyCode": "USD", + "amount": 15840.0 + }, + "billingCurrencyRemainingCommitmentAmount": { + "currencyCode": "USD", + "amount": 0.0 + } + } + } + ] + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2022-03-01", + "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2022-03-01", + "Retry-After": 5 + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateReservationOrder.json new file mode 100644 index 000000000000..7756fd1974c5 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/CalculateReservationOrder.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "body": { + "sku": { + "name": "standard_D1" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "TestReservationOrder", + "appliedScopes": null, + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46.0 + }, + "reservationOrderId": "6d9cec54-7de8-abcd-9de7-80f5d634f2d2", + "skuTitle": "Reserved VM Instance, Standard_D1, US West, 1 Year", + "skuDescription": "standard_D1", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46.0 + }, + "paymentSchedule": [ + { + "dueDate": "2019-05-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + }, + "billingCurrencyTotal": { + "currencyCode": "EUR", + "amount": 40 + } + }, + { + "dueDate": "2019-06-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + } + }, + { + "dueDate": "2019-07-14", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 46 + } + } + ] + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/ChangeDirectoryReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/ChangeDirectoryReservationOrder.json new file mode 100644 index 000000000000..22b4b553806a --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/ChangeDirectoryReservationOrder.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9", + "body": { + "destinationTenantId": "906655ea-30be-4587-9d12-b50e077b0f32" + } + }, + "responses": { + "200": { + "body": { + "reservationOrder": { + "id": "a075419f-44cc-497f-b68a-14ee811d48b9", + "name": "VM_RI_10-02-2020_15-21", + "isSucceeded": true, + "error": "error string" + }, + "reservations": [ + { + "id": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "name": "VM_RI_10-02-2020_15-21", + "isSucceeded": true, + "error": "error string" + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/Exchange.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/Exchange.json new file mode 100644 index 000000000000..a63ff0aed628 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/Exchange.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "body": { + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "name": "4e2ffff7-b331-4fcb-ab11-b5fa49368188", + "status": "Succeeded", + "properties": { + "sessionId": "66e2ac8f-439e-4345-8235-6fef07608081", + "netPayable": { + "currencyCode": "USD", + "amount": 15840.0 + }, + "refundsTotal": { + "currencyCode": "USD", + "amount": 3960.0 + }, + "purchasesTotal": { + "currencyCode": "USD", + "amount": 19800.0 + }, + "policyResult": { + "policyErrors": null + }, + "reservationsToPurchase": [ + { + "reservationOrderId": "/providers/microsoft.capacity/reservationOrders/1e85c519-b815-4169-8d79-62fc460c608f", + "reservationId": "/providers/microsoft.capacity/reservationOrders/1e85c519-b815-4169-8d79-62fc460c608f/reservations/0c80fceb-305c-40a8-b5a6-11445807bbb3", + "properties": { + "sku": { + "name": "Standard_B1ls" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Upfront", + "quantity": 1, + "displayName": "testDisplayName", + "appliedScopeType": "Shared", + "appliedScopes": null, + "renew": false, + "reservedResourceProperties": { + "instanceFlexibility": "On" + } + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19800.0 + }, + "status": "Succeeded" + } + ], + "reservationsToExchange": [ + { + "reservationId": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6", + "quantity": 1, + "billingRefundAmount": { + "currencyCode": "USD", + "amount": 3960.0 + }, + "billingInformation": { + "billingCurrencyTotalPaidAmount": { + "currencyCode": "USD", + "amount": 19800.0 + }, + "billingCurrencyProratedAmount": { + "currencyCode": "USD", + "amount": 15840.0 + }, + "billingCurrencyRemainingCommitmentAmount": { + "currencyCode": "USD", + "amount": 0.0 + } + }, + "status": "Succeeded" + } + ] + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2022-03-01", + "Location": "https://management.azure.com/Microsoft.Capacity/operationResults/4e2ffff7-b331-4fcb-ab11-b5fa49368188?api-version=2022-03-01", + "Retry-After": 5 + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAppliedReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAppliedReservations.json new file mode 100644 index 000000000000..f4fb03ebbd12 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAppliedReservations.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "23bc208b-083f-4901-ae85-4f98c0c3b4b6" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/23bc208b-083f-4901-ae85-4f98c0c3b4b6/providers/microsoft.capacity/AppliedReservations/default", + "type": "Microsoft.Capacity/AppliedReservations", + "name": "default", + "properties": { + "reservationOrderIds": { + "value": [ + "/providers/Microsoft.Capacity/reservationorders/e1eccf0b-2db4-4e84-97e7-98b50e9d46f7", + "/providers/Microsoft.Capacity/reservationorders/741a32eb-6158-4cee-9642-a0243ae79fac", + "/providers/Microsoft.Capacity/reservationorders/e061223d-fcff-4d10-bd49-56a740cfb96a", + "/providers/Microsoft.Capacity/reservationorders/2eeb7234-970e-4663-b60b-85241b515901", + "/providers/Microsoft.Capacity/reservationorders/9db2f4c5-b1c5-42a8-bd79-ee56cdde2c7f", + "/providers/Microsoft.Capacity/reservationorders/5da7a877-6d6e-44af-8880-ed3f533bf928", + "/providers/Microsoft.Capacity/reservationorders/f65b0d0a-f945-4105-821c-d00bc8bacde8", + "/providers/Microsoft.Capacity/reservationorders/51304124-e477-4b07-b9fa-03b05c8b924b", + "/providers/Microsoft.Capacity/reservationorders/f5409b98-8a42-4dc6-be0a-cc59bef4d0db", + "/providers/Microsoft.Capacity/reservationorders/a495550a-80a4-46f8-8843-34d4df46f9a6", + "/providers/Microsoft.Capacity/reservationorders/1a966e18-c272-4ce1-a0c2-d4e1039023c3", + "/providers/Microsoft.Capacity/reservationorders/939310b4-f9de-4645-9569-ab5b6cfe958e", + "/providers/Microsoft.Capacity/reservationorders/4193a889-7c3b-44dc-8b7b-bfd7aad6c723" + ] + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAvailableScope.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAvailableScope.json new file mode 100644 index 000000000000..839bdec88eca --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetAvailableScope.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "356e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "scopes": [ + "/subscriptions/efc7c997-7700-4a74-b731-55aec16c15e9" + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "scopes": [ + { + "scope": "/subscriptions/efc7c997-7700-4a74-b731-55aec16c15e9", + "valid": true + } + ] + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetCatalog.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetCatalog.json new file mode 100644 index 000000000000..534acf51a3b1 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetCatalog.json @@ -0,0 +1,169 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "23bc208b-083f-4901-ae85-4f98c0c3b4b6", + "reservedResourceType": "VirtualMachines", + "location": "eastus" + }, + "responses": { + "200": { + "body": [ + { + "resourceType": "VirtualMachines", + "name": "Standard_DS5_v2", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "16" + }, + { + "name": "ProductTitle", + "value": "DSv2 Series, DS5" + }, + { + "name": "ProductShortName", + "value": "DSv2 Series" + }, + { + "name": "SKUName", + "value": "DS5 v2" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [] + }, + { + "resourceType": "VirtualMachines", + "name": "Standard_D1", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "1" + }, + { + "name": "ProductTitle", + "value": "D Series, D1" + }, + { + "name": "ProductShortName", + "value": "D Series" + }, + { + "name": "SKUName", + "value": "D1" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [ + { + "type": "Term", + "values": [ + "P1Y" + ], + "reasonCode": "NotAvailableForSubscription" + }, + { + "type": "Term", + "values": [ + "P3Y" + ], + "reasonCode": "NotAvailableForSubscription" + } + ] + }, + { + "resourceType": "VirtualMachines", + "name": "Standard_F2", + "terms": [ + "P1Y", + "P3Y" + ], + "billingPlans": { + "P1Y": [ + "Upfront", + "Monthly" + ], + "P3Y": [ + "Upfront", + "Monthly" + ] + }, + "locations": [ + "eastus" + ], + "skuProperties": [ + { + "name": "Cores", + "value": "2" + }, + { + "name": "ProductTitle", + "value": "F Series, F2" + }, + { + "name": "ProductShortName", + "value": "F Series" + }, + { + "name": "SKUName", + "value": "F2" + }, + { + "name": "MeterId", + "value": "12bc208b-083f-4901-ae85-4f98c0c3b4b8" + } + ], + "restrictions": [ + { + "type": "Location", + "values": [ + "eastus" + ], + "reasonCode": "NotAvailableForSubscription" + } + ] + } + ] + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetOperations.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetOperations.json new file mode 100644 index 000000000000..b59341efb650 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetOperations.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Capacity/reservationorders/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/write", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Create Reservations", + "description": "Create any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Update Reservations", + "description": "Update any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/delete", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Delete Reservations", + "description": "Delete any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/write", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Create Reservations", + "description": "Create any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Update Reservations", + "description": "Update any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/delete", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Delete Reservations", + "description": "Delete any Reservation" + } + }, + { + "name": "Microsoft.Capacity/reservationorders/reservations/revisions/read", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Get Reservations", + "description": "Read All Reservations" + } + }, + { + "name": "Microsoft.Capacity/register/action", + "display": { + "provider": "Microsoft Capacity", + "resource": "Reservations", + "operation": "Registers the Capacity Resource Provider.", + "description": "Registers the Capacity resource provider and enables the creation of Capacity resources." + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationDetails.json new file mode 100644 index 000000000000..30599ff43c97 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationDetails.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc", + "expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "renewSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "renewDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "billingPlan": "Monthly", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "benefitStartTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "term": "P1Y", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + }, + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_D1" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "term": "P1Y", + "quantity": 2, + "displayName": "Renew_Test_0618", + "appliedScopeType": "Shared", + "reservedResourceType": "VirtualMachines", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466.0 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466.0 + } + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetails.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetails.json new file mode 100644 index 000000000000..55e2f9f09c95 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetails.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "benefitStartTime": "2017-08-30T03:49:19.0252126Z", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json new file mode 100644 index 000000000000..bda636e7e605 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrderDetailsWithExpandPlanInformation.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9", + "$expand": "schedule" + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2019-08-30T03:49:19Z", + "createdDateTime": "2019-08-30T03:51:49Z", + "benefitStartTime": "2019-08-30T03:51:49Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7, + "planInformation": { + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "startDate": "2019-08-30", + "nextPaymentDueDate": "2019-09-30", + "transactions": [ + { + "dueDate": "2019-09-30", + "paymentDate": "2019-09-30", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-10-30", + "paymentDate": "2019-10-30", + "status": "Failed", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "extendedStatusInfo": { + "statusCode": "PaymentDeclined", + "message": "Credit card charge failed." + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-10-31", + "paymentDate": "2019-10-31", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-11-30", + "paymentDate": "2019-11-30", + "status": "Succeeded", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-07-14", + "paymentDate": "2019-06-14", + "status": "Scheduled", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + }, + { + "dueDate": "2019-06-14", + "paymentDate": "2019-08-14", + "status": "Scheduled", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 466 + }, + "billingAccount": "23456" + } + ] + } + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrders.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrders.json new file mode 100644 index 000000000000..61ef57a4a274 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationOrders.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2022-03-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1e6407ba-37a5-499f-80ed-a3f0f338e443", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1e6407ba-37a5-499f-80ed-a3f0f338e443", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-29T21:20:23.8134834Z", + "createdDateTime": "2017-08-29T21:22:56.8541664Z", + "benefitStartTime": "2017-08-29T21:20:23.8134834Z", + "expiryDate": "2018-08-29", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1e6407ba-37a5-499f-80ed-a3f0f338e443/reservations/cae5924e-7a15-419f-a369-124f52d4a106" + } + ], + "originalQuantity": 1 + } + }, + { + "id": "/providers/microsoft.capacity/reservationOrders/1ea6e203-288e-4732-b9e1-da8bbe10c614", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1ea6e203-288e-4732-b9e1-da8bbe10c614", + "etag": 7, + "properties": { + "displayName": "cabri", + "benefitStartTime": "2017-08-30T12:55:40.2799114Z", + "requestDateTime": "2017-08-30T12:55:40.2799114Z", + "createdDateTime": "2017-08-30T12:58:20.526Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1ea6e203-288e-4732-b9e1-da8bbe10c614/reservations/d04fd48d-e3f6-42a3-a8f6-1ad0b7513e48" + } + ], + "originalQuantity": 9 + } + }, + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "benefitStartTime": "2017-08-30T03:49:19.0252126Z", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + ], + "nextLink": "https://management.azure.com/providers/Microsoft.Capacity/reservationOrders?api-version=2017-11-01&%24skiptoken=eyJyZyI6IjIwNTkyMzdlLWY3MmYtNDczYi1hNTZiLWExOGJkM2UwMDhlZCIsImlnIjpudWxsLCJzdCI6bnVsbH0%3d" + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationRevisions.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationRevisions.json new file mode 100644 index 000000000000..a444849ce8ae --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationRevisions.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/4", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/4", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopeType": "Shared", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T23:57:48.1891638Z", + "lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/3", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/3", + "etag": 3, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Pending", + "message": "An operation is in progress on your reservation. Please wait for operation to complete before taking further action" + }, + "lastUpdatedDateTime": "2017-09-22T23:57:47.488284Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/2", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/2", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc/revisions/1", + "type": "Microsoft.Capacity/reservationOrders/reservations/revisions", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc/1", + "etag": 1, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Creating", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "effectiveDateTime": "2017-09-22T22:46:27.3313607Z", + "lastUpdatedDateTime": "2017-09-22T22:46:27.3313607Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservations.json new file mode 100644 index 000000000000..dac2d9a407ac --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservations.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "$filter": "(properties%2farchived+eq+false)", + "$orderby": "properties/displayName asc", + "$skiptoken": "50", + "refreshsummary": "true", + "take": "1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/00000000-0000-0000-0000-000000000001/reservations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000001/00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "location": "westus", + "sku": { + "name": "Standard_D1" + }, + "properties": { + "appliedScopes": null, + "appliedScopeType": "Shared", + "displayName": "VM_RI_07-21-2020_12-06", + "displayProvisioningState": "Succeeded", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "expiryDate": "2023-07-21", + "provisioningState": "Succeeded", + "provisioningSubState": null, + "purchaseDate": "2021-04-22", + "quantity": 2, + "renew": false, + "renewSource": "/providers/Microsoft.Capacity/reservationorders/00000000-0000-0000-0000-000000000002/reservations/00000000-0000-0000-0000-000000000003", + "reservedResourceType": "VirtualMachines", + "skuDescription": null, + "term": "P3Y", + "userFriendlyAppliedScopeType": "Shared", + "userFriendlyRenewState": "Off", + "utilization": { + "trend": "UP", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.05, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.05, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.05, + "valueUnit": "percentage" + } + ] + } + } + } + ], + "summary": { + "succeededCount": 1, + "failedCount": 0, + "expiringCount": 0, + "expiredCount": 0, + "pendingCount": 0, + "cancelledCount": 0 + }, + "nextLink": null + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationsFromOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationsFromOrder.json new file mode 100644 index 000000000000..cdea6f8404d1 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/GetReservationsFromOrder.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/bcae77cd-3119-4766-919f-b50d36c75c7a", + "etag": 10, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "benefitStartTime": "2017-09-22T01:00:30.9253826Z", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "extendedStatusInfo": { + "statusCode": "Split", + "message": "This reservation was split and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitDestinations": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 5, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "benefitStartTime": "2017-09-22T22:46:32.7632798Z", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "benefitStartTime": "2017-09-22T22:46:32.7632798Z", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "benefitStartTime": "2017-09-22T22:46:32.7632798Z", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/MergeReservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/MergeReservations.json new file mode 100644 index 000000000000..d564e8b3779f --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/MergeReservations.json @@ -0,0 +1,131 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "sources": [ + "/providers/Microsoft.Capacity/reservationOrders/c0565a8a-4491-4e77-b07b-5e6d66718e1c/reservations/cea04232-932e-47db-acb5-e29a945ecc73", + "/providers/Microsoft.Capacity/reservationOrders/c0565a8a-4491-4e77-b07b-5e6d66718e1c/reservations/5bf54dc7-dacd-4f46-a16b-7b78f4a59799" + ] + } + } + }, + "responses": { + "200": { + "body": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 5, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "extendedStatusInfo": { + "statusCode": "Merged", + "message": "This reservation was merged and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + }, + "mergeProperties": { + "mergeDestination": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T22:46:32.7632798Z", + "lastUpdatedDateTime": "2017-09-22T22:46:32.7632798Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/PurchaseReservationOrder.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/PurchaseReservationOrder.json new file mode 100644 index 000000000000..87a2de8f1870 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/PurchaseReservationOrder.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "a075419f-44cc-497f-b68a-14ee811d48b9", + "body": { + "sku": { + "name": "standard_D1" + }, + "location": "westus", + "properties": { + "reservedResourceType": "VirtualMachines", + "billingScopeId": "/subscriptions/ed3a1871-612d-abcd-a849-c2542a68be83", + "term": "P1Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "TestReservationOrder", + "appliedScopes": null, + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "renew": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "billingPlan": "Monthly", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + }, + "202": { + "body": { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "type": "Microsoft.Capacity/reservationOrders", + "name": "1f14354c-dc12-4c8d-8090-6f295a3a34aa", + "etag": 7, + "properties": { + "displayName": "cabri", + "billingPlan": "Monthly", + "requestDateTime": "2017-08-30T03:49:19.0252126Z", + "createdDateTime": "2017-08-30T03:51:49.8083758Z", + "expiryDate": "2018-08-30", + "term": "P1Y", + "provisioningState": "Succeeded", + "reservations": [ + { + "id": "/providers/microsoft.capacity/reservationOrders/1f14354c-dc12-4c8d-8090-6f295a3a34aa/reservations/c8c926bd-fc5d-4e29-9d43-b68340ac23a6" + } + ], + "originalQuantity": 7 + } + } + } + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/SplitReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/SplitReservation.json new file mode 100644 index 000000000000..ec82a3492cf7 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/SplitReservation.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "body": { + "properties": { + "quantities": [ + 1, + 2 + ], + "reservationId": "/providers/Microsoft.Capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + "responses": { + "200": { + "body": [ + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/00238563-7312-4c20-a134-8c030bf938a7", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 1, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de", + "etag": 2, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 2, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitSource": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a" + } + } + }, + { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/bcae77cd-3119-4766-919f-b50d36c75c7a", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/bcae77cd-3119-4766-919f-b50d36c75c7a", + "etag": 10, + "location": "eastus", + "properties": { + "appliedScopes": [ + "/subscriptions/98df3792-7962-4f18-8be2-d5576f122de3" + ], + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "appliedScopeType": "Single", + "quantity": 3, + "provisioningState": "Cancelled", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T01:00:30.9253826Z", + "extendedStatusInfo": { + "statusCode": "Split", + "message": "This reservation was split and is no longer active." + }, + "lastUpdatedDateTime": "2017-09-22T01:00:36.3191627Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "splitProperties": { + "splitDestinations": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + ] + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/UpdateReservation.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/UpdateReservation.json new file mode 100644 index 000000000000..6cac8a88c7a7 --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/examples/UpdateReservation.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "reservationOrderId": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da", + "reservationId": "6ef59113-3482-40da-8d79-787f823e34bc", + "parameters": { + "properties": { + "appliedScopeType": "Shared", + "instanceFlexibility": "Off" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_DS1_v2" + }, + "id": "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/6ef59113-3482-40da-8d79-787f823e34bc", + "type": "Microsoft.Capacity/reservationOrders/reservations", + "name": "276e7ae4-84d0-4da6-ab4b-d6b94f3557da/6ef59113-3482-40da-8d79-787f823e34bc", + "etag": 4, + "location": "eastus", + "properties": { + "appliedScopeType": "Shared", + "renew": false, + "billingScopeId": "/subscriptions/19376483-64b8-49e4-a931-d5248828720a", + "quantity": 3, + "provisioningState": "Succeeded", + "expiryDate": "2018-09-22", + "displayName": "cabri_test", + "billingPlan": "Monthly", + "effectiveDateTime": "2017-09-22T23:57:48.1891638Z", + "lastUpdatedDateTime": "2017-09-22T23:57:54.3768768Z", + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "skuDescription": "D1 v2", + "mergeProperties": { + "mergeSources": [ + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/00238563-7312-4c20-a134-8c030bf938a7", + "/providers/microsoft.capacity/reservationOrders/276e7ae4-84d0-4da6-ab4b-d6b94f3557da/reservations/e0e4b4f5-77ea-4984-9ee4-6bf9850ee6de" + ] + } + } + } + }, + "202": {} + } +} diff --git a/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/reservations.json b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/reservations.json new file mode 100644 index 000000000000..d55374a6946e --- /dev/null +++ b/specification/reservations/resource-manager/Microsoft.Capacity/stable/2022-03-01/reservations.json @@ -0,0 +1,2842 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Reservation API", + "description": "This API describe Azure Reservation", + "version": "2022-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/availableScopes": { + "post": { + "summary": "Get Available Scopes for `Reservation`.", + "description": "Get Available Scopes for `Reservation`.\n", + "operationId": "Reservation_AvailableScopes", + "x-ms-examples": { + "AvailableScopes": { + "$ref": "./examples/GetAvailableScope.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "tags": [ + "Reservation, AvailableScopes" + ], + "responses": { + "200": { + "description": "List of `Subscription`s created after the filter.", + "schema": { + "$ref": "#/definitions/AvailableScopeProperties" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs": { + "get": { + "summary": "Get the regions and skus that are available for RI purchase for the specified Azure subscription.", + "operationId": "GetCatalog", + "x-ms-examples": { + "Catalog": { + "$ref": "./examples/GetCatalog.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ReservedResourceTypeIdParameter" + }, + { + "$ref": "#/parameters/LocationIdParameter" + }, + { + "name": "publisherId", + "description": "Publisher id used to get the third party products", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offerId", + "description": "Offer id used to get the third party products", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "planId", + "description": "Plan id used to get the third party products", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Catalog" + ], + "responses": { + "200": { + "description": "List of available resources", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations": { + "get": { + "summary": "Get list of applicable `Reservation`s.", + "description": "Get applicable `Reservation`s that are applied to this subscription or a resource group under this subscription.", + "operationId": "GetAppliedReservationList", + "x-ms-examples": { + "AppliedReservationList": { + "$ref": "./examples/GetAppliedReservations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "tags": [ + "AppliedReservation" + ], + "responses": { + "200": { + "description": "Applicable `Reservation`s.", + "schema": { + "$ref": "#/definitions/AppliedReservations" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/calculatePrice": { + "post": { + "summary": "Calculate price for a `ReservationOrder`.", + "description": "Calculate price for placing a `ReservationOrder`.", + "operationId": "ReservationOrder_Calculate", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/CalculateReservationOrder.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Calculate" + ], + "responses": { + "200": { + "description": "Detailed price info for purchasing `ReservationOrder`", + "schema": { + "$ref": "#/definitions/CalculatePriceResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders": { + "get": { + "summary": "Get all `ReservationOrder`s.", + "description": "List of all the `ReservationOrder`s that the user has access to in the current tenant.", + "operationId": "ReservationOrder_List", + "x-ms-examples": { + "ReservationOrderList": { + "$ref": "./examples/GetReservationOrders.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of `ReservationOrder`s", + "schema": { + "$ref": "#/definitions/ReservationOrderList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}": { + "put": { + "summary": "Purchase `ReservationOrder`", + "description": "Purchase `ReservationOrder` and create resource under the specified URI.", + "operationId": "ReservationOrder_Purchase", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/PurchaseReservationOrder.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Purchase" + ], + "responses": { + "200": { + "description": "The resource has been created", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed. Operation result link is in location header.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "get": { + "summary": "Get a specific `ReservationOrder`.", + "description": "Get the details of the `ReservationOrder`.", + "operationId": "ReservationOrder_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationOrderDetails.json" + }, + "GetReservationWithExpandPayments": { + "$ref": "./examples/GetReservationOrderDetailsWithExpandPlanInformation.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the planInformation.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get the details of the `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split": { + "post": { + "summary": "Split the `Reservation`.", + "description": "Split a `Reservation` into two `Reservation`s with specified quantity distribution.", + "operationId": "Reservation_Split", + "x-ms-examples": { + "Split": { + "$ref": "./examples/SplitReservation.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SplitParameter" + } + ], + "tags": [ + "Reservation, Split" + ], + "responses": { + "200": { + "description": "List of `Reservation`s created after the split operation.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge": { + "post": { + "summary": "Merges two `Reservation`s.", + "description": "Merge the specified `Reservation`s into a new `Reservation`. The two `Reservation`s being merged must have same properties.", + "operationId": "Reservation_Merge", + "x-ms-examples": { + "Merge": { + "$ref": "./examples/MergeReservations.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MergeParameter" + } + ], + "tags": [ + "Reservation, Merge" + ], + "responses": { + "200": { + "description": "Returns the `Reservation` created after the merge.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations": { + "get": { + "summary": "Get `Reservation`s in a given reservation Order", + "description": "List `Reservation`s within a single `ReservationOrder`.", + "operationId": "Reservation_List", + "x-ms-examples": { + "ReservationList": { + "$ref": "./examples/GetReservationsFromOrder.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List `Reservation`s within a single `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}": { + "get": { + "summary": "Get `Reservation` details.", + "description": "Get specific `Reservation` details.", + "operationId": "Reservation_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationDetails.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandRenewPropertiesParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get `Reservation` details.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "summary": "Updates a `Reservation`.", + "description": "Updates the applied scopes of the `Reservation`.", + "operationId": "Reservation_Update", + "x-ms-examples": { + "PatchReservation": { + "$ref": "./examples/UpdateReservation.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PatchParameter" + } + ], + "tags": [ + "Reservation", + "ApplyScope" + ], + "responses": { + "200": { + "description": "Returns the updated `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions": { + "get": { + "summary": "Get `Reservation` revisions.", + "description": "List of all the revisions for the `Reservation`.", + "operationId": "Reservation_ListRevisions", + "x-ms-examples": { + "ReservationRevisions": { + "$ref": "./examples/GetReservationRevisions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of all the revisions for the `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/operations": { + "get": { + "summary": "Get operations.", + "description": "List all the operations.", + "operationId": "Operation_List", + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Operation" + ], + "responses": { + "200": { + "description": "List all the operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/calculateExchange": { + "post": { + "summary": "Calculates the refund amounts and price of the new purchases.", + "description": "Calculates price for exchanging `Reservations` if there are no policy errors.\n", + "operationId": "CalculateExchange_Post", + "x-ms-examples": { + "CalculateExchange": { + "$ref": "./examples/CalculateExchange.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CalculateExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeOperationResultResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/exchange": { + "post": { + "summary": "Exchange Reservation(s)", + "description": "Returns one or more `Reservations` in exchange for one or more `Reservation` purchases.\n", + "operationId": "Exchange_Post", + "x-ms-examples": { + "Exchange": { + "$ref": "./examples/Exchange.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/ExchangeOperationResultResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservations": { + "get": { + "description": "List the reservations and the roll up counts of reservations group by provisioning states that the user has access to in the current tenant.", + "operationId": "Reservation_ListAll", + "x-ms-examples": { + "Catalog": { + "$ref": "./examples/GetReservations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "description": "May be used to sort order by reservation properties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning states", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "The number of reservations to skip from the list before returning results", + "in": "query", + "required": false, + "type": "number" + }, + { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "take", + "description": "To number of reservations to return", + "in": "query", + "required": false, + "type": "number" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/changeDirectory": { + "post": { + "summary": "Change directory of `ReservationOrder`.", + "description": "Change directory (tenant) of `ReservationOrder` and all `Reservation` under it to specified tenant id", + "operationId": "ReservationOrder_ChangeDirectory", + "x-ms-examples": { + "ChangeDirectory": { + "$ref": "./examples/ChangeDirectoryReservationOrder.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ChangeDirectoryParameter" + } + ], + "tags": [ + "ReservationOrder, ChangeDirectory" + ], + "responses": { + "200": { + "description": "List of `Reservation`s created after the change directory operation.", + "schema": { + "$ref": "#/definitions/ChangeDirectoryResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "ErrorResponseCode": { + "type": "string", + "enum": [ + "NotSpecified", + "InternalServerError", + "ServerTimeout", + "AuthorizationFailed", + "BadRequest", + "ClientCertificateThumbprintNotSet", + "InvalidRequestContent", + "OperationFailed", + "HttpMethodNotSupported", + "InvalidRequestUri", + "MissingTenantId", + "InvalidTenantId", + "InvalidReservationOrderId", + "InvalidReservationId", + "ReservationIdNotInReservationOrder", + "ReservationOrderNotFound", + "InvalidSubscriptionId", + "InvalidAccessToken", + "InvalidLocationId", + "UnauthenticatedRequestsThrottled", + "InvalidHealthCheckType", + "Forbidden", + "BillingScopeIdCannotBeChanged", + "AppliedScopesNotAssociatedWithCommerceAccount", + "PatchValuesSameAsExisting", + "RoleAssignmentCreationFailed", + "ReservationOrderCreationFailed", + "ReservationOrderNotEnabled", + "CapacityUpdateScopesFailed", + "UnsupportedReservationTerm", + "ReservationOrderIdAlreadyExists", + "RiskCheckFailed", + "CreateQuoteFailed", + "ActivateQuoteFailed", + "NonsupportedAccountId", + "PaymentInstrumentNotFound", + "MissingAppliedScopesForSingle", + "NoValidReservationsToReRate", + "ReRateOnlyAllowedForEA", + "OperationCannotBePerformedInCurrentState", + "InvalidSingleAppliedScopesCount", + "InvalidFulfillmentRequestParameters", + "NotSupportedCountry", + "InvalidRefundQuantity", + "PurchaseError", + "BillingCustomerInputError", + "BillingPaymentInstrumentSoftError", + "BillingPaymentInstrumentHardError", + "BillingTransientError", + "BillingError", + "FulfillmentConfigurationError", + "FulfillmentOutOfStockError", + "FulfillmentTransientError", + "FulfillmentError", + "CalculatePriceFailed", + "AppliedScopesSameAsExisting" + ], + "x-ms-enum": { + "name": "ErrorResponseCode", + "modelAsString": true + } + }, + "ProvisioningState": { + "type": "string", + "description": "Represent the current state of the Reservation.", + "enum": [ + "Creating", + "PendingResourceHold", + "ConfirmedResourceHold", + "PendingBilling", + "ConfirmedBilling", + "Created", + "Succeeded", + "Cancelled", + "Expired", + "BillingFailed", + "Failed", + "Split", + "Merged" + ] + }, + "ReservedResourceType": { + "type": "string", + "description": "The type of the resource that is being reserved.", + "enum": [ + "VirtualMachines", + "SqlDatabases", + "SuseLinux", + "CosmosDb", + "RedHat", + "SqlDataWarehouse", + "VMwareCloudSimple", + "RedHatOsa", + "Databricks", + "AppService", + "ManagedDisk", + "BlockBlob", + "RedisCache", + "AzureDataExplorer", + "MySql", + "MariaDb", + "PostgreSql", + "DedicatedHost", + "SapHana", + "SqlAzureHybridBenefit", + "AVS", + "DataFactory", + "NetAppStorage", + "AzureFiles", + "SqlEdge" + ], + "x-ms-enum": { + "name": "ReservedResourceType", + "modelAsString": true + } + }, + "Location": { + "type": "string", + "description": "Location in which the Resources needs to be reserved. It cannot be changed after the resource has been created.", + "enum": [ + "westus", + "eastus", + "eastus2", + "northcentralus", + "westus2", + "southcentralus", + "centralus", + "westeurope", + "northeurope", + "eastasia", + "southeastasia", + "japaneast", + "japanwest", + "brazilsouth", + "australiaeast", + "australiasoutheast", + "southindia", + "westindia", + "centralindia", + "canadacentral", + "canadaeast", + "uksouth", + "westcentralus", + "ukwest" + ] + }, + "AvailableScopeRequest": { + "type": "object", + "description": "Available scope", + "properties": { + "properties": { + "$ref": "#/definitions/AvailableScopeRequestProperties" + } + } + }, + "AvailableScopeRequestProperties": { + "type": "object", + "description": "Available scope request properties", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CalculateExchangeRequest": { + "type": "object", + "description": "Calculate exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/CalculateExchangeRequestProperties" + } + } + }, + "ExchangeRequest": { + "type": "object", + "description": "Exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/ExchangeRequestProperties" + } + } + }, + "CalculateExchangeRequestProperties": { + "type": "object", + "description": "Calculate exchange request properties", + "properties": { + "reservationsToPurchase": { + "type": "array", + "description": "List of reservations that are being purchased in this exchange.", + "items": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "List of reservations that are being returned in this exchange.", + "items": { + "$ref": "#/definitions/ReservationToReturn" + } + } + } + }, + "ExchangeRequestProperties": { + "type": "object", + "description": "Exchange request properties", + "properties": { + "sessionId": { + "type": "string", + "description": "SessionId that was returned by CalculateExchange API." + } + } + }, + "ReservationToReturn": { + "type": "object", + "description": "Reservation to return", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified identifier of the Reservation being returned" + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned. Must be greater than zero." + } + } + }, + "ReservationToReturnForExchange": { + "type": "object", + "description": "Reservation refund details", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being returned." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned" + }, + "billingRefundAmount": { + "$ref": "#/definitions/Price" + }, + "billingInformation": { + "$ref": "#/definitions/BillingInformation" + }, + "status": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "BillingInformation": { + "type": "object", + "description": "billing information", + "properties": { + "billingCurrencyTotalPaidAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyProratedAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyRemainingCommitmentAmount": { + "$ref": "#/definitions/Price" + } + } + }, + "Catalog": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of SKU", + "readOnly": true + }, + "billingPlans": { + "type": "object", + "description": "The billing plan options available for this SKU.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationBillingPlan" + } + } + }, + "terms": { + "type": "array", + "readOnly": true, + "description": "Available reservation terms for this resource", + "items": { + "$ref": "#/definitions/ReservationTerm" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The set of locations that the SKU is available. If not specified, the SKU is available in all locations." + } + }, + "skuProperties": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuProperty" + } + }, + "msrp": { + "type": "object", + "readOnly": true, + "description": "Pricing information about the SKU", + "properties": { + "p1Y": { + "type": "object", + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + } + } + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuRestriction" + } + }, + "tier": { + "type": "string", + "description": "The tier of this SKU", + "readOnly": true + }, + "size": { + "type": "string", + "description": "The size of this SKU", + "readOnly": true + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuCapability" + } + } + } + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "description": "An invariant if the feature is measured by quantity." + } + } + }, + "SkuProperty": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "description": "An invariant if the feature is measured by quantity." + } + } + }, + "SkuRestriction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction." + } + } + }, + "ReservationOrderResponse": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "etag": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationOrderProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservations\"" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "PaymentStatus": { + "type": "string", + "description": "Describes whether the payment is completed, failed, cancelled or scheduled in the future.", + "enum": [ + "Succeeded", + "Failed", + "Scheduled", + "Cancelled" + ], + "x-ms-enum": { + "name": "PaymentStatus", + "modelAsString": true + } + }, + "PaymentDetail": { + "type": "object", + "description": "Information about payment related to a reservation order.", + "properties": { + "dueDate": { + "type": "string", + "format": "date", + "description": "Date when the payment needs to be done." + }, + "paymentDate": { + "type": "string", + "format": "date", + "description": "Date when the transaction is completed. Is null when it is scheduled." + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount charged in Billing currency. Tax not included. Is null for future payments" + }, + "billingAccount": { + "type": "string", + "description": "Shows the Account that is charged for this payment." + }, + "status": { + "$ref": "#/definitions/PaymentStatus" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + } + } + }, + "ReservationOrderBillingPlanInformation": { + "type": "object", + "description": "Information describing the type of billing plan for this reservation.", + "properties": { + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount of money to be paid for the Order. Tax is not included." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "Date when the billing plan has started." + }, + "nextPaymentDueDate": { + "type": "string", + "format": "date", + "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off." + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ReservationOrderProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identified the reservation." + }, + "requestDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was initially requested for purchase." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was created." + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation benefit started." + }, + "originalQuantity": { + "type": "integer", + "format": "int32", + "description": "Total Quantity of the SKUs purchased in the Reservation." + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "provisioningState": { + "description": "Current state of the reservation.", + "$ref": "#/definitions/ProvisioningState" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "planInformation": { + "$ref": "#/definitions/ReservationOrderBillingPlanInformation" + }, + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + } + }, + "DisplayProvisioningState": { + "type": "string", + "description": "Represent the current display state of the Reservation.", + "enum": [ + "Succeeded", + "Expiring", + "Expired", + "Pending", + "Cancelled", + "Failed" + ] + }, + "UserFriendlyAppliedScopeType": { + "type": "string", + "description": "The applied scope type", + "enum": [ + "None", + "Shared", + "Single", + "ResourceGroup", + "ManagementGroup" + ] + }, + "UserFriendlyRenewState": { + "type": "string", + "description": "The renew state of the reservation", + "enum": [ + "On", + "Off", + "Renewed", + "NotRenewed", + "NotApplicable" + ] + }, + "ReservationTerm": { + "type": "string", + "description": "Represent the term of Reservation.", + "enum": [ + "P1Y", + "P3Y", + "P5Y" + ], + "x-ms-enum": { + "name": "ReservationTerm", + "modelAsString": true + } + }, + "ReservationsListResult": { + "type": "object", + "description": "The list of reservations and summary of roll out count of reservations in each state.", + "properties": { + "value": { + "description": "The list of reservations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "summary": { + "description": "The roll out count summary of the reservations", + "type": "object", + "$ref": "#/definitions/ReservationSummary" + } + } + }, + "ReservationResponse": { + "description": "The definition of the reservation.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "etag": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "sku": { + "description": "The sku information associated to this reservation ", + "$ref": "#/definitions/SkuName" + }, + "properties": { + "description": "The properties associated to this reservation ", + "$ref": "#/definitions/ReservationsProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservationOrders/reservations\"" + }, + "kind": { + "type": "string", + "description": "Resource Provider type to be reserved.", + "enum": [ + "Microsoft.Compute" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": false + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "ReservationQuantity": { + "type": "integer", + "format": "int32", + "description": "Quantity of the SKUs that are part of the Reservation. Must be greater than zero." + }, + "AvailableScopeProperties": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SubscriptionScopeProperties" + } + } + }, + "SubscriptionScopeProperties": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/ScopeProperties" + } + } + } + }, + "ScopeProperties": { + "type": "object", + "properties": { + "scope": { + "type": "string" + }, + "valid": { + "type": "boolean" + } + } + }, + "InstanceFlexibility": { + "type": "string", + "description": "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type.", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "InstanceFlexibility", + "modelAsString": true + } + }, + "ReservationStatusCode": { + "type": "string", + "enum": [ + "None", + "Pending", + "Active", + "PurchaseError", + "PaymentInstrumentError", + "Split", + "Merged", + "Expired", + "Succeeded" + ], + "x-ms-enum": { + "name": "ReservationStatusCode", + "modelAsString": true + } + }, + "ExtendedStatusInfo": { + "type": "object", + "properties": { + "statusCode": { + "$ref": "#/definitions/ReservationStatusCode" + }, + "message": { + "type": "string", + "description": "The message giving detailed information about the status code." + } + } + }, + "ReservationBillingPlan": { + "type": "string", + "description": "Represent the billing plans.", + "enum": [ + "Upfront", + "Monthly" + ], + "x-ms-enum": { + "name": "ReservationBillingPlan", + "modelAsString": true + } + }, + "Renew": { + "type": "boolean", + "default": false, + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time." + }, + "RenewPropertiesResponse": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. This is locked price 30 days before expiry.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" + } + } + }, + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency for renewal purchase. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" + } + } + } + } + }, + "SkuName": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "CalculateExchangeOperationResultResponse": { + "type": "object", + "description": "CalculateExchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending" + ], + "x-ms-enum": { + "name": "CalculateExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/CalculateExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "ExchangeOperationResultResponse": { + "type": "object", + "description": "Exchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "PendingRefunds", + "PendingPurchases" + ], + "x-ms-enum": { + "name": "ExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/ExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "OperationResultError": { + "type": "object", + "description": "Required if status == failed or status == canceled.", + "properties": { + "code": { + "type": "string", + "description": "Required if status == failed or status == cancelled. If status == failed, provide an invariant error code used for error troubleshooting, aggregation, and analysis." + }, + "message": { + "type": "string", + "description": "Required if status == failed. Localized. If status == failed, provide an actionable error message indicating what error occurred, and what the user can do to address the issue." + } + } + }, + "CalculateExchangeResponseProperties": { + "type": "object", + "description": "CalculateExchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseCalculateExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangeResponseProperties": { + "type": "object", + "description": "Exchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToReturnForExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangePolicyErrors": { + "type": "object", + "description": "Exchange policy errors", + "properties": { + "policyErrors": { + "type": "array", + "description": "Exchange Policy errors", + "items": { + "$ref": "#/definitions/ExchangePolicyError" + } + } + } + }, + "ExchangePolicyError": { + "type": "object", + "description": "error details", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ReservationToExchange": { + "type": "object", + "description": "Reservation refund details", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being returned." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned" + }, + "billingRefundAmount": { + "$ref": "#/definitions/Price" + }, + "billingInformation": { + "$ref": "#/definitions/BillingInformation" + } + } + }, + "ReservationToPurchaseCalculateExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "properties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" + } + } + }, + "ReservationToPurchaseExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "reservationOrderId": { + "type": "string", + "description": "Fully qualified id of the ReservationOrder being purchased" + }, + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being purchased. This value is only guaranteed to be non-null if the purchase is successful." + }, + "properties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" + }, + "status": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "ReservationsProperties": { + "type": "object", + "description": "The properties of the reservations", + "properties": { + "reservedResourceType": { + "description": "The type of the resource that is being reserved.", + "$ref": "#/definitions/ReservedResourceType" + }, + "instanceFlexibility": { + "description": "Allows reservation discount to be applied across skus within the same Autofit group. Not all skus support instance size flexibility.", + "$ref": "#/definitions/InstanceFlexibility" + }, + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identify the reservation" + }, + "appliedScopes": { + "description": "The list of applied scopes", + "$ref": "#/definitions/AppliedScopes" + }, + "appliedScopeType": { + "description": "The applied scope type", + "$ref": "#/definitions/AppliedScopeType" + }, + "archived": { + "description": "Indicates if the reservation is archived", + "type": "boolean" + }, + "capabilities": { + "description": "Capabilities of the reservation", + "type": "string" + }, + "quantity": { + "description": "Quantity of the SKUs that are part of the Reservation.", + "$ref": "#/definitions/ReservationQuantity" + }, + "provisioningState": { + "description": "Current state of the reservation.", + "$ref": "#/definitions/ProvisioningState" + }, + "effectiveDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the Reservation starting when this version is effective from." + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation benefit started." + }, + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the last time the Reservation was updated.", + "readOnly": true + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "skuDescription": { + "type": "string", + "description": "Description of the SKU in english." + }, + "extendedStatusInfo": { + "description": "The message giving detailed information about the status code.", + "$ref": "#/definitions/ExtendedStatusInfo" + }, + "billingPlan": { + "description": "The billing plan options available for this SKU.", + "$ref": "#/definitions/ReservationBillingPlan" + }, + "displayProvisioningState": { + "description": "The provisioning state of the reservation for display, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "provisioningSubState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "purchaseDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation was purchased." + }, + "splitProperties": { + "$ref": "#/definitions/ReservationSplitProperties" + }, + "mergeProperties": { + "$ref": "#/definitions/ReservationMergeProperties" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "renew": { + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time.", + "$ref": "#/definitions/Renew" + }, + "renewSource": { + "type": "string", + "description": "Reservation Id of the reservation from which this reservation is renewed. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewDestination": { + "type": "string", + "description": "Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewProperties": { + "$ref": "#/definitions/RenewPropertiesResponse" + }, + "term": { + "description": "Represent the term of Reservation.", + "$ref": "#/definitions/ReservationTerm" + }, + "userFriendlyAppliedScopeType": { + "description": "The applied scope type of the reservation for display, e.g. Shared", + "type": "string", + "readOnly": true + }, + "userFriendlyRenewState": { + "description": "The renew state of the reservation for display, e.g. On", + "type": "string", + "readOnly": true + }, + "utilization": { + "readOnly": true, + "type": "object", + "description": "Reservation utilization", + "properties": { + "trend": { + "description": "The number of days trend for a reservation", + "readOnly": true, + "type": "string" + }, + "aggregates": { + "description": "The array of aggregates of a reservation's utilization", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationUtilizationAggregates" + } + } + } + } + } + }, + "ReservationSplitProperties": { + "type": "object", + "properties": { + "splitDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination Resource Id that are created due to split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "splitSource": { + "type": "string", + "description": "Resource Id of the Reservation from which this is split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationMergeProperties": { + "type": "object", + "properties": { + "mergeDestination": { + "type": "string", + "description": "Reservation Resource Id Created due to the merge. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "mergeSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource Ids of the Source Reservation's merged to form this Reservation. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "PurchaseRequestProperties": { + "type": "object", + "properties": { + "reservedResourceType": { + "$ref": "#/definitions/ReservedResourceType" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "quantity": { + "description": "Quantity of the SKUs that are part of the Reservation.", + "$ref": "#/definitions/ReservationQuantity" + }, + "displayName": { + "type": "string", + "description": "Friendly name of the Reservation" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "reservedResourceProperties": { + "type": "object", + "description": "Properties specific to each reserved resource type. Not required if not applicable.", + "properties": { + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + } + } + } + } + }, + "ReservationUtilizationAggregates": { + "description": "The aggregate values of reservation utilization", + "type": "object", + "properties": { + "grain": { + "description": "The grain of the aggregate", + "readOnly": true, + "type": "number" + }, + "grainUnit": { + "description": "The grain unit of the aggregate", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "The aggregate value", + "readOnly": true, + "type": "number" + }, + "valueUnit": { + "description": "The aggregate value unit", + "readOnly": true, + "type": "string" + } + } + }, + "ReservationSummary": { + "description": "The roll up count summary of reservations in each state", + "type": "object", + "properties": { + "succeededCount": { + "description": "The number of reservation in Succeeded state", + "readOnly": true, + "type": "number" + }, + "failedCount": { + "description": "The number of reservation in Failed state", + "readOnly": true, + "type": "number" + }, + "expiringCount": { + "description": "The number of reservation in Expiring state", + "readOnly": true, + "type": "number" + }, + "expiredCount": { + "description": "The number of reservation in Expired state", + "readOnly": true, + "type": "number" + }, + "pendingCount": { + "description": "The number of reservation in Pending state", + "readOnly": true, + "type": "number" + }, + "cancelledCount": { + "description": "The number of reservation in Cancelled state", + "readOnly": true, + "type": "number" + } + } + }, + "PatchProperties": { + "type": "object", + "properties": { + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + }, + "name": { + "type": "string", + "description": "Name of the Reservation" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewProperties": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" + } + } + } + } + }, + "SplitProperties": { + "type": "object", + "properties": { + "quantities": { + "type": "array", + "description": "List of the quantities in the new reservations to create.", + "items": { + "type": "integer", + "format": "int32", + "minItems": 2, + "maxItems": 2 + } + }, + "reservationId": { + "type": "string", + "description": "Resource id of the reservation to be split. Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "MergeProperties": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", + "items": { + "type": "string" + } + } + } + }, + "MergeRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MergeProperties" + } + } + }, + "PurchaseRequest": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/SkuName" + }, + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PurchaseRequestProperties" + } + } + }, + "Patch": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchProperties" + } + } + }, + "SplitRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SplitProperties" + } + } + }, + "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" + } + } + }, + "Error": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + }, + "ExtendedErrorInfo": { + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/ErrorResponseCode" + }, + "message": { + "type": "string" + } + } + }, + "ErrorDetails": { + "type": "object", + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "AppliedReservations": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the applied reservations", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of resource", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of resource. \"Microsoft.Capacity/AppliedReservations\"", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AppliedReservationsProperties" + } + } + }, + "AppliedReservationsProperties": { + "type": "object", + "properties": { + "reservationOrderIds": { + "$ref": "#/definitions/AppliedReservationList" + } + } + }, + "AppliedReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string", + "description": "Reservation resource Id. \"/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}\"" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations" + } + } + }, + "OperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of items." + } + } + }, + "OperationResponse": { + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Additional details about an operation.", + "type": "object", + "x-ms-client-flatten": true + }, + "ReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations." + } + } + }, + "ReservationOrderList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservationOrders." + } + } + }, + "AppliedScopeType": { + "type": "string", + "description": "Type of the Applied Scope.", + "enum": [ + "Single", + "Shared" + ], + "x-ms-enum": { + "name": "AppliedScopeType", + "modelAsString": true + } + }, + "AppliedScopes": { + "type": "array", + "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.", + "items": { + "type": "string", + "minItems": 1, + "maxItems": 1 + } + }, + "BillingScopeId": { + "type": "string", + "description": "Subscription that will be charged for purchasing Reservation" + }, + "Price": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "format": "double" + } + } + }, + "OperationStatus": { + "type": "string", + "description": "Status of the individual operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + }, + "CalculatePriceResponse": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CalculatePriceResponseProperties" + } + } + }, + "CalculatePriceResponseProperties": { + "type": "object", + "properties": { + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "description": "Amount in pricing currency. Tax is not included.", + "format": "double" + } + } + }, + "netTotal": { + "type": "number", + "description": "Net total amount in pricing currency.", + "format": "double" + }, + "taxTotal": { + "type": "number", + "description": "Tax amount in pricing currency.", + "format": "double" + }, + "grandTotal": { + "type": "number", + "description": "Total amount in pricing currency.", + "format": "double" + }, + "isTaxIncluded": { + "type": "boolean", + "description": "Whether or not tax is included in grand total" + }, + "isBillingPartnerManaged": { + "description": "True if billing is managed by Microsoft Partner. Used only for CSP accounts.", + "type": "boolean" + }, + "reservationOrderId": { + "description": "GUID that represents reservation order that can be placed after calculating price.", + "type": "string" + }, + "skuTitle": { + "description": "Title of SKU that is being purchased.", + "type": "string" + }, + "skuDescription": { + "description": "Description of SKU that is being purchased.", + "type": "string" + }, + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" + } + } + }, + "paymentSchedule": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ChangeDirectoryRequest": { + "type": "object", + "properties": { + "destinationTenantId": { + "description": "Tenant id GUID that reservation order is to be transferred to", + "type": "string" + } + } + }, + "ChangeDirectoryResponse": { + "type": "object", + "description": "Change directory response", + "properties": { + "reservationOrder": { + "$ref": "#/definitions/ChangeDirectoryResult" + }, + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/ChangeDirectoryResult" + } + } + } + }, + "ChangeDirectoryResult": { + "type": "object", + "description": "Change directory result for reservation order or reservation", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the reservation order or reservation" + }, + "name": { + "type": "string", + "description": "Name of the reservation order or reservation" + }, + "isSucceeded": { + "description": "True if change directory operation succeeded on this reservation order or reservation", + "type": "boolean" + }, + "error": { + "type": "string", + "description": "Error reason if operation failed. Null otherwise" + } + } + } + }, + "parameters": { + "CalculateExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing purchases and refunds that need to be executed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeRequest" + } + }, + "ExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing the refunds and purchases that need to be executed.", + "schema": { + "$ref": "#/definitions/ExchangeRequest" + } + }, + "PurchaseParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for calculate or purchase reservation", + "schema": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "ReservationIdParameter": { + "name": "reservationId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the Reservation Item" + }, + "MergeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for commercial request for a reservation", + "schema": { + "$ref": "#/definitions/MergeRequest" + } + }, + "PatchParameter": { + "name": "parameters", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to patch a reservation item", + "schema": { + "$ref": "#/definitions/Patch" + } + }, + "SplitParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to Split a reservation item", + "schema": { + "$ref": "#/definitions/SplitRequest" + } + }, + "ScopeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableScopeRequest" + } + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Supported version.", + "required": true, + "type": "string" + }, + "ExpandRenewPropertiesParameter": { + "name": "expand", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Supported value of this query is renewProperties", + "required": false, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the subscription" + }, + "ReservedResourceTypeIdParameter": { + "name": "reservedResourceType", + "x-ms-parameter-location": "method", + "in": "query", + "required": false, + "type": "string", + "description": "The type of the resource for which the skus should be provided." + }, + "LocationIdParameter": { + "name": "location", + "x-ms-parameter-location": "method", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the skus based on the location specified in this parameter. This can be an azure region or global" + }, + "ReservationOrderIdParameter": { + "name": "reservationOrderId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Order Id of the reservation" + }, + "ChangeDirectoryParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to change directory of reservation order", + "schema": { + "$ref": "#/definitions/ChangeDirectoryRequest" + } + } + } +} diff --git a/specification/reservations/resource-manager/readme.md b/specification/reservations/resource-manager/readme.md index a632e639cdd2..161b89db6d6e 100644 --- a/specification/reservations/resource-manager/readme.md +++ b/specification/reservations/resource-manager/readme.md @@ -26,9 +26,19 @@ These are the global settings for the Reservations API. ``` yaml openapi-type: arm -tag: package-2021-07-01 +tag: package-2022-03 ``` + +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: + - Microsoft.Capacity/stable/2022-03-01/reservations.json + - Microsoft.Capacity/stable/2020-10-25/quota.json +``` ### Tag: package-2021-07-01 These settings apply only when `--tag=package-2021-07-01` is specified on the command line. @@ -53,7 +63,7 @@ input-file: These settings apply only when `--tag=package-2020-11-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-11-preview' +``` yaml $(tag) == 'package-2020-11-preview' input-file: - Microsoft.Capacity/preview/2019-07-19/quota.json - Microsoft.Capacity/preview/2020-10-01-preview/reservations.json @@ -64,7 +74,7 @@ input-file: These settings apply only when `--tag=package-2020-10-preview` is specified on the command line. -```yaml $(tag) == 'package-2020-10-preview' +``` yaml $(tag) == 'package-2020-10-preview' input-file: - Microsoft.Capacity/preview/2019-07-19/quota.json - Microsoft.Capacity/preview/2020-10-01-preview/reservations.json @@ -74,7 +84,7 @@ input-file: These settings apply only when `--tag=package-preview-2019-07-19` is specified on the command line. -```yaml $(tag) == 'package-preview-2019-07-19' +``` yaml $(tag) == 'package-preview-2019-07-19' input-file: - Microsoft.Capacity/preview/2019-07-19/quota.json - Microsoft.Capacity/preview/2019-04-01/reservations.json @@ -84,7 +94,7 @@ input-file: 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.Capacity/preview/2019-04-01/reservations.json ``` @@ -152,11 +162,8 @@ See configuration in [readme.cli.md](./readme.cli.md) ## AZ - See configuration in [readme.az.md](./readme.az.md) +See configuration in [readme.az.md](./readme.az.md) ## Go See configuration in [readme.go.md](./readme.go.md) - - - diff --git a/specification/reservations/resource-manager/readme.python.md b/specification/reservations/resource-manager/readme.python.md index d9bd9e5db1df..825e203b1e90 100644 --- a/specification/reservations/resource-manager/readme.python.md +++ b/specification/reservations/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.reservations @@ -13,11 +13,6 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true -output-folder: $(python-sdks-folder)/reservations/azure-mgmt-reservations/azure/mgmt/reservations -``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/reservations/azure-mgmt-reservations -``` \ No newline at end of file +output-folder: $(python-sdks-folder)/reservations/azure-mgmt-reservations/azure/mgmt/reservations \ No newline at end of file diff --git a/specification/resourceconnector/resource-manager/readme.python.md b/specification/resourceconnector/resource-manager/readme.python.md index 340ff3700bde..25dbed6bfd65 100644 --- a/specification/resourceconnector/resource-manager/readme.python.md +++ b/specification/resourceconnector/resource-manager/readme.python.md @@ -5,20 +5,15 @@ Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2020-05-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(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/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index 65172cd6c87d..9acaa730a039 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the ResourceHealth API. ``` yaml openapi-type: arm -tag: package-2017-07 +tag: package-2020-05-01 ``` diff --git a/specification/resourcehealth/resource-manager/readme.python.md b/specification/resourcehealth/resource-manager/readme.python.md index dad5c5e7961c..4409ac7713f2 100644 --- a/specification/resourcehealth/resource-manager/readme.python.md +++ b/specification/resourcehealth/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-resourcehealth @@ -23,7 +23,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/resourcehealth/azure-mgmt-resourcehealth/azure/mgmt/resourcehealth/ -clear-output-folder: false perform-load: false ``` ### Tag: package-2015-01 and python diff --git a/specification/resourcemover/resource-manager/Microsoft.Migrate/stable/2021-08-01/resourcemovercollection.json b/specification/resourcemover/resource-manager/Microsoft.Migrate/stable/2021-08-01/resourcemovercollection.json index f486dab2c1a0..350e04c1596b 100644 --- a/specification/resourcemover/resource-manager/Microsoft.Migrate/stable/2021-08-01/resourcemovercollection.json +++ b/specification/resourcemover/resource-manager/Microsoft.Migrate/stable/2021-08-01/resourcemovercollection.json @@ -1388,7 +1388,10 @@ "type": "array", "items": { "$ref": "#/definitions/Summary" - } + }, + "x-ms-identifiers": [ + "item" + ] } } }, @@ -1800,7 +1803,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationsDiscovery" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Gets or sets the value of next link.", @@ -1841,6 +1847,7 @@ "items": { "$ref": "#/definitions/MoveResourceErrorBody" }, + "x-ms-identifiers": [], "description": "A list of additional details about the error." } }, @@ -2008,7 +2015,10 @@ "type": "array", "items": { "$ref": "#/definitions/SubnetResourceSettings" - } + }, + "x-ms-identifiers": [ + "/networkSecurityGroup/sourceArmResourceId" + ] } }, "x-ms-discriminator-value": "Microsoft.Network/virtualNetworks" @@ -2062,7 +2072,10 @@ "type": "array", "items": { "$ref": "#/definitions/NicIpConfigurationResourceSettings" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "enableAcceleratedNetworking": { "description": "Gets or sets a value indicating whether accelerated networking is enabled.", @@ -2150,14 +2163,20 @@ "type": "array", "items": { "$ref": "#/definitions/LoadBalancerBackendAddressPoolReference" - } + }, + "x-ms-identifiers": [ + "sourceArmResourceId" + ] }, "loadBalancerNatRules": { "description": "Gets or sets the references of the load balancer NAT rules.", "type": "array", "items": { "$ref": "#/definitions/LoadBalancerNatRuleReference" - } + }, + "x-ms-identifiers": [ + "sourceArmResourceId" + ] }, "publicIp": { "$ref": "#/definitions/PublicIpReference" @@ -2232,7 +2251,10 @@ "type": "array", "items": { "$ref": "#/definitions/NsgSecurityRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "x-ms-discriminator-value": "Microsoft.Network/networkSecurityGroups" @@ -2297,14 +2319,18 @@ "type": "array", "items": { "$ref": "#/definitions/LBFrontendIPConfigurationResourceSettings" - } + }, + "x-ms-identifiers": [] }, "backendAddressPools": { "description": "Gets or sets the backend address pools of the load balancer.", "type": "array", "items": { "$ref": "#/definitions/LBBackendAddressPoolResourceSettings" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "zones": { "description": "Gets or sets the csv list of zones common for all frontend IP configurations. Note this is given\r\n precedence only if frontend IP configurations settings are not present.", @@ -2482,6 +2508,7 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [], "description": "A list of additional details about the error." } }, @@ -2548,7 +2575,8 @@ "description": "The error details.", "items": { "$ref": "#/definitions/OperationStatusError" - } + }, + "x-ms-identifiers": [] }, "additionalInfo": { "readOnly": true, @@ -2556,7 +2584,8 @@ "description": "The additional info.", "items": { "$ref": "#/definitions/OperationErrorAdditionalInfo" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/resourcemover/resource-manager/readme.python.md b/specification/resourcemover/resource-manager/readme.python.md index 0d7425442463..61932823600c 100644 --- a/specification/resourcemover/resource-manager/readme.python.md +++ b/specification/resourcemover/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-resourcemover clear-output-folder: true -no-namespace-folders: true +namespace: azure.mgmt.resourcemover package-version: 1.0.0b1 ``` -```yaml $(python) && $(python-mode) == 'update' && $(track2) +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover/azure/mgmt/resourcemover ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/resourcemover/azure-mgmt-resourcemover -``` diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/GetPrivateLinkAssociation.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/GetPrivateLinkAssociation.json index 89021a2e220f..ae8c7d6b720e 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/GetPrivateLinkAssociation.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/GetPrivateLinkAssociation.json @@ -1,24 +1,21 @@ { "parameters": { + "plaId": "00000000-0000-0000-0000-000000000000", "groupId": "my-management-group", "api-version": "2020-05-01" }, "responses": { "200": { "body": { - "value": [ - { - "properties": { - "privateLink": "00000000-0000-0000-0000-000000000000", - "publicNetworkAccess": "Enabled", - "tenantID": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", - "scope": "/providers/Microsoft.Management/managementGroups/my-management-group" - }, - "id": "00000000-0000-0000-0000-000000000000", - "type": "Microsoft.Authorization/privateLinkAssociations", - "name": "my-pla" - } - ] + "properties": { + "privateLink": "00000000-0000-0000-0000-000000000000", + "publicNetworkAccess": "Enabled", + "tenantID": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "scope": "/providers/Microsoft.Management/managementGroups/my-management-group" + }, + "id": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/privateLinkAssociations", + "name": "my-pla" } } } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListPrivateLinkAssociation.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListPrivateLinkAssociation.json new file mode 100644 index 000000000000..89021a2e220f --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListPrivateLinkAssociation.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "groupId": "my-management-group", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateLink": "00000000-0000-0000-0000-000000000000", + "publicNetworkAccess": "Enabled", + "tenantID": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "scope": "/providers/Microsoft.Management/managementGroups/my-management-group" + }, + "id": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/privateLinkAssociations", + "name": "my-pla" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListResourceGroupResourceManagementPrivateLink.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListResourceGroupResourceManagementPrivateLink.json new file mode 100644 index 000000000000..846f33d6aa0a --- /dev/null +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListResourceGroupResourceManagementPrivateLink.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "my-resource-group", + "api-version": "2020-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "privateEndpointConnections": [] + }, + "id": "00000000-0000-0000-0000-000000000000", + "name": "my-pla", + "type": "Microsoft.Authorization/privateLinkAssociations", + "location": "eastus" + }, + { + "properties": { + "privateEndpointConnections": [] + }, + "id": "00000000-0000-0000-0000-000000000001", + "name": "my-pla2", + "type": "Microsoft.Authorization/privateLinkAssociations", + "location": "eastus" + } + ] + } + } + } +} diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListResourceManagementPrivateLink.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListSubscriptionResourceManagementPrivateLink.json similarity index 100% rename from specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListResourceManagementPrivateLink.json rename to specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/ListSubscriptionResourceManagementPrivateLink.json diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutPrivateLinkAssociation.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutPrivateLinkAssociation.json index 44ebe70b1bce..80cf3ff3337c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutPrivateLinkAssociation.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutPrivateLinkAssociation.json @@ -4,8 +4,10 @@ "groupId": "my-management-group", "api-version": "2020-05-01", "parameters": { - "privateLink": "00000000-0000-0000-0000-000000000000", - "publicNetworkAccess": "Enabled" + "properties": { + "privateLink": "00000000-0000-0000-0000-000000000000", + "publicNetworkAccess": "Enabled" + } } }, "responses": { @@ -21,6 +23,19 @@ "type": "Microsoft.Authorization/privateLinkAssociations", "name": "my-pla" } + }, + "201": { + "body": { + "properties": { + "privateLink": "00000000-0000-0000-0000-000000000000", + "publicNetworkAccess": "Enabled", + "tenantID": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "scope": "/providers/Microsoft.Management/managementGroups/my-management-group" + }, + "id": "00000000-0000-0000-0000-000000000000", + "type": "Microsoft.Authorization/privateLinkAssociations", + "name": "my-pla" + } } } } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutResourceManagementPrivateLink.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutResourceManagementPrivateLink.json index c4bfd6816823..dd7d79038360 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutResourceManagementPrivateLink.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/examples/PutResourceManagementPrivateLink.json @@ -19,6 +19,17 @@ "type": "Microsoft.Authorization/privateLinkAssociations", "location": "eastus" } + }, + "201": { + "body": { + "properties": { + "privateEndpointConnections": [] + }, + "id": "00000000-0000-0000-0000-000000000000", + "name": "my-pla", + "type": "Microsoft.Authorization/privateLinkAssociations", + "location": "eastus" + } } } } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/locks.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/locks.json index 9a58ec7f0eca..cdf8070f209c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/locks.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/locks.json @@ -1075,6 +1075,9 @@ "items": { "$ref": "#/definitions/ManagementLockOwner" }, + "x-ms-identifiers": [ + "applicationId" + ], "description": "The owners of the lock." } }, @@ -1167,6 +1170,7 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [], "description": "List of Microsoft.Authorization operations." }, "nextLink": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/privateLinks.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/privateLinks.json index 20bbc6b91487..7745b5ea7cc9 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/privateLinks.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-05-01/privateLinks.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "PolicyClient", + "title": "ResourcePrivateLinkClient", "version": "2020-05-01", - "description": "To manage and control access to your resources, you can define customized policies and assign them at a scope." + "description": "Provides operations for managing private link resources" }, "host": "management.azure.com", "schemes": [ @@ -56,7 +56,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PrivateLinkAssociationProperties" + "$ref": "#/definitions/PrivateLinkAssociationObject" }, "description": "Parameters supplied to create the private link association." } @@ -68,6 +68,12 @@ "$ref": "#/definitions/PrivateLinkAssociation" } }, + "201": { + "description": "Created - Returns information about the new private link association.", + "schema": { + "$ref": "#/definitions/PrivateLinkAssociation" + } + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -81,6 +87,43 @@ } } }, + "get": { + "tags": [ + "PrivateLinkAssociation" + ], + "operationId": "PrivateLinkAssociation_Get", + "description": "Get a single private link association", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/PrivateLinkAssociationIdParameter" + } + ], + "responses": { + "200": { + "description": "Ok. The request has succeeded", + "schema": { + "$ref": "#/definitions/PrivateLinkAssociation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a single private link association.": { + "$ref": "./examples/GetPrivateLinkAssociation.json" + } + } + }, "delete": { "tags": [ "PrivateLinkAssociation" @@ -124,7 +167,7 @@ "tags": [ "PrivateLinkAssociation" ], - "operationId": "PrivateLinkAssociation_Get", + "operationId": "PrivateLinkAssociation_List", "description": "Get a private link association for a management group scope", "parameters": [ { @@ -150,7 +193,7 @@ }, "x-ms-examples": { "Get a private link association for a MG scope.": { - "$ref": "./examples/GetPrivateLinkAssociation.json" + "$ref": "./examples/ListPrivateLinkAssociation.json" } } } @@ -171,7 +214,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "description": "The name of the resource group. The name is case insensitive.", "minLength": 1, "maxLength": 90 }, @@ -193,7 +236,13 @@ ], "responses": { "200": { - "description": "OK. The request has succeeded.", + "description": "OK. Returns information about the Resource Management Private Link.", + "schema": { + "$ref": "#/definitions/ResourceManagementPrivateLink" + } + }, + "201": { + "description": "Created. Returns information about the Resource Management Private Link.", "schema": { "$ref": "#/definitions/ResourceManagementPrivateLink" } @@ -226,7 +275,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "description": "The name of the resource group. The name is case insensitive.", "minLength": 1, "maxLength": 90 }, @@ -272,7 +321,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "description": "The name of the resource group. The name is case insensitive.", "minLength": 1, "maxLength": 90 }, @@ -335,13 +384,67 @@ }, "x-ms-examples": { "Delete a Resource Management Private Link.": { - "$ref": "./examples/ListResourceManagementPrivateLink.json" + "$ref": "./examples/ListSubscriptionResourceManagementPrivateLink.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/resourceManagementPrivateLinks": { + "get": { + "tags": [ + "ResourceManagementPrivateLink" + ], + "operationId": "ResourceManagementPrivateLink_ListByResourceGroup", + "description": "Get all the resource management private links in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok - Returns an array of private links.", + "schema": { + "$ref": "#/definitions/ResourceManagementPrivateLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a Resource Management Private Link.": { + "$ref": "./examples/ListResourceGroupResourceManagementPrivateLink.json" } } } } }, "definitions": { + "PrivateLinkAssociationObject": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkAssociationProperties", + "description": "The properties of the PrivateLinkAssociation." + } + } + }, "PrivateLinkAssociationProperties": { "type": "object", "properties": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json index 2e6c787d2834..1230fb65f259 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json @@ -167,6 +167,10 @@ "items": { "$ref": "#/definitions/DataManifestCustomResourceFunctionDefinition" }, + "x-ms-identifiers": [ + "name", + "fullyQualifiedResourceType" + ], "description": "An array of data manifest custom resource definition." } }, @@ -196,6 +200,9 @@ "items": { "$ref": "../../../Microsoft.Resources/stable/2020-06-01/resources.json#/definitions/Alias" }, + "x-ms-identifiers": [ + "name" + ], "description": "The aliases for property names." } }, @@ -223,6 +230,9 @@ "items": { "$ref": "#/definitions/ResourceTypeAliases" }, + "x-ms-identifiers": [ + "resourceType" + ], "description": "An array of resource type aliases." }, "effects": { @@ -230,6 +240,9 @@ "items": { "$ref": "#/definitions/DataEffect" }, + "x-ms-identifiers": [ + "name" + ], "description": "The effect definition." }, "fieldValues": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyAssignments.json index 774fbb3c0d9d..52286009c752 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyAssignments.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyAssignments.json @@ -765,6 +765,10 @@ "items": { "$ref": "#/definitions/NonComplianceMessage" }, + "x-ms-identifiers": [ + "message", + "policyDefinitionReferenceId" + ], "description": "The messages that describe why a resource is non-compliant with the policy." } }, diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json index 91e32c41f0c6..2ba6c22217af 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policyDefinitions.json @@ -566,6 +566,7 @@ "items": { "type": "object" }, + "x-ms-identifiers": [], "description": "The allowed values for the parameter." }, "defaultValue": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json index 37fc417b421f..c2b0255ceb9b 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2021-06-01/policySetDefinitions.json @@ -550,6 +550,9 @@ "items": { "$ref": "#/definitions/PolicyDefinitionReference" }, + "x-ms-identifiers": [ + "policyDefinitionReferenceId" + ], "description": "An array of policy definition references." }, "policyDefinitionGroups": { @@ -557,6 +560,9 @@ "items": { "$ref": "#/definitions/PolicyDefinitionGroup" }, + "x-ms-identifiers": [ + "name" + ], "description": "The metadata describing groups of policy definition references within the policy set definition." } }, diff --git a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json index 64550d6d16e1..378154ffc4c9 100644 --- a/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json +++ b/specification/resources/resource-manager/Microsoft.Features/stable/2021-07-01/features.json @@ -395,6 +395,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Features operations." }, "nextLink": { @@ -432,7 +435,8 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDefinition" - } + }, + "x-ms-identifiers": [] } } } diff --git a/specification/resources/resource-manager/Microsoft.Resources/preview/2022-03-01-preview/changes.json b/specification/resources/resource-manager/Microsoft.Resources/preview/2022-03-01-preview/changes.json index 50a9fb675edc..d8b81c34aac2 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/preview/2022-03-01-preview/changes.json +++ b/specification/resources/resource-manager/Microsoft.Resources/preview/2022-03-01-preview/changes.json @@ -66,10 +66,10 @@ "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/top" + "$ref": "#/parameters/$top" }, { - "$ref": "#/parameters/skipToken" + "$ref": "#/parameters/$skipToken" } ], "responses": { @@ -308,7 +308,8 @@ "readOnly": true, "enum": [ "User", - "System" + "System", + "Create" ], "x-ms-enum": { "name": "ChangeCategory", @@ -400,23 +401,23 @@ "description": "The ID of the change resource", "x-ms-parameter-location": "method" }, - "top": { + "$top": { "required": false, "default": 100, "description": "(Optional) Set the maximum number of results per response.", "in": "query", - "maximum": 999, + "maximum": 100, "minimum": 1, - "name": "top", + "name": "$top", "type": "integer", "format": "int64", "x-ms-parameter-location": "method" }, - "skipToken": { + "$skipToken": { "required": false, "description": "(Optional) The page-continuation token", "in": "query", - "name": "skipToken", + "name": "$skipToken", "type": "string", "x-ms-parameter-location": "method" } diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/links.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/links.json index 3e40f3b45996..fc6bd702fd51 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/links.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2016-09-01/links.json @@ -363,6 +363,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Resources operations." }, "nextLink": { diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json index b45427c6a5c6..96ed5637d6f8 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json @@ -4781,6 +4781,7 @@ "items": { "$ref": "#/definitions/AliasPath" }, + "x-ms-identifiers": [], "description": "The paths for an alias." }, "type": { diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json index 2d344824ae5b..2cb992cdb75a 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2020-10-01/deploymentScripts.json @@ -593,7 +593,10 @@ "type": "array", "items": { "$ref": "#/definitions/EnvironmentVariable" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "forceUpdateTag": { "type": "string", diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/subscriptions.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/subscriptions.json index e8fe4a1afdf4..3e83a8bd8f27 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/subscriptions.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-01-01/subscriptions.json @@ -474,6 +474,9 @@ "items": { "$ref": "#/definitions/ManagedByTenant" }, + "x-ms-identifiers": [ + "tenantId" + ], "description": "An array containing the tenants managing the subscription." }, "tags": { @@ -722,6 +725,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Resources operations." }, "nextLink": { @@ -765,6 +771,9 @@ "items": { "$ref": "#/definitions/AvailabilityZonePeers" }, + "x-ms-identifiers": [ + "availabilityZone" + ], "description": "The Availability Zones shared by the subscriptions." } } @@ -782,6 +791,10 @@ "items": { "$ref": "#/definitions/Peers" }, + "x-ms-identifiers": [ + "availabilityZone", + "subscriptionId" + ], "description": "Details of shared availability zone." } }, diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json index 62cc74084494..f8d84a66bd1b 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-04-01/resources.json @@ -4908,6 +4908,7 @@ "items": { "$ref": "#/definitions/AliasPath" }, + "x-ms-identifiers": [], "description": "The paths for an alias." }, "type": { @@ -4991,6 +4992,10 @@ "items": { "$ref": "#/definitions/ProviderExtendedLocation" }, + "x-ms-identifiers": [ + "location", + "type" + ], "description": "The location mappings that are supported by this resource type." }, "aliases": { @@ -4998,6 +5003,9 @@ "items": { "$ref": "#/definitions/Alias" }, + "x-ms-identifiers": [ + "name" + ], "description": "The aliases that are supported by this resource type." }, "apiVersions": { @@ -5016,7 +5024,10 @@ "type": "array", "items": { "$ref": "#/definitions/ZoneMapping" - } + }, + "x-ms-identifiers": [ + "location" + ] }, "apiProfiles": { "type": "array", @@ -5024,6 +5035,10 @@ "items": { "$ref": "#/definitions/ApiProfile" }, + "x-ms-identifiers": [ + "apiVersion", + "profileVersion" + ], "description": "The API profiles for the resource provider." }, "capabilities": { @@ -5068,6 +5083,9 @@ "items": { "$ref": "#/definitions/ProviderResourceType" }, + "x-ms-identifiers": [ + "resourceType" + ], "description": "The collection of provider resource types." }, "providerAuthorizationConsentState": { @@ -5407,6 +5425,9 @@ "items": { "$ref": "#/definitions/ProviderResourceType" }, + "x-ms-identifiers": [ + "resourceType" + ], "description": "An array of resource types." }, "nextLink": { @@ -6126,6 +6147,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Resources operations." }, "nextLink": { @@ -6207,6 +6231,9 @@ "items": { "$ref": "#/definitions/WhatIfPropertyChange" }, + "x-ms-identifiers": [ + "path" + ], "description": "Nested property changes." } }, @@ -6287,6 +6314,9 @@ "items": { "$ref": "#/definitions/WhatIfPropertyChange" }, + "x-ms-identifiers": [ + "path" + ], "description": "The predicted changes to resource properties." } } @@ -6299,6 +6329,10 @@ "items": { "$ref": "#/definitions/WhatIfChange" }, + "x-ms-identifiers": [ + "resourceId", + "changeType" + ], "description": "List of resource changes predicted by What-If operation." } } @@ -6454,6 +6488,7 @@ "items": { "$ref": "#/definitions/Permission" }, + "x-ms-identifiers": [], "description": "Role definition permissions." }, "scopes": { @@ -6505,6 +6540,7 @@ "items": { "$ref": "#/definitions/ProviderPermission" }, + "x-ms-identifiers": [], "description": "An array of provider permissions." }, "nextLink": { diff --git a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/templateSpecs.json b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/templateSpecs.json index e6a6b1c38e21..fdcc5063ece1 100644 --- a/specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/templateSpecs.json +++ b/specification/resources/resource-manager/Microsoft.Resources/stable/2021-05-01/templateSpecs.json @@ -745,6 +745,9 @@ "items": { "$ref": "#/definitions/LinkedTemplateArtifact" }, + "x-ms-identifiers": [ + "path" + ], "description": "An array of linked template artifacts." }, "metadata": { diff --git a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json index 783627c1c356..bd7b751c934a 100644 --- a/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json +++ b/specification/resources/resource-manager/Microsoft.Solutions/stable/2018-06-01/managedapplications.json @@ -1147,14 +1147,22 @@ "type": "array", "items": { "$ref": "#/definitions/ApplicationProviderAuthorization" - } + }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ] }, "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/ApplicationArtifact" - } + }, + "x-ms-identifiers": [ + "name", + "uri" + ] }, "description": { "type": "string", @@ -1514,6 +1522,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of Microsoft.Solutions operations." }, "nextLink": { 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 index 49a2f615d2cd..b0a8ddd1c017 100644 --- 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 @@ -55,7 +55,7 @@ "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" } } }, @@ -113,7 +113,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -161,7 +161,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -230,7 +230,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -295,7 +295,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -350,7 +350,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -401,7 +401,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -470,7 +470,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -517,7 +517,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -566,7 +566,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -600,7 +600,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -639,7 +639,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -673,7 +673,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -723,7 +723,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -766,7 +766,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -814,7 +814,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -875,7 +875,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -931,7 +931,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -977,7 +977,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -1008,7 +1008,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -1049,7 +1049,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -1096,7 +1096,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1154,7 +1154,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -1210,7 +1210,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1279,7 +1279,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2062,24 +2062,6 @@ ], "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": { @@ -2333,22 +2315,6 @@ } } }, - "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": [ diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index 5270477e4615..ec622ebd2ac7 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -2,7 +2,7 @@ These settings apply only when `--python` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-resource @@ -15,7 +15,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(multiapi) && $(track2) +```yaml $(multiapi) && $(python) clear-output-folder: true batch: - tag: package-privatelinks-2020-05 @@ -76,7 +76,6 @@ batch: package-name: azure-mgmt-resource#privatelinks multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/privatelinks -clear-output-folder: false perform-load: false ``` @@ -84,7 +83,6 @@ perform-load: false package-name: azure-mgmt-resource#features multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/features -clear-output-folder: false perform-load: false ``` @@ -92,7 +90,6 @@ perform-load: false package-name: azure-mgmt-resource#policy multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/policy -clear-output-folder: false perform-load: false ``` @@ -100,7 +97,6 @@ perform-load: false package-name: azure-mgmt-resource#resources multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/resources -clear-output-folder: false perform-load: false ``` @@ -108,7 +104,6 @@ perform-load: false package-name: azure-mgmt-resource#subscriptions multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/subscriptions -clear-output-folder: false perform-load: false ``` @@ -116,7 +111,6 @@ perform-load: false package-name: azure-mgmt-resource#deploymentscripts multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/deploymentscripts -clear-output-folder: false perform-load: false ``` @@ -125,7 +119,6 @@ perform-load: false package-name: azure-mgmt-resource#templatespecs multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/templatespecs -clear-output-folder: false perform-load: false ``` @@ -134,7 +127,6 @@ perform-load: false package-name: azure-mgmt-resource#locks multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/locks -clear-output-folder: false perform-load: false ``` @@ -142,7 +134,6 @@ perform-load: false package-name: azure-mgmt-resource#links multiapiscript: true output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/links -clear-output-folder: false perform-load: false ``` @@ -582,7 +573,7 @@ namespace: azure.mgmt.resource.templatespecs.v2021_05_01 output-folder: $(python-sdks-folder)/resources/azure-mgmt-resource/azure/mgmt/resource/templatespecs/v2021_05_01 ``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/scheduler/resource-manager/readme.python.md b/specification/scheduler/resource-manager/readme.python.md index 4365d0801e93..77ae55d29466 100644 --- a/specification/scheduler/resource-manager/readme.python.md +++ b/specification/scheduler/resource-manager/readme.python.md @@ -4,20 +4,7 @@ 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) && !$(track2) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.scheduler - package-name: azure-mgmt-scheduler - package-version: 0.1.0 - clear-output-folder: true -``` - -``` yaml $(python) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.scheduler @@ -25,23 +12,8 @@ package-name: azure-mgmt-scheduler package-version: 7.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler/azure/mgmt/scheduler -``` - -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler/azure/mgmt/scheduler ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/scheduler/azure-mgmt-scheduler -``` \ No newline at end of file diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateAlias.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateAlias.json new file mode 100644 index 000000000000..59f790f47b52 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateAlias.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2021-04-30-Preview", + "alias": { + "name": "production", + "indexes": [ + "hotels" + ] + } + }, + "responses": { + "201": { + "body": { + "name": "production", + "indexes": [ + "hotels" + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateOrUpdateAlias.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateOrUpdateAlias.json new file mode 100644 index 000000000000..3b73e7324b38 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceCreateOrUpdateAlias.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "aliasName": "production", + "api-version": "2021-04-30-Preview", + "Prefer": "return=representation", + "alias": { + "name": "production", + "indexes": [ + "hotels" + ] + } + }, + "responses": { + "200": { + "body": { + "name": "production", + "indexes": [ + "hotels" + ] + } + }, + "201": { + "body": { + "name": "production", + "indexes": [ + "hotels" + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceDeleteAlias.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceDeleteAlias.json new file mode 100644 index 000000000000..f212e730e004 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceDeleteAlias.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "aliasName": "staging", + "api-version": "2021-04-30-Preview" + }, + "responses": { + "204": {}, + "404": {} + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetAlias.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetAlias.json new file mode 100644 index 000000000000..987860f25b56 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetAlias.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "aliasName": "production", + "api-version": "2021-04-30-Preview" + }, + "responses": { + "200": { + "body": { + "name": "production", + "indexes": [ + "hotels" + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetIndexerStatus.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetIndexerStatus.json index 8fb985c0b4a7..bc5b41da587d 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetIndexerStatus.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetIndexerStatus.json @@ -79,7 +79,7 @@ } ], "limits": { - "maxRunTime": "22:00:00", + "maxRunTime": "P1D", "maxDocumentExtractionSize": 256000000, "maxDocumentContentCharactersToExtract": 4000000 } diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetServiceStatistics.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetServiceStatistics.json index e7f6d7adfc3a..4b6c0857fbc2 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetServiceStatistics.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceGetServiceStatistics.json @@ -7,6 +7,10 @@ "200": { "body": { "counters": { + "aliasesCount": { + "usage": 2, + "quota": 3 + }, "documentCount": { "usage": 7093, "quota": 10000 diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceListAliases.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceListAliases.json new file mode 100644 index 000000000000..d7ab32163327 --- /dev/null +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/examples/SearchServiceListAliases.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "https://myservice.search.windows.net", + "api-version": "2021-04-30-Preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "production", + "indexes": [ + "hotels" + ] + }, + { + "name": "staging", + "indexes": [ + "testindex" + ] + } + ] + } + } + } +} diff --git a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json index b38717c00679..c732c2a60c07 100644 --- a/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json +++ b/specification/search/data-plane/Azure.Search/preview/2021-04-30-Preview/searchservice.json @@ -1732,6 +1732,263 @@ } } }, + "/aliases": { + "post": { + "tags": [ + "Aliases" + ], + "operationId": "Aliases_Create", + "x-ms-examples": { + "SearchServiceCreateAlias": { + "$ref": "./examples/SearchServiceCreateAlias.json" + } + }, + "description": "Creates a new search alias.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Create-Alias" + }, + "parameters": [ + { + "name": "alias", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchAlias" + }, + "description": "The definition of the alias to create." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchAlias" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Aliases" + ], + "operationId": "Aliases_List", + "x-ms-examples": { + "SearchServiceListAliases": { + "$ref": "./examples/SearchServiceListAliases.json" + } + }, + "description": "Lists all aliases available for a search service.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/List-Aliases" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/ListAliasesResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/aliases('{aliasName}')": { + "put": { + "tags": [ + "Aliases" + ], + "operationId": "Aliases_CreateOrUpdate", + "x-ms-examples": { + "SearchServiceCreateOrUpdateAlias": { + "$ref": "./examples/SearchServiceCreateOrUpdateAlias.json" + } + }, + "description": "Creates a new search alias or updates an alias if it already exists.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Update-Alias" + }, + "parameters": [ + { + "name": "aliasName", + "in": "path", + "required": true, + "type": "string", + "description": "The definition of the alias to create or update." + }, + { + "name": "alias", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchAlias" + }, + "description": "The definition of the alias to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/PreferHeaderParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchAlias" + } + }, + "201": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchAlias" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "delete": { + "tags": [ + "Aliases" + ], + "operationId": "Aliases_Delete", + "x-ms-examples": { + "SearchServiceDeleteAlias": { + "$ref": "./examples/SearchServiceDeleteAlias.json" + } + }, + "description": "Deletes a search alias and its associated mapping to an index. This operation is permanent, with no recovery option. The mapped index is untouched by this operation.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Delete-Alias" + }, + "parameters": [ + { + "name": "aliasName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the alias to delete." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/IfMatchParameter" + }, + { + "$ref": "#/parameters/IfNoneMatchParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "204": { + "description": "" + }, + "404": { + "description": "" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + }, + "get": { + "tags": [ + "Aliases" + ], + "operationId": "Aliases_Get", + "x-ms-examples": { + "SearchServiceGetAlias": { + "$ref": "./examples/SearchServiceGetAlias.json" + } + }, + "description": "Retrieves an alias definition.", + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Get-Alias" + }, + "parameters": [ + { + "name": "aliasName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the alias to retrieve." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "x-ms-request-id": "request-id", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/SearchAlias" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "#/definitions/SearchError" + } + } + } + } + }, "/servicestats": { "get": { "tags": [ @@ -3078,6 +3335,7 @@ } }, "LexicalNormalizer": { + "discriminator": "@odata.type", "properties": { "@odata.type": { "type": "string", @@ -7550,6 +7808,34 @@ ], "description": "Represents a search index definition, which describes the fields and search behavior of an index." }, + "SearchAlias": { + "properties": { + "name": { + "externalDocs": { + "url": "https://docs.microsoft.com/rest/api/searchservice/Naming-rules" + }, + "type": "string", + "description": "The name of the alias." + }, + "indexes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The name of the index this alias maps to. Only one index name may be specified." + }, + "@odata.etag": { + "x-ms-client-name": "ETag", + "type": "string", + "description": "The ETag of the alias." + } + }, + "required": [ + "name", + "indexes" + ], + "description": "Represents an index alias, which describes a mapping from the alias name to an index. The alias name can be used in place of the index name for supported operations." + }, "GetIndexStatisticsResult": { "properties": { "documentCount": { @@ -7590,6 +7876,23 @@ ], "description": "Response from a List Indexes request. If successful, it includes the full definitions of all indexes." }, + "ListAliasesResult": { + "properties": { + "value": { + "x-ms-client-name": "Aliases", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SearchAlias" + }, + "description": "The aliases in the Search service." + } + }, + "required": [ + "value" + ], + "description": "Response from a List Aliases request. If successful, it includes the associated index mappings for all aliases." + }, "SearchIndexerSkillset": { "properties": { "name": { @@ -9986,6 +10289,11 @@ }, "ServiceCounters": { "properties": { + "aliasesCount": { + "x-ms-client-name": "aliasCounter", + "$ref": "#/definitions/ResourceCounter", + "description": "Total number of aliases." + }, "documentCount": { "x-ms-client-name": "documentCounter", "$ref": "#/definitions/ResourceCounter", diff --git a/specification/search/data-plane/Azure.Search/readme.md b/specification/search/data-plane/Azure.Search/readme.md index 4f38f7a24b61..0350400c399e 100644 --- a/specification/search/data-plane/Azure.Search/readme.md +++ b/specification/search/data-plane/Azure.Search/readme.md @@ -112,6 +112,10 @@ directive: - $.definitions.ListIndexesResult.properties.value suppress: - RequiredReadOnlyProperties + - where: + - $.definitions.ListAliasesResult.properties.value + suppress: + - RequiredReadOnlyProperties - where: - $.definitions.ListSkillsetsResult.properties.value suppress: diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json new file mode 100644 index 000000000000..16bc548f5cc3 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "service": { + "location": "westus", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ], + "bypass": "AzurePortal" + }, + "hostingMode": "default" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ], + "bypass": "AzurePortal" + }, + "privateEndpointConnections": [], + "sharedPrivateLinkResources": [], + "encryptionWithCmk": { + "enforcement": "Unspecified", + "encryptionComplianceStatus": "Compliant" + }, + "disableLocalAuth": false, + "authOptions": { + "apiKeyOnly": {} + }, + "disabledDataExfiltrationOptions": [] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 1, + "partitionCount": 1, + "status": "provisioning", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "provisioning", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ], + "bypass": "AzurePortal" + }, + "privateEndpointConnections": [], + "sharedPrivateLinkResources": [], + "encryptionWithCmk": { + "enforcement": "Unspecified", + "encryptionComplianceStatus": "Compliant" + }, + "disableLocalAuth": false, + "authOptions": { + "apiKeyOnly": {} + }, + "disabledDataExfiltrationOptions": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchListOperations.json b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchListOperations.json new file mode 100644 index 000000000000..289cdbdf944a --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchListOperations.json @@ -0,0 +1,616 @@ +{ + "parameters": { + "api-version": "2021-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Search/operations/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "List all available operations", + "description": "Lists all of the available operations of the Microsoft.Search provider." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/register/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Register the Search Resource Provider", + "description": "Registers the subscription for the search resource provider and enables the creation of search services." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Set Search Service", + "description": "Creates or updates the search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Get Search Service", + "description": "Reads the search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Delete Search Service", + "description": "Deletes the search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/start/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Start Search Service", + "description": "Starts the search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/stop/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Stop Search Service", + "description": "Stops the search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/listAdminKeys/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Get Admin Key", + "description": "Reads the admin keys." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/regenerateAdminKey/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Regenerate Admin Key", + "description": "Regenerates the admin key." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/listQueryKeys/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "API Keys", + "operation": "Get Query Keys", + "description": "Returns the list of query API keys for the given Azure Search service." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/createQueryKey/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Search Services", + "operation": "Create Query Key", + "description": "Creates the query key." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/deleteQueryKey/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "API Keys", + "operation": "Delete Query Key", + "description": "Deletes the query key." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/checkNameAvailability/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Service Name Availability", + "operation": "Check Service Name Availability", + "description": "Checks availability of the service name." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/diagnosticSettings/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Diagnostic Settings", + "operation": "Get Diagnostic Setting", + "description": "Gets the diganostic setting read for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/diagnosticSettings/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Diagnostic Settings", + "operation": "Set Diagnostic Setting", + "description": "Creates or updates the diganostic setting for the resource" + }, + "origin": "system" + }, + { + "name": "Microsoft.Search/searchServices/metricDefinitions/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "The metric definitions for the search service", + "operation": "Read search service metric definitions", + "description": "Gets the available metrics for the search service" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "SearchLatency", + "displayName": "Search Latency", + "displayDescription": "Average search latency for the search service", + "unit": "Seconds", + "aggregationType": "Average", + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ] + }, + { + "name": "SearchQueriesPerSecond", + "displayName": "Search queries per second", + "displayDescription": "Search queries per second for the search service", + "unit": "CountPerSecond", + "aggregationType": "Average", + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ] + }, + { + "name": "ThrottledSearchQueriesPercentage", + "displayName": "Throttled search queries percentage", + "displayDescription": "Percentage of search queries that were throttled for the search service", + "unit": "Percent", + "aggregationType": "Average", + "availabilities": [ + { + "timeGrain": "PT1M", + "blobDuration": "PT1H" + } + ] + } + ] + } + } + }, + { + "name": "Microsoft.Search/searchServices/logDefinitions/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "The log definition for the search service", + "operation": "Read search service log definitions", + "description": "Gets the available logs for the search service" + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "OperationLogs", + "displayName": "Operation Logs", + "blobDuration": "PT1H" + } + ] + } + } + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/validate/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy", + "operation": "Validate Private Endpoint Connection Proxy", + "description": "Validates a private endpoint connection create call from NRP side" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy", + "operation": "Create Private Endpoint Connection Proxy", + "description": "Creates a private endpoint connection proxy with the specified parameters or updates the properties or tags for the specified private endpoint connection proxy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy", + "operation": "Get Private Endpoint Connection Proxy", + "description": "Returns the list of private endpoint connection proxies or gets the properties for the specified private endpoint connection proxy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnectionProxies/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection Proxy", + "operation": "Delete Private Endpoint Connection Proxy", + "description": "Deletes an existing private endpoint connection proxy" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/write", + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection", + "operation": "Create Private Endpoint Connection", + "description": "Creates a private endpoint connections with the specified parameters or updates the properties or tags for the specified private endpoint connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/read", + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection", + "operation": "Get Private Endpoint Connection", + "description": "Returns the list of private endpoint connections or gets the properties for the specified private endpoint connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/privateEndpointConnections/delete", + "display": { + "provider": "Microsoft Search", + "resource": "Private Endpoint Connection", + "operation": "Delete Private Endpoint Connection", + "description": "Deletes an existing private endpoint connections" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource", + "operation": "Create Shared Private Link Resource", + "description": "Creates a new shared private link resource with the specified parameters or updates the properties for the specified shared private link resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource", + "operation": "Get Shared Private Link Resource", + "description": "Returns the list of shared private link resources or gets the properties for the specified shared private link resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource", + "operation": "Delete Shared Private Link Resource", + "description": "Deletes an existing shared private link resource" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Shared Private Link Resource", + "operation": "Get Operation Status", + "description": "Get the details of a long running shared private link resource operation" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexes", + "operation": "Read Index", + "description": "Return an index or its statistics, return a list of indexes or their statistics, or test the lexical analysis components of an index." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexes", + "operation": "Create or Update Index", + "description": "Create an index or modify its properties." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexes", + "operation": "Delete Index", + "description": "Delete an index." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Synonym Maps", + "operation": "Read Synonym Map", + "description": "Return a synonym map or a list of synonym maps." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Synonym Maps", + "operation": "Create or Update Synonym Map", + "description": "Create a synonym map or modify its properties." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/synonymMaps/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Synonym Maps", + "operation": "Delete Synonym Map", + "description": "Delete a synonym map." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Data Sources", + "operation": "Read Data Source", + "description": "Return a data source or a list of data sources." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Data Sources", + "operation": "Create or Update Data Source", + "description": "Create a data source or modify its properties." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/dataSources/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Data Sources", + "operation": "Delete Data Source", + "description": "Delete a data source." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Skillsets", + "operation": "Read Skillset", + "description": "Return a skillset or a list of skillsets." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Skillsets", + "operation": "Create or Update Skillset", + "description": "Create a skillset or modify its properties." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/skillsets/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Skillsets", + "operation": "Delete Skillset", + "description": "Delete a skillset." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexers", + "operation": "Read Indexer", + "description": "Return an indexer or its status, or return a list of indexers or their statuses." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexers", + "operation": "Create or Manage Indexer", + "description": "Create an indexer, modify its properties, or manage its execution." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexers/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Indexers", + "operation": "Delete Indexer", + "description": "Delete an indexer." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/read", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Debug Sessions", + "operation": "Read Debug Session", + "description": "Return a debug session or a list of debug sessions." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/write", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Debug Sessions", + "operation": "Create or Update Debug Session", + "description": "Create a debug session or modify its properties." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/delete", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Debug Sessions", + "operation": "Delete Debug Session", + "description": "Delete a debug session." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/debugSessions/execute/action", + "isDataAction": false, + "display": { + "provider": "Microsoft Search", + "resource": "Debug Sessions", + "operation": "Execute Debug Session", + "description": "Use a debug session, get execution data, or evaluate expressions on it." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/read", + "isDataAction": true, + "display": { + "provider": "Microsoft Search", + "resource": "Documents", + "operation": "Read Documents", + "description": "Read documents or suggested query terms from an index." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/write", + "isDataAction": true, + "display": { + "provider": "Microsoft Search", + "resource": "Documents", + "operation": "Write Documents", + "description": "Upload documents to an index or modify existing documents." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Search/searchServices/indexes/documents/delete", + "isDataAction": true, + "display": { + "provider": "Microsoft Search", + "resource": "Documents", + "operation": "Delete Documents", + "description": "Delete documents from an index." + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json new file mode 100644 index 000000000000..98e4959c6131 --- /dev/null +++ b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "searchServiceName": "mysearchservice", + "resourceGroupName": "rg1", + "api-version": "2021-04-01-preview", + "subscriptionId": "subid", + "service": { + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "123.4.5.6" + }, + { + "value": "123.4.6.0/18" + } + ], + "bypass": "AzurePortal" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Search/searchServices/mysearchservice", + "name": "mysearchservice", + "location": "westus", + "type": "Microsoft.Search/searchServices", + "tags": { + "app-name": "My e-commerce app", + "new-tag": "Adding a new tag" + }, + "sku": { + "name": "standard" + }, + "properties": { + "replicaCount": 3, + "partitionCount": 1, + "status": "running", + "statusDetails": "", + "hostingMode": "default", + "provisioningState": "succeeded", + "publicNetworkAccess": "enabled", + "networkRuleSet": { + "ipRules": [ + { + "value": "10.2.3.4" + } + ], + "bypass": "AzurePortal" + }, + "privateEndpointConnections": [], + "sharedPrivateLinkResources": [], + "encryptionWithCmk": { + "enforcement": "Unspecified", + "encryptionComplianceStatus": "Compliant" + }, + "disableLocalAuth": false, + "authOptions": { + "apiKeyOnly": {} + }, + "disabledDataExfiltrationOptions": [] + } + } + } + } +} diff --git a/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/search.json b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/search.json index e2a214bf348d..9d7641797c50 100644 --- a/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/search.json +++ b/specification/search/resource-manager/Microsoft.Search/preview/2021-04-01-preview/search.json @@ -41,6 +41,11 @@ ], "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", "operationId": "Operations_List", + "x-ms-examples": { + "SearchListOperations": { + "$ref": "./examples/SearchListOperations.json" + } + }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -365,6 +370,9 @@ "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" + }, "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" }, @@ -458,6 +466,9 @@ "SearchUpdateServiceToAllowAccessFromPublicCustomIPs": { "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" }, + "SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPsAndBypass.json" + }, "SearchUpdateServiceToAllowAccessFromPrivateEndpoints": { "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" }, @@ -1588,7 +1599,8 @@ "bypass": { "type": "string", "enum": [ - "None" + "None", + "AzurePortal" ], "x-ms-enum": { "name": "SearchBypass", @@ -1598,10 +1610,15 @@ "value": "None", "name": "None", "description": "Indicates that no origin can bypass the rules defined in the 'ipRules' section. This is the default." + }, + { + "value": "AzurePortal", + "name": "AzurePortal", + "description": "Indicates that requests originating from the Azure portal can bypass the rules defined in the 'ipRules' section." } ] }, - "description": "A specific data exfiltration scenario that is disabled for the service." + "description": "Possible origins of inbound traffic that can bypass the rules defined in the 'ipRules' section." } }, "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." diff --git a/specification/search/resource-manager/readme.python.md b/specification/search/resource-manager/readme.python.md index 610b7669a722..4a0e0004146a 100644 --- a/specification/search/resource-manager/readme.python.md +++ b/specification/search/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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 $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.search @@ -12,11 +12,7 @@ package-name: azure-mgmt-search package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/search/azure-mgmt-search/azure/mgmt/search ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/search/azure-mgmt-search -``` diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json index 2b746c6cf688..39891d8e2fe3 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2015-06-01-preview/tasks.json @@ -443,6 +443,10 @@ "Resolve", "Close" ], + "x-ms-enum": { + "name": "TaskUpdateActionType", + "modelAsString": true + }, "description": "Type of the action to do on the task", "x-ms-parameter-location": "method" } diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json index 83320e280a34..90e13c30f99e 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2017-08-01-preview/informationProtectionPolicies.json @@ -341,6 +341,10 @@ "effective", "custom" ], + "x-ms-enum": { + "name": "InformationProtectionPolicyName", + "modelAsString": true + }, "description": "Name of the information protection policy.", "x-ms-parameter-location": "method" }, diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json index 54d71c5a4386..2c39970114b1 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json @@ -321,7 +321,8 @@ "description": "Relevant cloud for the custom assessment automation.", "type": "string", "enum": [ - "AWS" + "AWS", + "GCP" ], "x-ms-enum": { "name": "supportedCloudEnum", @@ -373,7 +374,8 @@ "description": "Relevant cloud for the custom assessment automation.", "type": "string", "enum": [ - "AWS" + "AWS", + "GCP" ], "x-ms-enum": { "name": "supportedCloudEnum", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json index d0e70788c1e5..d23a835bfa45 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/examples/CustomAssessmentAutomations/customAssessmentAutomationListBySubscription_example.json @@ -42,8 +42,8 @@ "lastModifiedAt": "2021-08-31T13:01:50.328Z" }, "properties": { - "compressedQuery": "DQAKAEkAYQBtAF8AUABhAHMAcwB3AG8AcgBkAFAAbwBsAGkAYwB5ACAADQAKAHwAIABlAHgAdABlAG4AZAAgAEgAZQBhAGwAdABoAFMAdABhAHQAdQBzACAAPQAgAGkAZgBmACgAdABvAGkAbgB0ACgAUgBlAGMAbwByAGQALgBNAGkAbgBpAG0AdQBtAFAAYQBzAHMAdwBvAHIAZABMAGUAbgBnAHQAaAApACAAPAAgADgALAAgACcAVQBOAEgARQBBAEwAVABIAFkAJwAsACAAJwBIAEUAQQBMAFQASABZACcAKQANAAoA", - "supportedCloud": "AWS", + "compressedQuery": "Q29tcHV0ZV9OZXR3b3JrCnwgZXh0ZW5kIEhlYWx0aFN0YXR1cyA9ICdVTkhFQUxUSFkn", + "supportedCloud": "GCP", "severity": "Low", "displayName": "Password Policy", "description": "organization passwords policy", diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json index 324ba5500bdc..667d5c13b2b1 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json @@ -412,7 +412,8 @@ "enum": [ "CspmMonitorAws", "DefenderForContainersAws", - "DefenderForServersAws" + "DefenderForServersAws", + "InformationProtectionAws" ], "x-ms-enum": { "name": "OfferingType", @@ -503,7 +504,7 @@ "defenderForServersAwsOffering": { "type": "object", "description": "The Defender for Servers AWS offering configurations", - "x-ms-discriminator-value": "DefenderForServersAWS", + "x-ms-discriminator-value": "DefenderForServersAws", "allOf": [ { "$ref": "#/definitions/cloudOffering" @@ -549,6 +550,28 @@ } } } + }, + "informationProtectionAwsOffering": { + "type": "object", + "description": "The information protection for AWS offering configurations", + "x-ms-discriminator-value": "InformationProtectionAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "informationProtection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } } }, "parameters": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json index b21f0cff101e..6c65ccb156ee 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/GetStandard_example.json @@ -25,6 +25,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] }, "systemData": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json index ab68d16db797..322d3404664c 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListBySubscriptionStandards_example.json @@ -54,6 +54,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] }, "systemData": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json index 333264a9acdd..488dd52e9e03 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/ListStandards_example.json @@ -26,6 +26,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] }, "systemData": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json index f5f1c7edb385..8ff091e9ec8a 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/examples/Standards/PutStandard_example.json @@ -16,6 +16,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] } } @@ -40,6 +43,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] }, "systemData": { @@ -71,6 +77,9 @@ { "key": "dbd0cb49-b563-45e7-9724-889e799fa648" } + ], + "supportedClouds": [ + "GCP" ] }, "systemData": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json index 4c4a5203cba0..e7c045869a9e 100644 --- a/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-08-01-preview/standards.json @@ -316,6 +316,13 @@ "items": { "$ref": "#/definitions/StandardComponentProperties" } + }, + "supportedClouds": { + "description": "List of all standard supported clouds.", + "type": "array", + "items": { + "$ref": "#/definitions/StandardSupportedClouds" + } } } }, @@ -328,6 +335,18 @@ "type": "string" } } + }, + "StandardSupportedClouds": { + "type": "string", + "description": "The cloud that the standard is supported on.", + "enum": [ + "AWS", + "GCP" + ], + "x-ms-enum": { + "name": "StandardSupportedClouds", + "modelAsString": false + } } }, "parameters": { diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json new file mode 100644 index 000000000000..26ffc085f5bc --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/DeleteSecurityConnector_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg", + "securityConnectorName": "mySecurityConnectorName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json new file mode 100644 index 000000000000..f7b92bf380b2 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "resourceGroupName": "exampleResourceGroup", + "securityConnectorName": "exampleSecurityConnectorName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "environmentData": { + "environmentType": "AwsAccount" + }, + "hierarchyIdentifier": "exampleHierarchyId", + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json new file mode 100644 index 000000000000..eb7b5c398cbb --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "resourceGroupName": "exampleResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws", + "name": "exampleSecurityConnectorAws", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + }, + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization", + "name": "exampleSecurityConnectorAwsOrganization", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-12-15T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-12-15T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount", + "organizationalData": { + "organizationMembershipType": "Organization", + "stacksetName": "myStackSetName", + "excludedAccountIds": [ + "excludedAccountIdExample" + ] + } + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + }, + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp", + "name": "exampleSecurityConnectorGcp", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-12-15T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-12-15T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "GcpProject", + "projectDetails": { + "projectNumber": "exampleHierarchyId", + "projectId": "My-0GCP-Project", + "workloadIdentityPoolId": "My-workload-identity-federation-pool-id" + } + }, + "environmentName": "GCP", + "offerings": [ + { + "offeringType": "CspmMonitorGcp", + "nativeCloudConnection": { + "workloadIdentityProviderId": "My workload identity provider Id", + "serviceAccountEmailAddress": "capm@projectName.com" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json new file mode 100644 index 000000000000..6af93efd2380 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup1/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAws", + "name": "exampleSecurityConnectorAws", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + }, + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup2/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorAwsOrganization", + "name": "exampleSecurityConnectorAwsOrganization", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-12-15T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-12-15T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount", + "organizationalData": { + "organizationMembershipType": "Organization", + "stacksetName": "myStackSetName", + "excludedAccountIds": [ + "excludedAccountIdExample" + ] + } + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + }, + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGithub", + "name": "githubTest", + "etag": "etag value", + "type": "Microsoft.Security/securityconnectors", + "location": "centralus", + "kind": "", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-12-15T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-12-15T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.SecurityDevops/githubConnectors/exampleGithubConnector", + "environmentName": "Github", + "environmentData": { + "environmentType": "GithubScope" + }, + "offerings": [ + { + "offeringType": "CspmMonitorGithub" + } + ] + } + }, + { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup3/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorGcp", + "name": "exampleSecurityConnectorGcp", + "type": "Microsoft.Security/securityConnectors", + "etag": "etag value", + "kind": "", + "location": "Central US", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-12-15T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-12-15T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "GcpProject", + "projectDetails": { + "projectNumber": "exampleHierarchyId", + "projectId": "My-0GCP-Project", + "workloadIdentityPoolId": "6c78da41157548d3b1d8b3c72effdf8c" + } + }, + "environmentName": "GCP", + "offerings": [ + { + "offeringType": "CspmMonitorGcp", + "nativeCloudConnection": { + "workloadIdentityProviderId": "My workload identity provider Id", + "serviceAccountEmailAddress": "capm@projectName.com" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json new file mode 100644 index 000000000000..b340b663b38a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PatchSecurityConnector_example.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "securityConnectorName": "exampleSecurityConnectorName", + "resourceGroupName": "exampleResourceGroup", + "securityConnector": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "etag value", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json new file mode 100644 index 000000000000..4cd1d314616b --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/examples/SecurityConnectors/PutSecurityConnector_example.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2021-12-01-preview", + "subscriptionId": "a5caac9c-5c04-49af-b3d0-e204f40345d5", + "securityConnectorName": "exampleSecurityConnectorName", + "resourceGroupName": "exampleResourceGroup", + "securityConnector": { + "location": "Central US", + "etag": "etag value (must be supplied for update)", + "tags": {}, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentName": "AWS", + "environmentData": { + "environmentType": "AwsAccount" + }, + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/a5caac9c-5c04-49af-b3d0-e204f40345d5/resourceGroups/exampleResourceGroup/providers/Microsoft.Security/securityConnectors/exampleSecurityConnectorName", + "name": "exampleSecurityConnectorName", + "type": "Microsoft.Security/securityConnectors", + "location": "Central US", + "kind": "", + "etag": "", + "tags": {}, + "systemData": { + "createdBy": "user@contoso.com", + "createdByType": "User", + "createdAt": "2021-08-31T13:47:50.328Z", + "lastModifiedBy": "user@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-08-31T13:47:50.328Z" + }, + "properties": { + "hierarchyIdentifier": "exampleHierarchyId", + "environmentData": { + "environmentType": "AwsAccount" + }, + "environmentName": "AWS", + "offerings": [ + { + "offeringType": "CspmMonitorAws", + "nativeCloudConnection": { + "cloudRoleArn": "arn:aws:iam::00000000:role/ASCMonitor" + } + } + ] + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/securityConnectors.json b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/securityConnectors.json new file mode 100644 index 000000000000..ea532d2d8e3a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/preview/2021-12-01-preview/securityConnectors.json @@ -0,0 +1,1055 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2021-12-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/securityConnectors": { + "get": { + "x-ms-examples": { + "List all security connectors of a specified subscription": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsSubscription_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Lists all the security connectors in the specified subscription. Use the 'nextLink' property in the response to get the next page of security connectors for the specified subscription.", + "operationId": "SecurityConnectors_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnectorsList" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors": { + "get": { + "x-ms-examples": { + "List all security connectors of a specified resource group": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorsResourceGroup_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Lists all the security connectors in the specified resource group. Use the 'nextLink' property in the response to get the next page of security connectors for the specified resource group.", + "operationId": "SecurityConnectors_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnectorsList" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/securityConnectors/{securityConnectorName}": { + "get": { + "x-ms-examples": { + "Retrieve a security connector": { + "$ref": "./examples/SecurityConnectors/GetSecurityConnectorSingleResource_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Retrieves details of a specific security connector", + "operationId": "SecurityConnectors_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a security connector": { + "$ref": "./examples/SecurityConnectors/PutSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Creates or updates a security connector. If a security connector is already created and a subsequent request is issued for the same security connector id, then it will be updated.", + "operationId": "SecurityConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + }, + { + "$ref": "#/parameters/securityConnectorInBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update a security connector": { + "$ref": "./examples/SecurityConnectors/PatchSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "description": "Updates a security connector", + "operationId": "SecurityConnectors_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + }, + { + "$ref": "#/parameters/securityConnectorInBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a security connector": { + "$ref": "./examples/SecurityConnectors/DeleteSecurityConnector_example.json" + } + }, + "tags": [ + "SecurityConnectors" + ], + "operationId": "SecurityConnectors_Delete", + "description": "Deletes a security connector.", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/securityConnectorName" + } + ], + "responses": { + "200": { + "description": "The resource was deleted successfully" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response that describes why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SecurityConnectorsList": { + "type": "object", + "description": "List of security connectors response.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "The list of security connectors under the given scope.", + "items": { + "$ref": "#/definitions/SecurityConnector" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "SecurityConnector": { + "type": "object", + "description": "The security connector resource.", + "properties": { + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Security connector data", + "$ref": "#/definitions/SecurityConnectorProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ] + }, + "SecurityConnectorProperties": { + "type": "object", + "description": "A set of properties that defines the security connector configuration.", + "properties": { + "hierarchyIdentifier": { + "type": "string", + "description": "The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector)." + }, + "environmentName": { + "type": "string", + "description": "The multi cloud resource's cloud name.", + "enum": [ + "Azure", + "AWS", + "GCP", + "Github" + ], + "x-ms-enum": { + "name": "cloudName", + "modelAsString": true + } + }, + "offerings": { + "type": "array", + "description": "A collection of offerings for the security connector.", + "items": { + "$ref": "#/definitions/cloudOffering" + }, + "x-ms-identifiers": [] + }, + "environmentData": { + "type": "object", + "description": "The security connector environment data.", + "$ref": "#/definitions/EnvironmentData" + } + } + }, + "EnvironmentData": { + "type": "object", + "description": "The security connector environment data.", + "discriminator": "environmentType", + "required": [ + "environmentType" + ], + "properties": { + "environmentType": { + "type": "string", + "description": "The type of the environment data.", + "enum": [ + "AwsAccount", + "GcpProject", + "GithubScope" + ], + "x-ms-enum": { + "name": "environmentType", + "modelAsString": true + } + } + } + }, + "AWSEnvironmentData": { + "type": "object", + "description": "The aws connector environment data", + "x-ms-discriminator-value": "AwsAccount", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentData" + } + ], + "properties": { + "organizationalData": { + "type": "object", + "description": "The AWS account's organizational data", + "$ref": "#/definitions/AwsOrganizationalData" + } + } + }, + "AwsOrganizationalData": { + "type": "object", + "description": "The awsOrganization data ", + "discriminator": "organizationMembershipType", + "required": [ + "organizationMembershipType" + ], + "properties": { + "organizationMembershipType": { + "type": "string", + "description": "The multi cloud account's membership type in the organization", + "enum": [ + "Member", + "Organization" + ], + "x-ms-enum": { + "name": "organizationMembershipType", + "modelAsString": true + } + } + } + }, + "AwsOrganizationalDataMaster": { + "type": "object", + "description": "The awsOrganization data for the master account", + "x-ms-discriminator-value": "Organization", + "allOf": [ + { + "$ref": "#/definitions/AwsOrganizationalData" + } + ], + "properties": { + "stacksetName": { + "type": "string", + "description": "If the multi cloud account is of membership type organization, this will be the name of the onboarding stackset" + }, + "excludedAccountIds": { + "type": "array", + "description": "If the multi cloud account is of membership type organization, list of accounts excluded from offering", + "items": { + "type": "string", + "description": "account IDs" + } + } + } + }, + "AwsOrganizationalDataMember": { + "type": "object", + "description": "The awsOrganization data for the member account", + "x-ms-discriminator-value": "Member", + "allOf": [ + { + "$ref": "#/definitions/AwsOrganizationalData" + } + ], + "properties": { + "parentHierarchyId": { + "type": "string", + "description": "If the multi cloud account is not of membership type organization, this will be the ID of the account's parent" + } + } + }, + "GcpProjectEnvironmentData": { + "type": "object", + "description": "The GCP project connector environment data", + "x-ms-discriminator-value": "GcpProject", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentData" + } + ], + "properties": { + "organizationalData": { + "type": "object", + "description": "The Gcp project's organizational data", + "$ref": "#/definitions/GcpOrganizationalData" + }, + "projectDetails": { + "type": "object", + "description": "The Gcp project's details", + "$ref": "#/definitions/GcpProjectDetails" + } + } + }, + "GcpProjectDetails": { + "type": "object", + "description": "The details about the project represented by the security connector", + "properties": { + "projectNumber": { + "type": "string", + "description": "The unique GCP Project number" + }, + "projectId": { + "type": "string", + "description": "The GCP Project id" + }, + "workloadIdentityPoolId": { + "readOnly": true, + "type": "string", + "description": "The GCP workload identity federation pool id" + } + } + }, + "GcpOrganizationalData": { + "type": "object", + "description": "The gcpOrganization data", + "discriminator": "organizationMembershipType", + "required": [ + "organizationMembershipType" + ], + "properties": { + "organizationMembershipType": { + "type": "string", + "description": "The multi cloud account's membership type in the organization", + "enum": [ + "Member", + "Organization" + ], + "x-ms-enum": { + "name": "organizationMembershipType", + "modelAsString": true + } + } + } + }, + "GcpOrganizationalDataOrganization": { + "type": "object", + "description": "The gcpOrganization data for the parent account", + "x-ms-discriminator-value": "Organization", + "allOf": [ + { + "$ref": "#/definitions/GcpOrganizationalData" + } + ], + "properties": { + "excludedProjectNumbers": { + "type": "array", + "description": "If the multi cloud account is of membership type organization, list of accounts excluded from offering", + "items": { + "type": "string", + "description": "account IDs" + } + }, + "serviceAccountEmailAddress": { + "type": "string", + "description": "The service account email address which represents the organization level permissions container." + }, + "workloadIdentityProviderId": { + "type": "string", + "description": "The GCP workload identity provider id which represents the permissions required to auto provision security connectors" + } + } + }, + "GcpOrganizationalDataMember": { + "type": "object", + "description": "The gcpOrganization data for the member account", + "x-ms-discriminator-value": "Member", + "allOf": [ + { + "$ref": "#/definitions/GcpOrganizationalData" + } + ], + "properties": { + "parentHierarchyId": { + "type": "string", + "description": "If the multi cloud account is not of membership type organization, this will be the ID of the project's parent" + } + } + }, + "GithubScopeEnvironmentData": { + "type": "object", + "description": "The github scope connector's environment data", + "x-ms-discriminator-value": "GithubScope", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentData" + } + ], + "properties": {} + }, + "cloudOffering": { + "type": "object", + "description": "The security offering details", + "discriminator": "offeringType", + "required": [ + "offeringType" + ], + "properties": { + "offeringType": { + "type": "string", + "description": "The type of the security offering.", + "enum": [ + "CspmMonitorAws", + "DefenderForContainersAws", + "DefenderForServersAws", + "InformationProtectionAws", + "CspmMonitorGcp", + "CspmMonitorGithub", + "DefenderForServersGcp", + "DefenderForContainersGcp" + ], + "x-ms-enum": { + "name": "offeringType", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The offering description.", + "readOnly": true + } + } + }, + "cspmMonitorAwsOffering": { + "type": "object", + "description": "The CSPM monitoring for AWS offering", + "x-ms-discriminator-value": "CspmMonitorAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "nativeCloudConnection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } + }, + "defenderForContainersAwsOffering": { + "type": "object", + "description": "The Defender for Containers AWS offering", + "x-ms-discriminator-value": "DefenderForContainersAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "kubernetesService": { + "type": "object", + "description": "The kubernetes service connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "kubernetesScubaReader": { + "type": "object", + "description": "The kubernetes to scuba connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "cloudWatchToKinesis": { + "type": "object", + "description": "The cloudwatch to kinesis connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "kinesisToS3": { + "type": "object", + "description": "The kinesis to s3 connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } + }, + "defenderForServersAwsOffering": { + "type": "object", + "description": "The Defender for Servers AWS offering", + "x-ms-discriminator-value": "DefenderForServersAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "defenderForServers": { + "type": "object", + "description": "The Defender for servers connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + }, + "arcAutoProvisioning": { + "type": "object", + "description": "The ARC autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is arc auto provisioning enabled" + }, + "servicePrincipalSecretMetadata": { + "type": "object", + "description": "Metadata of Service Principal secret for autoprovisioning", + "properties": { + "expiryDate": { + "type": "string", + "description": "expiration date of service principal secret" + }, + "parameterStoreRegion": { + "type": "string", + "description": "region of parameter store where secret is kept" + }, + "parameterNameInStore": { + "type": "string", + "description": "name of secret resource in parameter store" + } + } + } + } + }, + "vaAutoProvisioning": { + "type": "object", + "description": "The Vulnerability Assessment autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is Vulnerability Assessment auto provisioning enabled" + }, + "configuration": { + "type": "object", + "description": "configuration for Vulnerability Assessment autoprovisioning", + "properties": { + "type": { + "type": "string", + "description": "The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'", + "enum": [ + "Qualys", + "TVM" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + } + } + } + } + }, + "mdeAutoProvisioning": { + "type": "object", + "description": "The Microsoft Defender for Endpoint autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is Microsoft Defender for Endpoint auto provisioning enabled" + }, + "configuration": { + "type": "object", + "description": "configuration for Microsoft Defender for Endpoint autoprovisioning", + "properties": {} + } + } + }, + "subPlan": { + "type": "object", + "description": "configuration for the servers offering subPlan", + "properties": { + "type": { + "type": "string", + "description": "The available sub plans", + "enum": [ + "P1", + "P2" + ], + "x-ms-enum": { + "name": "subPlan", + "modelAsString": true + } + } + } + } + } + }, + "informationProtectionAwsOffering": { + "type": "object", + "description": "The information protection for AWS offering", + "x-ms-discriminator-value": "InformationProtectionAws", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "informationProtection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "cloudRoleArn": { + "type": "string", + "description": "The cloud role ARN in AWS for this feature" + } + } + } + } + }, + "cspmMonitorGcpOffering": { + "type": "object", + "description": "The CSPM monitoring for GCP offering", + "x-ms-discriminator-value": "CspmMonitorGcp", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "nativeCloudConnection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "workloadIdentityProviderId": { + "type": "string", + "description": "The GCP workload identity provider id for the offering" + }, + "serviceAccountEmailAddress": { + "type": "string", + "description": "The service account email address in GCP for this offering" + } + } + } + } + }, + "defenderForServersGcpOffering": { + "type": "object", + "description": "The Defender for Servers GCP offering configurations", + "x-ms-discriminator-value": "DefenderForServersGcp", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "defenderForServers": { + "type": "object", + "description": "The Defender for servers connection configuration", + "properties": { + "workloadIdentityProviderId": { + "type": "string", + "description": "The workload identity provider id in GCP for this feature" + }, + "serviceAccountEmailAddress": { + "type": "string", + "description": "The service account email address in GCP for this feature" + } + } + }, + "arcAutoProvisioning": { + "type": "object", + "description": "The ARC autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is arc auto provisioning enabled" + }, + "configuration": { + "type": "object", + "description": "Configuration for ARC autoprovisioning", + "properties": { + "clientId": { + "type": "string", + "description": "The Azure service principal client id for agent onboarding" + }, + "agentOnboardingServiceAccountNumericId": { + "type": "string", + "description": "The agent onboarding service account numeric id" + } + } + } + } + }, + "vaAutoProvisioning": { + "type": "object", + "description": "The Vulnerability Assessment autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is Vulnerability Assessment auto provisioning enabled" + }, + "configuration": { + "type": "object", + "description": "configuration for Vulnerability Assessment autoprovisioning", + "properties": { + "type": { + "type": "string", + "description": "The Vulnerability Assessment solution to be provisioned. Can be either 'TVM' or 'Qualys'", + "enum": [ + "Qualys", + "TVM" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + } + } + } + } + }, + "mdeAutoProvisioning": { + "type": "object", + "description": "The Microsoft Defender for Endpoint autoprovisioning configuration", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is Microsoft Defender for Endpoint auto provisioning enabled" + }, + "configuration": { + "type": "object", + "description": "configuration for Microsoft Defender for Endpoint autoprovisioning", + "properties": {} + } + } + }, + "subPlan": { + "type": "object", + "description": "configuration for the servers offering subPlan", + "properties": { + "type": { + "type": "string", + "description": "The available sub plans", + "enum": [ + "P1", + "P2" + ], + "x-ms-enum": { + "name": "subPlan", + "modelAsString": true + } + } + } + } + } + }, + "defenderForContainersGcpOffering": { + "type": "object", + "description": "The containers GCP offering", + "x-ms-discriminator-value": "DefenderForContainersGcp", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": { + "nativeCloudConnection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "serviceAccountEmailAddress": { + "type": "string", + "description": "The service account email address in GCP for this offering" + }, + "workloadIdentityProviderId": { + "type": "string", + "description": "The GCP workload identity provider id for this offering" + } + } + }, + "dataPipelineNativeCloudConnection": { + "type": "object", + "description": "The native cloud connection configuration", + "properties": { + "serviceAccountEmailAddress": { + "type": "string", + "description": "The data collection service account email address in GCP for this offering" + }, + "workloadIdentityProviderId": { + "type": "string", + "description": "The data collection GCP workload identity provider id for this offering" + } + } + }, + "auditLogsAutoProvisioningFlag": { + "type": "boolean", + "description": "Is audit logs data collection enabled" + }, + "defenderAgentAutoProvisioningFlag": { + "type": "boolean", + "description": "Is Microsoft Defender for Cloud Kubernetes agent auto provisioning enabled" + }, + "policyAgentAutoProvisioningFlag": { + "type": "boolean", + "description": "Is Policy Kubernetes agent auto provisioning enabled" + } + } + }, + "cspmMonitorGithubOffering": { + "type": "object", + "description": "The CSPM monitoring for github offering", + "x-ms-discriminator-value": "CspmMonitorGithub", + "allOf": [ + { + "$ref": "#/definitions/cloudOffering" + } + ], + "properties": {} + } + }, + "parameters": { + "securityConnectorName": { + "name": "securityConnectorName", + "in": "path", + "required": true, + "type": "string", + "description": "The security connector name.", + "x-ms-parameter-location": "method" + }, + "securityConnectorInBody": { + "name": "securityConnector", + "in": "body", + "required": true, + "description": "The security connector resource", + "schema": { + "$ref": "#/definitions/SecurityConnector" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/GetPricingByName_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/GetPricingByName_example.json index 3444e71fb1a6..a6d11142055d 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/GetPricingByName_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/GetPricingByName_example.json @@ -11,7 +11,8 @@ "name": "VirtualMachines", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Standard" + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" } } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/ListPricings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/ListPricings_example.json index 2dc0d3f02223..7c0324ea24d6 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/ListPricings_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/ListPricings_example.json @@ -12,7 +12,8 @@ "name": "VirtualMachines", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Standard" + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" } }, { @@ -20,7 +21,8 @@ "name": "SqlServers", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Standard" + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" } }, { @@ -28,7 +30,8 @@ "name": "AppServices", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Free" + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" } }, { @@ -36,7 +39,80 @@ "name": "StorageAccounts", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Standard" + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/SqlServerVirtualMachines", + "name": "SqlServerVirtualMachines", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/KubernetesService", + "name": "KubernetesService", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/ContainerRegistry", + "name": "ContainerRegistry", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/KeyVaults", + "name": "KeyVaults", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Dns", + "name": "Dns", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Arm", + "name": "Arm", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/OpenSourceRelationalDatabases", + "name": "OpenSourceRelationalDatabases", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Containers", + "name": "Containers", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" } } ] diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/PutPricingByName_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/PutPricingByName_example.json index 957038093df2..7168eca5e7ab 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/PutPricingByName_example.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2018-06-01/examples/Pricings/PutPricingByName_example.json @@ -19,7 +19,8 @@ "name": "VirtualMachines", "type": "Microsoft.Security/pricings", "properties": { - "pricingTier": "Standard" + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" } } } diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json index 96bfced0e2af..3b2a598e1779 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json @@ -149,6 +149,10 @@ "enum": [ "current" ], + "x-ms-enum": { + "name": "AdvancedThreatProtectionSettingName", + "modelAsString": false + }, "description": "Advanced Threat Protection setting name.", "x-ms-parameter-location": "method" }, diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json index df4f9737d4e8..1f0bd6081a91 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/adaptiveNetworkHardenings.json @@ -397,6 +397,10 @@ "enum": [ "enforce" ], + "x-ms-enum": { + "name": "AdaptiveNetworkHardeningEnforceAction", + "modelAsString": false + }, "x-ms-parameter-location": "method" }, "AdaptiveNetworkHardeningEnforceRequest": { diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json index 9014390efee0..aeb5ab42ffb6 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/jitNetworkAccessPolicies.json @@ -746,6 +746,10 @@ "enum": [ "initiate" ], + "x-ms-enum": { + "name": "JitNetworkAccessPolicyInitiateType", + "modelAsString": false + }, "x-ms-parameter-location": "method" }, "JitNetworkAccessPolicyInitiateRequest": { diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json index 402846e94a0d..16de2de72b18 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2020-01-01/serverVulnerabilityAssessments.json @@ -142,7 +142,11 @@ "type": "string", "enum": [ "default" - ] + ], + "x-ms-enum": { + "name": "ServerVulnerabilityAssessmentName", + "modelAsString": false + } }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" @@ -210,7 +214,11 @@ "type": "string", "enum": [ "default" - ] + ], + "x-ms-enum": { + "name": "ServerVulnerabilityAssessmentName", + "modelAsString": false + } }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" @@ -282,7 +290,11 @@ "type": "string", "enum": [ "default" - ] + ], + "x-ms-enum": { + "name": "ServerVulnerabilityAssessmentName", + "modelAsString": false + } }, { "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-07-01/settings.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-07-01/settings.json index e1aca0eb04e7..2d29a433fe3e 100644 --- a/specification/security/resource-manager/Microsoft.Security/stable/2021-07-01/settings.json +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-07-01/settings.json @@ -285,6 +285,10 @@ "WDATP_EXCLUDE_LINUX_PUBLIC_PREVIEW", "Sentinel" ], + "x-ms-enum": { + "name": "SettingName", + "modelAsString": true + }, "x-ms-parameter-location": "method" }, "Setting": { diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/alerts.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/alerts.json new file mode 100644 index 000000000000..96f859d63132 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/alerts.json @@ -0,0 +1,1116 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) alerts resource provider", + "version": "2021-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.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription": { + "$ref": "./examples/Alerts/GetAlertsSubscription_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription", + "operationId": "Alerts_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group": { + "$ref": "./examples/Alerts/GetAlertsResourceGroup_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group", + "operationId": "Alerts_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertsSubscriptionsLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the subscription that are stored in a specific location", + "operationId": "Alerts_ListSubscriptionLevelByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts": { + "get": { + "x-ms-examples": { + "Get security alerts on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertsResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "List all the alerts that are associated with the resource group that are stored in a specific location", + "operationId": "Alerts_ListResourceGroupLevelByRegion", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a subscription from a security data location": { + "$ref": "./examples/Alerts/GetAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated with a subscription", + "operationId": "Alerts_GetSubscriptionLevel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}": { + "get": { + "x-ms-examples": { + "Get security alert on a resource group from a security data location": { + "$ref": "./examples/Alerts/GetAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Get an alert that is associated a resource group or a resource in a resource group", + "operationId": "Alerts_GetResourceGroupLevel", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Alert" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a subscription from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertSubscriptionLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateSubscriptionLevelStateToActivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/resolve": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToResolve", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/dismiss": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToDismiss", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/locations/{ascLocation}/alerts/{alertName}/activate": { + "post": { + "x-ms-examples": { + "Update security alert state on a resource group from a security data location": { + "$ref": "./examples/Alerts/UpdateAlertResourceGroupLocation_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Update the alert's state", + "operationId": "Alerts_UpdateResourceGroupLevelStateToActivate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertName" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupName" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/locations/{ascLocation}/alerts/default/simulate": { + "post": { + "x-ms-examples": { + "Simulate security alerts on a subscription": { + "$ref": "./examples/Alerts/SimulateAlerts_example.json" + } + }, + "tags": [ + "Alerts" + ], + "description": "Simulate security alerts", + "operationId": "Alerts_Simulate", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/AscLocation" + }, + { + "$ref": "#/parameters/AlertSimulatorRequestBody" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Alert": { + "type": "object", + "description": "Security alert", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "describes security alert properties.", + "$ref": "#/definitions/AlertProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "AlertEntity": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Changing set of properties depending on the entity type.", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "Type of entity" + } + } + }, + "AlertExtendedLinks": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Links related to the alert" + }, + "AlertExtendedProperties": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom properties for the alert." + }, + "AlertList": { + "type": "object", + "description": "List of security alerts", + "properties": { + "value": { + "type": "array", + "description": "describes security alert properties.", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URI to fetch the next page." + } + } + }, + "AlertProperties": { + "type": "object", + "description": "describes security alert properties.", + "properties": { + "alertType": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the detection logic (all alert instances from the same detection logic will have the same alertType)." + }, + "systemAlertId": { + "readOnly": true, + "type": "string", + "description": "Unique identifier for the alert." + }, + "productComponentName": { + "readOnly": true, + "type": "string", + "description": "The name of Azure Security Center pricing tier which powering this alert. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-pricing" + }, + "alertDisplayName": { + "readOnly": true, + "type": "string", + "description": "The display name of the alert." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the suspicious activity that was detected." + }, + "severity": { + "readOnly": true, + "type": "string", + "enum": [ + "Informational", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "alertSeverity", + "modelAsString": true, + "values": [ + { + "value": "Informational", + "description": "Informational" + }, + { + "value": "Low", + "description": "Low" + }, + { + "value": "Medium", + "description": "Medium" + }, + { + "value": "High", + "description": "High" + } + ] + }, + "description": "The risk level of the threat that was detected. Learn more: https://docs.microsoft.com/en-us/azure/security-center/security-center-alerts-overview#how-are-alerts-classified." + }, + "intent": { + "readOnly": true, + "type": "string", + "enum": [ + "Unknown", + "PreAttack", + "InitialAccess", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "Probing", + "Exploitation" + ], + "x-ms-enum": { + "name": "intent", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Unknown" + }, + { + "value": "PreAttack", + "description": "PreAttack could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt, originating from outside the network, to scan the target system and find a way in. Further details on the PreAttack stage can be read in [MITRE Pre-Att&ck matrix](https://attack.mitre.org/matrices/pre/)." + }, + { + "value": "InitialAccess", + "description": "InitialAccess is the stage where an attacker manages to get foothold on the attacked resource." + }, + { + "value": "Persistence", + "description": "Persistence is any access, action, or configuration change to a system that gives a threat actor a persistent presence on that system." + }, + { + "value": "PrivilegeEscalation", + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network." + }, + { + "value": "DefenseEvasion", + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses." + }, + { + "value": "CredentialAccess", + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment." + }, + { + "value": "Discovery", + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network." + }, + { + "value": "LateralMovement", + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems." + }, + { + "value": "Execution", + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system." + }, + { + "value": "Collection", + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration." + }, + { + "value": "Exfiltration", + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network." + }, + { + "value": "CommandAndControl", + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network." + }, + { + "value": "Impact", + "description": "Impact events primarily try to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process." + }, + { + "value": "Probing", + "description": "Probing could be either an attempt to access a certain resource regardless of a malicious intent, or a failed attempt to gain access to a target system to gather information prior to exploitation." + }, + { + "value": "Exploitation", + "description": "Exploitation is the stage where an attacker manages to get a foothold on the attacked resource. This stage is relevant for compute hosts and resources such as user accounts, certificates etc." + } + ] + }, + "description": "The kill chain related intent behind the alert. For list of supported values, and explanations of Azure Security Center's supported kill chain intents." + }, + "startTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the first event or activity included in the alert in ISO8601 format." + }, + "endTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time of the last event or activity included in the alert in ISO8601 format." + }, + "resourceIdentifiers": { + "readOnly": true, + "type": "array", + "description": "The resource identifiers that can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.). There can be multiple identifiers of different type per alert.", + "items": { + "$ref": "#/definitions/ResourceIdentifier" + } + }, + "remediationSteps": { + "readOnly": true, + "type": "array", + "description": "Manual action items to take to remediate the alert.", + "items": { + "readOnly": true, + "type": "string" + } + }, + "vendorName": { + "readOnly": true, + "type": "string", + "description": "The name of the vendor that raises the alert." + }, + "status": { + "readOnly": true, + "type": "string", + "enum": [ + "Active", + "Resolved", + "Dismissed" + ], + "x-ms-enum": { + "name": "alertStatus", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "An alert which doesn't specify a value is assigned the status 'Active'" + }, + { + "value": "Resolved", + "description": "Alert closed after handling" + }, + { + "value": "Dismissed", + "description": "Alert dismissed as false positive" + } + ] + }, + "description": "The life cycle status of the alert." + }, + "extendedLinks": { + "readOnly": true, + "type": "array", + "description": "Links related to the alert", + "items": { + "$ref": "#/definitions/AlertExtendedLinks" + } + }, + "alertUri": { + "readOnly": true, + "type": "string", + "description": "A direct link to the alert page in Azure Portal." + }, + "timeGeneratedUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC time the alert was generated in ISO8601 format." + }, + "productName": { + "readOnly": true, + "type": "string", + "description": "The name of the product which published this alert (Azure Security Center, Azure ATP, Microsoft Defender ATP, O365 ATP, MCAS, and so on)." + }, + "processingEndTimeUtc": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The UTC processing end time of the alert in ISO8601 format." + }, + "entities": { + "readOnly": true, + "type": "array", + "description": "A list of entities related to the alert.", + "items": { + "$ref": "#/definitions/AlertEntity" + } + }, + "isIncident": { + "readOnly": true, + "type": "boolean", + "description": "This field determines whether the alert is an incident (a compound grouping of several alerts) or a single alert." + }, + "correlationKey": { + "readOnly": true, + "type": "string", + "description": "Key for corelating related alerts. Alerts with the same correlation key considered to be related." + }, + "extendedProperties": { + "$ref": "#/definitions/AlertExtendedProperties", + "description": "Custom properties for the alert." + }, + "compromisedEntity": { + "readOnly": true, + "type": "string", + "description": "The display name of the resource most related to this alert." + } + } + }, + "AzureResourceIdentifier": { + "type": "object", + "description": "Azure resource identifier.", + "x-ms-discriminator-value": "AzureResource", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "azureResourceId": { + "readOnly": true, + "type": "string", + "description": "ARM resource identifier for the cloud resource being alerted on" + } + } + }, + "LogAnalyticsIdentifier": { + "type": "object", + "description": "Represents a Log Analytics workspace scope identifier.", + "x-ms-discriminator-value": "LogAnalytics", + "allOf": [ + { + "$ref": "#/definitions/ResourceIdentifier" + } + ], + "properties": { + "workspaceId": { + "readOnly": true, + "type": "string", + "description": "The LogAnalytics workspace id that stores this alert." + }, + "workspaceSubscriptionId": { + "readOnly": true, + "type": "string", + "description": "The azure subscription id for the LogAnalytics workspace storing this alert.", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$" + }, + "workspaceResourceGroup": { + "readOnly": true, + "type": "string", + "description": "The azure resource group for the LogAnalytics workspace storing this alert" + }, + "agentId": { + "readOnly": true, + "type": "string", + "description": "(optional) The LogAnalytics agent id reporting the event that this alert is based on." + } + } + }, + "ResourceIdentifier": { + "type": "object", + "description": "A resource identifier for an alert which can be used to direct the alert to the right product exposure group (tenant, workspace, subscription etc.).", + "discriminator": "type", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "description": "There can be multiple identifiers of different type per alert, this field specify the identifier type.", + "enum": [ + "AzureResource", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "ResourceIdentifierType", + "modelAsString": true, + "values": [ + { + "value": "AzureResource" + }, + { + "value": "LogAnalytics" + } + ] + } + } + } + }, + "AlertSimulatorRequestBody": { + "type": "object", + "description": "Alert Simulator request body.", + "properties": { + "properties": { + "description": "Alert Simulator request body data.", + "$ref": "#/definitions/AlertSimulatorRequestProperties" + } + } + }, + "AlertSimulatorRequestProperties": { + "type": "object", + "description": "Describes properties of an alert simulation request", + "discriminator": "kind", + "required": [ + "kind" + ], + "additionalProperties": true, + "properties": { + "kind": { + "type": "string", + "description": "The kind of alert simulation.", + "enum": [ + "Bundles" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": true, + "values": [ + { + "value": "Bundles", + "description": "Simulate alerts according to bundles" + } + ] + } + } + } + }, + "AlertSimulatorBundlesRequestProperties": { + "type": "object", + "description": "Simulate alerts according to this bundles.", + "x-ms-discriminator-value": "Bundles", + "properties": { + "bundles": { + "type": "array", + "description": "Bundles list.", + "items": { + "$ref": "#/definitions/BundleType" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/AlertSimulatorRequestProperties" + } + ] + }, + "BundleType": { + "type": "string", + "description": "Alert Simulator supported bundles.", + "enum": [ + "AppServices", + "DNS", + "KeyVaults", + "KubernetesService", + "ResourceManager", + "SqlServers", + "StorageAccounts", + "VirtualMachines" + ], + "x-ms-enum": { + "name": "BundleType", + "modelAsString": true, + "values": [ + { + "value": "AppServices" + }, + { + "value": "DNS" + }, + { + "value": "KeyVaults" + }, + { + "value": "KubernetesService" + }, + { + "value": "ResourceManager" + }, + { + "value": "SqlServers" + }, + { + "value": "StorageAccounts" + }, + { + "value": "VirtualMachines" + } + ] + } + } + }, + "parameters": { + "AlertName": { + "name": "alertName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the alert object", + "x-ms-parameter-location": "method" + }, + "AlertSimulatorRequestBody": { + "name": "alertSimulatorRequestBody", + "in": "body", + "required": true, + "description": "Alert Simulator Request Properties", + "schema": { + "$ref": "#/definitions/AlertSimulatorRequestBody" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..12150e1754d8 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertResourceGroupLocation_example.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..dc7955429139 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertSubscriptionLocation_example.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json new file mode 100644 index 000000000000..e0aa720a1012 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroupLocation_example.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroup_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroup_example.json new file mode 100644 index 000000000000..7a30240a79e1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsResourceGroup_example.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscription_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscription_example.json new file mode 100644 index 000000000000..e518a16c187a --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscription_example.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domain name": "vm2", + "user name": "vm2\\contosoUser", + "process name": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json new file mode 100644 index 000000000000..2475ae7b9016 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/GetAlertsSubscriptionsLocation_example.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Security/locations/westeurope/alerts/2518770965529163669_F144EE95-A3E5-42DA-A279-967D115809AA", + "name": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_EICAR", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Azure Security Center test alert (not a threat)", + "description": "This is a test alert generated by Azure Security Center. No further action is needed.", + "severity": "High", + "intent": "Execution", + "startTimeUtc": "2020-02-22T00:00:00.0000000Z", + "endTimeUtc": "2020-02-22T00:00:00.0000000Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "No further action is needed." + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2020-02-23T13:47:58.0000000Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2020-02-23T13:47:58.9205584Z", + "entities": [ + { + "address": "192.0.2.1", + "location": { + "countryCode": "gb", + "state": "wokingham", + "city": "sonning", + "longitude": -0.909, + "latitude": 51.468, + "asn": 6584 + }, + "type": "ip" + } + ], + "isIncident": true, + "correlationKey": "kso0LFWxzCll5tqrk5hmrBJ+MY1BX806W6q6+0s9Lk=", + "extendedProperties": { + "Property1": "Property1 information" + }, + "compromisedEntity": "vm1" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg2/providers/Microsoft.Security/locations/westeurope/alerts/2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "name": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "type": "Microsoft.Security/Locations/alerts", + "properties": { + "alertType": "VM_SuspiciousScreenSaver", + "systemAlertId": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "productComponentName": "", + "alertDisplayName": "Suspicious Screensaver process executed", + "description": "The process ‘c:\\users\\contosoUser\\scrsave.scr’ was observed executing from an uncommon location. Files with the .scr extensions are screen saver files and are normally reside and execute from the Windows system directory.", + "severity": "Medium", + "intent": "Execution", + "startTimeUtc": "2019-05-07T13:51:45.0045913Z", + "endTimeUtc": "2019-05-07T13:51:45.0045913Z", + "resourceIdentifiers": [ + { + "azureResourceId": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg1/providers/Microsoft.Compute/virtualMachines/vm1", + "type": "AzureResource" + }, + { + "workspaceId": "f419f624-acad-4d89-b86d-f62fa387f019", + "workspaceSubscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "workspaceResourceGroup": "myRg1", + "agentId": "75724a01-f021-4aa8-9ec2-329792373e6e", + "type": "LogAnalytics" + } + ], + "remediationSteps": [ + "1. Run Process Explorer and try to identify unknown running processes (see https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)", + "2. Make sure the machine is completely updated and has an updated anti-malware application installed", + "3. Run a full anti-malware scan and verify that the threat was removed", + "4. Install and run Microsoft’s Malicious Software Removal Tool (see https://www.microsoft.com/en-us/download/malicious-software-removal-tool-details.aspx)", + "5. Run Microsoft’s Autoruns utility and try to identify unknown applications that are configured to run at login (see https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx)", + "6. Escalate the alert to the information security team" + ], + "vendorName": "Microsoft", + "status": "New", + "extendedLinks": [ + { + "Category": "threat_reports", + "Label": "Report: RDP Brute Forcing", + "Href": "https://contoso.com/reports/DisplayReport", + "Type": "webLink" + } + ], + "alertUri": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a/subscriptionId/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroup/myRg1/referencedFrom/alertDeepLink/location/westeurope", + "timeGeneratedUtc": "2019-05-07T13:51:48.3810457Z", + "productName": "Azure Security Center", + "processingEndTimeUtc": "2019-05-07T13:51:48.9810457Z", + "entities": [ + { + "dnsDomain": "", + "ntDomain": "", + "hostName": "vm2", + "netBiosName": "vm2", + "azureID": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourcegroups/myRg2/providers/microsoft.compute/virtualmachines/vm2", + "omsAgentID": "45b44640-3b94-4892-a28c-4a5cae27065a", + "operatingSystem": "Unknown", + "type": "host", + "OsVersion": null + }, + { + "name": "contosoUser", + "ntDomain": "vm2", + "logonId": "0x61450d87", + "sid": "S-1-5-21-2144575486-8928446540-5163864319-500", + "type": "account" + }, + { + "directory": "c:\\windows\\system32", + "name": "cmd.exe", + "type": "file" + }, + { + "processId": "0x3c44", + "type": "process" + }, + { + "directory": "c:\\users\\contosoUser", + "name": "scrsave.scr", + "type": "file" + }, + { + "processId": "0x4aec", + "commandLine": "c:\\users\\contosoUser\\scrsave.scr", + "creationTimeUtc": "2018-05-07T13:51:45.0045913Z", + "type": "process" + } + ], + "isIncident": true, + "correlationKey": "4hno6LF0xzCl5tqrk4nrBW+MY1BX816W6q6+0srk4", + "compromisedEntity": "vm2", + "extendedProperties": { + "domainName": "vm2", + "userName": "vm2\\contosoUser", + "processName": "c:\\users\\contosoUser\\scrsave.scr", + "command line": "c:\\users\\contosoUser\\scrsave.scr", + "parent process": "cmd.exe", + "process id": "0x4aec", + "account logon id": "0x61450d87", + "user SID": "S-1-5-21-2144575486-8928446540-5163864319-500", + "parent process id": "0x3c44", + "resourceType": "Virtual Machine" + } + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/SimulateAlerts_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/SimulateAlerts_example.json new file mode 100644 index 000000000000..cf6ff80ce4ef --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/SimulateAlerts_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "centralus", + "alertSimulatorRequestBody": { + "properties": { + "kind": "Bundles", + "bundles": [ + "AppServices", + "DNS", + "KeyVaults", + "KubernetesService", + "ResourceManager", + "SqlServers", + "StorageAccounts", + "VirtualMachines" + ] + } + } + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json new file mode 100644 index 000000000000..50c2e0504645 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json new file mode 100644 index 000000000000..27f79bd74eee --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertResourceGroupLocation_resolve_example.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "resourceGroupName": "myRg2", + "ascLocation": "westeurope", + "alertName": "2518765996949954086_2325cf9e-42a2-4f72-ae7f-9b863cba2d22", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json new file mode 100644 index 000000000000..2e9769cc83da --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Dismiss" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json new file mode 100644 index 000000000000..ce7f290172d7 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2021-11-01/examples/Alerts/UpdateAlertSubscriptionLocation_resolve_example.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2021-11-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "ascLocation": "westeurope", + "alertName": "2518298467986649999_4d25bfef-2d77-4a08-adc0-3e35715cc92a", + "alertUpdateActionType": "Resolve" + }, + "responses": { + "204": {} + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/GetPricingByName_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/GetPricingByName_example.json new file mode 100644 index 000000000000..614236b08bdb --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/GetPricingByName_example.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "pricingName": "VirtualMachines" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines", + "name": "VirtualMachines", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S", + "subPlan": "P1" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/ListPricings_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/ListPricings_example.json new file mode 100644 index 000000000000..5876f2bf22e1 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/ListPricings_example.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines", + "name": "VirtualMachines", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S", + "subPlan": "P2" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/SqlServers", + "name": "SqlServers", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/AppServices", + "name": "AppServices", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/StorageAccounts", + "name": "StorageAccounts", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/SqlServerVirtualMachines", + "name": "SqlServerVirtualMachines", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/KubernetesService", + "name": "KubernetesService", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/ContainerRegistry", + "name": "ContainerRegistry", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/KeyVaults", + "name": "KeyVaults", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Dns", + "name": "Dns", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Arm", + "name": "Arm", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/OpenSourceRelationalDatabases", + "name": "OpenSourceRelationalDatabases", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Free", + "freeTrialRemainingTime": "PT0S" + } + }, + { + "id": "/subscriptions/d34fd44c-ebfa-4a9c-bceb-9eeafe72ac15/providers/Microsoft.Security/pricings/Containers", + "name": "Containers", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S" + } + } + ] + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/PutPricingByName_example.json b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/PutPricingByName_example.json new file mode 100644 index 000000000000..d5d1fd40fef9 --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/examples/Pricings/PutPricingByName_example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2022-03-01", + "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23", + "pricingName": "VirtualMachines", + "pricing": { + "properties": { + "pricingTier": "Standard", + "subPlan": "P2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Security/pricings/VirtualMachines", + "name": "VirtualMachines", + "type": "Microsoft.Security/pricings", + "properties": { + "pricingTier": "Standard", + "freeTrialRemainingTime": "PT0S", + "subPlan": "P2" + } + } + } + } +} diff --git a/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/pricings.json b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/pricings.json new file mode 100644 index 000000000000..156cc45020ad --- /dev/null +++ b/specification/security/resource-manager/Microsoft.Security/stable/2022-03-01/pricings.json @@ -0,0 +1,247 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Center", + "description": "API spec for Microsoft.Security (Azure Security Center) resource provider", + "version": "2022-03-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/ListPricings_example.json" + } + }, + "tags": [ + "Pricings" + ], + "description": "Lists Security Center pricing configurations in the subscription.", + "operationId": "Pricings_List", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PricingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Security/pricings/{pricingName}": { + "get": { + "x-ms-examples": { + "Get pricings on subscription": { + "$ref": "./examples/Pricings/GetPricingByName_example.json" + } + }, + "tags": [ + "Pricings" + ], + "description": "Gets a provided Security Center pricing configuration in the subscription.", + "operationId": "Pricings_Get", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update pricing on subscription": { + "$ref": "./examples/Pricings/PutPricingByName_example.json" + } + }, + "tags": [ + "Pricings" + ], + "description": "Updates a provided Security Center pricing configuration in the subscription.", + "operationId": "Pricings_Update", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersion" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/PricingName" + }, + { + "$ref": "#/parameters/Pricing" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Pricing" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/v1/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "PricingList": { + "description": "List of pricing configurations response.", + "required": [ + "value" + ], + "properties": { + "value": { + "type": "array", + "description": "List of pricing configurations", + "items": { + "$ref": "#/definitions/Pricing" + } + } + } + }, + "Pricing": { + "type": "object", + "description": "Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Pricing data", + "$ref": "#/definitions/PricingProperties" + } + }, + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/Resource" + } + ] + }, + "PricingProperties": { + "type": "object", + "description": "Pricing properties for the relevant scope", + "properties": { + "pricingTier": { + "type": "string", + "description": "The pricing tier value. Azure Security Center is provided in two pricing tiers: free and standard, with the standard tier available with a trial period. The standard tier offers advanced security capabilities, while the free tier offers basic security features.", + "enum": [ + "Free", + "Standard" + ], + "x-ms-enum": { + "name": "pricingTier", + "modelAsString": true, + "values": [ + { + "value": "Free", + "description": "Get free Azure security center experience with basic security features" + }, + { + "value": "Standard", + "description": "Get the standard Azure security center experience with advanced security features" + } + ] + } + }, + "subPlan": { + "type": "string", + "description": "The sub-plan selected for a Standard pricing configuration, when more than one sub-plan is available. Each sub-plan enables a set of security features. When not specified, full plan is applied." + }, + "freeTrialRemainingTime": { + "type": "string", + "format": "duration", + "readOnly": true, + "description": "The duration left for the subscriptions free trial period - in ISO 8601 format (e.g. P3Y6M4DT12H30M5S)." + } + }, + "required": [ + "pricingTier" + ] + } + }, + "parameters": { + "PricingName": { + "name": "pricingName", + "in": "path", + "required": true, + "type": "string", + "description": "name of the pricing configuration", + "x-ms-parameter-location": "method" + }, + "Pricing": { + "name": "pricing", + "in": "body", + "required": true, + "description": "Pricing object", + "schema": { + "$ref": "#/definitions/Pricing" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/security/resource-manager/common/v1/types.json b/specification/security/resource-manager/common/v1/types.json index 92aaee5db3cc..854ff73dac6e 100644 --- a/specification/security/resource-manager/common/v1/types.json +++ b/specification/security/resource-manager/common/v1/types.json @@ -400,7 +400,7 @@ "required": true, "type": "string", "description": "The location where ASC stores the data of the subscription. can be retrieved from Get locations", - "x-ms-parameter-location": "client" + "x-ms-parameter-location": "method" }, "ResourceId": { "name": "resourceId", diff --git a/specification/security/resource-manager/readme.md b/specification/security/resource-manager/readme.md index abd1373a9744..0a4c1bda1ced 100644 --- a/specification/security/resource-manager/readme.md +++ b/specification/security/resource-manager/readme.md @@ -73,6 +73,34 @@ tag: package-composite-v3 The following packages may be composed from multiple api-versions. +### Tag: package-2021-11 + +These settings apply only when `--tag=package-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-2021-11' +input-file: + - Microsoft.Security/stable/2021-11-01/alerts.json +``` + +### Tag: package-2022-03 + +These settings apply only when `--tag=package-2022-03` is specified on the command line. + +```yaml $(tag) == 'package-2022-03' +input-file: + - Microsoft.Security/stable/2022-03-01/pricings.json +``` + +### Tag: package-preview-2021-12 + +These settings apply only when `--tag=package-preview-2021-12-only` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-12' +input-file: + - Microsoft.Security/preview/2021-12-01-preview/securityConnectors.json + - Microsoft.Security/preview/2015-06-01-preview/operations.json +``` + ### Tag: package-preview-2021-08 These settings apply only when `--tag=package-preview-2021-08` is specified on the command line. @@ -84,7 +112,7 @@ input-file: override-info: title: SecurityCenter -``` +``` ### Tag: package-composite-v1 @@ -92,7 +120,7 @@ These settings apply only when `--tag=package-composite-v1` is specified on the ``` yaml $(tag) == 'package-composite-v1' input-file: -- Microsoft.Security/preview/2021-07-01-preview/securityConnectors.json +- Microsoft.Security/preview/2021-12-01-preview/securityConnectors.json - Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json @@ -192,7 +220,7 @@ input-file: - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json - Microsoft.Security/stable/2017-08-01/complianceResults.json -- Microsoft.Security/stable/2018-06-01/pricings.json +- Microsoft.Security/stable/2022-03-01/pricings.json - Microsoft.Security/stable/2019-01-01/advancedThreatProtectionSettings.json - Microsoft.Security/stable/2019-08-01/deviceSecurityGroups.json - Microsoft.Security/stable/2019-08-01/iotSecuritySolutions.json @@ -226,7 +254,7 @@ input-file: - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanOperations.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsScanResultsOperations.json - Microsoft.Security/preview/2020-07-01-preview/sqlVulnerabilityAssessmentsBaselineRuleOperations.json -- Microsoft.Security/stable/2021-01-01/alerts.json +- Microsoft.Security/stable/2021-11-01/alerts.json - Microsoft.Security/stable/2021-07-01/settings.json - Microsoft.Security/preview/2021-01-15-preview/ingestionSettings.json - Microsoft.Security/preview/2021-05-01-preview/softwareInventories.json @@ -437,6 +465,19 @@ override-info: title: SecurityCenter ``` +### Tag: package-2021-01-only + +These settings apply only when `--tag=package-2021-01-only` is specified on the command line. This tag is used for Ruby SDK. + +``` yaml $(tag) == 'package-2021-01-only' +input-file: +- Microsoft.Security/stable/2021-01-01/alerts.json + +# Needed when there is more than one input file +override-info: + title: SecurityCenter +``` + ### Tag: package-2021-05-preview-only These settings apply only when `--tag=package-2021-05-preview-only` is specified on the command line. This tag is used for Ruby SDK. @@ -454,7 +495,7 @@ override-info: These settings apply only when `--tag=package-2021-07-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2021-07-preview-only' +``` yaml $(tag) == 'package-2021-07-preview-only' input-file: - Microsoft.Security/preview/2021-07-01-preview/customAssessmentAutomation.json - Microsoft.Security/preview/2021-07-01-preview/customEntityStoreAssignment.json @@ -464,14 +505,16 @@ input-file: These settings apply only when `--tag=package-2021-10-preview-only` is specified on the command line. -```yaml $(tag) == 'package-2021-10-preview-only' +``` yaml $(tag) == 'package-2021-10-preview-only' input-file: - Microsoft.Security/preview/2021-10-01-preview/mdeOnboardings.json ``` # Needed when there is more than one input file + override-info: - title: SecurityCenter +title: SecurityCenter + ``` ### Tag: package-2021-06-only @@ -548,4 +591,4 @@ See configuration in [readme.ruby.md](./readme.ruby.md) ## Java -See configuration in [readme.java.md](./readme.java.md) \ No newline at end of file +See configuration in [readme.java.md](./readme.java.md) diff --git a/specification/security/resource-manager/readme.python.md b/specification/security/resource-manager/readme.python.md index 7101f76c7c4d..d7488298adf7 100644 --- a/specification/security/resource-manager/readme.python.md +++ b/specification/security/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.security @@ -14,16 +13,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/security/azure-mgmt-security/azure/mgmt/security ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/security/azure-mgmt-security -``` -```yaml $(python) && $(track2) +```yaml $(python) modelerfour: lenient-model-deduplication: true directive: @@ -43,4 +38,4 @@ directive: where: $.definitions.AlertSimulatorRequestProperties.properties.kind transform: > $['x-ms-enum']['name'] = 'kindEnum'; -``` \ No newline at end of file +``` diff --git a/specification/securityandcompliance/resource-manager/readme.md b/specification/securityandcompliance/resource-manager/readme.md index 7bb8b11db588..f5ccaba1b76e 100644 --- a/specification/securityandcompliance/resource-manager/readme.md +++ b/specification/securityandcompliance/resource-manager/readme.md @@ -75,7 +75,7 @@ swagger-to-sdk: - repo: azure-sdk-for-go - repo: azure-sdk-for-js - repo: azure-sdk-for-node - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-resource-manager-schemas ``` diff --git a/specification/securityandcompliance/resource-manager/readme.python.md b/specification/securityandcompliance/resource-manager/readme.python.md index 316b58db6c3d..fe913bd36887 100644 --- a/specification/securityandcompliance/resource-manager/readme.python.md +++ b/specification/securityandcompliance/resource-manager/readme.python.md @@ -5,23 +5,15 @@ Please also specify `--python-sdks-folder=", "requestConfigUserInputValues": [ { "displayText": "Organization Name", diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AlertRules.json new file mode 100644 index 000000000000..b1eaa14e65dd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AlertRules.json @@ -0,0 +1,2206 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules": { + "get": { + "x-ms-examples": { + "Get all alert rules.": { + "$ref": "./examples/alertRules/GetAllAlertRules.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets all alert rules.", + "operationId": "AlertRules_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}": { + "get": { + "x-ms-examples": { + "Get a Scheduled alert rule.": { + "$ref": "./examples/alertRules/GetScheduledAlertRule.json" + }, + "Get an Nrt alert rule.": { + "$ref": "./examples/alertRules/GetNrtAlertRule.json" + }, + "Get a Fusion alert rule.": { + "$ref": "./examples/alertRules/GetFusionAlertRule.json" + }, + "Get a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets the alert rule.", + "operationId": "AlertRules_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a Scheduled alert rule.": { + "$ref": "./examples/alertRules/CreateScheduledAlertRule.json" + }, + "Creates or updates a Nrt alert rule.": { + "$ref": "./examples/alertRules/CreateNrtAlertRule.json" + }, + "Creates or updates a Fusion alert rule.": { + "$ref": "./examples/alertRules/CreateFusionAlertRule.json" + }, + "Creates or updates a Fusion alert rule with scenario exclusion pattern.": { + "$ref": "./examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json" + }, + "Creates or updates a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Creates or updates the alert rule.", + "operationId": "AlertRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/AlertRule" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an alert rule.": { + "$ref": "./examples/alertRules/DeleteAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Delete the alert rule.", + "operationId": "AlertRules_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions": { + "get": { + "x-ms-examples": { + "Get all actions of alert rule.": { + "$ref": "./examples/actions/GetAllActionsByAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets all actions of alert rule.", + "operationId": "Actions_ListByAlertRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}": { + "get": { + "x-ms-examples": { + "Get an action of alert rule.": { + "$ref": "./examples/actions/GetActionOfAlertRuleById.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets the action of alert rule.", + "operationId": "Actions_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an action of alert rule.": { + "$ref": "./examples/actions/CreateActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Creates or updates the action of alert rule.", + "operationId": "Actions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + }, + { + "$ref": "#/parameters/Action" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an action of alert rule.": { + "$ref": "./examples/actions/DeleteActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Delete the action of alert rule.", + "operationId": "Actions_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates": { + "get": { + "x-ms-examples": { + "Get all alert rule templates.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplates.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets all alert rule templates.", + "operationId": "AlertRuleTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRuleTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}": { + "get": { + "x-ms-examples": { + "Get alert rule template by Id.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplateById.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets the alert rule template.", + "operationId": "AlertRuleTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AlertRuleTemplateId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "Action": { + "description": "The action", + "in": "body", + "name": "action", + "required": true, + "schema": { + "$ref": "#/definitions/ActionRequest" + }, + "x-ms-parameter-location": "method" + }, + "ActionId": { + "description": "Action ID", + "in": "path", + "name": "actionId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AlertRule": { + "description": "The alert rule", + "in": "body", + "name": "alertRule", + "required": true, + "schema": { + "$ref": "#/definitions/AlertRule" + }, + "x-ms-parameter-location": "method" + }, + "AlertRuleTemplateId": { + "description": "Alert rule template ID", + "in": "path", + "name": "alertRuleTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleId": { + "description": "Alert rule ID", + "in": "path", + "name": "ruleId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "AlertRule": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Alert rule.", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "AlertRuleKindEnum": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion", + "MLBehaviorAnalytics", + "ThreatIntelligence", + "NRT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + }, + { + "value": "MLBehaviorAnalytics" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "NRT" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "required": [ + "kind" + ] + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the alert rule template", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlertRuleTemplatePropertiesBase": { + "description": "Base alert rule template property bag.", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "type": "integer", + "format": "int32" + }, + "lastUpdatedDateUTC": { + "description": "The last time that this alert rule template has been updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data sources for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "x-ms-identifiers": [ + "connectorId" + ], + "type": "array" + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status." + } + }, + "type": "object" + }, + "AlertRuleTemplateStatus": { + "description": "The alert rule template status.", + "enum": [ + "Installed", + "Available", + "NotAvailable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TemplateStatus", + "values": [ + { + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" + }, + { + "description": "Alert rule template is available.", + "value": "Available" + }, + { + "description": "Alert rule template is not available", + "value": "NotAvailable" + } + ] + } + }, + "AlertRuleTemplateWithMitreProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "Alert rule template with MITRE property bag.", + "properties": { + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "QueryBasedAlertRuleTemplateProperties": { + "description": "Query based alert rule template base property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rules.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "MLBehaviorAnalyticsAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MLBehaviorAnalyticsAlertRuleProperties", + "description": "MLBehaviorAnalytics alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "MLBehaviorAnalyticsAlertRuleProperties": { + "description": "MLBehaviorAnalytics alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "MLBehaviorAnalyticsAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "MLBehaviorAnalytics alert rule template properties.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "type": "object", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "sourceSettings": { + "description": "Configuration for all supported source signals in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSettings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "scenarioExclusionPatterns": { + "description": "Configuration to exclude scenarios in fusion detection.", + "items": { + "$ref": "#/definitions/FusionScenarioExclusionPattern" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled", + "sourceSettings" + ], + "type": "object" + }, + "FusionSourceSettings": { + "description": "Represents a supported source signal configuration in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceName": { + "description": "Name of the Fusion source signal. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypes": { + "description": "Configuration for all source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSubTypeSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "enabled", + "sourceName" + ], + "type": "object" + }, + "FusionSourceSubTypeSetting": { + "description": "Represents a supported source subtype configuration under a source signal in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source subtype under source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceSubTypeName": { + "description": "The Name of the source subtype under a given source signal in Fusion detection. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilters": { + "description": "Severity configuration for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "enabled", + "sourceSubTypeName", + "severityFilters" + ], + "type": "object" + }, + "FusionSubTypeSeverityFilter": { + "description": "Represents severity configuration for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether this source subtype supports severity configuration or not.", + "type": "boolean", + "readOnly": true + }, + "filters": { + "description": "Individual Severity configuration settings for a given source subtype consumed in Fusion detection.", + "items": { + "$ref": "#/definitions/FusionSubTypeSeverityFiltersItem" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "FusionSubTypeSeverityFiltersItem": { + "description": "Represents a Severity filter setting for a given source subtype consumed in Fusion detection.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The Severity for a given source subtype consumed in Fusion detection." + }, + "enabled": { + "description": "Determines whether this severity is enabled or disabled for this source subtype consumed in Fusion detection.", + "type": "boolean" + } + }, + "required": [ + "severity", + "enabled" + ], + "type": "object" + }, + "FusionScenarioExclusionPattern": { + "description": "Represents a Fusion scenario exclusion patterns in Fusion detection.", + "properties": { + "exclusionPattern": { + "description": "Scenario exclusion pattern.", + "type": "string" + }, + "dateAddedInUTC": { + "description": "DateTime when scenario exclusion pattern is added in UTC.", + "type": "string" + } + }, + "required": [ + "exclusionPattern", + "dateAddedInUTC" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleTemplateProperties", + "description": "Fusion alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "severity", + "sourceSettings", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleTemplateProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "Fusion alert rule template properties", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "sourceSettings": { + "description": "All supported source signal configurations consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "FusionTemplateSourceSetting": { + "description": "Represents a source signal consumed in Fusion detection.", + "properties": { + "sourceName": { + "description": "The name of a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypes": { + "description": "All supported source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSubType" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "sourceName" + ], + "type": "object" + }, + "FusionTemplateSourceSubType": { + "description": "Represents a source subtype under a source signal consumed in Fusion detection.", + "properties": { + "sourceSubTypeName": { + "description": "The name of source subtype under a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilter": { + "description": "Severity configuration available for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionTemplateSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "sourceSubTypeName", + "severityFilter" + ], + "type": "object" + }, + "FusionTemplateSubTypeSeverityFilter": { + "description": "Represents severity configurations available for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether severity configuration is supported for this source subtype consumed in Fusion detection.", + "type": "boolean" + }, + "severityFilters": { + "description": "List of all supported severities for this source subtype consumed in Fusion detection.", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "isSupported" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Threat Intelligence alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceAlertRuleProperties", + "description": "Threat Intelligence alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "ThreatIntelligenceAlertRuleProperties": { + "description": "Threat Intelligence alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Threat Intelligence alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "Threat Intelligence alert rule template properties", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "MicrosoftSecurityIncidentCreationAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array" + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityProductName": { + "description": "The alerts' productName on which the cases will be generated", + "enum": [ + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT", + "Office 365 Advanced Threat Protection", + "Microsoft Defender Advanced Threat Protection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "displayName", + "enabled", + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties", + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "required": [ + "displayName", + "description", + "createdDateUTC", + "status", + "alertRulesCreatedByTemplateCount", + "productFilter" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "QueryBasedAlertRuleProperties": { + "description": "Query based alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "templateVersion": { + "description": "The version of the alert rule template used to create this rule - in format , where all are numbers, for example 0 <1.0.2>", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "required": [ + "displayName", + "enabled", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object" + }, + "ScheduledAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + }, + { + "$ref": "#/definitions/QueryBasedAlertRuleProperties" + } + ], + "description": "Scheduled alert rule base property bag.", + "required": [ + "displayName", + "enabled", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object" + }, + "NrtAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/QueryBasedAlertRuleProperties" + } + ], + "description": "Nrt alert rule base property bag.", + "type": "object" + }, + "ScheduledAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents scheduled alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + }, + { + "$ref": "#/definitions/QueryBasedAlertRuleTemplateProperties" + }, + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + } + ], + "description": "Scheduled alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "version" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "NrtAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents NRT alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + }, + { + "$ref": "#/definitions/QueryBasedAlertRuleTemplateProperties" + } + ], + "description": "NRT alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "version" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" + } + }, + "type": "object" + }, + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "ScheduledAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents scheduled alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "NrtAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents NRT alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/NrtAlertRuleProperties", + "description": "NRT alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "ScheduledAlertRuleCommonProperties": { + "description": "Scheduled alert rule template property bag.", + "properties": { + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "type": "integer", + "format": "int32" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + } + }, + "type": "object" + }, + "EntityMappings": { + "description": "List of entity mappings of the alert rule", + "type": "array", + "items": { + "$ref": "#/definitions/EntityMapping" + }, + "x-ms-identifiers": [] + }, + "EntityMapping": { + "description": "Single entity mapping for the alert rule", + "properties": { + "entityType": { + "$ref": "#/definitions/EntityMappingType" + }, + "fieldMappings": { + "description": "array of field mappings for the given entity mapping", + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "FieldMapping": { + "description": "A single field mapping of the mapped entity", + "properties": { + "identifier": { + "description": "the V3 identifier of the entity", + "type": "string" + }, + "columnName": { + "description": "the column name to be mapped to the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AlertDetailsOverride": { + "description": "Settings for how to dynamically override alert static details", + "properties": { + "alertDisplayNameFormat": { + "description": "the format containing columns name(s) to override the alert name", + "type": "string" + }, + "alertDescriptionFormat": { + "description": "the format containing columns name(s) to override the alert description", + "type": "string" + }, + "alertTacticsColumnName": { + "description": "the column name to take the alert tactics from", + "type": "string" + }, + "alertSeverityColumnName": { + "description": "the column name to take the alert severity from", + "type": "string" + } + }, + "type": "object" + }, + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", + "properties": { + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" + }, + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" + } + }, + "type": "object", + "required": [ + "createIncident" + ] + }, + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", + "properties": { + "enabled": { + "description": "Grouping enabled", + "type": "boolean" + }, + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" + }, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "matchingMethod": { + "description": "Grouping matching method. When method is Selected at least one of groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.", + "enum": [ + "AllEntities", + "AnyAlert", + "Selected" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MatchingMethod", + "values": [ + { + "description": "Grouping alerts into a single incident if all the entities match", + "value": "AllEntities" + }, + { + "description": "Grouping any alerts triggered by this rule into a single incident", + "value": "AnyAlert" + }, + { + "description": "Grouping alerts into a single incident if the selected entities, custom details and alert details match", + "value": "Selected" + } + ] + } + }, + "groupByEntities": { + "description": "A list of entity types to group by (when matchingMethod is Selected). Only entities defined in the current alert rule may be used.", + "items": { + "$ref": "#/definitions/EntityMappingType" + }, + "type": "array" + }, + "groupByAlertDetails": { + "description": "A list of alert details to group by (when matchingMethod is Selected)", + "items": { + "description": "Alert detail", + "enum": [ + "DisplayName", + "Severity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertDetail", + "values": [ + { + "description": "Alert display name", + "value": "DisplayName" + }, + { + "description": "Alert severity", + "value": "Severity" + } + ] + } + }, + "type": "array" + }, + "groupByCustomDetails": { + "description": "A list of custom details keys to group by (when matchingMethod is Selected). Only keys defined in the current alert rule may be used.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "matchingMethod" + ] + }, + "ActionRequest": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionPropertiesBase": { + "description": "Action property bag base.", + "properties": { + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", + "type": "string" + } + }, + "required": [ + "logicAppResourceId" + ], + "type": "object" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "triggerUri" + ], + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionResponseProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionsList": { + "description": "List all the actions.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of actions.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of actions.", + "items": { + "$ref": "#/definitions/ActionResponse" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "EntityMappingType": { + "description": "The V3 type of the mapped entity", + "enum": [ + "Account", + "Host", + "IP", + "Malware", + "File", + "Process", + "CloudApplication", + "DNS", + "AzureResource", + "FileHash", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityMappingType", + "values": [ + { + "description": "User account entity type", + "value": "Account" + }, + { + "description": "Host entity type", + "value": "Host" + }, + { + "description": "IP address entity type", + "value": "IP" + }, + { + "description": "Malware entity type", + "value": "Malware" + }, + { + "description": "System file entity type", + "value": "File" + }, + { + "description": "Process entity type", + "value": "Process" + }, + { + "description": "Cloud app entity type", + "value": "CloudApplication" + }, + { + "description": "DNS entity type", + "value": "DNS" + }, + { + "description": "Azure resource entity type", + "value": "AzureResource" + }, + { + "description": "File-hash entity type", + "value": "FileHash" + }, + { + "description": "Registry key entity type", + "value": "RegistryKey" + }, + { + "description": "Registry value entity type", + "value": "RegistryValue" + }, + { + "description": "Security group entity type", + "value": "SecurityGroup" + }, + { + "description": "URL entity type", + "value": "URL" + }, + { + "description": "Mailbox entity type", + "value": "Mailbox" + }, + { + "description": "Mail cluster entity type", + "value": "MailCluster" + }, + { + "description": "Mail message entity type", + "value": "MailMessage" + }, + { + "description": "Submission mail entity type", + "value": "SubmissionMail" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AutomationRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AutomationRules.json new file mode 100644 index 000000000000..0c65d9ee8180 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/AutomationRules.json @@ -0,0 +1,1019 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview", + "x-ms-code-generation-settings": { + "name": "SecurityInsights" + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets the automation rule.", + "operationId": "AutomationRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Get": { + "$ref": "./examples/automationRules/AutomationRules_Get.json" + } + } + }, + "put": { + "tags": [ + "automationRules" + ], + "description": "Creates or updates the automation rule.", + "operationId": "AutomationRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + }, + { + "in": "body", + "name": "automationRuleToUpsert", + "description": "The automation rule", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_CreateOrUpdate": { + "$ref": "./examples/automationRules/AutomationRules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "automationRules" + ], + "description": "Delete the automation rule.", + "operationId": "AutomationRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "object" + } + }, + "204": { + "description": "No Content", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Delete": { + "$ref": "./examples/automationRules/AutomationRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets all automation rules.", + "operationId": "AutomationRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AutomationRules_List": { + "$ref": "./examples/automationRules/AutomationRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook": { + "post": { + "tags": [ + "manualTrigger" + ], + "description": "Triggers playbook on a specific incident", + "operationId": "Incidents_RunPlaybook", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "in": "path", + "name": "incidentIdentifier", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "requestBody", + "schema": { + "$ref": "#/definitions/ManualTriggerRequestBody" + } + } + ], + "responses": { + "204": { + "description": "Success", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_ManualTriggerPlaybook": { + "$ref": "./examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "The type of the automation rule action", + "enum": [ + "ModifyProperties", + "RunPlaybook" + ], + "type": "string", + "example": "ModifyProperties", + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "value": "ModifyProperties", + "description": "Modify an object's properties" + }, + { + "value": "RunPlaybook", + "description": "Run a playbook on an object" + } + ] + } + }, + "AutomationRule": { + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/AutomationRuleProperties", + "x-ms-client-flatten": true + } + } + }, + "AutomationRuleAction": { + "description": "Describes an automation rule action", + "required": [ + "actionType", + "order" + ], + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "actionType": { + "$ref": "#/definitions/ActionType" + } + }, + "discriminator": "actionType" + }, + "AutomationRuleCondition": { + "description": "Describes an automation rule condition", + "required": [ + "conditionType" + ], + "type": "object", + "properties": { + "conditionType": { + "$ref": "#/definitions/ConditionType" + } + }, + "discriminator": "conditionType" + }, + "AutomationRuleModifyPropertiesAction": { + "description": "Describes an automation rule action to modify an object's properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/IncidentPropertiesAction" + } + }, + "x-ms-discriminator-value": "ModifyProperties", + "x-ms-client-flatten": true + }, + "AutomationRuleProperties": { + "description": "Automation rule properties", + "required": [ + "actions", + "displayName", + "order", + "triggeringLogic" + ], + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the automation rule", + "type": "string" + }, + "order": { + "format": "int32", + "description": "The order of execution of the automation rule", + "type": "integer" + }, + "triggeringLogic": { + "$ref": "#/definitions/AutomationRuleTriggeringLogic" + }, + "actions": { + "description": "The actions to execute when the automation rule is triggered", + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleAction" + } + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the automation rule was updated", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the automation rule was created", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + }, + "createdBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + } + } + }, + "AutomationRulePropertyConditionSupportedOperator": { + "enum": [ + "Equals", + "NotEquals", + "Contains", + "NotContains", + "StartsWith", + "NotStartsWith", + "EndsWith", + "NotEndsWith" + ], + "type": "string", + "example": "Equals", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedOperator", + "modelAsString": true, + "values": [ + { + "value": "Equals", + "description": "Evaluates if the property equals at least one of the condition values" + }, + { + "value": "NotEquals", + "description": "Evaluates if the property does not equal any of the condition values" + }, + { + "value": "Contains", + "description": "Evaluates if the property contains at least one of the condition values" + }, + { + "value": "NotContains", + "description": "Evaluates if the property does not contain any of the condition values" + }, + { + "value": "StartsWith", + "description": "Evaluates if the property starts with any of the condition values" + }, + { + "value": "NotStartsWith", + "description": "Evaluates if the property does not start with any of the condition values" + }, + { + "value": "EndsWith", + "description": "Evaluates if the property ends with any of the condition values" + }, + { + "value": "NotEndsWith", + "description": "Evaluates if the property does not end with any of the condition values" + } + ] + } + }, + "AutomationRulePropertyConditionSupportedProperty": { + "description": "The property to evaluate in an automation rule property condition", + "enum": [ + "IncidentTitle", + "IncidentDescription", + "IncidentSeverity", + "IncidentStatus", + "IncidentRelatedAnalyticRuleIds", + "IncidentTactics", + "IncidentLabel", + "IncidentProviderName", + "AccountAadTenantId", + "AccountAadUserId", + "AccountName", + "AccountNTDomain", + "AccountPUID", + "AccountSid", + "AccountObjectGuid", + "AccountUPNSuffix", + "AlertProductNames", + "AzureResourceResourceId", + "AzureResourceSubscriptionId", + "CloudApplicationAppId", + "CloudApplicationAppName", + "DNSDomainName", + "FileDirectory", + "FileName", + "FileHashValue", + "HostAzureID", + "HostName", + "HostNetBiosName", + "HostNTDomain", + "HostOSVersion", + "IoTDeviceId", + "IoTDeviceName", + "IoTDeviceType", + "IoTDeviceVendor", + "IoTDeviceModel", + "IoTDeviceOperatingSystem", + "IPAddress", + "MailboxDisplayName", + "MailboxPrimaryAddress", + "MailboxUPN", + "MailMessageDeliveryAction", + "MailMessageDeliveryLocation", + "MailMessageRecipient", + "MailMessageSenderIP", + "MailMessageSubject", + "MailMessageP1Sender", + "MailMessageP2Sender", + "MalwareCategory", + "MalwareName", + "ProcessCommandLine", + "ProcessId", + "RegistryKey", + "RegistryValueData", + "Url" + ], + "type": "string", + "example": "IncidentTitle", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedProperty", + "modelAsString": true, + "values": [ + { + "value": "IncidentTitle", + "description": "The title of the incident" + }, + { + "value": "IncidentDescription", + "description": "The description of the incident" + }, + { + "value": "IncidentSeverity", + "description": "The severity of the incident" + }, + { + "value": "IncidentStatus", + "description": "The status of the incident" + }, + { + "value": "IncidentRelatedAnalyticRuleIds", + "description": "The related Analytic rule ids of the incident" + }, + { + "value": "IncidentTactics", + "description": "The tactics of the incident" + }, + { + "value": "IncidentLabel", + "description": "The labels of the incident" + }, + { + "value": "IncidentProviderName", + "description": "The provider name of the incident" + }, + { + "value": "AccountAadTenantId", + "description": "The account Azure Active Directory tenant id" + }, + { + "value": "AccountAadUserId", + "description": "The account Azure Active Directory user id" + }, + { + "value": "AccountName", + "description": "The account name" + }, + { + "value": "AccountNTDomain", + "description": "The account NetBIOS domain name" + }, + { + "value": "AccountPUID", + "description": "The account Azure Active Directory Passport User ID" + }, + { + "value": "AccountSid", + "description": "The account security identifier" + }, + { + "value": "AccountObjectGuid", + "description": "The account unique identifier" + }, + { + "value": "AccountUPNSuffix", + "description": "The account user principal name suffix" + }, + { + "value": "AlertProductNames", + "description": "The name of the product of the alert" + }, + { + "value": "AzureResourceResourceId", + "description": "The Azure resource id" + }, + { + "value": "AzureResourceSubscriptionId", + "description": "The Azure resource subscription id" + }, + { + "value": "CloudApplicationAppId", + "description": "The cloud application identifier" + }, + { + "value": "CloudApplicationAppName", + "description": "The cloud application name" + }, + { + "value": "DNSDomainName", + "description": "The dns record domain name" + }, + { + "value": "FileDirectory", + "description": "The file directory full path" + }, + { + "value": "FileName", + "description": "The file name without path" + }, + { + "value": "FileHashValue", + "description": "The file hash value" + }, + { + "value": "HostAzureID", + "description": "The host Azure resource id" + }, + { + "value": "HostName", + "description": "The host name without domain" + }, + { + "value": "HostNetBiosName", + "description": "The host NetBIOS name" + }, + { + "value": "HostNTDomain", + "description": "The host NT domain" + }, + { + "value": "HostOSVersion", + "description": "The host operating system" + }, + { + "value": "IoTDeviceId", + "description": "\"The IoT device id" + }, + { + "value": "IoTDeviceName", + "description": "The IoT device name" + }, + { + "value": "IoTDeviceType", + "description": "The IoT device type" + }, + { + "value": "IoTDeviceVendor", + "description": "The IoT device vendor" + }, + { + "value": "IoTDeviceModel", + "description": "The IoT device model" + }, + { + "value": "IoTDeviceOperatingSystem", + "description": "The IoT device operating system" + }, + { + "value": "IPAddress", + "description": "The IP address" + }, + { + "value": "MailboxDisplayName", + "description": "The mailbox display name" + }, + { + "value": "MailboxPrimaryAddress", + "description": "The mailbox primary address" + }, + { + "value": "MailboxUPN", + "description": "The mailbox user principal name" + }, + { + "value": "MailMessageDeliveryAction", + "description": "The mail message delivery action" + }, + { + "value": "MailMessageDeliveryLocation", + "description": "The mail message delivery location" + }, + { + "value": "MailMessageRecipient", + "description": "The mail message recipient" + }, + { + "value": "MailMessageSenderIP", + "description": "The mail message sender IP address" + }, + { + "value": "MailMessageSubject", + "description": "The mail message subject" + }, + { + "value": "MailMessageP1Sender", + "description": "The mail message P1 sender" + }, + { + "value": "MailMessageP2Sender", + "description": "The mail message P2 sender" + }, + { + "value": "MalwareCategory", + "description": "The malware category" + }, + { + "value": "MalwareName", + "description": "The malware name" + }, + { + "value": "ProcessCommandLine", + "description": "The process execution command line" + }, + { + "value": "ProcessId", + "description": "The process id" + }, + { + "value": "RegistryKey", + "description": "The registry key path" + }, + { + "value": "RegistryValueData", + "description": "The registry key value in string formatted representation" + }, + { + "value": "Url", + "description": "The url" + } + ] + } + }, + "AutomationRulePropertyValuesCondition": { + "type": "object", + "properties": { + "propertyName": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedProperty" + }, + "operator": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedOperator" + }, + "propertyValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutomationRuleRunPlaybookAction": { + "description": "Describes an automation rule action to run a playbook", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/PlaybookActionProperties" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "RunPlaybook" + }, + "AutomationRulesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRule" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "AutomationRuleTriggeringLogic": { + "description": "Describes automation rule triggering logic", + "required": [ + "isEnabled", + "triggersOn", + "triggersWhen" + ], + "type": "object", + "properties": { + "isEnabled": { + "description": "Determines whether the automation rule is enabled or disabled", + "type": "boolean" + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Determines when the automation rule should automatically expire and be disabled.", + "type": "string" + }, + "triggersOn": { + "$ref": "#/definitions/triggersOn" + }, + "triggersWhen": { + "$ref": "#/definitions/triggersWhen" + }, + "conditions": { + "description": "The conditions to evaluate to determine if the automation rule should be triggered on a given object", + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + } + } + } + }, + "ConditionType": { + "enum": [ + "Property" + ], + "type": "string", + "example": "Property", + "x-ms-enum": { + "name": "ConditionType", + "modelAsString": true, + "values": [ + { + "value": "Property", + "description": "Evaluate an object property value" + } + ] + } + }, + "IncidentPropertiesAction": { + "type": "object", + "properties": { + "severity": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "classification": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationReason": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo" + }, + "labels": { + "description": "List of labels to add to the incident", + "type": "array", + "x-ms-identifiers": [ + "labelName" + ], + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + } + } + } + }, + "ManualTriggerRequestBody": { + "type": "object", + "properties": { + "tenantId": { + "format": "uuid", + "type": "string" + }, + "logicAppsResourceId": { + "type": "string" + } + } + }, + "PlaybookActionProperties": { + "type": "object", + "properties": { + "logicAppResourceId": { + "description": "The resource id of the playbook resource", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "The tenant id of the playbook resource", + "type": "string" + } + } + }, + "PropertyConditionProperties": { + "description": "Describes an automation rule condition that evaluates a property's value", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyValuesCondition" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "Property" + }, + "triggersOn": { + "enum": [ + "Incidents" + ], + "type": "string", + "example": "Incidents", + "x-ms-enum": { + "name": "triggersOn", + "modelAsString": true, + "values": [ + { + "value": "Incidents", + "description": "Trigger on Incidents" + } + ] + } + }, + "triggersWhen": { + "enum": [ + "Created" + ], + "type": "string", + "example": "Created", + "x-ms-enum": { + "name": "triggersWhen", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Trigger on created objects" + } + ] + } + } + }, + "parameters": { + "AutomationRule": { + "name": "automationRule", + "description": "The automation rule", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "AutomationRuleId": { + "in": "path", + "name": "automationRuleId", + "description": "Automation rule ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Bookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Bookmarks.json new file mode 100644 index 000000000000..8c1d26ea9d4f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Bookmarks.json @@ -0,0 +1,751 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks": { + "get": { + "x-ms-examples": { + "Get all bookmarks.": { + "$ref": "./examples/bookmarks/GetBookmarks.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets all bookmarks.", + "operationId": "Bookmarks_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}": { + "get": { + "x-ms-examples": { + "Get a bookmark.": { + "$ref": "./examples/bookmarks/GetBookmarkById.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets a bookmark.", + "operationId": "Bookmarks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark.": { + "$ref": "./examples/bookmarks/CreateBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Creates or updates the bookmark.", + "operationId": "Bookmarks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/Bookmark" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a bookmark.": { + "$ref": "./examples/bookmarks/DeleteBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Delete the bookmark.", + "operationId": "Bookmarks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations": { + "get": { + "x-ms-examples": { + "Get all bookmark relations.": { + "$ref": "./examples/bookmarks/relations/GetAllBookmarkRelations.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets all bookmark relations.", + "operationId": "BookmarkRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand": { + "post": { + "x-ms-examples": { + "Expand an bookmark": { + "$ref": "./examples/bookmarks/expand/PostExpandBookmark.json" + } + }, + "description": "Expand an bookmark", + "operationId": "Bookmark_Expand", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/BookmarkExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BookmarkExpandResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "tags": [ + "Bookmark" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/GetBookmarkRelationByName.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets a bookmark relation.", + "operationId": "BookmarkRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/CreateBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Creates the bookmark relation.", + "operationId": "BookmarkRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the bookmark relation.": { + "$ref": "./examples/bookmarks/relations/DeleteBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Delete the bookmark relation.", + "operationId": "BookmarkRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/BookmarkExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Bookmark": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a bookmark in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "BookmarkExpandParameters": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "BookmarkExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + }, + "edges": { + "description": "Array of expansion result connected entities", + "items": { + "$ref": "#/definitions/ConnectedEntity" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "BookmarkList": { + "description": "List all the bookmarks.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of bookmarks.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of bookmarks.", + "items": { + "$ref": "#/definitions/Bookmark" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "BookmarkProperties": { + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "eventTime": { + "description": "The bookmark event time", + "format": "date-time", + "type": "string" + }, + "queryStartTime": { + "description": "The start time for the query", + "format": "date-time", + "type": "string" + }, + "queryEndTime": { + "description": "The end time for the query", + "format": "date-time", + "type": "string" + }, + "incidentInfo": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappingsList", + "description": "Describes the entity mappings of the bookmark", + "type": "object" + }, + "tactics": { + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "description": "A list of relevant mitre attacks", + "type": "array" + }, + "techniques": { + "items": { + "$ref": "#/definitions/AttackTechnique" + }, + "description": "A list of relevant mitre techniques", + "type": "array" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "ConnectedEntity": { + "description": "Expansion result connected entities", + "properties": { + "targetEntityId": { + "description": "Entity Id of the connected entity", + "type": "string" + }, + "additionalData": { + "description": "key-value pairs for a connected entity mapping", + "type": "object" + } + }, + "type": "object" + }, + "EntityMappingsList": { + "description": "Describes the entity mappings of the bookmark", + "items": { + "$ref": "#/definitions/BookmarkEntityMappings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "BookmarkEntityMappings": { + "description": "Describes the entity mappings of a single entity", + "properties": { + "entityType": { + "description": "The entity type", + "type": "string" + }, + "fieldMappings": { + "description": "Array of fields mapping for that entity type", + "items": { + "$ref": "#/definitions/EntityFieldMapping" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "EntityFieldMapping": { + "description": "Map identifiers of a single entity", + "properties": { + "identifier": { + "description": "Alert V3 identifier", + "type": "string" + }, + "value": { + "description": "The value of the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AttackTechnique": { + "description": "Mitre technique (https://attack.mitre.org/matrices/enterprise/)", + "type": "string" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Enrichment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Enrichment.json new file mode 100644 index 000000000000..418e79c4abd2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Enrichment.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/ip/geodata/": { + "get": { + "x-ms-examples": { + "Get geodata for a single IP address": { + "$ref": "./examples/enrichment/GetGeodataByIp.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get geodata for a single IP address", + "operationId": "IPGeodata_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnrichmentIpAddress" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentIpGeodata" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this ip.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/": { + "get": { + "x-ms-examples": { + "Get whois information for a single domain name": { + "$ref": "./examples/enrichment/GetWhoisByDomainName.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get whois information for a single domain name", + "operationId": "DomainWhois_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnrichmentDomain" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentDomainWhois" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this domain.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EnrichmentIpAddress": { + "description": "IP address (v4 or v6) to be enriched", + "in": "query", + "name": "ipAddress", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EnrichmentDomain": { + "description": "Domain name to be enriched", + "in": "query", + "name": "domain", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "EnrichmentDomainWhois": { + "description": "Whois information for a given domain and associated metadata", + "properties": { + "domain": { + "description": "The domain for this whois record", + "type": "string" + }, + "server": { + "description": "The hostname of this registrar's whois server", + "type": "string" + }, + "created": { + "description": "The timestamp at which this record was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The timestamp at which this record was last updated", + "format": "date-time", + "type": "string" + }, + "expires": { + "description": "The timestamp at which this record will expire", + "format": "date-time", + "type": "string" + }, + "parsedWhois": { + "description": "The whois record for a given domain", + "$ref": "#/definitions/EnrichmentDomainWhoisDetails" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisDetails": { + "description": "The whois record for a given domain", + "properties": { + "registrar": { + "description": "The registrar associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisRegistrarDetails" + }, + "contacts": { + "description": "The set of contacts associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisContacts" + }, + "nameServers": { + "description": "A list of name servers associated with this domain", + "type": "array", + "items": { + "type": "string" + } + }, + "statuses": { + "description": "The set of status flags for this whois record", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisRegistrarDetails": { + "description": "The registrar associated with this domain", + "properties": { + "name": { + "description": "The name of this registrar", + "type": "string" + }, + "abuseContactEmail": { + "description": "This registrar's abuse contact email", + "type": "string" + }, + "abuseContactPhone": { + "description": "This registrar's abuse contact phone number", + "type": "string" + }, + "ianaId": { + "description": "This registrar's Internet Assigned Numbers Authority id", + "type": "string" + }, + "url": { + "description": "This registrar's URL", + "type": "string" + }, + "whoisServer": { + "description": "The hostname of this registrar's whois server", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContacts": { + "description": "The set of contacts associated with this domain", + "properties": { + "admin": { + "description": "The admin contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "billing": { + "description": "The billing contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "registrant": { + "description": "The registrant contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "tech": { + "description": "The technical contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContact": { + "description": "An individual contact associated with this domain", + "properties": { + "name": { + "description": "The name of this contact", + "type": "string" + }, + "org": { + "description": "The organization for this contact", + "type": "string" + }, + "street": { + "description": "A list describing the street address for this contact", + "type": "array", + "items": { + "type": "string" + } + }, + "city": { + "description": "The city for this contact", + "type": "string" + }, + "state": { + "description": "The state for this contact", + "type": "string" + }, + "postal": { + "description": "The postal code for this contact", + "type": "string" + }, + "country": { + "description": "The country for this contact", + "type": "string" + }, + "phone": { + "description": "The phone number for this contact", + "type": "string" + }, + "fax": { + "description": "The fax number for this contact", + "type": "string" + }, + "email": { + "description": "The email address for this contact", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentIpGeodata": { + "description": "Geodata information for a given IP address", + "properties": { + "asn": { + "description": "The autonomous system number associated with this IP address", + "type": "string" + }, + "carrier": { + "description": "The name of the carrier for this IP address", + "type": "string" + }, + "city": { + "description": "The city this IP address is located in", + "type": "string" + }, + "cityCf": { + "description": "A numeric rating of confidence that the value in the 'city' field is correct, on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "continent": { + "description": "The continent this IP address is located on", + "type": "string" + }, + "country": { + "description": "The county this IP address is located in", + "type": "string" + }, + "countryCf": { + "description": "A numeric rating of confidence that the value in the 'country' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "ipAddr": { + "description": "The dotted-decimal or colon-separated string representation of the IP address", + "type": "string" + }, + "ipRoutingType": { + "description": "A description of the connection type of this IP address", + "type": "string" + }, + "latitude": { + "description": "The latitude of this IP address", + "type": "string" + }, + "longitude": { + "description": "The longitude of this IP address", + "type": "string" + }, + "organization": { + "description": "The name of the organization for this IP address", + "type": "string" + }, + "organizationType": { + "description": "The type of the organization for this IP address", + "type": "string" + }, + "region": { + "description": "The geographic region this IP address is located in", + "type": "string" + }, + "state": { + "description": "The state this IP address is located in", + "type": "string" + }, + "stateCf": { + "description": "A numeric rating of confidence that the value in the 'state' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "stateCode": { + "description": "The abbreviated name for the state this IP address is located in", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Entities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Entities.json new file mode 100644 index 000000000000..8823ad739b1d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Entities.json @@ -0,0 +1,1368 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities": { + "get": { + "x-ms-examples": { + "Get all entities.": { + "$ref": "./examples/entities/GetEntities.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets all entities.", + "operationId": "Entities_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}": { + "get": { + "x-ms-examples": { + "Get an account entity.": { + "$ref": "./examples/entities/GetAccountEntityById.json" + }, + "Get a host entity.": { + "$ref": "./examples/entities/GetHostEntityById.json" + }, + "Get a file entity.": { + "$ref": "./examples/entities/GetFileEntityById.json" + }, + "Get a security alert entity.": { + "$ref": "./examples/entities/GetSecurityAlertEntityById.json" + }, + "Get a file hash entity.": { + "$ref": "./examples/entities/GetFileHashEntityById.json" + }, + "Get a malware entity.": { + "$ref": "./examples/entities/GetMalwareEntityById.json" + }, + "Get a security group entity.": { + "$ref": "./examples/entities/GetSecurityGroupEntityById.json" + }, + "Get an azure resource entity.": { + "$ref": "./examples/entities/GetAzureResourceEntityById.json" + }, + "Get a cloud application entity.": { + "$ref": "./examples/entities/GetCloudApplicationEntityById.json" + }, + "Get a process entity.": { + "$ref": "./examples/entities/GetProcessEntityById.json" + }, + "Get a dns entity.": { + "$ref": "./examples/entities/GetDnsEntityById.json" + }, + "Get an ip entity.": { + "$ref": "./examples/entities/GetIpEntityById.json" + }, + "Get a registry key entity.": { + "$ref": "./examples/entities/GetRegistryKeyEntityById.json" + }, + "Get a registry value entity.": { + "$ref": "./examples/entities/GetRegistryValueEntityById.json" + }, + "Get a url entity.": { + "$ref": "./examples/entities/GetUrlEntityById.json" + }, + "Get an IoT device entity.": { + "$ref": "./examples/entities/GetIoTDeviceEntityById.json" + }, + "Get a mailCluster entity.": { + "$ref": "./examples/entities/GetMailClusterEntityById.json" + }, + "Get a mailbox entity.": { + "$ref": "./examples/entities/GetMailboxEntityById.json" + }, + "Get a mailMessage entity.": { + "$ref": "./examples/entities/GetMailMessageEntityById.json" + }, + "Get a submissionMail entity.": { + "$ref": "./examples/entities/GetSubmissionMailEntityById.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets an entity.", + "operationId": "Entities_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand": { + "post": { + "x-ms-examples": { + "Expand an entity": { + "$ref": "./examples/entities/expand/PostExpandEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Expands an entity.", + "operationId": "Entities_Expand", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityExpandResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline": { + "post": { + "x-ms-examples": { + "Entity timeline": { + "$ref": "./examples/entities/timeline/PostTimelineEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Timeline for an entity.", + "operationId": "EntitiesGetTimeline_list", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityTimelineRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityTimelineResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries": { + "get": { + "x-ms-examples": { + "Get Entity Query": { + "$ref": "./examples/entities/GetQueries.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Get Insights and Activities for an entity.", + "operationId": "Entities_Queries", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityQueryKindParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetQueriesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights": { + "post": { + "x-ms-examples": { + "Entity Insight": { + "$ref": "./examples/entities/insights/PostGetInsights.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Execute Insights for an entity.", + "operationId": "Entities_GetInsights", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/GetInsightsEntityQueriesRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityGetInsightsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations": { + "get": { + "x-ms-examples": { + "Get all relations of an entity.": { + "$ref": "./examples/entities/relations/GetAllEntityRelations.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets all relations of an entity.", + "operationId": "EntitiesRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an entity relation.": { + "$ref": "./examples/entities/relations/GetEntityRelationByName.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets an entity relation.", + "operationId": "EntityRelations_GetRelation", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EntityExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityId": { + "description": "entity ID", + "in": "path", + "name": "entityId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityTimelineRequestBody": { + "description": "The parameters required to execute an timeline operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityTimelineParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityQueryKindParam": { + "description": "The Kind parameter for queries", + "in": "query", + "name": "kind", + "required": true, + "type": "string", + "enum": [ + "Insight" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "EntityItemQueryKind", + "values": [ + { + "description": "insight", + "value": "Insight" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "GetInsightsEntityQueriesRequestBody": { + "description": "The parameters required to execute insights on the given entity.", + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EntityGetInsightsParameters" + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "EntityGetInsightsParameters": { + "description": "The parameters required to execute insights operation on the given entity.", + "type": "object", + "properties": { + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "addDefaultExtendedTimeRange": { + "description": "Indicates if query time range should be extended with default time range of the query. Default value is false", + "type": "boolean" + }, + "insightQueryIds": { + "description": "List of Insights Query Id. If empty, default value is all insights of this entity", + "type": "array", + "items": { + "description": "Insight Query Id (GUID)", + "format": "uuid", + "type": "string" + } + } + }, + "required": [ + "startTime", + "endTime" + ] + }, + "EntityGetInsightsResponse": { + "description": "The Get Insights result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/GetInsightsResultsMetadata", + "description": "The metadata from the get insights operation results." + }, + "value": { + "description": "The insights result values.", + "items": { + "$ref": "#/definitions/EntityInsightItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "EntityEdges": { + "description": "The edge that connects the entity to the other entity.", + "properties": { + "targetEntityId": { + "description": "The target entity Id.", + "type": "string" + }, + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "type": "object" + } + }, + "type": "object" + }, + "EntityExpandParameters": { + "description": "The parameters required to execute an expand operation on the given entity.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "EntityExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + }, + "edges": { + "description": "Array of edges that connects the entity to the list of entities.", + "items": { + "$ref": "#/definitions/EntityEdges" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "EntityInsightItem": { + "description": "Entity insight Item.", + "type": "object", + "properties": { + "queryId": { + "type": "string", + "description": "The query id of the insight" + }, + "queryTimeInterval": { + "type": "object", + "description": "The Time interval that the query actually executed on.", + "properties": { + "startTime": { + "format": "date-time", + "type": "string", + "description": "Insight query start time" + }, + "endTime": { + "format": "date-time", + "type": "string", + "description": "Insight query end time" + } + } + }, + "tableQueryResults": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + }, + "chartQueryResults": { + "type": "array", + "description": "Query results for table insights query.", + "items": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + } + } + } + }, + "EntityList": { + "description": "List of all the entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "EntityTimelineResponse": { + "description": "The entity timeline result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/TimelineResultsMetadata", + "description": "The metadata from the timeline operation results." + }, + "value": { + "description": "The timeline result values.", + "items": { + "$ref": "#/definitions/EntityTimelineItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + } + ] + } + }, + "EntityTimelineParameters": { + "description": "The parameters required to execute s timeline operation on the given entity.", + "properties": { + "kinds": { + "description": "Array of timeline Item kinds.", + "items": { + "$ref": "#/definitions/EntityTimelineKind" + }, + "type": "array" + }, + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "numberOfBucket": { + "description": "The number of bucket for timeline queries aggregation.", + "type": "integer", + "format": "int32" + } + }, + "type": "object", + "required": [ + "startTime", + "endTime" + ] + }, + "EntityQueryItem": { + "description": "An abstract Query item for entity", + "type": "object", + "discriminator": "kind", + "properties": { + "id": { + "description": "Query Template ARM ID", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Query Template ARM Name", + "type": "string" + }, + "type": { + "description": "ARM Type", + "type": "string" + }, + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "type": "string", + "description": "The kind of the entity query" + } + }, + "required": [ + "kind" + ] + }, + "EntityQueryItemProperties": { + "description": "An properties abstract Query item for entity", + "type": "object", + "properties": { + "dataTypes": { + "description": "Data types for template", + "type": "array", + "items": { + "properties": { + "dataType": { + "description": "Data type name", + "type": "string" + } + }, + "type": "object" + } + }, + "inputEntityType": { + "description": "The type of the entity", + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType" + }, + "requiredInputFieldsSets": { + "description": "Data types for template", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object" + } + } + }, + "InsightsTableResult": { + "type": "object", + "description": "Query results for table insights query.", + "properties": { + "columns": { + "type": "array", + "description": "Columns Metadata of the table", + "items": { + "properties": { + "type": { + "type": "string", + "description": "the type of the colum" + }, + "name": { + "type": "string", + "description": "the name of the colum" + } + }, + "type": "object" + } + }, + "rows": { + "type": "array", + "description": "Rows data of the table", + "items": { + "type": "array", + "description": "Single row of data", + "items": { + "type": "string", + "description": "Cell in the table" + } + } + } + } + }, + "InsightQueryItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItem" + } + ], + "description": "Represents Insight Query.", + "properties": { + "properties": { + "description": "Properties bag for InsightQueryItem", + "$ref": "#/definitions/InsightQueryItemProperties" + } + }, + "type": "object", + "x-ms-discriminator-value": "Insight" + }, + "InsightQueryItemProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItemProperties" + } + ], + "description": "Represents Insight Query.", + "properties": { + "displayName": { + "type": "string", + "description": "The insight display name." + }, + "description": { + "type": "string", + "description": "The insight description." + }, + "baseQuery": { + "type": "string", + "description": "The base query of the insight." + }, + "tableQuery": { + "type": "object", + "description": "The insight table query.", + "properties": { + "columnsDefinitions": { + "type": "array", + "description": "List of insight column definitions.", + "items": { + "properties": { + "header": { + "type": "string", + "description": "Insight column header." + }, + "outputType": { + "type": "string", + "description": "Insights Column type.", + "enum": [ + "Number", + "String", + "Date", + "Entity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "outputType" + } + }, + "supportDeepLink": { + "type": "boolean", + "description": "Is query supports deep-link." + } + }, + "type": "object" + } + }, + "queriesDefinitions": { + "type": "array", + "description": "List of insight queries definitions.", + "items": { + "properties": { + "filter": { + "type": "string", + "description": "Insight column header." + }, + "summarize": { + "type": "string", + "description": "Insight column header." + }, + "project": { + "type": "string", + "description": "Insight column header." + }, + "linkColumnsDefinitions": { + "type": "array", + "description": "Insight column header.", + "items": { + "properties": { + "projectedName": { + "type": "string", + "description": "Insight Link Definition Projected Name." + }, + "Query": { + "type": "string", + "description": "Insight Link Definition Query." + } + }, + "type": "object" + } + } + }, + "type": "object" + } + } + } + }, + "chartQuery": { + "type": "object", + "description": "The insight chart query." + }, + "additionalQuery": { + "type": "object", + "description": "The activity query definitions.", + "properties": { + "query": { + "type": "string", + "description": "The insight query." + }, + "text": { + "type": "string", + "description": "The insight text." + } + } + }, + "defaultTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "The padding for the start time of the query." + }, + "afterRange": { + "type": "string", + "description": "The padding for the end time of the query." + } + } + }, + "referenceTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "Additional query time for looking back." + } + } + } + }, + "type": "object" + }, + "GetInsightsResultsMetadata": { + "description": "Get Insights result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the insights request", + "type": "integer", + "format": "int32" + }, + "errors": { + "description": "information about the failed queries", + "items": { + "$ref": "#/definitions/GetInsightsError" + }, + "type": "array" + } + }, + "required": [ + "totalCount" + ], + "type": "object" + }, + "GetInsightsError": { + "description": "GetInsights Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "type": "string", + "enum": [ + "Insight" + ] + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "GetQueriesResponse": { + "description": "Retrieve queries for entity result operation response.", + "properties": { + "value": { + "description": "The query result values.", + "items": { + "$ref": "#/definitions/EntityQueryItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "description": { + "type": "string", + "description": "The alert description." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + } + }, + "required": [ + "azureResourceId", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "TimelineError": { + "description": "Timeline Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "TimelineResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the timeline request", + "type": "integer", + "format": "int32" + }, + "aggregations": { + "description": "timeline aggregation per kind", + "items": { + "$ref": "#/definitions/TimelineAggregation" + }, + "type": "array" + }, + "errors": { + "description": "information about the failure queries", + "items": { + "$ref": "#/definitions/TimelineError" + }, + "type": "array" + } + }, + "required": [ + "totalCount", + "aggregations" + ], + "type": "object" + }, + "TimelineAggregation": { + "description": "timeline aggregation information per kind", + "properties": { + "count": { + "description": "the total items found for a kind", + "type": "integer", + "format": "int32" + }, + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + } + }, + "required": [ + "kind", + "count" + ], + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueries.json new file mode 100644 index 000000000000..52b0416af3f2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueries.json @@ -0,0 +1,507 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries": { + "get": { + "x-ms-examples": { + "Get all entity queries.": { + "$ref": "./examples/entityQueries/GetEntityQueries.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity queries.", + "operationId": "EntityQueries_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryKind" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}": { + "get": { + "x-ms-examples": { + "Get an Expansion entity query.": { + "$ref": "./examples/entityQueries/GetExpansionEntityQueryById.json" + }, + "Get an Activity entity query.": { + "$ref": "./examples/entityQueries/GetActivityEntityQueryById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueries_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Activity entity query.": { + "$ref": "./examples/entityQueries/CreateEntityQueryActivity.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Creates or updates the entity query.", + "operationId": "EntityQueries_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + }, + { + "$ref": "#/parameters/CustomEntityQuery" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an entity query.": { + "$ref": "./examples/entityQueries/DeleteEntityQuery.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Delete the entity query.", + "operationId": "EntityQueries_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CustomEntityQueryKind": { + "description": "The kind of the entity query that supports put request.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CustomEntityQueryKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryList": { + "description": "List of all the entity queries.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity queries.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity queries.", + "items": { + "$ref": "#/definitions/EntityQuery" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "CustomEntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query that supports put requests.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/CustomEntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ExpansionEntityQuery": { + "description": "Represents Expansion entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExpansionEntityQueriesProperties", + "description": "Expansion entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Expansion" + }, + "ExpansionEntityQueriesProperties": { + "description": "Describes expansion entity query properties", + "properties": { + "dataSources": { + "description": "List of the data sources that are required to run the query", + "items": { + "description": "data source", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The query display name", + "type": "string" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "inputFields": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "input field", + "type": "string" + }, + "type": "array" + }, + "outputEntityTypes": { + "description": "List of the desired output types to be constructed from the result", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "output entity type" + }, + "type": "array" + }, + "queryTemplate": { + "description": "The template query string to be parsed and formatted", + "type": "string" + } + }, + "type": "object" + }, + "ActivityEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityCustomEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/CustomEntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueriesProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + } + }, + "type": "object" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + }, + "templateName": { + "description": "The template id this activity was created from", + "type": "string" + }, + "enabled": { + "description": "Determines whether this activity is enabled or disabled.", + "type": "boolean" + }, + "createdTimeUtc": { + "description": "The time the activity was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the activity was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryId": { + "description": "entity query ID", + "in": "path", + "name": "entityQueryId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryKind": { + "description": "The entity query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Expansion", + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomEntityQuery": { + "description": "The entity query we want to create or update", + "in": "body", + "name": "entityQuery", + "required": true, + "schema": { + "$ref": "#/definitions/CustomEntityQuery" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueryTemplates.json new file mode 100644 index 000000000000..fcd4a86eec30 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueryTemplates.json @@ -0,0 +1,304 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates": { + "get": { + "x-ms-examples": { + "Get all entity query templates.": { + "$ref": "./examples/entityQueryTemplates/GetEntityQueryTemplates.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity query templates.", + "operationId": "EntityQueryTemplates_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryTemplateKind" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryTemplateList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates/{entityQueryTemplateId}": { + "get": { + "x-ms-examples": { + "Get an Activity entity query template.": { + "$ref": "./examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueryTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryTemplateId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "EntityQueryTemplateKind": { + "description": "The kind of the entity query template.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryTemplateKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryTemplateList": { + "description": "List of all the entity query templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity query templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity query templates.", + "items": { + "$ref": "#/definitions/EntityQueryTemplate" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQueryTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Specific entity query template.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/EntityQueryTemplateKind", + "description": "the entity query template kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ActivityEntityQueryTemplate": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQueryTemplate" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueryTemplateProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueryTemplateProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + }, + "summarizeBy": { + "description": "The dimensions we want to summarize the timeline results on, this is comma separated list", + "type": "string" + } + }, + "type": "object" + }, + "dataTypes": { + "description": "List of required data types for the given entity query template", + "items": { + "$ref": "#/definitions/DataTypeDefinitions" + }, + "type": "array" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + } + }, + "type": "object" + }, + "DataTypeDefinitions": { + "description": "The data type definition", + "properties": { + "dataType": { + "description": "The data type name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryTemplateId": { + "description": "entity query template ID", + "in": "path", + "name": "entityQueryTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryTemplateKind": { + "description": "The entity template query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Incidents.json new file mode 100644 index 000000000000..e77ef88fc473 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Incidents.json @@ -0,0 +1,1510 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "x-ms-examples": { + "Get all incidents.": { + "$ref": "./examples/incidents/GetIncidents.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "x-ms-examples": { + "Get an incident.": { + "$ref": "./examples/incidents/GetIncidentById.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets an incident.", + "operationId": "Incidents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident.": { + "$ref": "./examples/incidents/CreateIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Creates or updates the incident.", + "operationId": "Incidents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an incident.": { + "$ref": "./examples/incidents/DeleteIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Delete the incident.", + "operationId": "Incidents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam": { + "post": { + "x-ms-examples": { + "Creates incident teams group.": { + "$ref": "./examples/incidents/CreateTeam.json" + } + }, + "tags": [ + "IncidentTeam" + ], + "description": "Creates a Microsoft team to investigate the incident by sharing information and insights between participants.", + "operationId": "Incidents_CreateTeam", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/TeamProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TeamInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "x-ms-examples": { + "Get all incident alerts.": { + "$ref": "./examples/incidents/GetAllIncidentAlerts.json" + } + }, + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all incident alerts.", + "operationId": "Incidents_ListAlerts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "x-ms-examples": { + "Get all incident bookmarks.": { + "$ref": "./examples/incidents/GetAllIncidentBookmarks.json" + } + }, + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all incident bookmarks.", + "operationId": "Incidents_ListBookmarks", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentBookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "x-ms-examples": { + "Get all incident comments.": { + "$ref": "./examples/incidents/comments/GetAllIncidentComments.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets all incident comments.", + "operationId": "IncidentComments_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentCommentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/IncidentComment", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "x-ms-examples": { + "Get an incident comment.": { + "$ref": "./examples/incidents/comments/GetIncidentCommentById.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets an incident comment.", + "operationId": "IncidentComments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident comment.": { + "$ref": "./examples/incidents/comments/CreateIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Creates or updates the incident comment.", + "operationId": "IncidentComments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident comment.": { + "$ref": "./examples/incidents/comments/DeleteIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Delete the incident comment.", + "operationId": "IncidentComments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "x-ms-examples": { + "Gets all incident related entities": { + "$ref": "./examples/incidents/entities/GetAllIncidentEntities.json" + } + }, + "tags": [ + "IncidentEntities" + ], + "description": "Gets all incident related entities.", + "operationId": "Incidents_ListEntities", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentEntitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": { + "get": { + "x-ms-examples": { + "Get all incident relations.": { + "$ref": "./examples/incidents/relations/GetAllIncidentRelations.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets all incident relations.", + "operationId": "IncidentRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an incident relation.": { + "$ref": "./examples/incidents/relations/GetIncidentRelationByName.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets an incident relation.", + "operationId": "IncidentRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident relation.": { + "$ref": "./examples/incidents/relations/CreateIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Creates or updates the incident relation.", + "operationId": "IncidentRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident relation.": { + "$ref": "./examples/incidents/relations/DeleteIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Delete the incident relation.", + "operationId": "IncidentRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + } + ] + } + }, + "Incident": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "properties": { + "alertsCount": { + "description": "The number of alerts in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "providerIncidentUrl": { + "description": "The provider incident url to the incident in Microsoft 365 Defender portal", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques associated with incident's tactics'", + "items": { + "description": "Attack Technique", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/SecurityAlert" + } + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/HuntingBookmark" + } + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentComment": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentCommentList": { + "description": "List of incident comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The time the comment was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "author": { + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + }, + "type": "object" + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "properties": { + "count": { + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer", + "format": "int32" + }, + "entityKind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "IncidentList": { + "description": "List all the incidents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentProperties": { + "description": "Describes incident properties", + "properties": { + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "readOnly": true, + "type": "string" + }, + "incidentNumber": { + "description": "A sequential number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + }, + "type": "array" + }, + "providerName": { + "description": "The name of the source provider that generated the incident", + "type": "string" + }, + "providerIncidentId": { + "description": "The incident ID assigned by the incident provider", + "type": "string" + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "description": "The status of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "teamInformation": { + "$ref": "#/definitions/TeamInformation", + "description": "Describes a team for the incident", + "type": "object" + }, + "title": { + "description": "The title of the incident", + "type": "string" + } + }, + "required": [ + "title", + "severity", + "status" + ], + "type": "object" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "description": { + "type": "string", + "description": "The alert description." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + } + }, + "required": [ + "azureResourceId", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "TeamInformation": { + "description": "Describes team information", + "properties": { + "teamId": { + "description": "Team ID", + "readOnly": true, + "type": "string" + }, + "primaryChannelUrl": { + "description": "The primary channel URL of the team", + "readOnly": true, + "type": "string" + }, + "teamCreationTimeUtc": { + "description": "The time the team was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the team", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the team", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TeamProperties": { + "description": "Describes team properties", + "properties": { + "teamName": { + "description": "The name of the team", + "type": "string" + }, + "teamDescription": { + "description": "The description of the team", + "type": "string" + }, + "memberIds": { + "description": "List of member IDs to add to the team", + "items": { + "description": "A single-value attribute that is the unique identifier for the user, assigned by active directory.", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "groupIds": { + "description": "List of group IDs to add their members to the team", + "items": { + "description": "A single-value attribute that is the unique identifier for the group, assigned by active directory.", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "teamName" + ], + "type": "object" + } + }, + "parameters": { + "Incident": { + "description": "The incident", + "in": "body", + "name": "incident", + "required": true, + "schema": { + "$ref": "#/definitions/Incident" + }, + "x-ms-parameter-location": "method" + }, + "IncidentComment": { + "description": "The incident comment", + "in": "body", + "name": "incidentComment", + "required": true, + "schema": { + "$ref": "#/definitions/IncidentComment" + }, + "x-ms-parameter-location": "method" + }, + "IncidentCommentId": { + "description": "Incident comment ID", + "in": "path", + "name": "incidentCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IncidentId": { + "description": "Incident ID", + "in": "path", + "name": "incidentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TeamProperties": { + "description": "Team properties", + "in": "body", + "name": "teamProperties", + "required": true, + "schema": { + "$ref": "#/definitions/TeamProperties" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Metadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Metadata.json new file mode 100644 index 000000000000..477a660f86f4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Metadata.json @@ -0,0 +1,774 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata": { + "get": { + "x-ms-examples": { + "Get all metadata.": { + "$ref": "./examples/metadata/GetAllMetadata.json" + }, + "Get all metadata with OData filter/orderby/skip/top": { + "$ref": "./examples/metadata/GetAllMetadataOData.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "List of all metadata", + "operationId": "Metadata_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}": { + "get": { + "x-ms-examples": { + "Get single metadata by name": { + "$ref": "./examples/metadata/GetMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Get a Metadata.", + "operationId": "Metadata_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete metadata.": { + "$ref": "./examples/metadata/DeleteMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Delete a Metadata.", + "operationId": "Metadata_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create/update full metadata.": { + "$ref": "./examples/metadata/PutMetadata.json" + }, + "Create/update minimal metadata.": { + "$ref": "./examples/metadata/PutMetadataMinimal.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Create a Metadata.", + "operationId": "Metadata_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/Metadata" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update metadata.": { + "$ref": "./examples/metadata/PatchMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Update an existing Metadata.", + "operationId": "Metadata_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/MetadataPatch" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MetadataList": { + "description": "List of all the metadata.", + "type": "object", + "properties": { + "value": { + "description": "Array of metadata.", + "items": { + "$ref": "#/definitions/MetadataModel" + }, + "type": "array" + }, + "nextLink": { + "description": "URL to fetch the next page of metadata.", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "MetadataModel": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Metadata resource definition.", + "properties": { + "properties": { + "$ref": "#/definitions/metadataProperties", + "description": "Metadata properties", + "x-ms-client-flatten": true + } + } + }, + "metadataPatch": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Metadata patch request body.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/metadataPropertiesPatch", + "description": "Metadata patch request body", + "x-ms-client-flatten": true + } + } + }, + "metadataContentId": { + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Can be optionally set for user created content to define dependencies. If an active content item is made from a template, both will have the same contentId.", + "type": "string" + }, + "metadataParentId": { + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + "type": "string" + }, + "metadataVersion": { + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + "type": "string" + }, + "metadataKind": { + "type": "string", + "description": "The kind of content the metadata is for.", + "enum": [ + "DataConnector", + "DataType", + "Workbook", + "WorkbookTemplate", + "Playbook", + "PlaybookTemplate", + "AnalyticsRuleTemplate", + "AnalyticsRule", + "HuntingQuery", + "InvestigationQuery", + "Parser", + "Watchlist", + "WatchlistTemplate", + "Solution" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "kind", + "values": [ + { + "value": "DataConnector" + }, + { + "value": "DataType" + }, + { + "value": "Workbook" + }, + { + "value": "WorkbookTemplate" + }, + { + "value": "Playbook" + }, + { + "value": "PlaybookTemplate" + }, + { + "value": "AnalyticsRuleTemplate" + }, + { + "value": "AnalyticsRule" + }, + { + "value": "HuntingQuery" + }, + { + "value": "InvestigationQuery" + }, + { + "value": "Parser" + }, + { + "value": "Watchlist" + }, + { + "value": "WatchlistTemplate" + }, + { + "value": "Solution" + } + ] + } + }, + "metadataSource": { + "description": "The original source of the content item, where it comes from.", + "type": "object", + "required": [ + "kind" + ], + "properties": { + "kind": { + "description": "Source type of the content", + "type": "string", + "enum": [ + "LocalWorkspace", + "Community", + "Solution", + "SourceRepository" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceKind", + "values": [ + { + "value": "LocalWorkspace" + }, + { + "value": "Community" + }, + { + "value": "Solution" + }, + { + "value": "SourceRepository" + } + ] + } + }, + "name": { + "description": "Name of the content source. The repo name, solution name, LA workspace name etc.", + "type": "string" + }, + "sourceId": { + "description": "ID of the content source. The solution ID, workspace ID, etc", + "type": "string" + } + } + }, + "metadataAuthor": { + "type": "object", + "description": "Publisher or creator of the content item.", + "properties": { + "name": { + "description": "Name of the author. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of author contact", + "type": "string" + }, + "link": { + "description": "Link for author/vendor page", + "type": "string" + } + } + }, + "metadataSupport": { + "type": "object", + "description": "Support information for the content item.", + "required": [ + "tier" + ], + "properties": { + "tier": { + "description": "Type of support for content item", + "type": "string", + "enum": [ + "Microsoft", + "Partner", + "Community" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "supportTier", + "values": [ + { + "value": "Microsoft" + }, + { + "value": "Partner" + }, + { + "value": "Community" + } + ] + } + }, + "name": { + "description": "Name of the support contact. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of support contact", + "type": "string" + }, + "link": { + "description": "Link for support help, like to support page to open a ticket etc.", + "type": "string" + } + } + }, + "metadataDependencies": { + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex dependencies.", + "type": "object", + "properties": { + "contentId": { + "description": "Id of the content item we depend on", + "$ref": "#/definitions/metadataContentId" + }, + "kind": { + "description": "Type of the content item we depend on", + "$ref": "#/definitions/metadataKind" + }, + "version": { + "description": "Version of the the content item we depend on. Can be blank, * or missing to indicate any version fulfills the dependency. If version does not match our defined numeric format then an exact match is required.", + "$ref": "#/definitions/metadataVersion" + }, + "name": { + "description": "Name of the content item", + "type": "string" + }, + "operator": { + "description": "Operator used for list of dependencies in criteria array.", + "type": "string", + "enum": [ + "AND", + "OR" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "operator", + "values": [ + { + "value": "AND" + }, + { + "value": "OR" + } + ] + } + }, + "criteria": { + "description": "This is the list of dependencies we must fulfill, according to the AND/OR operator", + "type": "array", + "items": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + } + } + } + }, + "metadataCategories": { + "type": "object", + "description": "ies for the solution content item", + "properties": { + "domains": { + "description": "domain for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "verticals": { + "description": "Industry verticals for the solution content item", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "str1", + "str2", + "str3" + ] + } + } + }, + "metadataProviders": { + "description": "Providers for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "firstPublishDate": { + "description": "first publish date of solution content item", + "type": "string", + "format": "date" + }, + "lastPublishDate": { + "description": "last publish date of solution content item", + "type": "string", + "format": "date" + }, + "metadataProperties": { + "description": "Metadata property bag.", + "required": [ + "parentId", + "kind" + ], + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + } + } + }, + "metadataPropertiesPatch": { + "description": "Metadata property bag for patch requests. This is the same as the MetadataProperties, but with nothing required", + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + } + } + } + }, + "parameters": { + "Metadata": { + "description": "Metadata resource.", + "in": "body", + "name": "metadata", + "required": true, + "schema": { + "$ref": "#/definitions/MetadataModel" + }, + "x-ms-parameter-location": "method" + }, + "MetadataPatch": { + "description": "Partial metadata request.", + "in": "body", + "name": "metadataPatch", + "required": true, + "schema": { + "$ref": "#/definitions/metadataPatch" + }, + "x-ms-parameter-location": "method" + }, + "MetadataName": { + "description": "The Metadata name.", + "in": "path", + "name": "metadataName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OfficeConsents.json new file mode 100644 index 000000000000..e2dd21e0e4a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OfficeConsents.json @@ -0,0 +1,234 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents": { + "get": { + "x-ms-examples": { + "Get all office consents.": { + "$ref": "./examples/officeConsents/GetOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets all office365 consents.", + "operationId": "OfficeConsents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfficeConsentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}": { + "get": { + "x-ms-examples": { + "Get an office consent.": { + "$ref": "./examples/officeConsents/GetOfficeConsentsById.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets an office365 consent.", + "operationId": "OfficeConsents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ConsentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfficeConsent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an office consent.": { + "$ref": "./examples/officeConsents/DeleteOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Delete the office365 consent.", + "operationId": "OfficeConsents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ConsentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "ConsentId": { + "description": "consent ID", + "in": "path", + "name": "consentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "OfficeConsent": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Consent for Office365 tenant that already made.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeConsentProperties", + "description": "Office consent properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "OfficeConsentList": { + "description": "List of all the office365 consents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of office consents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of the consents.", + "items": { + "$ref": "#/definitions/OfficeConsent" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "OfficeConsentProperties": { + "description": "Consent property bag.", + "properties": { + "tenantId": { + "description": "The tenantId of the Office365 with the consent.", + "type": "string" + }, + "consentId": { + "description": "Help to easily cascade among the data layers.", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OnboardingStates.json new file mode 100644 index 000000000000..340b437c42b7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/OnboardingStates.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}": { + "get": { + "x-ms-examples": { + "Get Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/GetSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Get Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in getting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/CreateSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Create Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in creating the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/DeleteSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Delete Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error in deleting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates": { + "get": { + "x-ms-examples": { + "Get all Sentinel onboarding states": { + "$ref": "./examples/onboardingStates/GetAllSentinelOnboardingStates.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Gets all Sentinel onboarding states", + "operationId": "SentinelOnboardingStates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingStatesList" + } + }, + "default": { + "description": "Error in listing the Sentinel onboarding states", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SentinelOnboardingStateProperties": { + "description": "The Sentinel onboarding state properties", + "type": "object", + "properties": { + "customerManagedKey": { + "description": "Flag that indicates the status of the CMK setting", + "type": "boolean" + } + } + }, + "SentinelOnboardingState": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Sentinel onboarding state", + "properties": { + "properties": { + "$ref": "#/definitions/SentinelOnboardingStateProperties", + "description": "The Sentinel onboarding state object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SentinelOnboardingStatesList": { + "description": "List of the Sentinel onboarding states", + "properties": { + "value": { + "description": "Array of Sentinel onboarding states", + "items": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + } + }, + "parameters": { + "SentinelOnboardingStateName": { + "description": "The Sentinel onboarding state name. Supports - default", + "in": "path", + "name": "sentinelOnboardingStateName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SentinelOnboardingStateParameter": { + "description": "The Sentinel onboarding state parameter", + "in": "body", + "name": "sentinelOnboardingStateParameter", + "required": false, + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Settings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Settings.json new file mode 100644 index 000000000000..5530653a6622 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Settings.json @@ -0,0 +1,432 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings": { + "get": { + "x-ms-examples": { + "Get all settings.": { + "$ref": "./examples/settings/GetAllSettings.json" + } + }, + "tags": [ + "Settings" + ], + "description": "List of all the settings", + "operationId": "ProductSettings_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}": { + "get": { + "x-ms-examples": { + "Get EyesOn settings.": { + "$ref": "./examples/settings/GetEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Gets a setting.", + "operationId": "ProductSettings_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete EyesOn settings.": { + "$ref": "./examples/settings/DeleteEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Delete setting of the product.", + "operationId": "ProductSettings_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update EyesOn settings.": { + "$ref": "./examples/settings/UpdateEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Updates setting.", + "operationId": "ProductSettings_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + }, + { + "$ref": "#/parameters/Settings" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", + "items": { + "$ref": "#/definitions/Settings" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Settings": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "The Setting.", + "properties": { + "kind": { + "description": "The kind of the setting", + "enum": [ + "Anomalies", + "EyesOn", + "EntityAnalytics", + "Ueba" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingKind" + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "type": "object" + }, + "Anomalies": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/AnomaliesSettingsProperties", + "description": "Anomalies properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Anomalies" + }, + "AnomaliesSettingsProperties": { + "description": "Anomalies property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EyesOn": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EyesOn" + }, + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EntityAnalytics": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EntityAnalyticsProperties", + "description": "EntityAnalytics properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EntityAnalytics" + }, + "EntityAnalyticsProperties": { + "description": "EntityAnalytics property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Ueba": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/UebaProperties", + "description": "Ueba properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ueba" + }, + "UebaProperties": { + "description": "Ueba property bag.", + "properties": { + "dataSources": { + "description": "The relevant data sources that enriched by ueba", + "items": { + "$ref": "#/definitions/UebaDataSources" + }, + "type": "array" + } + }, + "type": "object" + }, + "UebaDataSources": { + "description": "The data source that enriched by ueba.", + "enum": [ + "AuditLogs", + "AzureActivity", + "SecurityEvent", + "SigninLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "UebaDataSources" + } + }, + "Sku": { + "description": "The pricing tier of the solution", + "properties": { + "name": { + "description": "The kind of the tier", + "enum": [ + "PerGB", + "CapacityReservation" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SkuKind" + } + }, + "capacityReservationLevel": { + "description": "The amount of reservation level", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + }, + "parameters": { + "Settings": { + "description": "The setting", + "in": "body", + "name": "settings", + "required": true, + "schema": { + "$ref": "#/definitions/Settings" + }, + "x-ms-parameter-location": "method" + }, + "SettingsName": { + "description": "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + "in": "path", + "name": "settingsName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/SourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/SourceControls.json new file mode 100644 index 000000000000..619d6893acbd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/SourceControls.json @@ -0,0 +1,508 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories": { + "post": { + "x-ms-examples": { + "Get repository list.": { + "$ref": "./examples/repositories/GetRepositories.json" + } + }, + "tags": [ + "Repositories" + ], + "description": "Gets a list of repositories metadata.", + "operationId": "SourceControl_listRepositories", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RepoTypeParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RepoList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols": { + "get": { + "x-ms-examples": { + "Get all source controls.": { + "$ref": "./examples/sourcecontrols/GetSourceControls.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets all source controls, without source control items.", + "operationId": "SourceControls_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}": { + "get": { + "x-ms-examples": { + "Get a source control.": { + "$ref": "./examples/sourcecontrols/GetSourceControlById.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets a source control byt its identifier.", + "operationId": "SourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a source control.": { + "$ref": "./examples/sourcecontrols/DeleteSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Delete a source control.", + "operationId": "SourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates a source control.": { + "$ref": "./examples/sourcecontrols/CreateSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Creates a source control.", + "operationId": "SourceControls_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + }, + { + "$ref": "#/parameters/SourceControl" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "RepoList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of repositories.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of repositories.", + "items": { + "$ref": "#/definitions/Repo" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Repo": { + "description": "Represents a repository.", + "properties": { + "url": { + "description": "The url to access the repository.", + "type": "string" + }, + "fullName": { + "description": "The name of the repository.", + "type": "string" + }, + "branches": { + "description": "Array of branches.", + "items": { + "description": "name of branch.", + "type": "string" + }, + "type": "array" + } + }, + "x-ms-azure-resource": false, + "type": "object" + }, + "SourceControlList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of source controls.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of source controls.", + "items": { + "$ref": "#/definitions/SourceControl" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "SourceControl": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a SourceControl in Azure Security Insights.", + "properties": { + "properties": { + "description": "source control properties", + "$ref": "#/definitions/SourceControlProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SourceControlProperties": { + "description": "Describes source control properties", + "properties": { + "id": { + "description": "The id (a Guid) of the source control", + "type": "string" + }, + "displayName": { + "description": "The display name of the source control", + "type": "string" + }, + "description": { + "description": "A description of the source control", + "type": "string" + }, + "repoType": { + "$ref": "#/definitions/RepoType", + "description": "The repository type of the source control", + "type": "string" + }, + "contentTypes": { + "description": "Array of source control content types.", + "items": { + "$ref": "#/definitions/ContentType" + }, + "type": "array" + }, + "repository": { + "description": "Repository metadata.", + "$ref": "#/definitions/Repository" + } + }, + "required": [ + "displayName", + "repoType", + "contentTypes", + "repository" + ], + "type": "object" + }, + "Repository": { + "type": "object", + "description": "metadata of a repository.", + "properties": { + "url": { + "description": "Url of repository.", + "type": "string" + }, + "branch": { + "description": "Branch name of repository.", + "type": "string" + }, + "displayUrl": { + "description": "Display url of repository.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string" + }, + "pathMapping": { + "description": "Dictionary of source control content type and path mapping.", + "items": { + "$ref": "#/definitions/ContentPathMap" + }, + "type": "array" + } + } + }, + "ContentPathMap": { + "description": "The mapping of content type to a repo path.", + "properties": { + "contentType": { + "$ref": "#/definitions/ContentType", + "description": "Content type.", + "type": "string" + }, + "path": { + "description": "The path to the content.", + "type": "string" + } + }, + "type": "object" + }, + "ContentType": { + "description": "The content type of a source control path.", + "enum": [ + "AnalyticRule", + "Workbook" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ContentType", + "values": [ + { + "value": "AnalyticRule" + }, + { + "value": "Workbook" + } + ] + } + }, + "RepoType": { + "description": "The type of repository.", + "enum": [ + "Github", + "DevOps" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RepoType", + "values": [ + { + "value": "Github" + }, + { + "value": "DevOps" + } + ] + } + } + }, + "parameters": { + "RepoTypeParameter": { + "description": "The repo type.", + "in": "body", + "name": "repoType", + "required": true, + "schema": { + "$ref": "#/definitions/RepoType" + }, + "x-ms-parameter-location": "method" + }, + "SourceControlIdParameter": { + "description": "Source control Id", + "in": "path", + "name": "sourceControlId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceControl": { + "description": "The SourceControl", + "in": "body", + "name": "sourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/ThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/ThreatIntelligence.json new file mode 100644 index 000000000000..eb86bd0ddd8e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/ThreatIntelligence.json @@ -0,0 +1,1106 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a new threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_CreateIndicator", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to create indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence indicators": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get all threat intelligence indicators.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "View a threat intelligence indicator by name": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "View a threat intelligence indicator by name.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to view an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a threat Intelligence indicator": { + "$ref": "./examples/threatintelligence/UpdateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Update a threat Intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to update an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed to delete an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Query threat intelligence indicators as per filtering criteria": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query threat intelligence indicators as per filtering criteria.", + "operationId": "ThreatIntelligenceIndicator_QueryIndicators", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceFilteringCriteria" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).", + "operationId": "ThreatIntelligenceIndicatorMetrics_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricsList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get metrics.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTags" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed to append tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags added to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTags" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to replace tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "ThreatIntelligenceName": { + "description": "Threat intelligence indicator name field.", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceProperties": { + "description": "Properties of threat intelligence indicators to create and update.", + "in": "body", + "name": "ThreatIntelligenceProperties", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModelForRequestBody" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTags": { + "description": "Tags in the threat intelligence indicator to be replaced.", + "in": "body", + "name": "ThreatIntelligenceReplaceTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModelForRequestBody" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "in": "body", + "name": "ThreatIntelligenceFilteringCriteria", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceFilteringCriteria" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTags": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTags" + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ThreatIntelligenceInformationList": { + "description": "List of all the threat intelligence information objects.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of information objects.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of threat intelligence information objects.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceInformation": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + }, + { + "$ref": "#/definitions/ThreatIntelligenceResourceKind" + } + ], + "description": "Threat intelligence information object.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "ThreatIntelligenceIndicatorModel": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + ], + "description": "Threat intelligence indicator entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "indicator" + }, + "ThreatIntelligenceIndicatorModelForRequestBody": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceResourceKind" + } + ], + "description": "Threat intelligence indicator entity used in request body.", + "properties": { + "etag": { + "description": "Etag of the azure resource", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "indicator" + }, + "ThreatIntelligenceResourceKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." + } + }, + "discriminator": "kind", + "required": [ + "kind" + ], + "type": "object" + }, + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceKindEnum", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { + "allOf": [ + { + "$ref": "./common/EntityTypes.json#/definitions/EntityCommonProperties" + } + ], + "description": "Describes threat intelligence entity properties", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array" + }, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", + "type": "string" + }, + "source": { + "description": "Source of a threat intelligence entity", + "type": "string" + }, + "displayName": { + "description": "Display name of a threat intelligence entity", + "type": "string" + }, + "description": { + "description": "Description of a threat intelligence entity", + "type": "string" + }, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array" + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", + "type": "string" + }, + "patternType": { + "description": "Pattern type of a threat intelligence entity", + "type": "string" + }, + "patternVersion": { + "description": "Pattern version of a threat intelligence entity", + "type": "string" + }, + "killChainPhases": { + "description": "Kill chain phases", + "items": { + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" + }, + "type": "array" + }, + "parsedPattern": { + "description": "Parsed patterns", + "items": { + "description": "Parsed pattern", + "$ref": "#/definitions/ThreatIntelligenceParsedPattern" + }, + "type": "array" + }, + "externalId": { + "description": "External ID of threat intelligence entity", + "type": "string" + }, + "createdByRef": { + "description": "Created by reference of threat intelligence entity", + "type": "string" + }, + "defanged": { + "description": "Is threat intelligence entity defanged", + "type": "boolean" + }, + "externalLastUpdatedTimeUtc": { + "description": "External last updated time in UTC", + "type": "string" + }, + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "$ref": "#/definitions/ThreatIntelligenceExternalReference" + }, + "type": "array" + }, + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array" + }, + "labels": { + "description": "Labels of threat intelligence entity", + "items": { + "description": "label", + "type": "string" + }, + "type": "array" + }, + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" + }, + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "objectMarkingRefs": { + "description": "Threat intelligence entity object marking references", + "items": { + "description": "Threat intelligence entity object marking reference", + "type": "string" + }, + "type": "array" + }, + "language": { + "description": "Language of threat intelligence entity", + "type": "string" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array" + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" + }, + "extensions": { + "description": "Extensions map", + "type": "object", + "additionalProperties": {} + } + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", + "properties": { + "killChainName": { + "description": "Kill chainName name", + "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPattern": { + "description": "Describes parsed pattern entity", + "properties": { + "patternTypeKey": { + "description": "Pattern type key", + "type": "string" + }, + "patternTypeValues": { + "description": "Pattern type keys", + "items": { + "description": "Pattern type key", + "$ref": "#/definitions/ThreatIntelligenceParsedPatternTypeValue" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPatternTypeValue": { + "description": "Describes threat kill chain phase entity", + "properties": { + "valueType": { + "description": "Type of the value", + "type": "string" + }, + "value": { + "description": "Value of parsed pattern", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", + "properties": { + "language": { + "description": "Language granular marking model", + "type": "string" + }, + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" + }, + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceExternalReference": { + "description": "Describes external reference", + "properties": { + "description": { + "description": "External reference description", + "type": "string" + }, + "externalId": { + "description": "External reference ID", + "type": "string" + }, + "sourceName": { + "description": "External reference source name", + "type": "string" + }, + "url": { + "description": "External reference URL", + "type": "string" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "External reference hashes" + } + }, + "type": "object" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "properties": { + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" + }, + "minConfidence": { + "description": "Minimum confidence.", + "type": "integer", + "format": "int32" + }, + "maxConfidence": { + "description": "Maximum confidence.", + "type": "integer", + "format": "int32" + }, + "minValidUntil": { + "description": "Start time for ValidUntil filter.", + "type": "string" + }, + "maxValidUntil": { + "description": "End time for ValidUntil filter.", + "type": "string" + }, + "includeDisabled": { + "description": "Parameter to include/exclude disabled indicators.", + "type": "boolean" + }, + "sortBy": { + "description": "Columns to sort by and sorting order", + "items": { + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceSortingCriteria" + }, + "type": "array" + }, + "sources": { + "description": "Sources of threat intelligence indicators", + "items": { + "description": "Source", + "type": "string" + }, + "type": "array" + }, + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array" + }, + "threatTypes": { + "description": "Threat types of threat intelligence indicators", + "items": { + "description": "Threat type of a threat intelligence indicator", + "type": "string" + }, + "type": "array" + }, + "ids": { + "description": "Ids of threat intelligence indicators", + "items": { + "description": "Id of a threat intelligence indicator", + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Keywords for searching threat intelligence indicators", + "items": { + "description": "keyword for searching threat intelligence indicators", + "type": "string" + }, + "type": "array" + }, + "skipToken": { + "description": "Skip token.", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingCriteria": { + "description": "List of available columns for sorting", + "properties": { + "itemKey": { + "description": "Column name", + "type": "string" + }, + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceSortingOrder", + "description": "Sorting order (ascending/descending/unsorted)." + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingOrder": { + "description": "Sorting order (ascending/descending/unsorted).", + "enum": [ + "unsorted", + "ascending", + "descending" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceSortingCriteriaEnum", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTags": { + "description": "Array of tags to be appended to the threat intelligence indicator.", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags to be appended.", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricsList": { + "description": "List of all the threat intelligence metric fields (type/threat type/source).", + "properties": { + "value": { + "description": "Array of threat intelligence metric fields (type/threat type/source).", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetrics" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "ThreatIntelligenceMetrics": { + "description": "Threat intelligence metrics.", + "properties": { + "properties": { + "description": "Threat intelligence metrics.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", + "properties": { + "lastUpdatedTimeUtc": { + "description": "Last updated indicator metric", + "type": "string" + }, + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" + }, + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" + }, + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", + "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Watchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Watchlists.json new file mode 100644 index 000000000000..2c06cb4d8636 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/Watchlists.json @@ -0,0 +1,703 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets all watchlists, without watchlist items.", + "operationId": "Watchlists_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}": { + "get": { + "x-ms-examples": { + "Get a watchlist.": { + "$ref": "./examples/watchlists/GetWatchlistByAlias.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets a watchlist, without its watchlist items.", + "operationId": "Watchlists_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist.": { + "$ref": "./examples/watchlists/DeleteWatchlist.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Delete a watchlist.", + "operationId": "Watchlists_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + }, + "Creates or updates a watchlist and bulk creates watchlist items.": { + "$ref": "./examples/watchlists/CreateWatchlistAndWatchlistItems.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Creates or updates a watchlist and its watchlist items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its items, we should call this endpoint with rawContent and contentType properties.", + "operationId": "Watchlists_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/Watchlist" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems": { + "get": { + "x-ms-examples": { + "Get all watchlist Items.": { + "$ref": "./examples/watchlists/GetWatchlistItems.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Gets all watchlist Items.", + "operationId": "WatchlistItems_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}": { + "get": { + "x-ms-examples": { + "Get a watchlist item.": { + "$ref": "./examples/watchlists/GetWatchlistItemById.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Gets a watchlist, without its watchlist items.", + "operationId": "WatchlistItems_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist Item.": { + "$ref": "./examples/watchlists/DeleteWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Delete a watchlist item.", + "operationId": "WatchlistItems_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a watchlist item.": { + "$ref": "./examples/watchlists/CreateWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Creates or updates a watchlist item.", + "operationId": "WatchlistItems_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + }, + { + "$ref": "#/parameters/WatchlistItem" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "WatchlistList": { + "description": "List all the watchlists.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "Watchlist": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistProperties": { + "description": "Describes watchlist properties", + "properties": { + "watchlistId": { + "description": "The id (a Guid) of the watchlist", + "type": "string" + }, + "displayName": { + "description": "The display name of the watchlist", + "type": "string" + }, + "provider": { + "description": "The provider of the watchlist", + "type": "string" + }, + "source": { + "description": "The source of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "source" + } + }, + "created": { + "description": "The time the watchlist was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "description": { + "description": "A description of the watchlist", + "type": "string" + }, + "watchlistType": { + "description": "The type of the watchlist", + "type": "string" + }, + "watchlistAlias": { + "description": "The alias of the watchlist", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist is deleted or not", + "type": "boolean" + }, + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "tenantId": { + "description": "The tenantId where the watchlist belongs to", + "type": "string" + }, + "numberOfLinesToSkip": { + "description": "The number of lines in a csv/tsv content to skip before the header", + "type": "integer", + "format": "int32" + }, + "rawContent": { + "description": "The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint", + "type": "string" + }, + "itemsSearchKey": { + "description": "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.", + "type": "string" + }, + "contentType": { + "description": "The content type of the raw content. Example : text/csv or text/tsv ", + "type": "string" + }, + "uploadStatus": { + "description": "The status of the Watchlist upload : New, InProgress or Complete. Pls note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted", + "type": "string" + }, + "watchlistItemsCount": { + "description": "The number of Watchlist Items in the Watchlist", + "type": "integer", + "format": "int32" + } + }, + "required": [ + "displayName", + "source", + "provider", + "itemsSearchKey" + ], + "type": "object" + }, + "WatchlistItemList": { + "description": "List all the watchlist items.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlist item.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "WatchlistItem": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist item in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist Item properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", + "properties": { + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistItemId": { + "description": "The id (a Guid) of the watchlist item", + "type": "string" + }, + "tenantId": { + "description": "The tenantId to which the watchlist item belongs to", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist item is deleted or not", + "type": "boolean" + }, + "created": { + "description": "The time the watchlist item was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist item was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist item", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist item" + }, + "itemsKeyValue": { + "description": "key-value pairs for a watchlist item", + "type": "object" + }, + "entityMapping": { + "description": "key-value pairs for a watchlist item entity mapping", + "type": "object" + } + }, + "required": [ + "itemsKeyValue" + ], + "type": "object" + } + }, + "parameters": { + "WatchlistAlias": { + "description": "Watchlist Alias", + "in": "path", + "name": "watchlistAlias", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Watchlist": { + "description": "The watchlist", + "in": "body", + "name": "watchlist", + "required": true, + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItem": { + "description": "The watchlist item", + "in": "body", + "name": "watchlistItem", + "required": true, + "schema": { + "$ref": "#/definitions/WatchlistItem" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItemId": { + "description": "Watchlist Item Id (GUID)", + "in": "path", + "name": "watchlistItemId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/AlertTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/AlertTypes.json new file mode 100644 index 000000000000..e64020733366 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/AlertTypes.json @@ -0,0 +1,81 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "Common Alert types" + }, + "paths": {}, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "definitions": { + "AlertSeverityEnum": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "Reconnaissance", + "ResourceDevelopment", + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "PreAttack", + "ImpairProcessControl", + "InhibitResponseFunction" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/EntityTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/EntityTypes.json new file mode 100644 index 000000000000..e6603d969005 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/EntityTypes.json @@ -0,0 +1,2386 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "Common Entity types" + }, + "paths": {}, + "definitions": { + "AccountEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an account entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AccountEntityProperties", + "description": "Account entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Account" + }, + "AccountEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Account entity property bag.", + "properties": { + "aadTenantId": { + "description": "The Azure Active Directory tenant id.", + "readOnly": true, + "type": "string" + }, + "aadUserId": { + "description": "The Azure Active Directory user id.", + "readOnly": true, + "type": "string" + }, + "accountName": { + "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the account.", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this is a domain account.", + "readOnly": true, + "type": "boolean" + }, + "ntDomain": { + "description": "The NetBIOS domain name as it appears in the alert format domain/username. Examples: NT AUTHORITY.", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "puid": { + "description": "The Azure Active Directory Passport User ID.", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The account security identifier, e.g. S-1-5-18.", + "readOnly": true, + "type": "string" + }, + "upnSuffix": { + "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The fully qualified domain DNS name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AzureResourceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an azure resource entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AzureResourceEntityProperties", + "description": "AzureResource entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureResource" + }, + "AzureResourceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "AzureResource entity property bag.", + "properties": { + "resourceId": { + "description": "The azure resource id of the resource", + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "The subscription id of the resource", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudApplicationEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a cloud application entity.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudApplicationEntityProperties", + "description": "CloudApplication entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CloudApplication" + }, + "CloudApplicationEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "CloudApplication entity property bag.", + "properties": { + "appId": { + "description": "The technical identifier of the application.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "appName": { + "description": "The name of the related cloud application.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a dns entity.", + "properties": { + "properties": { + "$ref": "#/definitions/DnsEntityProperties", + "description": "Dns entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "DnsResolution" + }, + "DnsEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Dns entity property bag.", + "properties": { + "dnsServerIpEntityId": { + "description": "An ip entity id for the dns server resolving the request", + "readOnly": true, + "type": "string" + }, + "domainName": { + "description": "The name of the dns record associated with the alert", + "readOnly": true, + "type": "string" + }, + "hostIpAddressEntityId": { + "description": "An ip entity id for the dns request client", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityIds": { + "description": "Ip entity identifiers for the resolved ip address.", + "items": { + "description": "Ip entity id", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "Entity": { + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "description": "Specific entity.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "EntityCommonProperties": { + "description": "Entity common property bag.", + "properties": { + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "readOnly": true, + "type": "object" + }, + "friendlyName": { + "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityInnerKind": { + "description": "The kind of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DnsResolution", + "FileHash", + "Ip", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "Url", + "IoTDevice", + "SecurityAlert", + "Bookmark", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityKind", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns resolution in the system.", + "value": "DnsResolution" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "Ip" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "Url" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents bookmark in the system.", + "value": "Bookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityInnerType": { + "description": "The type of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DNS", + "FileHash", + "IP", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "IoTDevice", + "SecurityAlert", + "HuntingBookmark", + "MailCluster", + "MailMessage", + "Mailbox", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityType", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns in the system.", + "value": "DNS" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "IP" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "URL" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents HuntingBookmark in the system.", + "value": "HuntingBookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityQueryKind": { + "description": "The kind of the entity query", + "enum": [ + "Expansion", + "Insight", + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryKind", + "values": [ + { + "value": "Expansion" + }, + { + "value": "Insight" + }, + { + "value": "Activity" + } + ] + } + }, + "ExpansionResultAggregation": { + "description": "Information of a specific aggregation in the expansion result.", + "properties": { + "aggregationType": { + "description": "The common type of the aggregation. (for e.g. entity field name)", + "type": "string" + }, + "count": { + "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", + "type": "integer", + "format": "int32" + }, + "displayName": { + "description": "The display name of the aggregation by type.", + "type": "string" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "ExpansionResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "aggregations": { + "description": "Information of the aggregated nodes in the expansion result.", + "items": { + "$ref": "#/definitions/ExpansionResultAggregation" + }, + "type": "array" + } + }, + "type": "object" + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + }, + { + "description": "Host with Unknown operating system.", + "value": "Unknown" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HuntingBookmark": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a Hunting bookmark entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntingBookmarkProperties", + "description": "HuntingBookmark entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "HuntingBookmarkProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "eventTime": { + "description": "The time of the event", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "IoTDeviceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an IoT device entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IoTDevice" + }, + "IoTDeviceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "IoTDevice entity property bag.", + "properties": { + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "deviceName": { + "description": "The friendly name of the device", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "The source of the device", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "macAddress": { + "description": "The MAC address of the device", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "The model of the device", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "The serial number of the device", + "readOnly": true, + "type": "string" + }, + "firmwareVersion": { + "description": "The firmware version of the device", + "readOnly": true, + "type": "string" + }, + "operatingSystem": { + "description": "The operating system of the device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityId": { + "description": "The IP entity if of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "ThreatIntelligenceTypes.json#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array" + }, + "protocols": { + "description": "A list of protocols of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "IpEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an ip entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ip" + }, + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", + "properties": { + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "readOnly": true, + "type": "string" + }, + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", + "items": { + "$ref": "ThreatIntelligenceTypes.json#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "MailboxEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mailbox entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailboxEntityProperties", + "description": "Mailbox entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Mailbox" + }, + "MailboxEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mailbox entity property bag.", + "properties": { + "mailboxPrimaryAddress": { + "description": "The mailbox's primary address", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The mailbox's display name", + "readOnly": true, + "type": "string" + }, + "upn": { + "description": "The mailbox's UPN", + "readOnly": true, + "type": "string" + }, + "externalDirectoryObjectId": { + "description": "The AzureAD identifier of mailbox. Similar to AadUserId in account entity but this property is specific to mailbox object on office side", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailClusterEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail cluster entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailClusterEntityProperties", + "description": "Mail cluster entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailCluster" + }, + "MailClusterEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail cluster entity property bag.", + "properties": { + "networkMessageIds": { + "description": "The mail message IDs that are part of the mail cluster", + "items": { + "description": "A mail message ID", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "countByDeliveryStatus": { + "description": "Count of mail messages by DeliveryStatus string representation", + "readOnly": true, + "type": "object" + }, + "countByThreatType": { + "description": "Count of mail messages by ThreatType string representation", + "readOnly": true, + "type": "object" + }, + "countByProtectionStatus": { + "description": "Count of mail messages by ProtectionStatus string representation", + "readOnly": true, + "type": "object" + }, + "threats": { + "description": "The threats of mail messages that are part of the mail cluster", + "items": { + "description": "A threat", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "query": { + "description": "The query that was used to identify the messages of the mail cluster", + "readOnly": true, + "type": "string" + }, + "queryTime": { + "description": "The query time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "mailCount": { + "description": "The number of mail messages that are part of the mail cluster", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "isVolumeAnomaly": { + "description": "Is this a volume anomaly mail cluster", + "readOnly": true, + "type": "boolean" + }, + "source": { + "description": "The source of the mail cluster (default is 'O365 ATP')", + "readOnly": true, + "type": "string" + }, + "clusterSourceIdentifier": { + "description": "The id of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterSourceType": { + "description": "The type of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterQueryStartTime": { + "description": "The cluster query start time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterQueryEndTime": { + "description": "The cluster query end time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterGroup": { + "description": "The cluster group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailMessageEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail message entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailMessageEntityProperties", + "description": "Mail message entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailMessage" + }, + "MailMessageEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail message entity property bag.", + "properties": { + "fileEntityIds": { + "description": "The File entity ids of this mail message's attachments", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "recipient": { + "description": "The recipient of this mail message. Note that in case of multiple recipients the mail message is forked and each copy has one recipient", + "readOnly": true, + "type": "string" + }, + "urls": { + "description": "The Urls contained in this mail message", + "items": { + "description": "A Url contained in this mail message", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "threats": { + "description": "The threats of this mail message", + "items": { + "description": "A threat of the mail message", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "p1Sender": { + "description": "The p1 sender's email address", + "readOnly": true, + "type": "string" + }, + "p1SenderDisplayName": { + "description": "The p1 sender's display name", + "readOnly": true, + "type": "string" + }, + "p1SenderDomain": { + "description": "The p1 sender's domain", + "readOnly": true, + "type": "string" + }, + "senderIP": { + "description": "The sender's IP address", + "readOnly": true, + "type": "string" + }, + "p2Sender": { + "description": "The p2 sender's email address", + "readOnly": true, + "type": "string" + }, + "p2SenderDisplayName": { + "description": "The p2 sender's display name", + "readOnly": true, + "type": "string" + }, + "p2SenderDomain": { + "description": "The p2 sender's domain", + "readOnly": true, + "type": "string" + }, + "receiveDate": { + "description": "The receive date of this message", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "networkMessageId": { + "description": "The network message id of this mail message", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "internetMessageId": { + "description": "The internet message id of this mail message", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of this mail message", + "readOnly": true, + "type": "string" + }, + "language": { + "description": "The language of this mail message", + "readOnly": true, + "type": "string" + }, + "threatDetectionMethods": { + "description": "The threat detection methods", + "items": { + "description": "A threat detection method", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "bodyFingerprintBin1": { + "description": "The bodyFingerprintBin1", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin2": { + "description": "The bodyFingerprintBin2", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin3": { + "description": "The bodyFingerprintBin3", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin4": { + "description": "The bodyFingerprintBin4", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin5": { + "description": "The bodyFingerprintBin5", + "type": "integer", + "format": "int32" + }, + "antispamDirection": { + "description": "The directionality of this mail message", + "enum": [ + "Unknown", + "Inbound", + "Outbound", + "Intraorg" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AntispamMailDirection", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbound", + "value": "Inbound" + }, + { + "description": "Outbound", + "value": "Outbound" + }, + { + "description": "Intraorg", + "value": "Intraorg" + } + ] + } + }, + "deliveryAction": { + "description": "The delivery action of this mail message like Delivered, Blocked, Replaced etc", + "enum": [ + "Unknown", + "DeliveredAsSpam", + "Delivered", + "Blocked", + "Replaced" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryAction", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "DeliveredAsSpam", + "value": "DeliveredAsSpam" + }, + { + "description": "Delivered", + "value": "Delivered" + }, + { + "description": "Blocked", + "value": "Blocked" + }, + { + "description": "Replaced", + "value": "Replaced" + } + ] + } + }, + "deliveryLocation": { + "description": "The delivery location of this mail message like Inbox, JunkFolder etc", + "enum": [ + "Unknown", + "Inbox", + "JunkFolder", + "DeletedFolder", + "Quarantine", + "External", + "Failed", + "Dropped", + "Forwarded" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryLocation", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbox", + "value": "Inbox" + }, + { + "description": "JunkFolder", + "value": "JunkFolder" + }, + { + "description": "DeletedFolder", + "value": "DeletedFolder" + }, + { + "description": "Quarantine", + "value": "Quarantine" + }, + { + "description": "External", + "value": "External" + }, + { + "description": "Failed", + "value": "Failed" + }, + { + "description": "Dropped", + "value": "Dropped" + }, + { + "description": "Forwarded", + "value": "Forwarded" + } + ] + } + } + }, + "type": "object" + }, + "MalwareEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a malware entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MalwareEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Malware" + }, + "MalwareEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Malware entity property bag.", + "properties": { + "category": { + "description": "The malware category by the vendor, e.g. Trojan", + "readOnly": true, + "type": "string" + }, + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", + "items": { + "description": "file entity id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "readOnly": true, + "type": "string" + }, + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Process" + }, + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", + "properties": { + "accountEntityId": { + "description": "The account entity id running the processes.", + "readOnly": true, + "type": "string" + }, + "commandLine": { + "description": "The command line used to create the process", + "readOnly": true, + "type": "string" + }, + "creationTimeUtc": { + "description": "The time when the process started to run", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "elevationToken": { + "description": "The elevation token associated with the process.", + "enum": [ + "Default", + "Full", + "Limited" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "ElevationToken", + "values": [ + { + "description": "Default elevation token", + "value": "Default" + }, + { + "description": "Full elevation token", + "value": "Full" + }, + { + "description": "Limited elevation token", + "value": "Limited" + } + ] + } + }, + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryKeyEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry key entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryKey" + }, + "RegistryKeyEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryKey entity property bag.", + "properties": { + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } + }, + "key": { + "description": "The registry key path.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryValueEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry value entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryValue" + }, + "RegistryValueEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryValue entity property bag.", + "properties": { + "keyEntityId": { + "description": "The registry key entity id.", + "readOnly": true, + "type": "string" + }, + "valueData": { + "description": "String formatted representation of the value data.", + "readOnly": true, + "type": "string" + }, + "valueName": { + "description": "The registry value name.", + "readOnly": true, + "type": "string" + }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } + } + }, + "type": "object" + }, + "SecurityAlert": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security alert entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "SecurityAlertProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityAlert entity property bag.", + "properties": { + "alertDisplayName": { + "description": "The display name of the alert.", + "readOnly": true, + "type": "string" + }, + "alertType": { + "description": "The type name of the alert.", + "readOnly": true, + "type": "string" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", + "readOnly": true, + "type": "string" + }, + "confidenceLevel": { + "description": "The confidence level of this alert.", + "enum": [ + "Unknown", + "Low", + "High" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceLevel", + "values": [ + { + "description": "Unknown confidence, the is the default value", + "value": "Unknown" + }, + { + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" + }, + { + "description": "High confidence that the alert is true positive malicious", + "value": "High" + } + ] + } + }, + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" + }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array" + }, + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + "enum": [ + "NotApplicable", + "InProcess", + "NotFinal", + "Final" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceScoreStatus", + "values": [ + { + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" + }, + { + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" + }, + { + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" + }, + { + "description": "Final score was calculated and available", + "value": "Final" + } + ] + } + }, + "description": { + "description": "Alert description.", + "readOnly": true, + "type": "string" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", + "enum": [ + "Unknown", + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "KillChainIntent", + "values": [ + { + "description": "The default value.", + "value": "Unknown" + }, + { + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" + }, + { + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" + }, + { + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" + }, + { + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" + }, + { + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" + }, + { + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" + }, + { + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" + }, + { + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" + }, + { + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" + }, + { + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" + }, + { + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" + }, + { + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" + }, + { + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" + } + ] + } + }, + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "productName": { + "description": "The name of the product which published this alert.", + "readOnly": true, + "type": "string" + }, + "productVersion": { + "description": "The version of the product generating the alert.", + "readOnly": true, + "type": "string" + }, + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "severity": { + "$ref": "AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity of the alert", + "type": "string" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The lifecycle status of the alert.", + "enum": [ + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertStatus", + "values": [ + { + "description": "Unknown value", + "value": "Unknown" + }, + { + "description": "New alert", + "value": "New" + }, + { + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" + } + ] + } + }, + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert", + "items": { + "$ref": "AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "timeGenerated": { + "description": "The time the alert was generated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, + "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" + }, + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", + "items": { + "type": "object" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "SecurityGroupEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security group entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityGroup" + }, + "SecurityGroupEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityGroup entity property bag.", + "properties": { + "distinguishedName": { + "description": "The group distinguished name", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SubmissionMailEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a submission mail entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SubmissionMailEntityProperties", + "description": "Submission mail entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SubmissionMail" + }, + "SubmissionMailEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Submission mail entity property bag.", + "properties": { + "networkMessageId": { + "description": "The network message id of email to which submission belongs", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submissionId": { + "description": "The submission id", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submitter": { + "description": "The submitter", + "readOnly": true, + "type": "string" + }, + "submissionDate": { + "description": "The submission date", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "timestamp": { + "description": "The Time stamp when the message is received (Mail)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "recipient": { + "description": "The recipient of the mail", + "readOnly": true, + "type": "string" + }, + "sender": { + "description": "The sender of the mail", + "readOnly": true, + "type": "string" + }, + "senderIp": { + "description": "The sender's IP", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of submission mail", + "readOnly": true, + "type": "string" + }, + "reportType": { + "description": "The submission type for the given instance. This maps to Junk, Phish, Malware or NotJunk.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UrlEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a url entity.", + "properties": { + "properties": { + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Url" + }, + "UrlEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Url entity property bag.", + "properties": { + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/IncidentTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/IncidentTypes.json new file mode 100644 index 000000000000..b7c350d0b110 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/IncidentTypes.json @@ -0,0 +1,247 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "Common Incident types" + }, + "paths": {}, + "definitions": { + "IncidentClassificationEnum": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "IncidentClassificationReasonEnum": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "IncidentLabel": { + "description": "Represents an incident label", + "properties": { + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "$ref": "#/definitions/IncidentLabelType" + } + }, + "required": [ + "labelName" + ], + "type": "object" + }, + "IncidentLabelType": { + "description": "The type of the label", + "enum": [ + "User", + "System" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentLabelType", + "values": [ + { + "description": "Label manually created by a user", + "value": "User" + }, + { + "description": "Label automatically created by the system", + "value": "System" + } + ] + } + }, + "IncidentSeverityEnum": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "IncidentStatusEnum": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + }, + "ownerType": { + "readOnly": true, + "description": "The type of the owner the incident is assigned to.", + "type": "string", + "enum": [ + "Unknown", + "User", + "Group" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OwnerType", + "values": [ + { + "description": "The incident owner type is unknown", + "value": "Unknown" + }, + { + "description": "The incident owner type is an AAD user", + "value": "User" + }, + { + "description": "The incident owner type is an AAD group", + "value": "Group" + } + ] + } + } + }, + "type": "object" + }, + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", + "properties": { + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "#/definitions/IncidentSeverityEnum" + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/RelationTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/RelationTypes.json new file mode 100644 index 000000000000..2fc10eda7972 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/RelationTypes.json @@ -0,0 +1,95 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "RelationList": { + "description": "List of relations.", + "properties": { + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" + }, + "value": { + "description": "Array of relations.", + "type": "array", + "items": { + "$ref": "#/definitions/Relation" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", + "allOf": [ + { + "$ref": "../../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", + "x-ms-client-flatten": true + } + } + }, + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceKind": { + "description": "The resource kind of the related resource", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "relatedResourceId" + ], + "type": "object" + } + }, + "parameters": { + "RelationName": { + "name": "relationName", + "in": "path", + "required": true, + "type": "string", + "description": "Relation Name", + "x-ms-parameter-location": "method" + }, + "Relation": { + "name": "relation", + "in": "body", + "description": "The relation model", + "required": true, + "schema": { + "$ref": "#/definitions/Relation" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/ThreatIntelligenceTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/ThreatIntelligenceTypes.json new file mode 100644 index 000000000000..be12036d0007 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/common/ThreatIntelligenceTypes.json @@ -0,0 +1,48 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", + "readOnly": true, + "type": "number" + }, + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", + "readOnly": true, + "type": "string" + }, + "reportLink": { + "description": "Report link", + "readOnly": true, + "type": "string" + }, + "threatDescription": { + "description": "Threat description (free text)", + "readOnly": true, + "type": "string" + }, + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", + "readOnly": true, + "type": "string" + }, + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/dataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/dataConnectors.json new file mode 100644 index 000000000000..952e61313094 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/dataConnectors.json @@ -0,0 +1,2768 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors": { + "get": { + "x-ms-examples": { + "Get all data connectors.": { + "$ref": "./examples/dataConnectors/GetDataConnectors.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets all data connectors.", + "operationId": "DataConnectors_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnectorList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}": { + "get": { + "x-ms-examples": { + "Get an Office365 data connector.": { + "$ref": "./examples/dataConnectors/GetOfficeDataConnetorById.json" + }, + "Get a TI data connector": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json" + }, + "Get a TI Taxii data connector.": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceTaxiiById.json" + }, + "Get a MCAS data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json" + }, + "Get a ASC data connector": { + "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json" + }, + "Get an AAD data connector": { + "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json" + }, + "Get an AwsCloudTrail data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json" + }, + "Get an Aws S3 data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesS3ById.json" + }, + "Get an AATP data connector": { + "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json" + }, + "Get a MDATP data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + }, + "Get an Office ATP data connector": { + "$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json" + }, + "Get an Office IRM data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json" + }, + "Get an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/GetOffice365ProjectDataConnetorById.json" + }, + "Get an Office365 PowerBI data connector": { + "$ref": "./examples/dataConnectors/GetOfficePowerBIDataConnetorById.json" + }, + "Get a Dynamics365 data connector": { + "$ref": "./examples/dataConnectors/GetDynamics365DataConnectorById.json" + }, + "Get a MicrosoftThreatProtection data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatProtectionById.json" + }, + "Get a MicrosoftThreatIntelligence data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json" + }, + "Get a GenericUI data connector": { + "$ref": "./examples/dataConnectors/GetGenericUI.json" + }, + "Get a APIPolling data connector": { + "$ref": "./examples/dataConnectors/GetAPIPolling.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets a data connector.", + "operationId": "DataConnectors_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Office365 data connector": { + "$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json" + }, + "Creates or updates an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/CreateOffice365ProjectDataConnetor.json" + }, + "Creates or updates an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/CreateOfficePowerBIDataConnector.json" + }, + "Creates or updates a Threat Intelligence Taxii data connector.": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json" + }, + "Creates or updates an Threat Intelligence Platform data connector": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceDataConnector.json" + }, + "Creates or updates a Dynamics365 data connector.": { + "$ref": "./examples/dataConnectors/CreateDynamics365DataConnetor.json" + }, + "Creates or updates a GenericUI data connector": { + "$ref": "./examples/dataConnectors/CreateGenericUI.json" + }, + "Creates or updates a APIPolling data connector": { + "$ref": "./examples/dataConnectors/CreateAPIPolling.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Creates or updates the data connector.", + "operationId": "DataConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnector" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an Office365 data connector": { + "$ref": "./examples/dataConnectors/DeleteOfficeDataConnetor.json" + }, + "Delete an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json" + }, + "Delete an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json" + }, + "Delete a GenericUI data connector": { + "$ref": "./examples/dataConnectors/DeleteGenericUI.json" + }, + "Delete a APIPolling data connector": { + "$ref": "./examples/dataConnectors/DeleteAPIPolling.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Delete the data connector.", + "operationId": "DataConnectors_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect": { + "post": { + "x-ms-examples": { + "Connect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/ConnectAPIPolling.json" + } + }, + "tags": [ + "Data Connectors Connect" + ], + "description": "Connects a data connector.", + "operationId": "DataConnectors_Connect", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnectorConnectBody" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/disconnect": { + "post": { + "x-ms-examples": { + "Disconnect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/DisconnectAPIPolling.json" + } + }, + "tags": [ + "Data Connectors Disconnect" + ], + "description": "Disconnect a data connector.", + "operationId": "DataConnectors_Disconnect", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements": { + "post": { + "x-ms-examples": { + "Check requirements for TI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligence.json" + }, + "Check requirements for TI Taxii.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json" + }, + "Check requirements for AAD.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json" + }, + "Check requirements for AAD - no license.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json" + }, + "Check requirements for AAD - no authorization.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json" + }, + "Check requirements for ASC.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json" + }, + "Check requirements for Mcas.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json" + }, + "Check requirements for Mdatp.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json" + }, + "Check requirements for OfficeATP.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json" + }, + "Check requirements for OfficeIRM.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeIRM.json" + }, + "Check requirements for Office365Project.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOffice365Project.json" + }, + "Check requirements for OfficePowerBI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficePowerBI.json" + }, + "Check requirements for Dynamics365.": { + "$ref": "./examples/dataConnectors/CheckRequirementsDynamics365.json" + }, + "Check requirements for MicrosoftThreatProtection.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json" + }, + "Check requirements for MicrosoftThreatIntelligence.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json" + } + }, + "tags": [ + "Check Data Connector Requirements" + ], + "description": "Get requirements state for a data connector type.", + "operationId": "DataConnectorsCheckRequirements_Post", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorsCheckRequirementsBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DataConnectorRequirementsState" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AAD (Azure Active Directory) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AADCheckRequirementsProperties", + "description": "AAD (Azure Active Directory) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AAD (Azure Active Directory) requirements check properties.", + "type": "object" + }, + "AATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPCheckRequirementsProperties", + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "ASCCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents ASC (Azure Security Center) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCCheckRequirementsProperties", + "description": "ASC (Azure Security Center) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCCheckRequirementsProperties": { + "description": "ASC (Azure Security Center) requirements check properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AwsCloudTrailCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services CloudTrail requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsS3CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services S3 requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "DataConnectorsCheckRequirements": { + "description": "Data connector requirements properties.", + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "Describes the kind of connector to be checked.", + "type": "string" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "DataConnectorAuthorizationState": { + "description": "Describes the state of user's authorization for a connector kind.", + "enum": [ + "Valid", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorAuthorizationState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + } + ] + } + }, + "DataConnectorLicenseState": { + "description": "Describes the state of user's license for a connector kind.", + "enum": [ + "Valid", + "Invalid", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorLicenseState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + }, + { + "value": "Unknown" + } + ] + } + }, + "DataConnectorRequirementsState": { + "description": "Data connector requirements status.", + "properties": { + "authorizationState": { + "description": "Authorization state for this connector", + "$ref": "#/definitions/DataConnectorAuthorizationState" + }, + "licenseState": { + "description": "License state for this connector", + "$ref": "#/definitions/DataConnectorLicenseState" + } + }, + "type": "object" + }, + "Dynamics365CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Dynamics365 requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365CheckRequirementsProperties", + "description": "Dynamics365 requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365CheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 requirements check properties.", + "type": "object" + }, + "MCASCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASCheckRequirementsProperties", + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "type": "object" + }, + "MDATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPCheckRequirementsProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "MSTICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Microsoft Threat Intelligence requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTICheckRequirementsProperties", + "description": "Microsoft Threat Intelligence requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence requirements check properties.", + "type": "object" + }, + "MtpCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPCheckRequirementsProperties", + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPCheckRequirementsProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeIRMCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMCheckRequirementsProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "type": "object" + }, + "Office365ProjectCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office365 Project requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectCheckRequirementsProperties", + "description": "Office365 Project requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office365 Project requirements check properties.", + "type": "object" + }, + "OfficePowerBICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office PowerBI requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBICheckRequirementsProperties", + "description": "Office Power BI requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office PowerBI requirements check properties.", + "type": "object" + }, + "TICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence Platforms data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TICheckRequirementsProperties", + "description": "Threat Intelligence Platforms data connector check required properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence Platforms data connector required properties.", + "properties": {}, + "type": "object" + }, + "TiTaxiiCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence TAXII data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", + "description": "Threat Intelligence TAXII check required properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector required properties.", + "type": "object" + }, + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AAD (Azure Active Directory) data connector properties.", + "type": "object" + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "alerts" + ] + }, + "MSTIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Microsoft Threat Intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTIDataConnectorProperties", + "description": "Microsoft Threat Intelligence data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTIDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Intelligence Platforms data connector.", + "properties": { + "bingSafetyPhishingURL": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "properties": { + "lookbackPeriod": { + "description": "lookback period", + "type": "string" + } + }, + "description": "Data type for Microsoft Threat Intelligence Platforms data connector.", + "type": "object", + "required": [ + "lookbackPeriod" + ] + }, + "microsoftEmergingThreatFeed": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "properties": { + "lookbackPeriod": { + "description": "lookback period", + "type": "string" + } + }, + "description": "Data type for Microsoft Threat Intelligence Platforms data connector.", + "type": "object", + "required": [ + "lookbackPeriod" + ] + } + }, + "type": "object", + "required": [ + "bingSafetyPhishingURL", + "microsoftEmergingThreatFeed" + ] + }, + "MSTIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MSTIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "MTPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPDataConnectorProperties", + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Protection Platforms data connector.", + "properties": { + "incidents": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for Microsoft Threat Protection Platforms data connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "incidents" + ] + }, + "MTPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MTPDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "AATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "ASCDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents ASC (Azure Security Center) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "ASC (Azure Security Center) data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services CloudTrail data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", + "properties": { + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "AwsS3DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services S3 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsS3DataConnectorProperties", + "description": "Amazon Web Services S3 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "AwsS3DataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services S3 data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "AwsS3DataConnectorProperties": { + "description": "Amazon Web Services S3 data connector properties.", + "properties": { + "destinationTable": { + "description": "The logs destination table name in LogAnalytics.", + "type": "string" + }, + "sqsUrls": { + "description": "The AWS sqs urls for the connector.", + "type": "array", + "items": { + "description": "AWS sqs url.", + "type": "string" + } + }, + "roleArn": { + "description": "The Aws Role Arn that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsS3DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "destinationTable", + "sqsUrls", + "roleArn", + "dataTypes" + ] + }, + "DataConnector": { + "description": "Data connector", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object", + "required": [ + "state" + ] + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "ThreatIntelligenceTaxii", + "Office365", + "OfficeATP", + "OfficeIRM", + "Office365Project", + "OfficePowerBI", + "AmazonWebServicesCloudTrail", + "AmazonWebServicesS3", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection", + "Dynamics365", + "MicrosoftThreatProtection", + "MicrosoftThreatIntelligence", + "GenericUI", + "APIPolling" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "ThreatIntelligenceTaxii" + }, + { + "value": "Office365" + }, + { + "value": "OfficeATP" + }, + { + "value": "OfficeIRM" + }, + { + "value": "Office365Project" + }, + { + "value": "OfficePowerBI" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AmazonWebServicesS3" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + }, + { + "value": "Dynamics365" + }, + { + "value": "MicrosoftThreatProtection" + }, + { + "value": "MicrosoftThreatIntelligence" + }, + { + "value": "GenericUI" + }, + { + "value": "APIPolling" + } + ] + } + }, + "DataConnectorList": { + "description": "List all the data connectors.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of data connectors.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of data connectors.", + "items": { + "$ref": "#/definitions/DataConnector" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object", + "required": [ + "tenantId" + ] + }, + "MCASDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "discoveryLogs": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "Dynamics365DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Dynamics365 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365DataConnectorProperties", + "description": "Dynamics365 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365DataConnectorDataTypes": { + "description": "The available data types for Dynamics365 data connector.", + "properties": { + "dynamics365CdsActivities": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Common Data Service data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "dynamics365CdsActivities" + ] + }, + "Dynamics365DataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Dynamics365DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "OfficeATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPDataConnectorProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "Office365ProjectDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft Project data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectDataConnectorProperties", + "description": "Office Microsoft Project data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectConnectorDataTypes": { + "description": "The available data types for Office Microsoft Project data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "Office365ProjectDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft Project data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Office365ProjectConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficePowerBIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft PowerBI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBIDataConnectorProperties", + "description": "Office Microsoft PowerBI data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBIConnectorDataTypes": { + "description": "The available data types for Office Microsoft PowerBI data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "OfficePowerBIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft PowerBI data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficePowerBIConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficeIRMDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMDataConnectorProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "type": "object" + }, + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "OfficeDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents office data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365" + }, + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", + "properties": { + "exchange": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Exchange data type connection.", + "type": "object" + }, + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", + "type": "object" + } + }, + "required": [ + "exchange", + "sharePoint", + "teams" + ], + "type": "object" + }, + "OfficeDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "TI (Threat Intelligence) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for TI (Threat Intelligence) data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for indicators connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "indicators" + ] + }, + "TIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "tipLookbackPeriod": { + "description": "The lookback period for the feed to be imported.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "TiTaxiiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Data connector to pull Threat intelligence data from TAXII 2.0/2.1 server", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiDataConnectorProperties", + "description": "Threat intelligence TAXII data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence TAXII data connector.", + "properties": { + "taxiiClient": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for TAXII connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "taxiiClient" + ] + }, + "TiTaxiiDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector properties.", + "properties": { + "workspaceId": { + "description": "The workspace id.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for the TAXII server.", + "type": "string" + }, + "taxiiServer": { + "description": "The API root for the TAXII server.", + "type": "string" + }, + "collectionId": { + "description": "The collection id of the TAXII server.", + "type": "string" + }, + "userName": { + "description": "The userName for the TAXII server.", + "type": "string" + }, + "password": { + "description": "The password for the TAXII server.", + "type": "string" + }, + "taxiiLookbackPeriod": { + "description": "The lookback period for the TAXII server.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "pollingFrequency": { + "description": "The polling frequency for the TAXII server.", + "type": "string", + "x-nullable": true, + "enum": [ + "OnceAMinute", + "OnceAnHour", + "OnceADay" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PollingFrequency", + "values": [ + { + "description": "Once a minute", + "value": "OnceAMinute" + }, + { + "description": "Once an hour", + "value": "OnceAnHour" + }, + { + "description": "Once a day", + "value": "OnceADay" + } + ] + } + }, + "dataTypes": { + "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", + "description": "The available data types for Threat Intelligence TAXII data connector." + } + }, + "required": [ + "dataTypes", + "pollingFrequency" + ], + "type": "object" + }, + "CodelessUiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless UI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/CodelessParameters", + "description": "Codeless UI data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "GenericUI" + }, + "CodelessParameters": { + "description": "Represents Codeless UI data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + } + } + }, + "CodelessUiConnectorConfigProperties": { + "description": "Config to describe the instructions blade", + "type": "object", + "properties": { + "title": { + "description": "Connector blade title", + "type": "string" + }, + "publisher": { + "description": "Connector publisher name", + "type": "string" + }, + "descriptionMarkdown": { + "description": "Connector description", + "type": "string" + }, + "customImage": { + "description": "An optional custom image to be used when displaying the connector within Azure Sentinel's connector's gallery", + "type": "string" + }, + "graphQueriesTableName": { + "description": "Name of the table the connector will insert the data to", + "type": "string" + }, + "graphQueries": { + "description": "The graph query to show the current data status", + "items": { + "allOf": [ + { + "$ref": "#/definitions/GraphQueries" + } + ] + }, + "type": "array" + }, + "sampleQueries": { + "description": "The sample queries for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/SampleQueries" + } + ] + }, + "type": "array" + }, + "dataTypes": { + "description": "Data types to check for last data received", + "items": { + "allOf": [ + { + "$ref": "#/definitions/LastDataReceivedDataType" + } + ] + }, + "type": "array" + }, + "connectivityCriteria": { + "description": "Define the way the connector check connectivity", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectivityCriteria" + } + ] + }, + "type": "array" + }, + "availability": { + "description": "Connector Availability Status", + "$ref": "#/definitions/Availability" + }, + "permissions": { + "description": "Permissions required for the connector", + "$ref": "#/definitions/Permissions" + }, + "instructionSteps": { + "description": "Instruction steps to enable the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/InstructionSteps" + } + ] + }, + "type": "array" + } + }, + "required": [ + "title", + "publisher", + "descriptionMarkdown", + "graphQueriesTableName", + "graphQueries", + "sampleQueries", + "dataTypes", + "connectivityCriteria", + "availability", + "permissions", + "instructionSteps" + ] + }, + "DataConnectorConnectBody": { + "description": "Represents Codeless API Polling data connector.", + "type": "object", + "properties": { + "kind": { + "description": "The authentication kind used to poll the data", + "enum": [ + "Basic", + "OAuth2", + "APIKey" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectAuthKind" + } + }, + "apiKey": { + "type": "string", + "description": "The API key of the audit server." + }, + "clientSecret": { + "type": "string", + "description": "The client secret of the OAuth 2.0 application." + }, + "clientId": { + "type": "string", + "description": "The client id of the OAuth 2.0 application." + }, + "authorizationCode": { + "type": "string", + "description": "The authorization code used in OAuth 2.0 code flow to issue a token." + }, + "userName": { + "type": "string", + "description": "The user name in the audit log server." + }, + "password": { + "type": "string", + "description": "The user password in the audit log server.", + "x-ms-secret": true + }, + "requestConfigUserInputValues": { + "type": "array", + "description": "", + "items": { + "type": "object" + } + } + } + }, + "CodelessApiPollingDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless API Polling data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ApiPollingParameters", + "description": "Codeless poling data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "APIPolling" + }, + "ApiPollingParameters": { + "description": "Represents Codeless API Polling data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + }, + "pollingConfig": { + "$ref": "#/definitions/CodelessConnectorPollingConfigProperties", + "description": "Config to describe the polling instructions" + } + } + }, + "CodelessConnectorPollingConfigProperties": { + "description": "Config to describe the polling config for API poller connector", + "type": "object", + "properties": { + "isActive": { + "description": "The poller active status", + "type": "boolean" + }, + "auth": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingAuthProperties", + "description": "Describe the authentication type of the poller" + }, + "request": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingRequestProperties", + "description": "Describe the poll request config parameters of the poller" + }, + "paging": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingPagingProperties", + "description": "Describe the poll request paging config of the poller" + }, + "response": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingResponseProperties", + "description": "Describe the response config parameters of the poller" + } + }, + "required": [ + "auth", + "request" + ] + }, + "CodelessConnectorPollingResponseProperties": { + "description": "Describes the response from the external server", + "type": "object", + "properties": { + "eventsJsonPaths": { + "description": "Describes the path we should extract the data in the response", + "items": { + "type": "string" + }, + "type": "array" + }, + "successStatusJsonPath": { + "description": "Describes the path we should extract the status code in the response", + "type": "string" + }, + "successStatusValue": { + "description": "Describes the path we should extract the status value in the response", + "type": "string" + }, + "isGzipCompressed": { + "description": "Describes if the data in the response is Gzip", + "type": "boolean" + } + }, + "required": [ + "eventsJsonPaths" + ] + }, + "CodelessConnectorPollingPagingProperties": { + "description": "Describe the properties needed to make a pagination call", + "type": "object", + "properties": { + "pagingType": { + "description": "Describes the type. could be 'None', 'PageToken', 'PageCount', 'TimeStamp'", + "type": "string" + }, + "nextPageParaName": { + "description": "Defines the name of a next page attribute", + "type": "string" + }, + "nextPageTokenJsonPath": { + "description": "Defines the path to a next page token JSON", + "type": "string" + }, + "pageCountAttributePath": { + "description": "Defines the path to a page count attribute", + "type": "string" + }, + "pageTotalCountAttributePath": { + "description": "Defines the path to a page total count attribute", + "type": "string" + }, + "pageTimeStampAttributePath": { + "description": "Defines the path to a paging time stamp attribute", + "type": "string" + }, + "searchTheLatestTimeStampFromEventsList": { + "description": "Determines whether to search for the latest time stamp in the events list", + "type": "string" + }, + "pageSizeParaName": { + "description": "Defines the name of the page size parameter", + "type": "string" + }, + "pageSize": { + "description": "Defines the paging size", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "pagingType" + ] + }, + "CodelessConnectorPollingRequestProperties": { + "description": "Describe the request properties needed to successfully pull from the server", + "type": "object", + "properties": { + "apiEndpoint": { + "description": "Describe the endpoint we should pull the data from", + "type": "string" + }, + "rateLimitQps": { + "description": "Defines the rate limit QPS", + "format": "int32", + "type": "integer" + }, + "queryWindowInMin": { + "description": "The window interval we will use the pull the data", + "format": "int32", + "type": "integer" + }, + "httpMethod": { + "description": "The http method type we will use in the poll request, GET or POST", + "type": "string" + }, + "queryTimeFormat": { + "description": "The time format will be used the query events in a specific window", + "type": "string" + }, + "retryCount": { + "description": "Describe the amount of time we should try and poll the data in case of failure", + "format": "int32", + "type": "integer" + }, + "timeoutInSeconds": { + "description": "The number of seconds we will consider as a request timeout", + "format": "int32", + "type": "integer" + }, + "headers": { + "description": "Describe the headers sent in the poll request", + "type": "object" + }, + "queryParameters": { + "description": "Describe the query parameters sent in the poll request", + "type": "object" + }, + "queryParametersTemplate": { + "description": "For advanced scenarios for example user name/password embedded in nested JSON payload", + "type": "string" + }, + "startTimeAttributeName": { + "description": "This will be used the query events from a start of the time window", + "type": "string" + }, + "endTimeAttributeName": { + "description": "This will be used the query events from the end of the time window", + "type": "string" + } + }, + "required": [ + "apiEndpoint", + "httpMethod", + "queryWindowInMin", + "queryTimeFormat" + ] + }, + "CodelessConnectorPollingAuthProperties": { + "description": "Describe the authentication properties needed to successfully authenticate with the server", + "type": "object", + "properties": { + "authType": { + "description": "The authentication type", + "type": "string" + }, + "apiKeyName": { + "description": "The header name which the token is sent with", + "type": "string" + }, + "apiKeyIdentifier": { + "description": "A prefix send in the header before the actual token", + "type": "string" + }, + "isApiKeyInPostPayload": { + "description": "Marks if the key should sent in header", + "type": "string" + }, + "flowName": { + "description": "Describes the flow name, for example 'AuthCode' for Oauth 2.0", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint used to issue a token, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpoint": { + "description": "The endpoint used to authorize the user, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpointQueryParameters": { + "description": "The query parameters used in authorization request, used in Oauth 2.0 flow", + "type": "object" + }, + "redirectionEndpoint": { + "description": "The redirect endpoint where we will get the authorization code, used in Oauth 2.0 flow", + "type": "string" + }, + "tokenEndpointHeaders": { + "description": "The query headers used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "tokenEndpointQueryParameters": { + "description": "The query parameters used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "isClientSecretInHeader": { + "description": "Marks if we should send the client secret in header or payload, used in Oauth 2.0 flow", + "type": "boolean" + }, + "scope": { + "description": "The OAuth token scope", + "type": "string" + } + }, + "required": [ + "authType" + ] + }, + "LastDataReceivedDataType": { + "description": "Data type for last data received", + "type": "object", + "properties": { + "name": { + "description": "Name of the data type to show in the graph. can be use with {{graphQueriesTableName}} placeholder", + "type": "string" + }, + "lastDataReceivedQuery": { + "description": "Query for indicate last data received", + "type": "string" + } + } + }, + "Permissions": { + "description": "Permissions required for the connector", + "type": "object", + "properties": { + "resourceProvider": { + "description": "Resource provider permissions required for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProvider" + } + ] + }, + "type": "array" + }, + "customs": { + "description": "Customs permissions required for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/Customs" + } + ] + }, + "type": "array" + } + } + }, + "Customs": { + "description": "Customs permissions required for the connector", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CustomsPermission" + } + ] + }, + "CustomsPermission": { + "description": "Customs permissions required for the connector", + "type": "object", + "properties": { + "name": { + "description": "Customs permissions name", + "type": "string" + }, + "description": { + "description": "Customs permissions description", + "type": "string" + } + } + }, + "ResourceProvider": { + "description": "Resource provider permissions required for the connector", + "type": "object", + "properties": { + "provider": { + "description": "Provider name", + "enum": [ + "Microsoft.OperationalInsights/solutions", + "Microsoft.OperationalInsights/workspaces", + "Microsoft.OperationalInsights/workspaces/datasources", + "microsoft.aadiam/diagnosticSettings", + "Microsoft.OperationalInsights/workspaces/sharedKeys", + "Microsoft.Authorization/policyAssignments" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProviderName" + } + }, + "permissionsDisplayText": { + "description": "Permission description text", + "type": "string" + }, + "providerDisplayName": { + "description": "Permission provider display name", + "type": "string" + }, + "scope": { + "description": "Permission provider scope", + "enum": [ + "ResourceGroup", + "Subscription", + "Workspace" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "PermissionProviderScope" + } + }, + "requiredPermissions": { + "description": "Required permissions for the connector", + "$ref": "#/definitions/RequiredPermissions" + } + } + }, + "InstructionSteps": { + "description": "Instruction steps to enable the connector", + "type": "object", + "properties": { + "title": { + "description": "Instruction step title", + "type": "string" + }, + "description": { + "description": "Instruction step description", + "type": "string" + }, + "instructions": { + "description": "Instruction step details", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectorInstructionModelBase" + } + ] + }, + "type": "array" + } + } + }, + "ConnectorInstructionModelBase": { + "description": "Instruction step details", + "type": "object", + "properties": { + "parameters": { + "type": "object", + "description": "The parameters for the setting" + }, + "type": { + "description": "The kind of the setting", + "enum": [ + "CopyableLabel", + "InstructionStepsGroup", + "InfoMessage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingType" + } + } + }, + "required": [ + "type" + ] + }, + "RequiredPermissions": { + "description": "Required permissions for the connector", + "type": "object", + "properties": { + "action": { + "description": "action permission", + "type": "boolean" + }, + "write": { + "description": "write permission", + "type": "boolean" + }, + "read": { + "description": "read permission", + "type": "boolean" + }, + "delete": { + "description": "delete permission", + "type": "boolean" + } + } + }, + "Availability": { + "description": "Connector Availability Status", + "type": "object", + "properties": { + "status": { + "description": "The connector Availability Status", + "format": "int32", + "type": "integer", + "enum": [ + 1 + ], + "x-ms-enum": { + "name": "AvailabilityStatus", + "values": [ + { + "value": 1, + "description": "Available" + } + ] + } + }, + "isPreview": { + "description": "Set connector as preview", + "type": "boolean" + } + } + }, + "ConnectivityCriteria": { + "description": "Setting for the connector check connectivity", + "type": "object", + "properties": { + "type": { + "description": "type of connectivity", + "enum": [ + "IsConnectedQuery" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectivityType" + } + }, + "value": { + "description": "Queries for checking connectivity", + "type": "array", + "items": { + "description": "checking connectivity query", + "type": "string" + } + } + } + }, + "SampleQueries": { + "description": "The sample queries for the connector", + "type": "object", + "properties": { + "description": { + "description": "The sample query description", + "type": "string" + }, + "query": { + "description": "the sample query", + "type": "string" + } + } + }, + "GraphQueries": { + "type": "object", + "description": "The graph query to show the current data status", + "properties": { + "metricName": { + "description": "the metric that the query is checking", + "type": "string" + }, + "legend": { + "description": "The legend for the graph", + "type": "string" + }, + "baseQuery": { + "description": "The base query for the graph", + "type": "string" + } + } + } + }, + "parameters": { + "DataConnector": { + "description": "The data connector", + "in": "body", + "name": "dataConnector", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnector" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorId": { + "description": "Connector ID", + "in": "path", + "name": "dataConnectorId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectorConnectBody": { + "description": "The data connector", + "in": "body", + "name": "connectBody", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorConnectBody" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorsCheckRequirementsBody": { + "description": "The parameters for requirements check message", + "in": "body", + "name": "DataConnectorsCheckRequirements", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/CreateActionOfAlertRule.json new file mode 100644 index 000000000000..68e5109fee06 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/CreateActionOfAlertRule.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "action": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/DeleteActionOfAlertRule.json new file mode 100644 index 000000000000..42022028aa02 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/DeleteActionOfAlertRule.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetActionOfAlertRuleById.json new file mode 100644 index 000000000000..accee82a5bc4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetActionOfAlertRuleById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetAllActionsByAlertRule.json new file mode 100644 index 000000000000..3a581644e3bb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/actions/GetAllActionsByAlertRule.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..b3ed4dffc5d6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "version": "1.0.2", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..cdfed9435795 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.1", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/f71aba3d-28fb-450b-b192-4e76a83015c8", + "name": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + } + ] + }, + { + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "severityFilter": { + "enabled": false, + "isSupported": false, + "severityFilters": null + } + } + ] + } + ], + "lastUpdatedDateUTC": "2021-06-09T00:00:00Z", + "createdDateUTC": "2019-07-25T00:00:00Z", + "status": "Available", + "severity": "High", + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/b3cfc7c0-092c-481c-a55b-34a3979758cb", + "name": "b3cfc7c0-092c-481c-a55b-34a3979758cb", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "Create incidents based on Microsoft Cloud App Security alerts", + "description": "Create incidents based on all alerts generated in Microsoft Cloud App Security", + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRule.json new file mode 100644 index 000000000000..df489eadf93f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRule.json @@ -0,0 +1,845 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json new file mode 100644 index 000000000000..9206b45c7d02 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json @@ -0,0 +1,851 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "scenarioExclusionPatterns": [ + { + "exclusionPattern": "Alert providers:Azure Active Directory Identity Protection:Infected Device;Alert providers:Azure Defender:Crypto-mining activity", + "dateAddedInUTC": "2021-10-01T15:26:44.9429806Z" + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..66da056d9b98 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "microsoftSecurityIncidentCreationRuleExample", + "alertRule": { + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "testing displayname", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateNrtAlertRule.json new file mode 100644 index 000000000000..6c48b1c9a4e8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateNrtAlertRule.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateScheduledAlertRule.json new file mode 100644 index 000000000000..a22015ba94ad --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/CreateScheduledAlertRule.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01005144-0000-0d00-0000-6058632c0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01007444-0000-0d00-0000-605863a70000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:15:30Z", + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/DeleteAlertRule.json new file mode 100644 index 000000000000..22b2ad47f734 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/DeleteAlertRule.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetAllAlertRules.json new file mode 100644 index 000000000000..af14d222c646 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetAllAlertRules.json @@ -0,0 +1,412 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"25005c11-0000-0d00-0000-5d6cc0e20000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-22T07:12:34.9065092Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetFusionAlertRule.json new file mode 100644 index 000000000000..77df8ca7ce0c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetFusionAlertRule.json @@ -0,0 +1,310 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..a1e398b0e51b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "microsoftSecurityIncidentCreationRuleExample" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetNrtAlertRule.json new file mode 100644 index 000000000000..f2d95f0b99bf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetNrtAlertRule.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2019-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetScheduledAlertRule.json new file mode 100644 index 000000000000..7099ac95057d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/alertRules/GetScheduledAlertRule.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..48911abd9d83 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "automationRule": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Delete.json new file mode 100644 index 000000000000..8fa82c1486f9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": {} + }, + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Get.json new file mode 100644 index 000000000000..964891b64a52 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_Get.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_List.json new file mode 100644 index 000000000000..b51b48bbf628 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/automationRules/AutomationRules_List.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..e4297879555c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "bookmark": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..387434ef6e44 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..46bbaa9e4576 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..7cf6bd07d9d1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/expand/PostExpandBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/expand/PostExpandBookmark.json new file mode 100644 index 000000000000..2e08c528678d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/expand/PostExpandBookmark.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "parameters": { + "expansionId": "27f76e63-c41b-480f-bb18-12ad2e011d49", + "startTime": "2019-12-25T17:21:00.000Z", + "endTime": "2020-01-24T17:21:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "name": "fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json new file mode 100644 index 000000000000..65f72e136e6f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json new file mode 100644 index 000000000000..c64f47712c91 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json new file mode 100644 index 000000000000..bba58e408898 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json new file mode 100644 index 000000000000..2542a4433285 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json new file mode 100644 index 000000000000..0bad6dd9471c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json new file mode 100644 index 000000000000..0bad6dd9471c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json new file mode 100644 index 000000000000..0bad6dd9471c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json new file mode 100644 index 000000000000..98ee260ac52d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureSecurityCenter", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json new file mode 100644 index 000000000000..abd275b3f319 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Dynamics365", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json new file mode 100644 index 000000000000..d429b45b41a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json new file mode 100644 index 000000000000..d429b45b41a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json new file mode 100644 index 000000000000..d83a2be5f71f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json new file mode 100644 index 000000000000..6191a7cc4155 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatProtection", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json new file mode 100644 index 000000000000..7ed78cdd6a41 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Office365Project", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json new file mode 100644 index 000000000000..a49a2e764ec9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeATP", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json new file mode 100644 index 000000000000..82de8663e2fd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeIRM", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json new file mode 100644 index 000000000000..064907b4d462 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficePowerBI", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json new file mode 100644 index 000000000000..6dc6c745e5f1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json new file mode 100644 index 000000000000..3336a48f7b90 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/ConnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/ConnectAPIPolling.json new file mode 100644 index 000000000000..4d7dfeeb96e5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/ConnectAPIPolling.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "connectBody": { + "kind": "APIKey", + "apiKey": "123456789", + "requestConfigUserInputValues": [ + { + "displayText": "Organization Name", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "somePlaceHolderValue", + "requestObjectKey": "apiEndpoint" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateAPIPolling.json new file mode 100644 index 000000000000..8e8f0a3674b1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateAPIPolling.json @@ -0,0 +1,368 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json new file mode 100644 index 000000000000..28596783962a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "dataConnector": { + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateGenericUI.json new file mode 100644 index 000000000000..efbecb47d310 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateGenericUI.json @@ -0,0 +1,437 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..00f905ee7156 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json new file mode 100644 index 000000000000..5a7a1ec8383c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json new file mode 100644 index 000000000000..8f2dec174fbc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..08e70e88b6fd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json new file mode 100644 index 000000000000..60adfb834400 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "dd124572-4962-4495-9bd2-9dade12314b4", + "friendlyName": "testTaxii", + "userName": "--", + "password": "--", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteAPIPolling.json new file mode 100644 index 000000000000..644908177e7f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteGenericUI.json new file mode 100644 index 000000000000..644908177e7f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteGenericUI.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..330595d4683f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json new file mode 100644 index 000000000000..330595d4683f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json new file mode 100644 index 000000000000..330595d4683f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DisconnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DisconnectAPIPolling.json new file mode 100644 index 000000000000..fb98f1313416 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/DisconnectAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "disconnectBody": {} + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAPIPolling.json new file mode 100644 index 000000000000..295d8a819972 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAPIPolling.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "customImage": "The image connector content", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json new file mode 100644 index 000000000000..4322fbb34013 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json new file mode 100644 index 000000000000..4aa3d75d1cd9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "afef3743-0c88-469c-84ff-ca2e87dc1e48" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json new file mode 100644 index 000000000000..853ee9008d97 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..91820160d88c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "07e42cb3-e658-4e90-801c-efa0f29d3d44" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json new file mode 100644 index 000000000000..0d9a587cc99e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDataConnectors.json new file mode 100644 index 000000000000..dee49981d2d7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDataConnectors.json @@ -0,0 +1,508 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "pollingFrequency": "OnceAMinute", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json new file mode 100644 index 000000000000..97e86e921b95 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetGenericUI.json new file mode 100644 index 000000000000..c7e0b9bbbd39 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetGenericUI.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json new file mode 100644 index 000000000000..e373e3d76c01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "b96d014d-b5c2-4a01-9aba-a8058f629d42" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..cbd23b73169b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json new file mode 100644 index 000000000000..bb4fc1716167 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeIRM", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json new file mode 100644 index 000000000000..0fb248652ba5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "bingSafetyPhishingURL": { + "state": "Enabled", + "lookbackPeriod": "example ??" + }, + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "example" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json new file mode 100644 index 000000000000..2191025f2bc0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "incidents": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json new file mode 100644 index 000000000000..581866aa48f5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json new file mode 100644 index 000000000000..c180d3cd379c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json new file mode 100644 index 000000000000..839f527fcae1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json new file mode 100644 index 000000000000..516028b66123 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..46ad20fb70c6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json new file mode 100644 index 000000000000..4fef912a90be --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c39bb458-02a7-4b3f-b0c8-71a1d2692652" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetGeodataByIp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetGeodataByIp.json new file mode 100644 index 000000000000..0318de22ffcf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetGeodataByIp.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "ipAddress": "1.2.3.4" + }, + "responses": { + "200": { + "body": { + "asn": "12345", + "carrier": "Microsoft", + "city": "Redmond", + "cityCf": 90, + "continent": "north america", + "country": "united states", + "countryCf": 99, + "ipAddr": "1.2.3.4", + "ipRoutingType": "fixed", + "latitude": "40.2436", + "longitude": "-100.8891", + "organization": "Microsoft", + "organizationType": "tech", + "region": "western usa", + "state": "washington", + "stateCf": null, + "stateCode": "wa" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetWhoisByDomainName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetWhoisByDomainName.json new file mode 100644 index 000000000000..00df125c0ace --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/enrichment/GetWhoisByDomainName.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "domain": "microsoft.com" + }, + "responses": { + "200": { + "body": { + "domain": "microsoft.com", + "server": null, + "created": "2021-09-01T16:15:01.187045Z", + "updated": "2021-09-01T16:15:01.187045Z", + "expires": null, + "parsedWhois": { + "registrar": { + "name": "MarkMonitor, Inc", + "abuseContactPhone": "12083895770", + "abuseContactEmail": "abuse@microsoft.com", + "url": "http://www.markmonitor.com", + "whoisServer": "whois.markmonitor.com" + }, + "contacts": { + "admin": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "registrant": null, + "billing": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "tech": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + } + }, + "nameServers": [ + "ns1-205.azure-dns.com", + "ns2-205.azure-dns.net", + "ns3-205.azure-dns.org", + "ns4-205.azure-dns.info" + ], + "statuses": [ + "clientUpdateProhibited", + "clientTransferProhibited", + "clientDeleteProhibited", + "serverUpdateProhibited", + "serverTransferProhibited", + "serverDeleteProhibited" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAccountEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAccountEntityById.json new file mode 100644 index 000000000000..0ba7086a8dde --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAccountEntityById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0", + "dnsDomain": "contoso.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAzureResourceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAzureResourceEntityById.json new file mode 100644 index 000000000000..8374df3c32db --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetAzureResourceEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "AzureResource", + "properties": { + "friendlyName": "vm1", + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetCloudApplicationEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetCloudApplicationEntityById.json new file mode 100644 index 000000000000..cd81251b3bb7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetCloudApplicationEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "CloudApplication", + "properties": { + "friendlyName": "AppName", + "appId": 1, + "appName": "AppName", + "instanceName": "InstanceName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetDnsEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetDnsEntityById.json new file mode 100644 index 000000000000..96e7dfe3ae44 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetDnsEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "f4e74920-f2c0-4412-a45f-66d94fdf01f8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "name": "f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "type": "Microsoft.SecurityInsights/entities", + "kind": "DnsResolution", + "properties": { + "friendlyName": "domain", + "domainName": "domain", + "ipAddressEntityIds": [ + "475d3120-33e0-4841-9f1c-a8f15a801d19" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetEntities.json new file mode 100644 index 000000000000..4397ffbd0226 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetEntities.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "name": "fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileEntityById.json new file mode 100644 index 000000000000..659acc024f2e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileHashEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileHashEntityById.json new file mode 100644 index 000000000000..600d85531844 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetFileHashEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "ea359fa6-c1e5-f878-e105-6344f3e399a1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/ea359fa6-c1e5-f878-e105-6344f3e399a1", + "name": "ea359fa6-c1e5-f878-e105-6344f3e399a1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "FileHash", + "properties": { + "friendlyName": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0(SHA256)", + "hashValue": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0", + "algorithm": "SHA256" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetHostEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetHostEntityById.json new file mode 100644 index 000000000000..f0d66d9baebb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetHostEntityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIoTDeviceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIoTDeviceEntityById.json new file mode 100644 index 000000000000..e2e2a1a72eb6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIoTDeviceEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "IoTDevice", + "properties": { + "friendlyName": "device1", + "deviceId": "device1", + "iotHubEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/8b2d9401-f953-e89d-2583-be9b4975870c" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIpEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIpEntityById.json new file mode 100644 index 000000000000..9f289f93e359 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetIpEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Ip", + "properties": { + "friendlyName": "10.3.2.8", + "address": "10.3.2.8" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailClusterEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailClusterEntityById.json new file mode 100644 index 000000000000..7420af0ee2cc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailClusterEntityById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "MailCluster", + "properties": { + "friendlyName": "ClusterSourceIdentifier", + "networkMessageIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "countByDeliveryStatus": { + "deliveryStatus": 5 + }, + "countByThreatType": { + "threatType": 6 + }, + "countByProtectionStatus": { + "protectionStatus": 65 + }, + "threats": [ + "thrreat1", + "thread2" + ], + "query": "kqlFilter", + "queryTime": "2021-09-01T01:42:01.6026755Z", + "source": "ClusterSourceIdentifier", + "clusterSourceIdentifier": "cluster source identifier", + "clusterSourceType": "Similarity", + "clusterGroup": "cluster group" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailMessageEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailMessageEntityById.json new file mode 100644 index 000000000000..bde104778e1a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailMessageEntityById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "MailMessage", + "properties": { + "friendlyName": "cmd.exe", + "fileEntityIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "recipient": "recipient", + "urls": [ + "http://moqbrarcwmnk.banxhdcojlg.biz" + ], + "threats": [ + "thrreat1", + "thread2" + ], + "p1Sender": "email@fake.com", + "p1SenderDisplayName": "p1 sender display name", + "p1SenderDomain": "p1 sender domain", + "senderIP": "1.23.34.43", + "p2Sender": "the sender", + "deliveryAction": "Blocked", + "p2SenderDisplayName": "p2 sender display name", + "p2SenderDomain": "p2 Sender Domain", + "internetMessageId": "message id", + "subject": "subject", + "language": "language", + "threatDetectionMethods": [ + "thrreat1", + "thread2" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailboxEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailboxEntityById.json new file mode 100644 index 000000000000..e4a48ab54f74 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMailboxEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Mailbox", + "properties": { + "friendlyName": "emailAddress1", + "displayName": "display name", + "mailboxPrimaryAddress": "emailAddress1", + "upn": "upn1", + "externalDirectoryObjectId": "18cc8fdc-e169-4451-983a-bd027db286eb" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMalwareEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMalwareEntityById.json new file mode 100644 index 000000000000..acb80adbc0c0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetMalwareEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Malware", + "properties": { + "malwareName": "Win32/Toga!rfn", + "category": "Trojan", + "friendlyName": "Win32/Toga!rfn" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetProcessEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetProcessEntityById.json new file mode 100644 index 000000000000..eaa1cf80491b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetProcessEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "7264685c-038c-42c6-948c-38e14ef1fb98" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/7264685c-038c-42c6-948c-38e14ef1fb98", + "name": "7264685c-038c-42c6-948c-38e14ef1fb98", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Process", + "properties": { + "friendlyName": "cmd.exe", + "processId": "0x2aa48", + "commandLine": "\"cmd\"", + "imageFileEntityId": "bba7b47b-c1c1-4021-b568-5b07b9292f5e" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetQueries.json new file mode 100644 index 000000000000..05e7d1166714 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetQueries.json @@ -0,0 +1,456 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "kind": "Insight" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/6db7f5d1-f41e-46c2-b935-230b36a569e6", + "name": "6db7f5d1-f41e-46c2-b935-230b36a569e6", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Actions on account", + "description": "Summary of actions taken on the specified account, grouped by action: password resets and changes, account lockouts (policy or admin), account creation and deletion, account enabled and disabled\n", + "baseQuery": "let GetAccountActions = (v_Account_Name:string, v_Account_NTDomain:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string, v_Account_SID:string){\nAuditLogs\n| where OperationName in~ ('Delete user', 'Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', 'Update user')\n| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)\n| extend Account_Name = tostring(split(UserPrincipalName, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserPrincipalName, '@')[1])\n| extend Action = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0])))\n| extend ModifiedProperty = parse_json(Action).displayName\n| extend ModifiedValue = parse_json(Action).newValue\n| extend Account_AADUserId = tostring(TargetResources[0].id)\n| extend DisableUser = iif(ModifiedProperty =~ 'AccountEnabled' and ModifiedValue =~ '[false]', 'True', 'False')\n| union isfuzzy=true (\nSecurityEvent\n| where EventID in (4720, 4722, 4723, 4724, 4725, 4726, 4740)\n| extend OperationName = tostring(EventID)\n| where AccountType =~ \"user\" or isempty(AccountType)\n| extend Account_Name = TargetUserName, Account_NTDomain = TargetDomainName, Account_SID = TargetSid\n)\n| where (Account_Name =~ v_Account_Name and (Account_UPNSuffix =~ v_Account_UPNSuffix or Account_NTDomain =~ v_Account_NTDomain)) or Account_AADUserId =~ v_Account_AADUserId or Account_SID =~ v_Account_SID\n};\nGetAccountActions('CTFFUser4', '', 'seccxp.ninja', '', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Action", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Most Recent", + "outputType": "Date", + "supportDeepLink": false + }, + { + "header": "Count", + "outputType": "Number", + "supportDeepLink": true + } + ], + "queriesDefinitions": [ + { + "filter": "where OperationName in~ ('Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', '4724', '4723')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Blocked from self-service password reset', '4740')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName == '4725' or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Add user', '4720')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Delete user', '4726')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4725', 'Blocked from self-service password reset', '4740') or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4722', '4767') or (OperationName =~ 'Update user' and DisableUser =~ 'False')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Update user','4738')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Actions by type", + "dataSets": [ + { + "query": "summarize Count = count() by bin(TimeGenerated, 1h), OperationName", + "xColumnName": "TimeGenerated", + "yColumnName": "Count", + "legendColumnName": "OperationName" + } + ], + "type": "BarChart" + }, + "additionalQuery": { + "text": "See all account activity", + "query": "project TimeGenerated, UserPrincipalName, Account_Name, OperationName, Activity, DisableUser, TargetSid, AADUserId, InitiatedBy, AADTenantId, AccountType, Computer, SubjectAccount, SubjectUserSid, EventData" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_NTDomain" + ], + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ], + [ + "Account_SID" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/0a5d7b14-b485-450a-a0ac-4100c860ac32", + "name": "0a5d7b14-b485-450a-a0ac-4100c860ac32", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high office operation count", + "description": "Highlight office operations of the user with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh = 3; \nlet maxAnomalies = 3;\nlet BeforeRange = 12d; \nlet EndTime = todatetime('{{EndTimeUTC}}'); \nlet StartTime = todatetime('{{StartTimeUTC}}');\nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string) { \n OfficeActivity \n | extend splitUserId=split(UserId, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix }; \nuserData('CTFFUser4', 'seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Operation", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "Operation", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where Operation == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous operation timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project Operation, TimeGenerated, count_\n| mvexpand TimeGenerated, count_ | project todatetime(TimeGenerated), toint(count_), Operation\n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "Operation" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous operations", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh | order by maxAnomalyScorePost desc \n| project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "name": "e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Resource access", + "description": "Provides the count and distinct resource accesses by a given user account\n", + "baseQuery": "let Operations = dynamic([\"FileDownloaded\", \"FileUploaded\"]);\nlet UserOperationToSharePoint = (v_Account_Name:string, v_Account_UPNSuffix:string) {\nOfficeActivity\n// Select sharepoint activity that is relevant\n| where RecordType in~ ('SharePointFileOperation')\n| where Operation in~ (Operations)\n| extend Account_Name = tostring(split(UserId, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserId, '@')[1])\n| where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix\n| project TimeGenerated, Account_Name, Account_UPNSuffix, UserId, OfficeId, RecordType, Operation, OrganizationId, UserType, UserKey, OfficeWorkload, OfficeObjectId, ClientIP, ItemType, UserAgent, Site_Url, SourceRelativeUrl, SourceFileName, SourceFileExtension , Start_Time , ElevationTime , TenantId, SourceSystem , Type\n};\nUserOperationToSharePoint ('CTFFUser4','seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Resource Type", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Distinct Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "Total Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "IPAddress(es)", + "outputType": "String", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "where Operation =~ 'FileUploaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where Operation =~ 'FileDownloaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Resource access over time", + "dataSets": [ + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileUploaded'), TotalResources = countif(Operation =~ 'FileUploaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Uploads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + }, + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileDownloaded'), TotalResources = countif(Operation =~ 'FileDownloaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Downloads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "See all resource activity", + "query": "where Operation in~ (Operations)" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "name": "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high Azure sign-in result count", + "description": "Highlight Azure sign-in results by the user principal with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh=3; \nlet maxAnomalies=3; \nlet BeforeRange = 12d; \nlet EndTime=todatetime('{{EndTimeUTC}}');\nlet StartTime = todatetime('{{StartTimeUTC}}'); \nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string) { \n SigninLogs \n | where TimeGenerated between ((StartTime-BeforeRange) .. EndTime)\n | extend splitUserId=split(UserPrincipalName, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where (Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix) or UserId =~ v_Account_AADUserId };\nuserData('CTFFUser4', 'seccxp.ninja', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Result Description", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "ResultDescription", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where ResultDescription == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous sign-in result timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project ResultDescription, TimeGenerated, count_ \n| mvexpand TimeGenerated, count_ \n| project todatetime(TimeGenerated), toint(count_), ResultDescription \n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "ResultDescription" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous sign-in results", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "SigninLogs" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryKeyEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryKeyEntityById.json new file mode 100644 index 000000000000..de641d99c3f7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryKeyEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "RegistryKey", + "properties": { + "friendlyName": "SOFTWARE", + "hive": "HKEY_LOCAL_MACHINE", + "key": "SOFTWARE" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryValueEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryValueEntityById.json new file mode 100644 index 000000000000..de2b34507852 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetRegistryValueEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "dc44bd11-b348-4d76-ad29-37bf7aa41356" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/dc44bd11-b348-4d76-ad29-37bf7aa41356", + "name": "dc44bd11-b348-4d76-ad29-37bf7aa41356", + "type": "Microsoft.SecurityInsights/entities", + "kind": "RegistryValue", + "properties": { + "friendlyName": "Data", + "valueName": "Name", + "valueData": "Data", + "valueType": "String", + "keyEntityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityAlertEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityAlertEntityById.json new file mode 100644 index 000000000000..c1d6be4194dd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityAlertEntityById.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "intent": "Unknown", + "alertDisplayName": "Suspicious account detected", + "description": "", + "confidenceLevel": "Unknown", + "severity": "Medium", + "vendorName": "Microsoft", + "productName": "Azure Sentinel", + "productComponentName": "Scheduled Alerts", + "alertType": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b_46c7b6c0-ff43-44dd-8b4d-ceffff7aa7df", + "providerAlertId": "c2bafff9-fb31-41d0-a177-ecbff7a02ffe", + "processingEndTime": "2019-07-06T13:56:53.5392366Z", + "status": "New", + "endTimeUtc": "2021-09-01T13:21:45.926185Z", + "startTimeUtc": "2021-09-01T08:21:45.926185Z", + "timeGenerated": "2021-09-01T13:56:53.5392366Z", + "tactics": [ + "Persistence", + "LateralMovement" + ], + "additionalData": { + "Query": "Heartbeat \n| extend AccountCustomEntity = \"administrator\"", + "Query Period": "05:00:00", + "Trigger Operator": "GreaterThan", + "Trigger Threshold": "200", + "Search Query Results Overall Count": "203", + "Total Account Entities": "1" + }, + "friendlyName": "Suspicious account detected", + "alertLink": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518119885989999999_4aa486e0-6f85-41af-99ea-7acdce7be6c8/subscriptionId/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/myRg/myWorkspace/referencedFrom/alertDeepLink/location/centralus" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityGroupEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityGroupEntityById.json new file mode 100644 index 000000000000..8056decb01b1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSecurityGroupEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SecurityGroup", + "properties": { + "friendlyName": "Name", + "distinguishedName": "Name", + "sid": "Sid", + "objectGuid": "fb1b8e04-d944-4986-b39a-1ce9adedcd98" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSubmissionMailEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSubmissionMailEntityById.json new file mode 100644 index 000000000000..300be9e02ae6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetSubmissionMailEntityById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SubmissionMail", + "properties": { + "friendlyName": "recipient", + "submissionId": "5bb3d8fe-54bc-499c-bc21-86fe8df2a184", + "submitter": "submitter", + "recipient": "recipient", + "sender": "sender", + "senderIp": "1.4.35.34", + "subject": "subject", + "reportType": "report type" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetUrlEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetUrlEntityById.json new file mode 100644 index 000000000000..2932c99d3554 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/GetUrlEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Url", + "properties": { + "friendlyName": "https://bing.com", + "url": "https://bing.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/expand/PostExpandEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/expand/PostExpandEntity.json new file mode 100644 index 000000000000..c13e061e87ae --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/expand/PostExpandEntity.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "expansionId": "a77992f3-25e9-4d01-99a4-5ff606cc410a", + "startTime": "2019-04-25T00:00:00.000Z", + "endTime": "2019-05-26T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Ip", + "properties": { + "address": "13.89.108.248", + "friendlyName": "13.89.108.248" + } + } + ], + "edges": [ + { + "targetEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/c1d60d86-5988-11eb-ae93-0242ac130002", + "additionalData": { + "EpochTimestamp": "1608289949", + "FirstSeen": "2021-09-01T11:12:29.597Z", + "Source": "Heartbeat" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/insights/PostGetInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/insights/PostGetInsights.json new file mode 100644 index 000000000000..43c10835daa9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/insights/PostGetInsights.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "addDefaultExtendedTimeRange": false, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z", + "insightQueryIds": [ + "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tableQueryResults": { + "columns": [ + { + "name": "Title", + "type": "string" + }, + { + "name": "NameCount", + "type": "long" + }, + { + "name": "SIDCount", + "type": "long" + }, + { + "name": "InternalOrder", + "type": "long" + }, + { + "name": "Index", + "type": "long" + } + ], + "rows": [ + [ + "MyTitle", + "15", + "SID", + "1", + "1" + ] + ] + }, + "chartQueryResults": [ + { + "columns": [ + { + "name": "TimeGenerated", + "type": "datetime" + }, + { + "name": "Count", + "type": "long" + }, + { + "name": "Legend", + "type": "string" + } + ], + "rows": [ + [ + "2021-09-01T00:00:00.000Z", + "55", + "SomeLegend" + ] + ] + } + ], + "queryTimeInterval": { + "startTime": "2021-09-01T23:35:20Z", + "endTime": "2021-09-01T23:35:20Z" + }, + "queryId": "e29ee1ef-7445-455e-85f1-269f2d536d61" + } + ], + "metaData": { + "totalCount": 7, + "errors": [ + { + "kind": "Insight", + "queryId": "4a70a63d-25c4-6312-b73e-4f302a90c06a", + "errorMessage": "Internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetAllEntityRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetAllEntityRelations.json new file mode 100644 index 000000000000..4b67b5a606da --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetAllEntityRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetEntityRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetEntityRelationByName.json new file mode 100644 index 000000000000..30b2f1652871 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/relations/GetEntityRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/timeline/PostTimelineEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/timeline/PostTimelineEntity.json new file mode 100644 index 000000000000..74026d191c3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entities/timeline/PostTimelineEntity.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "numberOfBucket": 4, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "SecurityAlert", + "description": "The alert description", + "azureResourceId": "4467341f-fb73-4f99-a9b3-29473532cf5a_bf7c3a2f-b743-6410-3ff0-ec64b5995d50", + "productName": "Azure Sentinel", + "displayName": "Alert display name", + "severity": "Medium", + "endTimeUtc": "2021-09-01T23:31:28.02Z", + "startTimeUtc": "2021-09-01T23:32:28.01Z", + "timeGenerated": "2021-09-01T23:37:25.8136594Z", + "alertType": "4467341f-fb73-4f99-a9b3-29473532cf5a_c93bf33e-055e-4972-9e7d-f84fe3fb61ae" + }, + { + "kind": "Activity", + "queryId": "e0459780-ac9d-4b72-8bd4-fecf6b46a0a1", + "bucketStartTimeUTC": "2021-09-01T21:31:28.02Z", + "bucketEndTimeUTC": "2021-09-01T23:31:28.02Z", + "firstActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "lastActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "content": "he user has deleted the account 3 time(s)", + "title": "The user has deleted an account" + } + ], + "metaData": { + "totalCount": 6, + "aggregations": [ + { + "count": 4, + "kind": "Activity" + }, + { + "count": 2, + "kind": "SecurityAlert" + } + ], + "errors": [ + { + "kind": "Activity", + "queryId": "11067f9f-d6a7-4488-887f-0ba564268879", + "errorMessage": "syntax error" + }, + { + "kind": "SecurityAlert", + "errorMessage": "internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/CreateEntityQueryActivity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/CreateEntityQueryActivity.json new file mode 100644 index 000000000000..8f722df8bdc5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/CreateEntityQueryActivity.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "entityQuery": { + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/DeleteEntityQuery.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/DeleteEntityQuery.json new file mode 100644 index 000000000000..6dc0ee62d7c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/DeleteEntityQuery.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetActivityEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetActivityEntityQueryById.json new file mode 100644 index 000000000000..a831c06a2f87 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetActivityEntityQueryById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetEntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetEntityQueries.json new file mode 100644 index 000000000000..1c78258e8a6f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetEntityQueries.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "kind": "Expansion", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count asc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
    ')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Least active accounts on Azure from this IP" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count desc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
    ')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Most active accounts on Azure from this IP" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json new file mode 100644 index 000000000000..5643bc55df3a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let GetParentProcessesOnHost = (v_Host_HostName:string){\r\n SecurityEvent \r\n | where EventID == 4688 \r\n | where isnotempty(ParentProcessName)\r\n | where NewProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe' and ParentProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe'\r\n and NewProcessName!contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe' and ParentProcessName !contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe'\r\n and ParentProcessName !contains ':\\\\Windows\\\\CCM\\\\CcmExec.exe'\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\svchost.exe' and (NewProcessName !contains ':\\\\Windows\\\\System32\\\\wbem\\\\WmiPrvSE.exe' or NewProcessName !contains ':\\\\Windows\\\\SysWOW64\\\\wbem\\\\WmiPrvSE.exe'))\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\services.exe' and NewProcessName !contains ':\\\\Windows\\\\servicing\\\\TrustedInstaller.exe')\r\n | where toupper(Computer) contains v_Host_HostName or toupper(WorkstationName) contains v_Host_HostName\r\n | summarize min(TimeGenerated), max(TimeGenerated) by Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project min_TimeGenerated, max_TimeGenerated, Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project-rename Process_Host_UnstructuredName=Computer, Process_Account_UnstructuredName=Account, Process_CommandLine=CommandLine, Process_ProcessId=ProcessId, Process_ImageFile_FullPath=NewProcessName, Process_ParentProcess_ImageFile_FullPath=ParentProcessName\r\n | top 10 by min_TimeGenerated asc};\r\n GetParentProcessesOnHost(toupper(''))", + "inputFields": [ + "hostName" + ], + "outputEntityTypes": [ + "Process" + ], + "dataSources": [ + "SecurityEvent" + ], + "inputEntityType": "Host", + "displayName": "Parent processes running on host" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json new file mode 100644 index 000000000000..1c41c37e78ab --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryTemplateId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueryTemplate", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json new file mode 100644 index 000000000000..c954c25b012c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "kind": "Activity", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateIncident.json new file mode 100644 index 000000000000..f9416a258890 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateIncident.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [], + "techniques": [], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [], + "techniques": [], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateTeam.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateTeam.json new file mode 100644 index 000000000000..16481b7ae2c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/CreateTeam.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "9023f5b5-df22-4313-8fbf-b4b75af8a6d9", + "resourceGroupName": "ambawolvese5resourcegroup", + "workspaceName": "AmbaE5WestCentralUS", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600", + "teamProperties": { + "teamName": "Team name", + "teamDescription": "Team description" + } + }, + "responses": { + "200": { + "body": { + "teamId": "99978838-9bda-4ad4-8f93-4cf7ebc50ca5", + "primaryChannelUrl": "https://teams.microsoft.com/l/team/19:80bf3b25485b4067b7d2dc4eec9e1578%40thread.tacv2/conversations?groupId=99978838-9bda-4ad4-8f93-4cf7ebc50ca5&tenantId=5b5a146c-eba8-46af-96f8-e31b50d15a3f", + "teamCreationTimeUtc": "2021-03-15T17:08:21.9954238+02:00", + "name": "Team name", + "description": "Team description" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/DeleteIncident.json new file mode 100644 index 000000000000..8d2814577af1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/DeleteIncident.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentAlerts.json new file mode 100644 index 000000000000..aeee10d92dba --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentAlerts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "name": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "tactics": [], + "alertDisplayName": "myAlert", + "confidenceLevel": "Unknown", + "severity": "Low", + "vendorName": "Microsoft", + "productName": "Azure Security Center", + "alertType": "myAlert", + "processingEndTime": "2020-07-20T18:21:53.6158361Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.6158361Z", + "startTimeUtc": "2020-07-20T18:21:53.6158361Z", + "timeGenerated": "2020-07-20T18:21:53.6158361Z", + "resourceIdentifiers": [ + { + "type": "LogAnalytics", + "workspaceId": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroup": "myRG" + } + ], + "additionalData": { + "AlertMessageEnqueueTime": "2020-07-20T18:21:57.304Z" + }, + "friendlyName": "myAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentBookmarks.json new file mode 100644 index 000000000000..eaa9aeac5a8c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetAllIncidentBookmarks.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/afbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/bbbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "bbbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "303ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidentById.json new file mode 100644 index 000000000000..ca45d5abccfb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidentById.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "InaccurateData", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidents.json new file mode 100644 index 000000000000..7f875a1dd520 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/GetIncidents.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "$orderby": "properties/createdTimeUtc desc", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "Persistence" + ], + "techniques": [ + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/CreateIncidentComment.json new file mode 100644 index 000000000000..b557beffa82c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/CreateIncidentComment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentComment": { + "properties": { + "message": "Some message" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c622adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/DeleteIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/DeleteIncidentComment.json new file mode 100644 index 000000000000..715a920d4abc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/DeleteIncidentComment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-03-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetAllIncidentComments.json new file mode 100644 index 000000000000..1b4cf7c30d2b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetAllIncidentComments.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetIncidentCommentById.json new file mode 100644 index 000000000000..176ba4fb919b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/comments/GetIncidentCommentById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/entities/GetAllIncidentEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/entities/GetAllIncidentEntities.json new file mode 100644 index 000000000000..f0ec18df843b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/entities/GetAllIncidentEntities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/CreateIncidentRelation.json new file mode 100644 index 000000000000..a13cfeec8940 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/CreateIncidentRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/DeleteIncidentRelation.json new file mode 100644 index 000000000000..ec6f61e2742c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/DeleteIncidentRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetAllIncidentRelations.json new file mode 100644 index 000000000000..fdefd6a4a847 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetAllIncidentRelations.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "name": "9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "6f714025-dd7c-46aa-b5d0-b9857488d060", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceName": "1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceType": "Microsoft.SecurityInsights/entities", + "relatedResourceKind": "SecurityAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetIncidentRelationByName.json new file mode 100644 index 000000000000..f0f9c9cce167 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/incidents/relations/GetIncidentRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json new file mode 100644 index 000000000000..c6a417834c45 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentIdentifier": "73e01a99-5cd7-4139-a149-9f2736ff2ar4", + "manualTriggerRequestBody": { + "logicAppsResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/my-playbook-name", + "tenantId": "qwere6b2-9ac0-4464-9919-dccaee2e4ddd" + } + }, + "responses": { + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/DeleteMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/DeleteMetadata.json new file mode 100644 index 000000000000..04d34de3befb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/DeleteMetadata.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadata.json new file mode 100644 index 000000000000..9f8ee8fe359e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadata.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName3", + "name": "metadataName3", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f593501d-ec01-4057-8146-a1de35c461ef", + "version": "1.0.0.0", + "kind": "Workbook", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/workbookName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadataOData.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadataOData.json new file mode 100644 index 000000000000..3615152741e2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetAllMetadataOData.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ODataFilter": "properties/kind eq 'AnalyticsRule'", + "ODataOrderBy": "properties/parentId desc", + "ODataSkip": "2", + "ODataTop": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName1", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetMetadata.json new file mode 100644 index 000000000000..df2842c074c3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/GetMetadata.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "2e1dc338-d04d-4443-b721-037eff4fdcac", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PatchMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PatchMetadata.json new file mode 100644 index 000000000000..f11ddd05f7f1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PatchMetadata.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadataPatch": { + "properties": { + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadata.json new file mode 100644 index 000000000000..4dd1e80e9183 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadata.json @@ -0,0 +1,232 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector", + "name": "Microsoft Defender for Endpoint" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadataMinimal.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadataMinimal.json new file mode 100644 index 000000000000..065e2ebe774f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/metadata/PutMetadataMinimal.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/DeleteOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/DeleteOfficeConsents.json new file mode 100644 index 000000000000..80bc19165d8d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/DeleteOfficeConsents.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsents.json new file mode 100644 index 000000000000..16aac982d297 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsents.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsentsById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsentsById.json new file mode 100644 index 000000000000..26779ae25aeb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/officeConsents/GetOfficeConsentsById.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json new file mode 100644 index 000000000000..5aad2cdae08b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default", + "sentinelOnboardingStateParameter": { + "properties": { + "customerManagedKey": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json new file mode 100644 index 000000000000..d41a2db5b716 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json new file mode 100644 index 000000000000..d4f30dd5fb74 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json new file mode 100644 index 000000000000..952e08bad4cd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/repositories/GetRepositories.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/repositories/GetRepositories.json new file mode 100644 index 000000000000..ab80e84a4903 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/repositories/GetRepositories.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "repoType": "Github", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://api.github.com/repos/user/reponame", + "fullName": "reponame", + "branches": [ + "master", + "develop" + ] + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/DeleteEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/DeleteEyesOnSetting.json new file mode 100644 index 000000000000..dc1c55359cce --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/DeleteEyesOnSetting.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetAllSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetAllSettings.json new file mode 100644 index 000000000000..163057bfa24c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetAllSettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetEyesOnSetting.json new file mode 100644 index 000000000000..ea026f188d7d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/GetEyesOnSetting.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/UpdateEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/UpdateEyesOnSetting.json new file mode 100644 index 000000000000..9066b269e525 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/settings/UpdateEyesOnSetting.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn", + "settings": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/CreateSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/CreateSourceControl.json new file mode 100644 index 000000000000..0bb55b543099 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/CreateSourceControl.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "sourceControl": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My Source Control", + "description": "This is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/DeleteSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/DeleteSourceControl.json new file mode 100644 index 000000000000..001ab765e4f3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/DeleteSourceControl.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControlById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControlById.json new file mode 100644 index 000000000000..5eb296b90eb6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControlById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControls.json new file mode 100644 index 000000000000..5e8046074f97 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/sourcecontrols/GetSourceControls.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..3fcf0c75bc1c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTags": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..45c4743d8f01 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2021-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..936d53fac5d8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2021-09-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-09-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-09-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-09-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-09-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-09-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..874154946165 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..768c9de3582b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2021-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..310b75464145 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..e94c8a957d66 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ThreatIntelligenceFilteringCriteria": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2021-04-05T17:44:00.114052Z", + "maxValidUntil": "2021-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2021-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z", + "parsedPattern": [ + { + "patternTypeKey": "network-traffic", + "patternTypeValues": [ + { + "valueType": "0", + "value": "SSH-2.0-PuTTY_Release_0.64" + }, + { + "valueType": "1", + "value": "194.88.106.146" + } + ] + } + ] + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..d7cf39d1ccfe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTags": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json new file mode 100644 index 000000000000..9de64fc2c978 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..5a230b07da30 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "itemsSearchKey": "header1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json new file mode 100644 index 000000000000..bb2a88609170 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "numberOfLinesToSkip": 1, + "rawContent": "This line will be skipped\nheader1,header2\nvalue1,value2", + "itemsSearchKey": "header1", + "contentType": "text/csv" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistItem.json new file mode 100644 index 000000000000..aac8e6a7b12d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/CreateWatchlistItem.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "watchlistItem": { + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..62a2ed2a310a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlistItem.json new file mode 100644 index 000000000000..28152a138bd0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/DeleteWatchlistItem.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..4a43bd55a109 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItemById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItemById.json new file mode 100644 index 000000000000..3d1a4b1939da --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItemById.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItems.json new file mode 100644 index 000000000000..30fa54570bb2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlistItems.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..b973f84ca27d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/examples/watchlists/GetWatchlists.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/operations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/operations.json new file mode 100644 index 000000000000..b6f2ec4ed2cd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2021-10-01-preview/operations.json @@ -0,0 +1,133 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.SecurityInsights/operations": { + "get": { + "operationId": "Operations_List", + "description": "Lists all operations available Azure Security Insights Resource Provider.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operations list.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Array of operations", + "items": { + "$ref": "#/definitions/Operation" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + }, + "origin": { + "description": "The origin of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AlertRules.json new file mode 100644 index 000000000000..106ec858df27 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AlertRules.json @@ -0,0 +1,2423 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules": { + "get": { + "x-ms-examples": { + "Get all alert rules.": { + "$ref": "./examples/alertRules/GetAllAlertRules.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets all alert rules.", + "operationId": "AlertRules_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}": { + "get": { + "x-ms-examples": { + "Get a Scheduled alert rule.": { + "$ref": "./examples/alertRules/GetScheduledAlertRule.json" + }, + "Get an Nrt alert rule.": { + "$ref": "./examples/alertRules/GetNrtAlertRule.json" + }, + "Get a Fusion alert rule.": { + "$ref": "./examples/alertRules/GetFusionAlertRule.json" + }, + "Get a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets the alert rule.", + "operationId": "AlertRules_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a Scheduled alert rule.": { + "$ref": "./examples/alertRules/CreateScheduledAlertRule.json" + }, + "Creates or updates a Nrt alert rule.": { + "$ref": "./examples/alertRules/CreateNrtAlertRule.json" + }, + "Creates or updates a Fusion alert rule.": { + "$ref": "./examples/alertRules/CreateFusionAlertRule.json" + }, + "Creates or updates a Fusion alert rule with scenario exclusion pattern.": { + "$ref": "./examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json" + }, + "Creates or updates a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Creates or updates the alert rule.", + "operationId": "AlertRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/AlertRule" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an alert rule.": { + "$ref": "./examples/alertRules/DeleteAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Delete the alert rule.", + "operationId": "AlertRules_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions": { + "get": { + "x-ms-examples": { + "Get all actions of alert rule.": { + "$ref": "./examples/actions/GetAllActionsByAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets all actions of alert rule.", + "operationId": "Actions_ListByAlertRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}": { + "get": { + "x-ms-examples": { + "Get an action of alert rule.": { + "$ref": "./examples/actions/GetActionOfAlertRuleById.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets the action of alert rule.", + "operationId": "Actions_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an action of alert rule.": { + "$ref": "./examples/actions/CreateActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Creates or updates the action of alert rule.", + "operationId": "Actions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + }, + { + "$ref": "#/parameters/Action" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an action of alert rule.": { + "$ref": "./examples/actions/DeleteActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Delete the action of alert rule.", + "operationId": "Actions_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates": { + "get": { + "x-ms-examples": { + "Get all alert rule templates.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplates.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets all alert rule templates.", + "operationId": "AlertRuleTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRuleTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}": { + "get": { + "x-ms-examples": { + "Get alert rule template by Id.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplateById.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets the alert rule template.", + "operationId": "AlertRuleTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AlertRuleTemplateId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "Action": { + "description": "The action", + "in": "body", + "name": "action", + "required": true, + "schema": { + "$ref": "#/definitions/ActionRequest" + }, + "x-ms-parameter-location": "method" + }, + "ActionId": { + "description": "Action ID", + "in": "path", + "name": "actionId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AlertRule": { + "description": "The alert rule", + "in": "body", + "name": "alertRule", + "required": true, + "schema": { + "$ref": "#/definitions/AlertRule" + }, + "x-ms-parameter-location": "method" + }, + "AlertRuleTemplateId": { + "description": "Alert rule template ID", + "in": "path", + "name": "alertRuleTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleId": { + "description": "Alert rule ID", + "in": "path", + "name": "ruleId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "AlertRule": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Alert rule.", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "AlertRuleKindEnum": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion", + "MLBehaviorAnalytics", + "ThreatIntelligence", + "NRT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + }, + { + "value": "MLBehaviorAnalytics" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "NRT" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The kind of the alert rule" + } + }, + "required": [ + "kind" + ] + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the alert rule template", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AlertRuleTemplatePropertiesBase": { + "description": "Base alert rule template property bag.", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "type": "integer", + "format": "int32" + }, + "lastUpdatedDateUTC": { + "description": "The last time that this alert rule template has been updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data sources for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "x-ms-identifiers": [ + "connectorId" + ], + "type": "array" + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status." + } + }, + "type": "object" + }, + "AlertRuleTemplateStatus": { + "description": "The alert rule template status.", + "enum": [ + "Installed", + "Available", + "NotAvailable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TemplateStatus", + "values": [ + { + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" + }, + { + "description": "Alert rule template is available.", + "value": "Available" + }, + { + "description": "Alert rule template is not available", + "value": "NotAvailable" + } + ] + } + }, + "AlertRuleTemplateWithMitreProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "Alert rule template with MITRE property bag.", + "properties": { + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "QueryBasedAlertRuleTemplateProperties": { + "description": "Query based alert rule template base property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rules.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "MLBehaviorAnalyticsAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MLBehaviorAnalyticsAlertRuleProperties", + "description": "MLBehaviorAnalytics alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "MLBehaviorAnalyticsAlertRuleProperties": { + "description": "MLBehaviorAnalytics alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "MLBehaviorAnalyticsAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MLBehaviorAnalytics alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "MLBehaviorAnalytics alert rule template properties.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "type": "object", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MLBehaviorAnalytics" + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "sourceSettings": { + "description": "Configuration for all supported source signals in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSettings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "scenarioExclusionPatterns": { + "description": "Configuration to exclude scenarios in fusion detection.", + "items": { + "$ref": "#/definitions/FusionScenarioExclusionPattern" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionSourceSettings": { + "description": "Represents a supported source signal configuration in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceName": { + "description": "Name of the Fusion source signal. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypes": { + "description": "Configuration for all source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionSourceSubTypeSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "enabled", + "sourceName" + ], + "type": "object" + }, + "FusionSourceSubTypeSetting": { + "description": "Represents a supported source subtype configuration under a source signal in Fusion detection.", + "properties": { + "enabled": { + "description": "Determines whether this source subtype under source signal is enabled or disabled in Fusion detection.", + "type": "boolean" + }, + "sourceSubTypeName": { + "description": "The Name of the source subtype under a given source signal in Fusion detection. Refer to Fusion alert rule template for supported values.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilters": { + "description": "Severity configuration for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "enabled", + "sourceSubTypeName", + "severityFilters" + ], + "type": "object" + }, + "FusionSubTypeSeverityFilter": { + "description": "Represents severity configuration for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether this source subtype supports severity configuration or not.", + "type": "boolean", + "readOnly": true + }, + "filters": { + "description": "Individual Severity configuration settings for a given source subtype consumed in Fusion detection.", + "items": { + "$ref": "#/definitions/FusionSubTypeSeverityFiltersItem" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "FusionSubTypeSeverityFiltersItem": { + "description": "Represents a Severity filter setting for a given source subtype consumed in Fusion detection.", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The Severity for a given source subtype consumed in Fusion detection." + }, + "enabled": { + "description": "Determines whether this severity is enabled or disabled for this source subtype consumed in Fusion detection.", + "type": "boolean" + } + }, + "required": [ + "severity", + "enabled" + ], + "type": "object" + }, + "FusionScenarioExclusionPattern": { + "description": "Represents a Fusion scenario exclusion patterns in Fusion detection.", + "properties": { + "exclusionPattern": { + "description": "Scenario exclusion pattern.", + "type": "string" + }, + "dateAddedInUTC": { + "description": "DateTime when scenario exclusion pattern is added in UTC.", + "type": "string" + } + }, + "required": [ + "exclusionPattern", + "dateAddedInUTC" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleTemplateProperties", + "description": "Fusion alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleTemplateProperties": { + "description": "Fusion alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceSettings": { + "description": "All supported source signal configurations consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSetting" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "FusionTemplateSourceSetting": { + "description": "Represents a source signal consumed in Fusion detection.", + "properties": { + "sourceName": { + "description": "The name of a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypes": { + "description": "All supported source subtypes under this source signal consumed in fusion detection.", + "items": { + "$ref": "#/definitions/FusionTemplateSourceSubType" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "sourceName" + ], + "type": "object" + }, + "FusionTemplateSourceSubType": { + "description": "Represents a source subtype under a source signal consumed in Fusion detection.", + "properties": { + "sourceSubTypeName": { + "description": "The name of source subtype under a source signal consumed in Fusion detection.", + "type": "string" + }, + "sourceSubTypeDisplayName": { + "description": "The display name of source subtype under a source signal consumed in Fusion detection.", + "type": "string", + "readOnly": true + }, + "severityFilter": { + "description": "Severity configuration available for a source subtype consumed in fusion detection.", + "$ref": "#/definitions/FusionTemplateSubTypeSeverityFilter", + "type": "object" + } + }, + "required": [ + "sourceSubTypeName", + "severityFilter" + ], + "type": "object" + }, + "FusionTemplateSubTypeSeverityFilter": { + "description": "Represents severity configurations available for a source subtype consumed in Fusion detection.", + "properties": { + "isSupported": { + "description": "Determines whether severity configuration is supported for this source subtype consumed in Fusion detection.", + "type": "boolean" + }, + "severityFilters": { + "description": "List of all supported severities for this source subtype consumed in Fusion detection.", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "required": [ + "isSupported" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Threat Intelligence alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceAlertRuleProperties", + "description": "Threat Intelligence alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "ThreatIntelligenceAlertRuleProperties": { + "description": "Threat Intelligence alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "ThreatIntelligenceAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Threat Intelligence alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + } + ], + "description": "Threat Intelligence alert rule template properties", + "properties": { + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + } + }, + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "MicrosoftSecurityIncidentCreationAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array" + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityProductName": { + "description": "The alerts' productName on which the cases will be generated", + "enum": [ + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT", + "Office 365 Advanced Threat Protection", + "Microsoft Defender Advanced Threat Protection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "displayName", + "enabled", + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties", + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "required": [ + "displayName", + "description", + "createdDateUTC", + "status", + "alertRulesCreatedByTemplateCount", + "productFilter" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplatePropertiesBase" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array" + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array" + } + }, + "type": "object", + "x-ms-client-flatten": true + }, + "ScheduledAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + } + ], + "description": "Scheduled alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "templateVersion": { + "description": "The version of the alert rule template used to create this rule - in format , where all are numbers, for example 0 <1.0.2>", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + } + }, + "required": [ + "displayName", + "enabled", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object", + "x-ms-client-flatten": true + }, + "NrtAlertRuleProperties": { + "description": "Nrt alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "templateVersion": { + "description": "The version of the alert rule template used to create this rule - in format , where all are numbers, for example 0 <1.0.2>", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array" + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "required": [ + "displayName", + "enabled", + "severity", + "query", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object", + "x-ms-client-flatten": true + }, + "ScheduledAlertRuleTemplateProperties": { + "description": "Scheduled alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "techniques": { + "description": "The techniques of the alert rule", + "items": { + "type": "string" + }, + "type": "array" + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "ScheduledAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents scheduled alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleTemplateProperties", + "description": "Scheduled alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "version" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "NrtAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents NRT alert rule template.", + "properties": { + "properties": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplateWithMitreProperties" + }, + { + "$ref": "#/definitions/QueryBasedAlertRuleTemplateProperties" + } + ], + "description": "NRT alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "version" + ], + "type": "object", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" + } + }, + "type": "object" + }, + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "ScheduledAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents scheduled alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "NrtAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents NRT alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/NrtAlertRuleProperties", + "description": "NRT alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "NRT" + }, + "ScheduledAlertRuleCommonProperties": { + "description": "Scheduled alert rule template property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "type": "integer", + "format": "int32" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "EntityMappings": { + "description": "List of entity mappings of the alert rule", + "type": "array", + "items": { + "$ref": "#/definitions/EntityMapping" + }, + "x-ms-identifiers": [] + }, + "EntityMapping": { + "description": "Single entity mapping for the alert rule", + "properties": { + "entityType": { + "$ref": "#/definitions/EntityMappingType" + }, + "fieldMappings": { + "description": "array of field mappings for the given entity mapping", + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "FieldMapping": { + "description": "A single field mapping of the mapped entity", + "properties": { + "identifier": { + "description": "the V3 identifier of the entity", + "type": "string" + }, + "columnName": { + "description": "the column name to be mapped to the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AlertDetailsOverride": { + "description": "Settings for how to dynamically override alert static details", + "properties": { + "alertDisplayNameFormat": { + "description": "the format containing columns name(s) to override the alert name", + "type": "string" + }, + "alertDescriptionFormat": { + "description": "the format containing columns name(s) to override the alert description", + "type": "string" + }, + "alertTacticsColumnName": { + "description": "the column name to take the alert tactics from", + "type": "string" + }, + "alertSeverityColumnName": { + "description": "the column name to take the alert severity from", + "type": "string" + } + }, + "type": "object" + }, + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", + "properties": { + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" + }, + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" + } + }, + "type": "object", + "required": [ + "createIncident" + ] + }, + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", + "properties": { + "enabled": { + "description": "Grouping enabled", + "type": "boolean" + }, + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" + }, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "matchingMethod": { + "description": "Grouping matching method. When method is Selected at least one of groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.", + "enum": [ + "AllEntities", + "AnyAlert", + "Selected" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MatchingMethod", + "values": [ + { + "description": "Grouping alerts into a single incident if all the entities match", + "value": "AllEntities" + }, + { + "description": "Grouping any alerts triggered by this rule into a single incident", + "value": "AnyAlert" + }, + { + "description": "Grouping alerts into a single incident if the selected entities, custom details and alert details match", + "value": "Selected" + } + ] + } + }, + "groupByEntities": { + "description": "A list of entity types to group by (when matchingMethod is Selected). Only entities defined in the current alert rule may be used.", + "items": { + "$ref": "#/definitions/EntityMappingType" + }, + "type": "array" + }, + "groupByAlertDetails": { + "description": "A list of alert details to group by (when matchingMethod is Selected)", + "items": { + "description": "Alert detail", + "enum": [ + "DisplayName", + "Severity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertDetail", + "values": [ + { + "description": "Alert display name", + "value": "DisplayName" + }, + { + "description": "Alert severity", + "value": "Severity" + } + ] + } + }, + "type": "array" + }, + "groupByCustomDetails": { + "description": "A list of custom details keys to group by (when matchingMethod is Selected). Only keys defined in the current alert rule may be used.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "matchingMethod" + ] + }, + "ActionRequest": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionPropertiesBase": { + "description": "Action property bag base.", + "properties": { + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", + "type": "string" + } + }, + "required": [ + "logicAppResourceId" + ], + "type": "object" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "triggerUri" + ], + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionResponseProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionsList": { + "description": "List all the actions.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of actions.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of actions.", + "items": { + "$ref": "#/definitions/ActionResponse" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "EntityMappingType": { + "description": "The V3 type of the mapped entity", + "enum": [ + "Account", + "Host", + "IP", + "Malware", + "File", + "Process", + "CloudApplication", + "DNS", + "AzureResource", + "FileHash", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityMappingType", + "values": [ + { + "description": "User account entity type", + "value": "Account" + }, + { + "description": "Host entity type", + "value": "Host" + }, + { + "description": "IP address entity type", + "value": "IP" + }, + { + "description": "Malware entity type", + "value": "Malware" + }, + { + "description": "System file entity type", + "value": "File" + }, + { + "description": "Process entity type", + "value": "Process" + }, + { + "description": "Cloud app entity type", + "value": "CloudApplication" + }, + { + "description": "DNS entity type", + "value": "DNS" + }, + { + "description": "Azure resource entity type", + "value": "AzureResource" + }, + { + "description": "File-hash entity type", + "value": "FileHash" + }, + { + "description": "Registry key entity type", + "value": "RegistryKey" + }, + { + "description": "Registry value entity type", + "value": "RegistryValue" + }, + { + "description": "Security group entity type", + "value": "SecurityGroup" + }, + { + "description": "URL entity type", + "value": "URL" + }, + { + "description": "Mailbox entity type", + "value": "Mailbox" + }, + { + "description": "Mail cluster entity type", + "value": "MailCluster" + }, + { + "description": "Mail message entity type", + "value": "MailMessage" + }, + { + "description": "Submission mail entity type", + "value": "SubmissionMail" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AutomationRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AutomationRules.json new file mode 100644 index 000000000000..2cb7dbfbab49 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/AutomationRules.json @@ -0,0 +1,1028 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview", + "x-ms-code-generation-settings": { + "name": "SecurityInsights" + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets the automation rule.", + "operationId": "AutomationRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Get": { + "$ref": "./examples/automationRules/AutomationRules_Get.json" + } + } + }, + "put": { + "tags": [ + "automationRules" + ], + "description": "Creates or updates the automation rule.", + "operationId": "AutomationRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + }, + { + "in": "body", + "name": "automationRuleToUpsert", + "description": "The automation rule", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_CreateOrUpdate": { + "$ref": "./examples/automationRules/AutomationRules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "automationRules" + ], + "description": "Delete the automation rule.", + "operationId": "AutomationRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "object" + } + }, + "204": { + "description": "No Content", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Delete": { + "$ref": "./examples/automationRules/AutomationRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets all automation rules.", + "operationId": "AutomationRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AutomationRules_List": { + "$ref": "./examples/automationRules/AutomationRules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentIdentifier}/runPlaybook": { + "post": { + "tags": [ + "manualTrigger" + ], + "description": "Triggers playbook on a specific incident", + "operationId": "Incidents_RunPlaybook", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "in": "path", + "name": "incidentIdentifier", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "requestBody", + "schema": { + "$ref": "#/definitions/ManualTriggerRequestBody" + } + } + ], + "responses": { + "204": { + "description": "Success", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_ManualTriggerPlaybook": { + "$ref": "./examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "The type of the automation rule action", + "enum": [ + "ModifyProperties", + "RunPlaybook" + ], + "type": "string", + "example": "ModifyProperties", + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "value": "ModifyProperties", + "description": "Modify an object's properties" + }, + { + "value": "RunPlaybook", + "description": "Run a playbook on an object" + } + ] + } + }, + "AutomationRule": { + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/AutomationRuleProperties", + "x-ms-client-flatten": true + } + } + }, + "AutomationRuleAction": { + "description": "Describes an automation rule action", + "required": [ + "actionType", + "order" + ], + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "actionType": { + "$ref": "#/definitions/ActionType" + } + }, + "discriminator": "actionType" + }, + "AutomationRuleCondition": { + "description": "Describes an automation rule condition", + "required": [ + "conditionType" + ], + "type": "object", + "properties": { + "conditionType": { + "$ref": "#/definitions/ConditionType" + } + }, + "discriminator": "conditionType" + }, + "AutomationRuleModifyPropertiesAction": { + "description": "Describes an automation rule action to modify an object's properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/IncidentPropertiesAction" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "ModifyProperties" + }, + "AutomationRuleProperties": { + "description": "Automation rule properties", + "required": [ + "actions", + "displayName", + "order", + "triggeringLogic" + ], + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the automation rule", + "type": "string", + "maxLength": 500 + }, + "order": { + "format": "int32", + "description": "The order of execution of the automation rule", + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "triggeringLogic": { + "$ref": "#/definitions/AutomationRuleTriggeringLogic" + }, + "actions": { + "description": "The actions to execute when the automation rule is triggered", + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleAction" + }, + "x-ms-identifiers": [], + "maxItems": 20 + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the automation rule was updated", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the automation rule was created", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + }, + "createdBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + } + } + }, + "AutomationRulePropertyConditionSupportedOperator": { + "enum": [ + "Equals", + "NotEquals", + "Contains", + "NotContains", + "StartsWith", + "NotStartsWith", + "EndsWith", + "NotEndsWith" + ], + "type": "string", + "example": "Equals", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedOperator", + "modelAsString": true, + "values": [ + { + "value": "Equals", + "description": "Evaluates if the property equals at least one of the condition values" + }, + { + "value": "NotEquals", + "description": "Evaluates if the property does not equal any of the condition values" + }, + { + "value": "Contains", + "description": "Evaluates if the property contains at least one of the condition values" + }, + { + "value": "NotContains", + "description": "Evaluates if the property does not contain any of the condition values" + }, + { + "value": "StartsWith", + "description": "Evaluates if the property starts with any of the condition values" + }, + { + "value": "NotStartsWith", + "description": "Evaluates if the property does not start with any of the condition values" + }, + { + "value": "EndsWith", + "description": "Evaluates if the property ends with any of the condition values" + }, + { + "value": "NotEndsWith", + "description": "Evaluates if the property does not end with any of the condition values" + } + ] + } + }, + "AutomationRulePropertyConditionSupportedProperty": { + "description": "The property to evaluate in an automation rule property condition", + "enum": [ + "IncidentTitle", + "IncidentDescription", + "IncidentSeverity", + "IncidentStatus", + "IncidentRelatedAnalyticRuleIds", + "IncidentTactics", + "IncidentLabel", + "IncidentProviderName", + "AccountAadTenantId", + "AccountAadUserId", + "AccountName", + "AccountNTDomain", + "AccountPUID", + "AccountSid", + "AccountObjectGuid", + "AccountUPNSuffix", + "AlertProductNames", + "AzureResourceResourceId", + "AzureResourceSubscriptionId", + "CloudApplicationAppId", + "CloudApplicationAppName", + "DNSDomainName", + "FileDirectory", + "FileName", + "FileHashValue", + "HostAzureID", + "HostName", + "HostNetBiosName", + "HostNTDomain", + "HostOSVersion", + "IoTDeviceId", + "IoTDeviceName", + "IoTDeviceType", + "IoTDeviceVendor", + "IoTDeviceModel", + "IoTDeviceOperatingSystem", + "IPAddress", + "MailboxDisplayName", + "MailboxPrimaryAddress", + "MailboxUPN", + "MailMessageDeliveryAction", + "MailMessageDeliveryLocation", + "MailMessageRecipient", + "MailMessageSenderIP", + "MailMessageSubject", + "MailMessageP1Sender", + "MailMessageP2Sender", + "MalwareCategory", + "MalwareName", + "ProcessCommandLine", + "ProcessId", + "RegistryKey", + "RegistryValueData", + "Url" + ], + "type": "string", + "example": "IncidentTitle", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedProperty", + "modelAsString": true, + "values": [ + { + "value": "IncidentTitle", + "description": "The title of the incident" + }, + { + "value": "IncidentDescription", + "description": "The description of the incident" + }, + { + "value": "IncidentSeverity", + "description": "The severity of the incident" + }, + { + "value": "IncidentStatus", + "description": "The status of the incident" + }, + { + "value": "IncidentRelatedAnalyticRuleIds", + "description": "The related Analytic rule ids of the incident" + }, + { + "value": "IncidentTactics", + "description": "The tactics of the incident" + }, + { + "value": "IncidentLabel", + "description": "The labels of the incident" + }, + { + "value": "IncidentProviderName", + "description": "The provider name of the incident" + }, + { + "value": "AccountAadTenantId", + "description": "The account Azure Active Directory tenant id" + }, + { + "value": "AccountAadUserId", + "description": "The account Azure Active Directory user id" + }, + { + "value": "AccountName", + "description": "The account name" + }, + { + "value": "AccountNTDomain", + "description": "The account NetBIOS domain name" + }, + { + "value": "AccountPUID", + "description": "The account Azure Active Directory Passport User ID" + }, + { + "value": "AccountSid", + "description": "The account security identifier" + }, + { + "value": "AccountObjectGuid", + "description": "The account unique identifier" + }, + { + "value": "AccountUPNSuffix", + "description": "The account user principal name suffix" + }, + { + "value": "AlertProductNames", + "description": "The name of the product of the alert" + }, + { + "value": "AzureResourceResourceId", + "description": "The Azure resource id" + }, + { + "value": "AzureResourceSubscriptionId", + "description": "The Azure resource subscription id" + }, + { + "value": "CloudApplicationAppId", + "description": "The cloud application identifier" + }, + { + "value": "CloudApplicationAppName", + "description": "The cloud application name" + }, + { + "value": "DNSDomainName", + "description": "The dns record domain name" + }, + { + "value": "FileDirectory", + "description": "The file directory full path" + }, + { + "value": "FileName", + "description": "The file name without path" + }, + { + "value": "FileHashValue", + "description": "The file hash value" + }, + { + "value": "HostAzureID", + "description": "The host Azure resource id" + }, + { + "value": "HostName", + "description": "The host name without domain" + }, + { + "value": "HostNetBiosName", + "description": "The host NetBIOS name" + }, + { + "value": "HostNTDomain", + "description": "The host NT domain" + }, + { + "value": "HostOSVersion", + "description": "The host operating system" + }, + { + "value": "IoTDeviceId", + "description": "\"The IoT device id" + }, + { + "value": "IoTDeviceName", + "description": "The IoT device name" + }, + { + "value": "IoTDeviceType", + "description": "The IoT device type" + }, + { + "value": "IoTDeviceVendor", + "description": "The IoT device vendor" + }, + { + "value": "IoTDeviceModel", + "description": "The IoT device model" + }, + { + "value": "IoTDeviceOperatingSystem", + "description": "The IoT device operating system" + }, + { + "value": "IPAddress", + "description": "The IP address" + }, + { + "value": "MailboxDisplayName", + "description": "The mailbox display name" + }, + { + "value": "MailboxPrimaryAddress", + "description": "The mailbox primary address" + }, + { + "value": "MailboxUPN", + "description": "The mailbox user principal name" + }, + { + "value": "MailMessageDeliveryAction", + "description": "The mail message delivery action" + }, + { + "value": "MailMessageDeliveryLocation", + "description": "The mail message delivery location" + }, + { + "value": "MailMessageRecipient", + "description": "The mail message recipient" + }, + { + "value": "MailMessageSenderIP", + "description": "The mail message sender IP address" + }, + { + "value": "MailMessageSubject", + "description": "The mail message subject" + }, + { + "value": "MailMessageP1Sender", + "description": "The mail message P1 sender" + }, + { + "value": "MailMessageP2Sender", + "description": "The mail message P2 sender" + }, + { + "value": "MalwareCategory", + "description": "The malware category" + }, + { + "value": "MalwareName", + "description": "The malware name" + }, + { + "value": "ProcessCommandLine", + "description": "The process execution command line" + }, + { + "value": "ProcessId", + "description": "The process id" + }, + { + "value": "RegistryKey", + "description": "The registry key path" + }, + { + "value": "RegistryValueData", + "description": "The registry key value in string formatted representation" + }, + { + "value": "Url", + "description": "The url" + } + ] + } + }, + "AutomationRulePropertyValuesCondition": { + "type": "object", + "properties": { + "propertyName": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedProperty" + }, + "operator": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedOperator" + }, + "propertyValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutomationRuleRunPlaybookAction": { + "description": "Describes an automation rule action to run a playbook", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/PlaybookActionProperties" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "RunPlaybook" + }, + "AutomationRulesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRule" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "AutomationRuleTriggeringLogic": { + "description": "Describes automation rule triggering logic", + "required": [ + "isEnabled", + "triggersOn", + "triggersWhen" + ], + "type": "object", + "properties": { + "isEnabled": { + "description": "Determines whether the automation rule is enabled or disabled", + "type": "boolean" + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Determines when the automation rule should automatically expire and be disabled.", + "type": "string" + }, + "triggersOn": { + "$ref": "#/definitions/triggersOn" + }, + "triggersWhen": { + "$ref": "#/definitions/triggersWhen" + }, + "conditions": { + "description": "The conditions to evaluate to determine if the automation rule should be triggered on a given object", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + }, + "x-ms-identifiers": [ + "conditionType" + ] + } + } + }, + "ConditionType": { + "enum": [ + "Property" + ], + "type": "string", + "example": "Property", + "x-ms-enum": { + "name": "ConditionType", + "modelAsString": true, + "values": [ + { + "value": "Property", + "description": "Evaluate an object property value" + } + ] + } + }, + "IncidentPropertiesAction": { + "type": "object", + "properties": { + "severity": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "classification": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationReason": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo" + }, + "labels": { + "description": "List of labels to add to the incident", + "type": "array", + "x-ms-identifiers": [ + "labelName" + ], + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + } + } + } + }, + "ManualTriggerRequestBody": { + "type": "object", + "properties": { + "tenantId": { + "format": "uuid", + "type": "string" + }, + "logicAppsResourceId": { + "type": "string" + } + } + }, + "PlaybookActionProperties": { + "type": "object", + "properties": { + "logicAppResourceId": { + "description": "The resource id of the playbook resource", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "The tenant id of the playbook resource", + "type": "string" + } + } + }, + "PropertyConditionProperties": { + "description": "Describes an automation rule condition that evaluates a property's value", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyValuesCondition" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "Property" + }, + "triggersOn": { + "enum": [ + "Incidents" + ], + "type": "string", + "example": "Incidents", + "x-ms-enum": { + "name": "triggersOn", + "modelAsString": true, + "values": [ + { + "value": "Incidents", + "description": "Trigger on Incidents" + } + ] + } + }, + "triggersWhen": { + "enum": [ + "Created" + ], + "type": "string", + "example": "Created", + "x-ms-enum": { + "name": "triggersWhen", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Trigger on created objects" + } + ] + } + } + }, + "parameters": { + "AutomationRule": { + "name": "automationRule", + "description": "The automation rule", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "AutomationRuleId": { + "in": "path", + "name": "automationRuleId", + "description": "Automation rule ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Bookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Bookmarks.json new file mode 100644 index 000000000000..72fe243fd623 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Bookmarks.json @@ -0,0 +1,751 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks": { + "get": { + "x-ms-examples": { + "Get all bookmarks.": { + "$ref": "./examples/bookmarks/GetBookmarks.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets all bookmarks.", + "operationId": "Bookmarks_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}": { + "get": { + "x-ms-examples": { + "Get a bookmark.": { + "$ref": "./examples/bookmarks/GetBookmarkById.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets a bookmark.", + "operationId": "Bookmarks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark.": { + "$ref": "./examples/bookmarks/CreateBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Creates or updates the bookmark.", + "operationId": "Bookmarks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/Bookmark" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a bookmark.": { + "$ref": "./examples/bookmarks/DeleteBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Delete the bookmark.", + "operationId": "Bookmarks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations": { + "get": { + "x-ms-examples": { + "Get all bookmark relations.": { + "$ref": "./examples/bookmarks/relations/GetAllBookmarkRelations.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets all bookmark relations.", + "operationId": "BookmarkRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/expand": { + "post": { + "x-ms-examples": { + "Expand an bookmark": { + "$ref": "./examples/bookmarks/expand/PostExpandBookmark.json" + } + }, + "description": "Expand an bookmark", + "operationId": "Bookmark_Expand", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/BookmarkExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BookmarkExpandResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "tags": [ + "Bookmark" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/GetBookmarkRelationByName.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Gets a bookmark relation.", + "operationId": "BookmarkRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark relation.": { + "$ref": "./examples/bookmarks/relations/CreateBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Creates the bookmark relation.", + "operationId": "BookmarkRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the bookmark relation.": { + "$ref": "./examples/bookmarks/relations/DeleteBookmarkRelation.json" + } + }, + "tags": [ + "BookmarkRelations" + ], + "description": "Delete the bookmark relation.", + "operationId": "BookmarkRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/BookmarkExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "Bookmark": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a bookmark in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "BookmarkExpandParameters": { + "description": "The parameters required to execute an expand operation on the given bookmark.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "BookmarkExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + }, + "edges": { + "description": "Array of expansion result connected entities", + "items": { + "$ref": "#/definitions/ConnectedEntity" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "BookmarkList": { + "description": "List all the bookmarks.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of bookmarks.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of bookmarks.", + "items": { + "$ref": "#/definitions/Bookmark" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "BookmarkProperties": { + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "eventTime": { + "description": "The bookmark event time", + "format": "date-time", + "type": "string" + }, + "queryStartTime": { + "description": "The start time for the query", + "format": "date-time", + "type": "string" + }, + "queryEndTime": { + "description": "The end time for the query", + "format": "date-time", + "type": "string" + }, + "incidentInfo": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappingsList", + "description": "Describes the entity mappings of the bookmark", + "type": "object" + }, + "tactics": { + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "description": "A list of relevant mitre attacks", + "type": "array" + }, + "techniques": { + "items": { + "$ref": "#/definitions/AttackTechnique" + }, + "description": "A list of relevant mitre techniques", + "type": "array" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "ConnectedEntity": { + "description": "Expansion result connected entities", + "properties": { + "targetEntityId": { + "description": "Entity Id of the connected entity", + "type": "string" + }, + "additionalData": { + "description": "key-value pairs for a connected entity mapping", + "type": "object" + } + }, + "type": "object" + }, + "EntityMappingsList": { + "description": "Describes the entity mappings of the bookmark", + "items": { + "$ref": "#/definitions/BookmarkEntityMappings" + }, + "x-ms-identifiers": [], + "type": "array" + }, + "BookmarkEntityMappings": { + "description": "Describes the entity mappings of a single entity", + "properties": { + "entityType": { + "description": "The entity type", + "type": "string" + }, + "fieldMappings": { + "description": "Array of fields mapping for that entity type", + "items": { + "$ref": "#/definitions/EntityFieldMapping" + }, + "x-ms-identifiers": [], + "type": "array" + } + }, + "type": "object" + }, + "EntityFieldMapping": { + "description": "Map identifiers of a single entity", + "properties": { + "identifier": { + "description": "Alert V3 identifier", + "type": "string" + }, + "value": { + "description": "The value of the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AttackTechnique": { + "description": "Mitre technique (https://attack.mitre.org/matrices/enterprise/)", + "type": "string" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Enrichment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Enrichment.json new file mode 100644 index 000000000000..36df56b9ba7f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Enrichment.json @@ -0,0 +1,381 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-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.SecurityInsights/enrichment/ip/geodata/": { + "get": { + "x-ms-examples": { + "Get geodata for a single IP address": { + "$ref": "./examples/enrichment/GetGeodataByIp.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get geodata for a single IP address", + "operationId": "IPGeodata_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnrichmentIpAddress" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentIpGeodata" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this ip.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SecurityInsights/enrichment/domain/whois/": { + "get": { + "x-ms-examples": { + "Get whois information for a single domain name": { + "$ref": "./examples/enrichment/GetWhoisByDomainName.json" + } + }, + "tags": [ + "Enrichment" + ], + "description": "Get whois information for a single domain name", + "operationId": "DomainWhois_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/EnrichmentDomain" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EnrichmentDomainWhois" + } + }, + "default": { + "description": "Error response describing why the operation failed to enrich this domain.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EnrichmentIpAddress": { + "description": "IP address (v4 or v6) to be enriched", + "in": "query", + "name": "ipAddress", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EnrichmentDomain": { + "description": "Domain name to be enriched", + "in": "query", + "name": "domain", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "EnrichmentDomainWhois": { + "description": "Whois information for a given domain and associated metadata", + "properties": { + "domain": { + "description": "The domain for this whois record", + "type": "string" + }, + "server": { + "description": "The hostname of this registrar's whois server", + "type": "string" + }, + "created": { + "description": "The timestamp at which this record was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The timestamp at which this record was last updated", + "format": "date-time", + "type": "string" + }, + "expires": { + "description": "The timestamp at which this record will expire", + "format": "date-time", + "type": "string" + }, + "parsedWhois": { + "description": "The whois record for a given domain", + "$ref": "#/definitions/EnrichmentDomainWhoisDetails" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisDetails": { + "description": "The whois record for a given domain", + "properties": { + "registrar": { + "description": "The registrar associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisRegistrarDetails" + }, + "contacts": { + "description": "The set of contacts associated with this domain", + "$ref": "#/definitions/EnrichmentDomainWhoisContacts" + }, + "nameServers": { + "description": "A list of name servers associated with this domain", + "type": "array", + "items": { + "type": "string" + } + }, + "statuses": { + "description": "The set of status flags for this whois record", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisRegistrarDetails": { + "description": "The registrar associated with this domain", + "properties": { + "name": { + "description": "The name of this registrar", + "type": "string" + }, + "abuseContactEmail": { + "description": "This registrar's abuse contact email", + "type": "string" + }, + "abuseContactPhone": { + "description": "This registrar's abuse contact phone number", + "type": "string" + }, + "ianaId": { + "description": "This registrar's Internet Assigned Numbers Authority id", + "type": "string" + }, + "url": { + "description": "This registrar's URL", + "type": "string" + }, + "whoisServer": { + "description": "The hostname of this registrar's whois server", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContacts": { + "description": "The set of contacts associated with this domain", + "properties": { + "admin": { + "description": "The admin contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "billing": { + "description": "The billing contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "registrant": { + "description": "The registrant contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + }, + "tech": { + "description": "The technical contact for this whois record", + "$ref": "#/definitions/EnrichmentDomainWhoisContact" + } + }, + "type": "object" + }, + "EnrichmentDomainWhoisContact": { + "description": "An individual contact associated with this domain", + "properties": { + "name": { + "description": "The name of this contact", + "type": "string" + }, + "org": { + "description": "The organization for this contact", + "type": "string" + }, + "street": { + "description": "A list describing the street address for this contact", + "type": "array", + "items": { + "type": "string" + } + }, + "city": { + "description": "The city for this contact", + "type": "string" + }, + "state": { + "description": "The state for this contact", + "type": "string" + }, + "postal": { + "description": "The postal code for this contact", + "type": "string" + }, + "country": { + "description": "The country for this contact", + "type": "string" + }, + "phone": { + "description": "The phone number for this contact", + "type": "string" + }, + "fax": { + "description": "The fax number for this contact", + "type": "string" + }, + "email": { + "description": "The email address for this contact", + "type": "string" + } + }, + "type": "object" + }, + "EnrichmentIpGeodata": { + "description": "Geodata information for a given IP address", + "properties": { + "asn": { + "description": "The autonomous system number associated with this IP address", + "type": "string" + }, + "carrier": { + "description": "The name of the carrier for this IP address", + "type": "string" + }, + "city": { + "description": "The city this IP address is located in", + "type": "string" + }, + "cityCf": { + "description": "A numeric rating of confidence that the value in the 'city' field is correct, on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "continent": { + "description": "The continent this IP address is located on", + "type": "string" + }, + "country": { + "description": "The county this IP address is located in", + "type": "string" + }, + "countryCf": { + "description": "A numeric rating of confidence that the value in the 'country' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "ipAddr": { + "description": "The dotted-decimal or colon-separated string representation of the IP address", + "type": "string" + }, + "ipRoutingType": { + "description": "A description of the connection type of this IP address", + "type": "string" + }, + "latitude": { + "description": "The latitude of this IP address", + "type": "string" + }, + "longitude": { + "description": "The longitude of this IP address", + "type": "string" + }, + "organization": { + "description": "The name of the organization for this IP address", + "type": "string" + }, + "organizationType": { + "description": "The type of the organization for this IP address", + "type": "string" + }, + "region": { + "description": "The geographic region this IP address is located in", + "type": "string" + }, + "state": { + "description": "The state this IP address is located in", + "type": "string" + }, + "stateCf": { + "description": "A numeric rating of confidence that the value in the 'state' field is correct on a scale of 0-100", + "type": "integer", + "format": "int32" + }, + "stateCode": { + "description": "The abbreviated name for the state this IP address is located in", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Entities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Entities.json new file mode 100644 index 000000000000..b128fbbb432a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Entities.json @@ -0,0 +1,1368 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities": { + "get": { + "x-ms-examples": { + "Get all entities.": { + "$ref": "./examples/entities/GetEntities.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets all entities.", + "operationId": "Entities_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}": { + "get": { + "x-ms-examples": { + "Get an account entity.": { + "$ref": "./examples/entities/GetAccountEntityById.json" + }, + "Get a host entity.": { + "$ref": "./examples/entities/GetHostEntityById.json" + }, + "Get a file entity.": { + "$ref": "./examples/entities/GetFileEntityById.json" + }, + "Get a security alert entity.": { + "$ref": "./examples/entities/GetSecurityAlertEntityById.json" + }, + "Get a file hash entity.": { + "$ref": "./examples/entities/GetFileHashEntityById.json" + }, + "Get a malware entity.": { + "$ref": "./examples/entities/GetMalwareEntityById.json" + }, + "Get a security group entity.": { + "$ref": "./examples/entities/GetSecurityGroupEntityById.json" + }, + "Get an azure resource entity.": { + "$ref": "./examples/entities/GetAzureResourceEntityById.json" + }, + "Get a cloud application entity.": { + "$ref": "./examples/entities/GetCloudApplicationEntityById.json" + }, + "Get a process entity.": { + "$ref": "./examples/entities/GetProcessEntityById.json" + }, + "Get a dns entity.": { + "$ref": "./examples/entities/GetDnsEntityById.json" + }, + "Get an ip entity.": { + "$ref": "./examples/entities/GetIpEntityById.json" + }, + "Get a registry key entity.": { + "$ref": "./examples/entities/GetRegistryKeyEntityById.json" + }, + "Get a registry value entity.": { + "$ref": "./examples/entities/GetRegistryValueEntityById.json" + }, + "Get a url entity.": { + "$ref": "./examples/entities/GetUrlEntityById.json" + }, + "Get an IoT device entity.": { + "$ref": "./examples/entities/GetIoTDeviceEntityById.json" + }, + "Get a mailCluster entity.": { + "$ref": "./examples/entities/GetMailClusterEntityById.json" + }, + "Get a mailbox entity.": { + "$ref": "./examples/entities/GetMailboxEntityById.json" + }, + "Get a mailMessage entity.": { + "$ref": "./examples/entities/GetMailMessageEntityById.json" + }, + "Get a submissionMail entity.": { + "$ref": "./examples/entities/GetSubmissionMailEntityById.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Gets an entity.", + "operationId": "Entities_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand": { + "post": { + "x-ms-examples": { + "Expand an entity": { + "$ref": "./examples/entities/expand/PostExpandEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Expands an entity.", + "operationId": "Entities_Expand", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityExpandRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityExpandResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getTimeline": { + "post": { + "x-ms-examples": { + "Entity timeline": { + "$ref": "./examples/entities/timeline/PostTimelineEntity.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Timeline for an entity.", + "operationId": "EntitiesGetTimeline_list", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityTimelineRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityTimelineResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/queries": { + "get": { + "x-ms-examples": { + "Get Entity Query": { + "$ref": "./examples/entities/GetQueries.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Get Insights and Activities for an entity.", + "operationId": "Entities_Queries", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/EntityQueryKindParam" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetQueriesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/getInsights": { + "post": { + "x-ms-examples": { + "Entity Insight": { + "$ref": "./examples/entities/insights/PostGetInsights.json" + } + }, + "tags": [ + "Entities" + ], + "description": "Execute Insights for an entity.", + "operationId": "Entities_GetInsights", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "#/parameters/GetInsightsEntityQueriesRequestBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityGetInsightsResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations": { + "get": { + "x-ms-examples": { + "Get all relations of an entity.": { + "$ref": "./examples/entities/relations/GetAllEntityRelations.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets all relations of an entity.", + "operationId": "EntitiesRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an entity relation.": { + "$ref": "./examples/entities/relations/GetEntityRelationByName.json" + } + }, + "tags": [ + "EntityRelations" + ], + "description": "Gets an entity relation.", + "operationId": "EntityRelations_GetRelation", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "EntityExpandRequestBody": { + "description": "The parameters required to execute an expand operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityExpandParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityId": { + "description": "entity ID", + "in": "path", + "name": "entityId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityTimelineRequestBody": { + "description": "The parameters required to execute an timeline operation on the given entity.", + "in": "body", + "name": "parameters", + "required": true, + "schema": { + "$ref": "#/definitions/EntityTimelineParameters" + }, + "x-ms-parameter-location": "method" + }, + "EntityQueryKindParam": { + "description": "The Kind parameter for queries", + "in": "query", + "name": "kind", + "required": true, + "type": "string", + "enum": [ + "Insight" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "EntityItemQueryKind", + "values": [ + { + "description": "insight", + "value": "Insight" + } + ] + }, + "x-ms-parameter-location": "method" + }, + "GetInsightsEntityQueriesRequestBody": { + "description": "The parameters required to execute insights on the given entity.", + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EntityGetInsightsParameters" + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "EntityGetInsightsParameters": { + "description": "The parameters required to execute insights operation on the given entity.", + "type": "object", + "properties": { + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "addDefaultExtendedTimeRange": { + "description": "Indicates if query time range should be extended with default time range of the query. Default value is false", + "type": "boolean" + }, + "insightQueryIds": { + "description": "List of Insights Query Id. If empty, default value is all insights of this entity", + "type": "array", + "items": { + "description": "Insight Query Id (GUID)", + "format": "uuid", + "type": "string" + } + } + }, + "required": [ + "startTime", + "endTime" + ] + }, + "EntityGetInsightsResponse": { + "description": "The Get Insights result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/GetInsightsResultsMetadata", + "description": "The metadata from the get insights operation results." + }, + "value": { + "description": "The insights result values.", + "items": { + "$ref": "#/definitions/EntityInsightItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "EntityEdges": { + "description": "The edge that connects the entity to the other entity.", + "properties": { + "targetEntityId": { + "description": "The target entity Id.", + "type": "string" + }, + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "type": "object" + } + }, + "type": "object" + }, + "EntityExpandParameters": { + "description": "The parameters required to execute an expand operation on the given entity.", + "properties": { + "endTime": { + "description": "The end date filter, so the only expansion results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "expansionId": { + "description": "The Id of the expansion to perform.", + "format": "uuid", + "type": "string" + }, + "startTime": { + "description": "The start date filter, so the only expansion results returned are after this date.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "EntityExpandResponse": { + "description": "The entity expansion result operation response.", + "properties": { + "metaData": { + "$ref": "./common/EntityTypes.json#/definitions/ExpansionResultsMetadata", + "description": "The metadata from the expansion operation results." + }, + "value": { + "description": "The expansion result values.", + "properties": { + "entities": { + "description": "Array of the expansion result entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + }, + "edges": { + "description": "Array of edges that connects the entity to the list of entities.", + "items": { + "$ref": "#/definitions/EntityEdges" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "EntityInsightItem": { + "description": "Entity insight Item.", + "type": "object", + "properties": { + "queryId": { + "type": "string", + "description": "The query id of the insight" + }, + "queryTimeInterval": { + "type": "object", + "description": "The Time interval that the query actually executed on.", + "properties": { + "startTime": { + "format": "date-time", + "type": "string", + "description": "Insight query start time" + }, + "endTime": { + "format": "date-time", + "type": "string", + "description": "Insight query end time" + } + } + }, + "tableQueryResults": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + }, + "chartQueryResults": { + "type": "array", + "description": "Query results for table insights query.", + "items": { + "$ref": "#/definitions/InsightsTableResult", + "description": "Query results for table insights query." + } + } + } + }, + "EntityList": { + "description": "List of all the entities.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entities.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entities.", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "EntityTimelineResponse": { + "description": "The entity timeline result operation response.", + "properties": { + "metaData": { + "$ref": "#/definitions/TimelineResultsMetadata", + "description": "The metadata from the timeline operation results." + }, + "value": { + "description": "The timeline result values.", + "items": { + "$ref": "#/definitions/EntityTimelineItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + } + ] + } + }, + "EntityTimelineParameters": { + "description": "The parameters required to execute s timeline operation on the given entity.", + "properties": { + "kinds": { + "description": "Array of timeline Item kinds.", + "items": { + "$ref": "#/definitions/EntityTimelineKind" + }, + "type": "array" + }, + "startTime": { + "description": "The start timeline date, so the results returned are after this date.", + "format": "date-time", + "type": "string" + }, + "endTime": { + "description": "The end timeline date, so the results returned are before this date.", + "format": "date-time", + "type": "string" + }, + "numberOfBucket": { + "description": "The number of bucket for timeline queries aggregation.", + "type": "integer", + "format": "int32" + } + }, + "type": "object", + "required": [ + "startTime", + "endTime" + ] + }, + "EntityQueryItem": { + "description": "An abstract Query item for entity", + "type": "object", + "discriminator": "kind", + "properties": { + "id": { + "description": "Query Template ARM ID", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Query Template ARM Name", + "type": "string" + }, + "type": { + "description": "ARM Type", + "type": "string" + }, + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "type": "string", + "description": "The kind of the entity query" + } + }, + "required": [ + "kind" + ] + }, + "EntityQueryItemProperties": { + "description": "An properties abstract Query item for entity", + "type": "object", + "properties": { + "dataTypes": { + "description": "Data types for template", + "type": "array", + "items": { + "properties": { + "dataType": { + "description": "Data type name", + "type": "string" + } + }, + "type": "object" + } + }, + "inputEntityType": { + "description": "The type of the entity", + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType" + }, + "requiredInputFieldsSets": { + "description": "Data types for template", + "type": "array", + "items": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object" + } + } + }, + "InsightsTableResult": { + "type": "object", + "description": "Query results for table insights query.", + "properties": { + "columns": { + "type": "array", + "description": "Columns Metadata of the table", + "items": { + "properties": { + "type": { + "type": "string", + "description": "the type of the colum" + }, + "name": { + "type": "string", + "description": "the name of the colum" + } + }, + "type": "object" + } + }, + "rows": { + "type": "array", + "description": "Rows data of the table", + "items": { + "type": "array", + "description": "Single row of data", + "items": { + "type": "string", + "description": "Cell in the table" + } + } + } + } + }, + "InsightQueryItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItem" + } + ], + "description": "Represents Insight Query.", + "properties": { + "properties": { + "description": "Properties bag for InsightQueryItem", + "$ref": "#/definitions/InsightQueryItemProperties" + } + }, + "type": "object", + "x-ms-discriminator-value": "Insight" + }, + "InsightQueryItemProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityQueryItemProperties" + } + ], + "description": "Represents Insight Query.", + "properties": { + "displayName": { + "type": "string", + "description": "The insight display name." + }, + "description": { + "type": "string", + "description": "The insight description." + }, + "baseQuery": { + "type": "string", + "description": "The base query of the insight." + }, + "tableQuery": { + "type": "object", + "description": "The insight table query.", + "properties": { + "columnsDefinitions": { + "type": "array", + "description": "List of insight column definitions.", + "items": { + "properties": { + "header": { + "type": "string", + "description": "Insight column header." + }, + "outputType": { + "type": "string", + "description": "Insights Column type.", + "enum": [ + "Number", + "String", + "Date", + "Entity" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "outputType" + } + }, + "supportDeepLink": { + "type": "boolean", + "description": "Is query supports deep-link." + } + }, + "type": "object" + } + }, + "queriesDefinitions": { + "type": "array", + "description": "List of insight queries definitions.", + "items": { + "properties": { + "filter": { + "type": "string", + "description": "Insight column header." + }, + "summarize": { + "type": "string", + "description": "Insight column header." + }, + "project": { + "type": "string", + "description": "Insight column header." + }, + "linkColumnsDefinitions": { + "type": "array", + "description": "Insight column header.", + "items": { + "properties": { + "projectedName": { + "type": "string", + "description": "Insight Link Definition Projected Name." + }, + "Query": { + "type": "string", + "description": "Insight Link Definition Query." + } + }, + "type": "object" + } + } + }, + "type": "object" + } + } + } + }, + "chartQuery": { + "type": "object", + "description": "The insight chart query." + }, + "additionalQuery": { + "type": "object", + "description": "The activity query definitions.", + "properties": { + "query": { + "type": "string", + "description": "The insight query." + }, + "text": { + "type": "string", + "description": "The insight text." + } + } + }, + "defaultTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "The padding for the start time of the query." + }, + "afterRange": { + "type": "string", + "description": "The padding for the end time of the query." + } + } + }, + "referenceTimeRange": { + "type": "object", + "description": "The insight chart query.", + "properties": { + "beforeRange": { + "type": "string", + "description": "Additional query time for looking back." + } + } + } + }, + "type": "object" + }, + "GetInsightsResultsMetadata": { + "description": "Get Insights result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the insights request", + "type": "integer", + "format": "int32" + }, + "errors": { + "description": "information about the failed queries", + "items": { + "$ref": "#/definitions/GetInsightsError" + }, + "type": "array" + } + }, + "required": [ + "totalCount" + ], + "type": "object" + }, + "GetInsightsError": { + "description": "GetInsights Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "type": "string", + "enum": [ + "Insight" + ] + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "GetQueriesResponse": { + "description": "Retrieve queries for entity result operation response.", + "properties": { + "value": { + "description": "The query result values.", + "items": { + "$ref": "#/definitions/EntityQueryItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "description": { + "type": "string", + "description": "The alert description." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + } + }, + "required": [ + "azureResourceId", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "TimelineError": { + "description": "Timeline Query Errors.", + "properties": { + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + }, + "queryId": { + "description": "the query id", + "type": "string" + }, + "errorMessage": { + "description": "the error message", + "type": "string" + } + }, + "required": [ + "kind", + "errorMessage" + ], + "type": "object" + }, + "TimelineResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "totalCount": { + "description": "the total items found for the timeline request", + "type": "integer", + "format": "int32" + }, + "aggregations": { + "description": "timeline aggregation per kind", + "items": { + "$ref": "#/definitions/TimelineAggregation" + }, + "type": "array" + }, + "errors": { + "description": "information about the failure queries", + "items": { + "$ref": "#/definitions/TimelineError" + }, + "type": "array" + } + }, + "required": [ + "totalCount", + "aggregations" + ], + "type": "object" + }, + "TimelineAggregation": { + "description": "timeline aggregation information per kind", + "properties": { + "count": { + "description": "the total items found for a kind", + "type": "integer", + "format": "int32" + }, + "kind": { + "description": "the query kind", + "$ref": "#/definitions/EntityTimelineKind" + } + }, + "required": [ + "kind", + "count" + ], + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueries.json new file mode 100644 index 000000000000..d9475ba8dc3b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueries.json @@ -0,0 +1,507 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries": { + "get": { + "x-ms-examples": { + "Get all entity queries.": { + "$ref": "./examples/entityQueries/GetEntityQueries.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity queries.", + "operationId": "EntityQueries_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryKind" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueries/{entityQueryId}": { + "get": { + "x-ms-examples": { + "Get an Expansion entity query.": { + "$ref": "./examples/entityQueries/GetExpansionEntityQueryById.json" + }, + "Get an Activity entity query.": { + "$ref": "./examples/entityQueries/GetActivityEntityQueryById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueries_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Activity entity query.": { + "$ref": "./examples/entityQueries/CreateEntityQueryActivity.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Creates or updates the entity query.", + "operationId": "EntityQueries_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + }, + { + "$ref": "#/parameters/CustomEntityQuery" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EntityQuery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an entity query.": { + "$ref": "./examples/entityQueries/DeleteEntityQuery.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Delete the entity query.", + "operationId": "EntityQueries_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CustomEntityQueryKind": { + "description": "The kind of the entity query that supports put request.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "CustomEntityQueryKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryList": { + "description": "List of all the entity queries.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity queries.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity queries.", + "items": { + "$ref": "#/definitions/EntityQuery" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "CustomEntityQuery": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Specific entity query that supports put requests.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/CustomEntityQueryKind", + "description": "the entity query kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ExpansionEntityQuery": { + "description": "Represents Expansion entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExpansionEntityQueriesProperties", + "description": "Expansion entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Expansion" + }, + "ExpansionEntityQueriesProperties": { + "description": "Describes expansion entity query properties", + "properties": { + "dataSources": { + "description": "List of the data sources that are required to run the query", + "items": { + "description": "data source", + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "The query display name", + "type": "string" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "inputFields": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "input field", + "type": "string" + }, + "type": "array" + }, + "outputEntityTypes": { + "description": "List of the desired output types to be constructed from the result", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "output entity type" + }, + "type": "array" + }, + "queryTemplate": { + "description": "The template query string to be parsed and formatted", + "type": "string" + } + }, + "type": "object" + }, + "ActivityEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityCustomEntityQuery": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/CustomEntityQuery" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueriesProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueriesProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + } + }, + "type": "object" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + }, + "templateName": { + "description": "The template id this activity was created from", + "type": "string" + }, + "enabled": { + "description": "Determines whether this activity is enabled or disabled.", + "type": "boolean" + }, + "createdTimeUtc": { + "description": "The time the activity was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the activity was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryId": { + "description": "entity query ID", + "in": "path", + "name": "entityQueryId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryKind": { + "description": "The entity query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Expansion", + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomEntityQuery": { + "description": "The entity query we want to create or update", + "in": "body", + "name": "entityQuery", + "required": true, + "schema": { + "$ref": "#/definitions/CustomEntityQuery" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueryTemplates.json new file mode 100644 index 000000000000..9596a5cde002 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueryTemplates.json @@ -0,0 +1,304 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates": { + "get": { + "x-ms-examples": { + "Get all entity query templates.": { + "$ref": "./examples/entityQueryTemplates/GetEntityQueryTemplates.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets all entity query templates.", + "operationId": "EntityQueryTemplates_List", + "parameters": [ + { + "$ref": "#/parameters/EntityQueryTemplateKind" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryTemplateList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entityQueryTemplates/{entityQueryTemplateId}": { + "get": { + "x-ms-examples": { + "Get an Activity entity query template.": { + "$ref": "./examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json" + } + }, + "tags": [ + "EntityQueries" + ], + "description": "Gets an entity query.", + "operationId": "EntityQueryTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/EntityQueryTemplateId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityQueryTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "EntityQueryTemplateKind": { + "description": "The kind of the entity query template.", + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryTemplateKind", + "values": [ + { + "value": "Activity" + } + ] + } + }, + "EntityQueryTemplateList": { + "description": "List of all the entity query templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of entity query templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of entity query templates.", + "items": { + "$ref": "#/definitions/EntityQueryTemplate" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "EntityQueryTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Specific entity query template.", + "discriminator": "kind", + "properties": { + "kind": { + "$ref": "#/definitions/EntityQueryTemplateKind", + "description": "the entity query template kind" + } + }, + "type": "object", + "required": [ + "kind" + ] + }, + "ActivityEntityQueryTemplate": { + "description": "Represents Activity entity query.", + "allOf": [ + { + "$ref": "#/definitions/EntityQueryTemplate" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ActivityEntityQueryTemplateProperties", + "description": "Activity entity query properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "ActivityEntityQueryTemplateProperties": { + "description": "Describes activity entity query properties", + "properties": { + "title": { + "description": "The entity query title", + "type": "string" + }, + "content": { + "description": "The entity query content to display in timeline", + "type": "string" + }, + "description": { + "description": "The entity query description", + "type": "string" + }, + "queryDefinitions": { + "description": "The Activity query definitions", + "properties": { + "query": { + "description": "The Activity query to run on a given entity", + "type": "string" + }, + "summarizeBy": { + "description": "The dimensions we want to summarize the timeline results on, this is comma separated list", + "type": "string" + } + }, + "type": "object" + }, + "dataTypes": { + "description": "List of required data types for the given entity query template", + "items": { + "$ref": "#/definitions/DataTypeDefinitions" + }, + "type": "array" + }, + "inputEntityType": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerType", + "description": "The type of the query's source entity" + }, + "requiredInputFieldsSets": { + "description": "List of the fields of the source entity that are required to run the query", + "items": { + "description": "Sub sets of the field of the source entity that are required to run the query", + "items": { + "description": "Required input field name", + "type": "string" + }, + "type": "array" + }, + "type": "array" + }, + "entitiesFilter": { + "description": "The query applied only to entities matching to all filters", + "type": "object", + "additionalProperties": { + "description": "Filter field name", + "items": { + "description": "Filter field values", + "type": "string" + }, + "type": "array" + } + } + }, + "type": "object" + }, + "DataTypeDefinitions": { + "description": "The data type definition", + "properties": { + "dataType": { + "description": "The data type name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": { + "EntityQueryTemplateId": { + "description": "entity query template ID", + "in": "path", + "name": "entityQueryTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "EntityQueryTemplateKind": { + "description": "The entity template query kind we want to fetch", + "in": "query", + "name": "kind", + "required": false, + "enum": [ + "Activity" + ], + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Incidents.json new file mode 100644 index 000000000000..a8e717d8e749 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Incidents.json @@ -0,0 +1,1510 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "x-ms-examples": { + "Get all incidents.": { + "$ref": "./examples/incidents/GetIncidents.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "x-ms-examples": { + "Get an incident.": { + "$ref": "./examples/incidents/GetIncidentById.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets an incident.", + "operationId": "Incidents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident.": { + "$ref": "./examples/incidents/CreateIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Creates or updates the incident.", + "operationId": "Incidents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an incident.": { + "$ref": "./examples/incidents/DeleteIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Delete the incident.", + "operationId": "Incidents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/createTeam": { + "post": { + "x-ms-examples": { + "Creates incident teams group.": { + "$ref": "./examples/incidents/CreateTeam.json" + } + }, + "tags": [ + "IncidentTeam" + ], + "description": "Creates a Microsoft team to investigate the incident by sharing information and insights between participants.", + "operationId": "Incidents_CreateTeam", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/TeamProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TeamInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "x-ms-examples": { + "Get all incident alerts.": { + "$ref": "./examples/incidents/GetAllIncidentAlerts.json" + } + }, + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all incident alerts.", + "operationId": "Incidents_ListAlerts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "x-ms-examples": { + "Get all incident bookmarks.": { + "$ref": "./examples/incidents/GetAllIncidentBookmarks.json" + } + }, + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all incident bookmarks.", + "operationId": "Incidents_ListBookmarks", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentBookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "x-ms-examples": { + "Get all incident comments.": { + "$ref": "./examples/incidents/comments/GetAllIncidentComments.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets all incident comments.", + "operationId": "IncidentComments_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentCommentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/IncidentComment", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "x-ms-examples": { + "Get an incident comment.": { + "$ref": "./examples/incidents/comments/GetIncidentCommentById.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets an incident comment.", + "operationId": "IncidentComments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident comment.": { + "$ref": "./examples/incidents/comments/CreateIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Creates or updates the incident comment.", + "operationId": "IncidentComments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident comment.": { + "$ref": "./examples/incidents/comments/DeleteIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Delete the incident comment.", + "operationId": "IncidentComments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "x-ms-examples": { + "Gets all incident related entities": { + "$ref": "./examples/incidents/entities/GetAllIncidentEntities.json" + } + }, + "tags": [ + "IncidentEntities" + ], + "description": "Gets all incident related entities.", + "operationId": "Incidents_ListEntities", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentEntitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": { + "get": { + "x-ms-examples": { + "Get all incident relations.": { + "$ref": "./examples/incidents/relations/GetAllIncidentRelations.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets all incident relations.", + "operationId": "IncidentRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "./common/RelationTypes.json#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an incident relation.": { + "$ref": "./examples/incidents/relations/GetIncidentRelationByName.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets an incident relation.", + "operationId": "IncidentRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident relation.": { + "$ref": "./examples/incidents/relations/CreateIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Creates or updates the incident relation.", + "operationId": "IncidentRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./common/RelationTypes.json#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident relation.": { + "$ref": "./examples/incidents/relations/DeleteIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Delete the incident relation.", + "operationId": "IncidentRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "./common/RelationTypes.json#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ActivityTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents Activity timeline item.", + "properties": { + "queryId": { + "type": "string", + "description": "The activity query id." + }, + "bucketStartTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket start time." + }, + "bucketEndTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The grouping bucket end time." + }, + "firstActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the first activity in the grouping bucket." + }, + "lastActivityTimeUTC": { + "format": "date-time", + "type": "string", + "description": "The time of the last activity in the grouping bucket." + }, + "content": { + "type": "string", + "description": "The activity timeline content." + }, + "title": { + "type": "string", + "description": "The activity timeline title." + } + }, + "required": [ + "queryId", + "bucketStartTimeUTC", + "bucketEndTimeUTC", + "firstActivityTimeUTC", + "lastActivityTimeUTC", + "content", + "title" + ], + "type": "object", + "x-ms-discriminator-value": "Activity" + }, + "BookmarkTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents bookmark timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The bookmark azure resource id." + }, + "displayName": { + "type": "string", + "description": "The bookmark display name." + }, + "notes": { + "type": "string", + "description": "The notes of the bookmark" + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The bookmark start time." + }, + "eventTime": { + "format": "date-time", + "type": "string", + "description": "The bookmark event time." + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + } + }, + "required": [ + "azureResourceId" + ], + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "EntityTimelineItem": { + "description": "Entity timeline Item.", + "discriminator": "kind", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/EntityTimelineKind", + "description": "The entity query kind type." + } + }, + "required": [ + "kind" + ] + }, + "EntityTimelineKind": { + "description": "The entity query kind", + "enum": [ + "Activity", + "Bookmark", + "SecurityAlert" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityTimelineKind", + "values": [ + { + "description": "activity", + "value": "Activity" + }, + { + "description": "bookmarks", + "value": "Bookmark" + }, + { + "description": "security alerts", + "value": "SecurityAlert" + } + ] + } + }, + "Incident": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "properties": { + "alertsCount": { + "description": "The number of alerts in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "providerIncidentUrl": { + "description": "The provider incident url to the incident in Microsoft 365 Defender portal", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array" + }, + "techniques": { + "description": "The techniques associated with incident's tactics'", + "items": { + "description": "Attack Technique", + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/SecurityAlert" + } + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/HuntingBookmark" + } + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentComment": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentCommentList": { + "description": "List of incident comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The time the comment was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "author": { + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + }, + "type": "object" + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "properties": { + "count": { + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer", + "format": "int32" + }, + "entityKind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "IncidentList": { + "description": "List all the incidents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "IncidentProperties": { + "description": "Describes incident properties", + "properties": { + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "readOnly": true, + "type": "string" + }, + "incidentNumber": { + "description": "A sequential number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + }, + "type": "array" + }, + "providerName": { + "description": "The name of the source provider that generated the incident", + "type": "string" + }, + "providerIncidentId": { + "description": "The incident ID assigned by the incident provider", + "type": "string" + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "description": "The status of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "teamInformation": { + "$ref": "#/definitions/TeamInformation", + "description": "Describes a team for the incident", + "type": "object" + }, + "title": { + "description": "The title of the incident", + "type": "string" + } + }, + "required": [ + "title", + "severity", + "status" + ], + "type": "object" + }, + "SecurityAlertTimelineItem": { + "allOf": [ + { + "$ref": "#/definitions/EntityTimelineItem" + } + ], + "description": "Represents security alert timeline item.", + "properties": { + "azureResourceId": { + "type": "string", + "description": "The alert azure resource id." + }, + "productName": { + "type": "string", + "description": "The alert product name." + }, + "description": { + "type": "string", + "description": "The alert description." + }, + "displayName": { + "type": "string", + "description": "The alert name." + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The alert severity." + }, + "endTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert end time." + }, + "startTimeUtc": { + "format": "date-time", + "type": "string", + "description": "The alert start time." + }, + "timeGenerated": { + "format": "date-time", + "type": "string", + "description": "The alert generated time." + }, + "alertType": { + "type": "string", + "description": "The name of the alert type." + } + }, + "required": [ + "azureResourceId", + "displayName", + "severity", + "endTimeUtc", + "startTimeUtc", + "timeGenerated", + "alertType" + ], + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "TeamInformation": { + "description": "Describes team information", + "properties": { + "teamId": { + "description": "Team ID", + "readOnly": true, + "type": "string" + }, + "primaryChannelUrl": { + "description": "The primary channel URL of the team", + "readOnly": true, + "type": "string" + }, + "teamCreationTimeUtc": { + "description": "The time the team was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the team", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the team", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TeamProperties": { + "description": "Describes team properties", + "properties": { + "teamName": { + "description": "The name of the team", + "type": "string" + }, + "teamDescription": { + "description": "The description of the team", + "type": "string" + }, + "memberIds": { + "description": "List of member IDs to add to the team", + "items": { + "description": "A single-value attribute that is the unique identifier for the user, assigned by active directory.", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "groupIds": { + "description": "List of group IDs to add their members to the team", + "items": { + "description": "A single-value attribute that is the unique identifier for the group, assigned by active directory.", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "teamName" + ], + "type": "object" + } + }, + "parameters": { + "Incident": { + "description": "The incident", + "in": "body", + "name": "incident", + "required": true, + "schema": { + "$ref": "#/definitions/Incident" + }, + "x-ms-parameter-location": "method" + }, + "IncidentComment": { + "description": "The incident comment", + "in": "body", + "name": "incidentComment", + "required": true, + "schema": { + "$ref": "#/definitions/IncidentComment" + }, + "x-ms-parameter-location": "method" + }, + "IncidentCommentId": { + "description": "Incident comment ID", + "in": "path", + "name": "incidentCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IncidentId": { + "description": "Incident ID", + "in": "path", + "name": "incidentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "TeamProperties": { + "description": "Team properties", + "in": "body", + "name": "teamProperties", + "required": true, + "schema": { + "$ref": "#/definitions/TeamProperties" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Metadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Metadata.json new file mode 100644 index 000000000000..b081269652c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Metadata.json @@ -0,0 +1,899 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata": { + "get": { + "x-ms-examples": { + "Get all metadata.": { + "$ref": "./examples/metadata/GetAllMetadata.json" + }, + "Get all metadata with OData filter/orderby/skip/top": { + "$ref": "./examples/metadata/GetAllMetadataOData.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "List of all metadata", + "operationId": "Metadata_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkip" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/metadata/{metadataName}": { + "get": { + "x-ms-examples": { + "Get single metadata by name": { + "$ref": "./examples/metadata/GetMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Get a Metadata.", + "operationId": "Metadata_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete metadata.": { + "$ref": "./examples/metadata/DeleteMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Delete a Metadata.", + "operationId": "Metadata_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create/update full metadata.": { + "$ref": "./examples/metadata/PutMetadata.json" + }, + "Create/update minimal metadata.": { + "$ref": "./examples/metadata/PutMetadataMinimal.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Create a Metadata.", + "operationId": "Metadata_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/Metadata" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "x-ms-examples": { + "Update metadata.": { + "$ref": "./examples/metadata/PatchMetadata.json" + } + }, + "tags": [ + "Metadata" + ], + "description": "Update an existing Metadata.", + "operationId": "Metadata_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/MetadataName" + }, + { + "$ref": "#/parameters/MetadataPatch" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MetadataModel" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "MetadataList": { + "description": "List of all the metadata.", + "type": "object", + "properties": { + "value": { + "description": "Array of metadata.", + "items": { + "$ref": "#/definitions/MetadataModel" + }, + "type": "array" + }, + "nextLink": { + "description": "URL to fetch the next page of metadata.", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "value" + ] + }, + "MetadataModel": { + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Metadata resource definition.", + "properties": { + "properties": { + "$ref": "#/definitions/metadataProperties", + "description": "Metadata properties", + "x-ms-client-flatten": true + } + } + }, + "metadataPatch": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Metadata patch request body.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/metadataPropertiesPatch", + "description": "Metadata patch request body", + "x-ms-client-flatten": true + } + } + }, + "metadataContentId": { + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Can be optionally set for user created content to define dependencies. If an active content item is made from a template, both will have the same contentId.", + "type": "string" + }, + "metadataParentId": { + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)", + "type": "string" + }, + "metadataVersion": { + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks", + "type": "string" + }, + "metadataKind": { + "type": "string", + "description": "The kind of content the metadata is for.", + "enum": [ + "DataConnector", + "DataType", + "Workbook", + "WorkbookTemplate", + "Playbook", + "PlaybookTemplate", + "AnalyticsRuleTemplate", + "AnalyticsRule", + "HuntingQuery", + "InvestigationQuery", + "Parser", + "Watchlist", + "WatchlistTemplate", + "Solution", + "AzureFunction", + "LogicAppsCustomConnector", + "AutomationRule" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "kind", + "values": [ + { + "value": "DataConnector" + }, + { + "value": "DataType" + }, + { + "value": "Workbook" + }, + { + "value": "WorkbookTemplate" + }, + { + "value": "Playbook" + }, + { + "value": "PlaybookTemplate" + }, + { + "value": "AnalyticsRuleTemplate" + }, + { + "value": "AnalyticsRule" + }, + { + "value": "HuntingQuery" + }, + { + "value": "InvestigationQuery" + }, + { + "value": "Parser" + }, + { + "value": "Watchlist" + }, + { + "value": "WatchlistTemplate" + }, + { + "value": "Solution" + }, + { + "value": "AzureFunction" + }, + { + "value": "LogicAppsCustomConnector" + }, + { + "value": "AutomationRule" + } + ] + } + }, + "metadataSource": { + "description": "The original source of the content item, where it comes from.", + "type": "object", + "required": [ + "kind" + ], + "properties": { + "kind": { + "description": "Source type of the content", + "type": "string", + "enum": [ + "LocalWorkspace", + "Community", + "Solution", + "SourceRepository" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "sourceKind", + "values": [ + { + "value": "LocalWorkspace" + }, + { + "value": "Community" + }, + { + "value": "Solution" + }, + { + "value": "SourceRepository" + } + ] + } + }, + "name": { + "description": "Name of the content source. The repo name, solution name, LA workspace name etc.", + "type": "string" + }, + "sourceId": { + "description": "ID of the content source. The solution ID, workspace ID, etc", + "type": "string" + } + } + }, + "metadataAuthor": { + "type": "object", + "description": "Publisher or creator of the content item.", + "properties": { + "name": { + "description": "Name of the author. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of author contact", + "type": "string" + }, + "link": { + "description": "Link for author/vendor page", + "type": "string" + } + } + }, + "metadataSupport": { + "type": "object", + "description": "Support information for the content item.", + "required": [ + "tier" + ], + "properties": { + "tier": { + "description": "Type of support for content item", + "type": "string", + "enum": [ + "Microsoft", + "Partner", + "Community" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "supportTier", + "values": [ + { + "value": "Microsoft" + }, + { + "value": "Partner" + }, + { + "value": "Community" + } + ] + } + }, + "name": { + "description": "Name of the support contact. Company or person.", + "type": "string" + }, + "email": { + "description": "Email of support contact", + "type": "string" + }, + "link": { + "description": "Link for support help, like to support page to open a ticket etc.", + "type": "string" + } + } + }, + "metadataDependencies": { + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex dependencies.", + "type": "object", + "properties": { + "contentId": { + "description": "Id of the content item we depend on", + "$ref": "#/definitions/metadataContentId" + }, + "kind": { + "description": "Type of the content item we depend on", + "$ref": "#/definitions/metadataKind" + }, + "version": { + "description": "Version of the the content item we depend on. Can be blank, * or missing to indicate any version fulfills the dependency. If version does not match our defined numeric format then an exact match is required.", + "$ref": "#/definitions/metadataVersion" + }, + "name": { + "description": "Name of the content item", + "type": "string" + }, + "operator": { + "description": "Operator used for list of dependencies in criteria array.", + "type": "string", + "enum": [ + "AND", + "OR" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "operator", + "values": [ + { + "value": "AND" + }, + { + "value": "OR" + } + ] + } + }, + "criteria": { + "description": "This is the list of dependencies we must fulfill, according to the AND/OR operator", + "type": "array", + "items": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + } + } + } + }, + "metadataCategories": { + "type": "object", + "description": "ies for the solution content item", + "properties": { + "domains": { + "description": "domain for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "verticals": { + "description": "Industry verticals for the solution content item", + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "str1", + "str2", + "str3" + ] + } + } + }, + "metadataProviders": { + "description": "Providers for the solution content item", + "type": "array", + "example": [ + "str1", + "str2", + "str3" + ], + "items": { + "type": "string" + } + }, + "firstPublishDate": { + "description": "first publish date of solution content item", + "type": "string", + "format": "date" + }, + "lastPublishDate": { + "description": "last publish date of solution content item", + "type": "string", + "format": "date" + }, + "metadataCustomVersion": { + "description": "The custom version of the content. A optional free text", + "type": "string" + }, + "metadataContentSchemaVersion": { + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version", + "type": "string" + }, + "metadataIcon": { + "description": "the icon identifier. this id can later be fetched from the solution template", + "type": "string" + }, + "metadataThreatAnalysisTactics": { + "description": "the tactics the resource covers", + "type": "array", + "example": [ + "reconnaissance", + "exfiltration" + ], + "items": { + "type": "string" + } + }, + "metadataThreatAnalysisTechniques": { + "description": "the techniques the resource covers, these have to be aligned with the tactics being used", + "type": "array", + "example": [ + "T1548", + "T1548.001", + "T1134.003" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImages": { + "description": "preview image file names. These will be taken from the solution artifacts", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataPreviewImagesDark": { + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support", + "type": "array", + "example": [ + "example.png", + "example2.jpeg" + ], + "items": { + "type": "string" + } + }, + "metadataProperties": { + "description": "Metadata property bag.", + "required": [ + "parentId", + "kind" + ], + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + }, + "customVersion": { + "$ref": "#/definitions/metadataCustomVersion", + "description": "The custom version of the content. A optional free text" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataContentSchemaVersion", + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the solution template" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "previewImages": { + "$ref": "#/definitions/metadataPreviewImages", + "description": "preview image file names. These will be taken from the solution artifacts" + }, + "previewImagesDark": { + "$ref": "#/definitions/metadataPreviewImagesDark", + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support" + } + } + }, + "metadataPropertiesPatch": { + "description": "Metadata property bag for patch requests. This is the same as the MetadataProperties, but with nothing required", + "type": "object", + "properties": { + "contentId": { + "$ref": "#/definitions/metadataContentId", + "description": "Static ID for the content. Used to identify dependencies and content from solutions or community. Hard-coded/static for out of the box content and solutions. Dynamic for user-created. This is the resource name" + }, + "parentId": { + "$ref": "#/definitions/metadataParentId", + "description": "Full parent resource ID of the content item the metadata is for. This is the full resource ID including the scope (subscription and resource group)" + }, + "version": { + "$ref": "#/definitions/metadataVersion", + "description": "Version of the content. Default and recommended format is numeric (e.g. 1, 1.0, 1.0.0, 1.0.0.0), following ARM template best practices. Can also be any string, but then we cannot guarantee any version checks" + }, + "kind": { + "$ref": "#/definitions/metadataKind", + "description": "The kind of content the metadata is for." + }, + "source": { + "$ref": "#/definitions/metadataSource", + "description": "Source of the content. This is where/how it was created." + }, + "author": { + "$ref": "#/definitions/metadataAuthor", + "description": "The creator of the content item." + }, + "support": { + "$ref": "#/definitions/metadataSupport", + "description": "Support information for the metadata - type, name, contact information" + }, + "dependencies": { + "$ref": "#/definitions/metadataDependencies", + "description": "Dependencies for the content item, what other content items it requires to work. Can describe more complex dependencies using a recursive/nested structure. For a single dependency an id/kind/version can be supplied or operator/criteria for complex formats." + }, + "categories": { + "$ref": "#/definitions/metadataCategories", + "description": "Categories for the solution content item" + }, + "providers": { + "$ref": "#/definitions/metadataProviders", + "description": "Providers for the solution content item" + }, + "firstPublishDate": { + "$ref": "#/definitions/firstPublishDate", + "description": "first publish date solution content item" + }, + "lastPublishDate": { + "$ref": "#/definitions/lastPublishDate", + "description": "last publish date for the solution content item" + }, + "customVersion": { + "$ref": "#/definitions/metadataCustomVersion", + "description": "The custom version of the content. A optional free text" + }, + "contentSchemaVersion": { + "$ref": "#/definitions/metadataContentSchemaVersion", + "description": "Schema version of the content. Can be used to distinguish between different flow based on the schema version" + }, + "icon": { + "$ref": "#/definitions/metadataIcon", + "description": "the icon identifier. this id can later be fetched from the solution template" + }, + "threatAnalysisTactics": { + "$ref": "#/definitions/metadataThreatAnalysisTactics", + "description": "the tactics the resource covers" + }, + "threatAnalysisTechniques": { + "$ref": "#/definitions/metadataThreatAnalysisTechniques", + "description": "the techniques the resource covers, these have to be aligned with the tactics being used" + }, + "previewImages": { + "$ref": "#/definitions/metadataPreviewImages", + "description": "preview image file names. These will be taken from the solution artifacts" + }, + "previewImagesDark": { + "$ref": "#/definitions/metadataPreviewImagesDark", + "description": "preview image file names. These will be taken from the solution artifacts. used for dark theme support" + } + } + } + }, + "parameters": { + "Metadata": { + "description": "Metadata resource.", + "in": "body", + "name": "metadata", + "required": true, + "schema": { + "$ref": "#/definitions/MetadataModel" + }, + "x-ms-parameter-location": "method" + }, + "MetadataPatch": { + "description": "Partial metadata request.", + "in": "body", + "name": "metadataPatch", + "required": true, + "schema": { + "$ref": "#/definitions/metadataPatch" + }, + "x-ms-parameter-location": "method" + }, + "MetadataName": { + "description": "The Metadata name.", + "in": "path", + "name": "metadataName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OfficeConsents.json new file mode 100644 index 000000000000..a859200bf822 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OfficeConsents.json @@ -0,0 +1,234 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents": { + "get": { + "x-ms-examples": { + "Get all office consents.": { + "$ref": "./examples/officeConsents/GetOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets all office365 consents.", + "operationId": "OfficeConsents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfficeConsentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/officeConsents/{consentId}": { + "get": { + "x-ms-examples": { + "Get an office consent.": { + "$ref": "./examples/officeConsents/GetOfficeConsentsById.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Gets an office365 consent.", + "operationId": "OfficeConsents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ConsentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OfficeConsent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an office consent.": { + "$ref": "./examples/officeConsents/DeleteOfficeConsents.json" + } + }, + "tags": [ + "Office Consents" + ], + "description": "Delete the office365 consent.", + "operationId": "OfficeConsents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ConsentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "ConsentId": { + "description": "consent ID", + "in": "path", + "name": "consentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "OfficeConsent": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Consent for Office365 tenant that already made.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeConsentProperties", + "description": "Office consent properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "OfficeConsentList": { + "description": "List of all the office365 consents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of office consents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of the consents.", + "items": { + "$ref": "#/definitions/OfficeConsent" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "OfficeConsentProperties": { + "description": "Consent property bag.", + "properties": { + "tenantId": { + "description": "The tenantId of the Office365 with the consent.", + "type": "string" + }, + "consentId": { + "description": "Help to easily cascade among the data layers.", + "type": "string" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OnboardingStates.json new file mode 100644 index 000000000000..c327e7487fa2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/OnboardingStates.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}": { + "get": { + "x-ms-examples": { + "Get Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/GetSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Get Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in getting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/CreateSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Create Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in creating the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/DeleteSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Delete Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error in deleting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates": { + "get": { + "x-ms-examples": { + "Get all Sentinel onboarding states": { + "$ref": "./examples/onboardingStates/GetAllSentinelOnboardingStates.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Gets all Sentinel onboarding states", + "operationId": "SentinelOnboardingStates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingStatesList" + } + }, + "default": { + "description": "Error in listing the Sentinel onboarding states", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SentinelOnboardingStateProperties": { + "description": "The Sentinel onboarding state properties", + "type": "object", + "properties": { + "customerManagedKey": { + "description": "Flag that indicates the status of the CMK setting", + "type": "boolean" + } + } + }, + "SentinelOnboardingState": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Sentinel onboarding state", + "properties": { + "properties": { + "$ref": "#/definitions/SentinelOnboardingStateProperties", + "description": "The Sentinel onboarding state object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SentinelOnboardingStatesList": { + "description": "List of the Sentinel onboarding states", + "properties": { + "value": { + "description": "Array of Sentinel onboarding states", + "items": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + } + }, + "parameters": { + "SentinelOnboardingStateName": { + "description": "The Sentinel onboarding state name. Supports - default", + "in": "path", + "name": "sentinelOnboardingStateName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SentinelOnboardingStateParameter": { + "description": "The Sentinel onboarding state parameter", + "in": "body", + "name": "sentinelOnboardingStateParameter", + "required": false, + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Settings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Settings.json new file mode 100644 index 000000000000..3e21350b3246 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Settings.json @@ -0,0 +1,432 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings": { + "get": { + "x-ms-examples": { + "Get all settings.": { + "$ref": "./examples/settings/GetAllSettings.json" + } + }, + "tags": [ + "Settings" + ], + "description": "List of all the settings", + "operationId": "ProductSettings_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SettingList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/settings/{settingsName}": { + "get": { + "x-ms-examples": { + "Get EyesOn settings.": { + "$ref": "./examples/settings/GetEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Gets a setting.", + "operationId": "ProductSettings_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete EyesOn settings.": { + "$ref": "./examples/settings/DeleteEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Delete setting of the product.", + "operationId": "ProductSettings_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update EyesOn settings.": { + "$ref": "./examples/settings/UpdateEyesOnSetting.json" + } + }, + "tags": [ + "Settings" + ], + "description": "Updates setting.", + "operationId": "ProductSettings_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SettingsName" + }, + { + "$ref": "#/parameters/Settings" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Settings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SettingList": { + "description": "List of all the settings.", + "properties": { + "value": { + "description": "Array of settings.", + "items": { + "$ref": "#/definitions/Settings" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Settings": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "The Setting.", + "properties": { + "kind": { + "description": "The kind of the setting", + "enum": [ + "Anomalies", + "EyesOn", + "EntityAnalytics", + "Ueba" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingKind" + } + } + }, + "required": [ + "kind" + ], + "discriminator": "kind", + "type": "object" + }, + "Anomalies": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/AnomaliesSettingsProperties", + "description": "Anomalies properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Anomalies" + }, + "AnomaliesSettingsProperties": { + "description": "Anomalies property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EyesOn": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EyesOnSettingsProperties", + "description": "EyesOn properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EyesOn" + }, + "EyesOnSettingsProperties": { + "description": "EyesOn property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "EntityAnalytics": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/EntityAnalyticsProperties", + "description": "EntityAnalytics properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "EntityAnalytics" + }, + "EntityAnalyticsProperties": { + "description": "EntityAnalytics property bag.", + "properties": { + "isEnabled": { + "description": "Determines whether the setting is enable or disabled.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "Ueba": { + "allOf": [ + { + "$ref": "#/definitions/Settings" + } + ], + "description": "Settings with single toggle.", + "properties": { + "properties": { + "$ref": "#/definitions/UebaProperties", + "description": "Ueba properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ueba" + }, + "UebaProperties": { + "description": "Ueba property bag.", + "properties": { + "dataSources": { + "description": "The relevant data sources that enriched by ueba", + "items": { + "$ref": "#/definitions/UebaDataSources" + }, + "type": "array" + } + }, + "type": "object" + }, + "UebaDataSources": { + "description": "The data source that enriched by ueba.", + "enum": [ + "AuditLogs", + "AzureActivity", + "SecurityEvent", + "SigninLogs" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "UebaDataSources" + } + }, + "Sku": { + "description": "The pricing tier of the solution", + "properties": { + "name": { + "description": "The kind of the tier", + "enum": [ + "PerGB", + "CapacityReservation" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SkuKind" + } + }, + "capacityReservationLevel": { + "description": "The amount of reservation level", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + }, + "parameters": { + "Settings": { + "description": "The setting", + "in": "body", + "name": "settings", + "required": true, + "schema": { + "$ref": "#/definitions/Settings" + }, + "x-ms-parameter-location": "method" + }, + "SettingsName": { + "description": "The setting name. Supports - Anomalies, EyesOn, EntityAnalytics, Ueba", + "in": "path", + "name": "settingsName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/SourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/SourceControls.json new file mode 100644 index 000000000000..54fb934a6a7f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/SourceControls.json @@ -0,0 +1,735 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/listRepositories": { + "post": { + "x-ms-examples": { + "Get repository list.": { + "$ref": "./examples/repositories/GetRepositories.json" + } + }, + "tags": [ + "Repositories" + ], + "description": "Gets a list of repositories metadata.", + "operationId": "SourceControl_listRepositories", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RepoTypeParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RepoList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols": { + "get": { + "x-ms-examples": { + "Get all source controls.": { + "$ref": "./examples/sourcecontrols/GetSourceControls.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets all source controls, without source control items.", + "operationId": "SourceControls_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControlList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/sourcecontrols/{sourceControlId}": { + "get": { + "x-ms-examples": { + "Get a source control.": { + "$ref": "./examples/sourcecontrols/GetSourceControlById.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Gets a source control byt its identifier.", + "operationId": "SourceControls_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a source control.": { + "$ref": "./examples/sourcecontrols/DeleteSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Delete a source control.", + "operationId": "SourceControls_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates a source control.": { + "$ref": "./examples/sourcecontrols/CreateSourceControl.json" + } + }, + "tags": [ + "SourceControls" + ], + "description": "Creates a source control.", + "operationId": "SourceControls_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SourceControlIdParameter" + }, + { + "$ref": "#/parameters/SourceControl" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "RepoList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of repositories.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of repositories.", + "items": { + "$ref": "#/definitions/Repo" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Repo": { + "description": "Represents a repository.", + "properties": { + "url": { + "description": "The url to access the repository.", + "type": "string" + }, + "fullName": { + "description": "The name of the repository.", + "type": "string" + }, + "branches": { + "description": "Array of branches.", + "items": { + "description": "name of branch.", + "type": "string" + }, + "type": "array" + } + }, + "x-ms-azure-resource": false, + "type": "object" + }, + "SourceControlList": { + "description": "List all the source controls.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of source controls.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of source controls.", + "items": { + "$ref": "#/definitions/SourceControl" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "SourceControl": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a SourceControl in Azure Security Insights.", + "properties": { + "properties": { + "description": "source control properties", + "$ref": "#/definitions/SourceControlProperties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SourceControlProperties": { + "description": "Describes source control properties", + "properties": { + "id": { + "description": "The id (a Guid) of the source control", + "type": "string" + }, + "version": { + "$ref": "#/definitions/Version", + "description": "The version number associated with the source control", + "type": "string" + }, + "displayName": { + "description": "The display name of the source control", + "type": "string" + }, + "description": { + "description": "A description of the source control", + "type": "string" + }, + "repoType": { + "$ref": "#/definitions/RepoType", + "description": "The repository type of the source control", + "type": "string" + }, + "contentTypes": { + "description": "Array of source control content types.", + "items": { + "$ref": "#/definitions/ContentType" + }, + "type": "array" + }, + "repository": { + "description": "Repository metadata.", + "$ref": "#/definitions/Repository" + }, + "repositoryResourceInfo": { + "description": "Information regarding the resources created in user's repository.", + "$ref": "#/definitions/RepositoryResourceInfo" + }, + "lastDeploymentInfo": { + "description": "Information regarding the latest deployment for the source control.", + "$ref": "#/definitions/DeploymentInfo" + } + }, + "required": [ + "displayName", + "repoType", + "contentTypes", + "repository" + ], + "type": "object" + }, + "Repository": { + "type": "object", + "description": "metadata of a repository.", + "properties": { + "url": { + "description": "Url of repository.", + "type": "string" + }, + "branch": { + "description": "Branch name of repository.", + "type": "string" + }, + "displayUrl": { + "description": "Display url of repository.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string" + }, + "pathMapping": { + "description": "Dictionary of source control content type and path mapping.", + "items": { + "$ref": "#/definitions/ContentPathMap" + }, + "type": "array", + "x-ms-identifiers": [] + } + } + }, + "RepositoryResourceInfo": { + "type": "object", + "description": "Resources created in user's repository for the source-control.", + "properties": { + "webhook": { + "type": "object", + "description": "The webhook object created for the source-control.", + "$ref": "#/definitions/Webhook" + }, + "gitHubResourceInfo": { + "type": "object", + "description": "Resources created in GitHub for this source-control.", + "$ref": "#/definitions/GitHubResourceInfo" + }, + "azureDevOpsResourceInfo": { + "type": "object", + "description": "Resources created in Azure DevOps for this source-control.", + "$ref": "#/definitions/AzureDevOpsResourceInfo" + } + } + }, + "Webhook": { + "description": "Detail about the webhook object.", + "type": "object", + "properties": { + "webhookId": { + "description": "Unique identifier for the webhook.", + "type": "string" + }, + "webhookUrl": { + "description": "URL that gets invoked by the webhook.", + "type": "string" + }, + "webhookSecretUpdateTime": { + "description": "Time when the webhook secret was updated.", + "type": "string" + }, + "rotateWebhookSecret": { + "description": "A flag to instruct the backend service to rotate webhook secret.", + "type": "boolean" + } + } + }, + "GitHubResourceInfo": { + "description": "Resources created in GitHub repository.", + "type": "object", + "properties": { + "appInstallationId": { + "description": "GitHub application installation id.", + "type": "string" + } + } + }, + "AzureDevOpsResourceInfo": { + "description": "Resources created in Azure DevOps repository.", + "type": "object", + "properties": { + "pipelineId": { + "description": "Id of the pipeline created for the source-control.", + "type": "string" + }, + "serviceConnectionId": { + "description": "Id of the service-connection created for the source-control.", + "type": "string" + } + } + }, + "DeploymentInfo": { + "description": "Information regarding a deployment.", + "type": "object", + "properties": { + "deploymentFetchStatus": { + "$ref": "#/definitions/DeploymentFetchStatus", + "description": "Status while fetching the last deployment.", + "type": "string" + }, + "deployment": { + "$ref": "#/definitions/Deployment", + "description": "Deployment information.", + "type": "object" + }, + "message": { + "description": "Additional details about the deployment that can be shown to the user.", + "type": "string" + } + } + }, + "Deployment": { + "description": "Description about a deployment.", + "type": "object", + "properties": { + "deploymentId": { + "description": "Deployment identifier.", + "type": "string" + }, + "deploymentState": { + "$ref": "#/definitions/DeploymentState", + "description": "Current status of the deployment.", + "type": "string" + }, + "deploymentResult": { + "$ref": "#/definitions/DeploymentResult", + "description": "The outcome of the deployment.", + "type": "string" + }, + "deploymentTime": { + "format": "date-time", + "description": "The time when the deployment finished.", + "type": "string" + }, + "deploymentLogsUrl": { + "description": "Url to access repository action logs.", + "type": "string" + } + } + }, + "ContentPathMap": { + "description": "The mapping of content type to a repo path.", + "properties": { + "contentType": { + "$ref": "#/definitions/ContentType", + "description": "Content type.", + "type": "string" + }, + "path": { + "description": "The path to the content.", + "type": "string" + } + }, + "type": "object" + }, + "ContentType": { + "description": "The content type of a source control path.", + "enum": [ + "AnalyticRule", + "Workbook" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ContentType", + "values": [ + { + "value": "AnalyticRule" + }, + { + "value": "Workbook" + } + ] + } + }, + "RepoType": { + "description": "The type of repository.", + "enum": [ + "Github", + "DevOps" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RepoType", + "values": [ + { + "value": "Github" + }, + { + "value": "DevOps" + } + ] + } + }, + "Version": { + "description": "The version of the source control.", + "enum": [ + "V1", + "V2" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Version", + "values": [ + { + "value": "V1" + }, + { + "value": "V2" + } + ] + } + }, + "DeploymentFetchStatus": { + "description": "Status while trying to fetch the deployment information.", + "enum": [ + "Success", + "Unauthorized", + "NotFound" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentFetchStatus", + "values": [ + { + "value": "Success" + }, + { + "value": "Unauthorized" + }, + { + "value": "NotFound" + } + ] + } + }, + "DeploymentState": { + "description": "The current state of the deployment.", + "enum": [ + "In_Progress", + "Completed", + "Queued", + "Canceling" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentState", + "values": [ + { + "value": "In_Progress" + }, + { + "value": "Completed" + }, + { + "value": "Queued" + }, + { + "value": "Canceling" + } + ] + } + }, + "DeploymentResult": { + "description": "Status while trying to fetch the deployment information.", + "enum": [ + "Success", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DeploymentResult", + "values": [ + { + "value": "Success" + }, + { + "value": "Canceled" + }, + { + "value": "Failed" + } + ] + } + } + }, + "parameters": { + "RepoTypeParameter": { + "description": "The repo type.", + "in": "body", + "name": "repoType", + "required": true, + "schema": { + "$ref": "#/definitions/RepoType" + }, + "x-ms-parameter-location": "method" + }, + "SourceControlIdParameter": { + "description": "Source control Id", + "in": "path", + "name": "sourceControlId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceControl": { + "description": "The SourceControl", + "in": "body", + "name": "sourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/ThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/ThreatIntelligence.json new file mode 100644 index 000000000000..283dc2a103de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/ThreatIntelligence.json @@ -0,0 +1,1097 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a new threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_CreateIndicator", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to create indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence indicators": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get all threat intelligence indicators.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "View a threat intelligence indicator by name": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "View a threat intelligence indicator by name.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to view an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a threat Intelligence indicator": { + "$ref": "./examples/threatintelligence/UpdateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Update a threat Intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to update an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed to delete an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Query threat intelligence indicators as per filtering criteria": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query threat intelligence indicators as per filtering criteria.", + "operationId": "ThreatIntelligenceIndicator_QueryIndicators", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceFilteringCriteria" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).", + "operationId": "ThreatIntelligenceIndicatorMetrics_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricsList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get metrics.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTags" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed to append tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags added to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTags" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to replace tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "parameters": { + "ThreatIntelligenceName": { + "description": "Threat intelligence indicator name field.", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceProperties": { + "description": "Properties of threat intelligence indicators to create and update.", + "in": "body", + "name": "ThreatIntelligenceProperties", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTags": { + "description": "Tags in the threat intelligence indicator to be replaced.", + "in": "body", + "name": "ThreatIntelligenceReplaceTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "in": "body", + "name": "ThreatIntelligenceFilteringCriteria", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceFilteringCriteria" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTags": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTags" + }, + "x-ms-parameter-location": "method" + } + }, + "definitions": { + "ThreatIntelligenceInformationList": { + "description": "List of all the threat intelligence information objects.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of information objects.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of threat intelligence information objects.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceInformation": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Threat intelligence information object.", + "properties": { + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "ThreatIntelligenceIndicatorModel": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + ], + "description": "Threat intelligence indicator entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "indicator" + }, + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceKindEnum", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { + "allOf": [ + { + "$ref": "./common/EntityTypes.json#/definitions/EntityCommonProperties" + } + ], + "description": "Describes threat intelligence entity properties", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", + "type": "string" + }, + "source": { + "description": "Source of a threat intelligence entity", + "type": "string" + }, + "displayName": { + "description": "Display name of a threat intelligence entity", + "type": "string" + }, + "description": { + "description": "Description of a threat intelligence entity", + "type": "string" + }, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", + "type": "string" + }, + "patternType": { + "description": "Pattern type of a threat intelligence entity", + "type": "string" + }, + "patternVersion": { + "description": "Pattern version of a threat intelligence entity", + "type": "string" + }, + "killChainPhases": { + "description": "Kill chain phases", + "items": { + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "parsedPattern": { + "description": "Parsed patterns", + "items": { + "description": "Parsed pattern", + "$ref": "#/definitions/ThreatIntelligenceParsedPattern" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "externalId": { + "description": "External ID of threat intelligence entity", + "type": "string" + }, + "createdByRef": { + "description": "Created by reference of threat intelligence entity", + "type": "string" + }, + "defanged": { + "description": "Is threat intelligence entity defanged", + "type": "boolean" + }, + "externalLastUpdatedTimeUtc": { + "description": "External last updated time in UTC", + "type": "string" + }, + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "$ref": "#/definitions/ThreatIntelligenceExternalReference" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "labels": { + "description": "Labels of threat intelligence entity", + "items": { + "description": "label", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" + }, + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "objectMarkingRefs": { + "description": "Threat intelligence entity object marking references", + "items": { + "description": "Threat intelligence entity object marking reference", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "language": { + "description": "Language of threat intelligence entity", + "type": "string" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" + }, + "extensions": { + "description": "Extensions map", + "type": "object", + "additionalProperties": {} + } + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", + "properties": { + "killChainName": { + "description": "Kill chainName name", + "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPattern": { + "description": "Describes parsed pattern entity", + "properties": { + "patternTypeKey": { + "description": "Pattern type key", + "type": "string" + }, + "patternTypeValues": { + "description": "Pattern type keys", + "items": { + "description": "Pattern type key", + "$ref": "#/definitions/ThreatIntelligenceParsedPatternTypeValue" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPatternTypeValue": { + "description": "Describes threat kill chain phase entity", + "properties": { + "valueType": { + "description": "Type of the value", + "type": "string" + }, + "value": { + "description": "Value of parsed pattern", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", + "properties": { + "language": { + "description": "Language granular marking model", + "type": "string" + }, + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" + }, + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceExternalReference": { + "description": "Describes external reference", + "properties": { + "description": { + "description": "External reference description", + "type": "string" + }, + "externalId": { + "description": "External reference ID", + "type": "string" + }, + "sourceName": { + "description": "External reference source name", + "type": "string" + }, + "url": { + "description": "External reference URL", + "type": "string" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "External reference hashes" + } + }, + "type": "object" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "properties": { + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" + }, + "minConfidence": { + "description": "Minimum confidence.", + "type": "integer", + "format": "int32" + }, + "maxConfidence": { + "description": "Maximum confidence.", + "type": "integer", + "format": "int32" + }, + "minValidUntil": { + "description": "Start time for ValidUntil filter.", + "type": "string" + }, + "maxValidUntil": { + "description": "End time for ValidUntil filter.", + "type": "string" + }, + "includeDisabled": { + "description": "Parameter to include/exclude disabled indicators.", + "type": "boolean" + }, + "sortBy": { + "description": "Columns to sort by and sorting order", + "items": { + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceSortingCriteria" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sources": { + "description": "Sources of threat intelligence indicators", + "items": { + "description": "Source", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "threatTypes": { + "description": "Threat types of threat intelligence indicators", + "items": { + "description": "Threat type of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "ids": { + "description": "Ids of threat intelligence indicators", + "items": { + "description": "Id of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "keywords": { + "description": "Keywords for searching threat intelligence indicators", + "items": { + "description": "keyword for searching threat intelligence indicators", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "skipToken": { + "description": "Skip token.", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingCriteria": { + "description": "List of available columns for sorting", + "properties": { + "itemKey": { + "description": "Column name", + "type": "string" + }, + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceSortingOrder", + "description": "Sorting order (ascending/descending/unsorted)." + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingOrder": { + "description": "Sorting order (ascending/descending/unsorted).", + "enum": [ + "unsorted", + "ascending", + "descending" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceSortingCriteriaEnum", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTags": { + "description": "Array of tags to be appended to the threat intelligence indicator.", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags to be appended.", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricsList": { + "description": "List of all the threat intelligence metric fields (type/threat type/source).", + "properties": { + "value": { + "description": "Array of threat intelligence metric fields (type/threat type/source).", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetrics" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "ThreatIntelligenceMetrics": { + "description": "Threat intelligence metrics.", + "properties": { + "properties": { + "description": "Threat intelligence metrics.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", + "properties": { + "lastUpdatedTimeUtc": { + "description": "Last updated indicator metric", + "type": "string" + }, + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", + "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Watchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Watchlists.json new file mode 100644 index 000000000000..43f2d9e6fffe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/Watchlists.json @@ -0,0 +1,753 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets all watchlists, without watchlist items.", + "operationId": "Watchlists_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}": { + "get": { + "x-ms-examples": { + "Get a watchlist.": { + "$ref": "./examples/watchlists/GetWatchlistByAlias.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Gets a watchlist, without its watchlist items.", + "operationId": "Watchlists_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist.": { + "$ref": "./examples/watchlists/DeleteWatchlist.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Delete a watchlist.", + "operationId": "Watchlists_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Azure-AsyncOperation": { + "description": "Contains the status URL on which clients are expected to poll the status of the delete operation.", + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + }, + "Creates or updates a watchlist and bulk creates watchlist items.": { + "$ref": "./examples/watchlists/CreateWatchlistAndWatchlistItems.json" + }, + "Create or update a watchlist and bulk creates watchlist items from SAL URI.": { + "$ref": "./examples/watchlists/CreateWatchlistAndWatchlistItemsFromSasUri.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its Items, we should call this endpoint with either rawContent or a valid SAR URI and contentType properties. The rawContent is mainly used for small watchlist (content size below 3.8 MB). The SAS URI enables the creation of large watchlist, where the content size can go up to 500 MB. The status of processing such large file can be polled through the URL returned in Azure-AsyncOperation header.", + "operationId": "Watchlists_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/Watchlist" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "201": { + "description": "Created. The response includes the Provisioning State and the Azure-AsyncOperation header. To get the progress of the operation, call GET operation on the URL in Azure-AsyncOperation header field.", + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "headers": { + "Azure-AsyncOperation": { + "description": "Contains the status URL on which clients are expected to poll the status of the operation.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems": { + "get": { + "x-ms-examples": { + "Get all watchlist Items.": { + "$ref": "./examples/watchlists/GetWatchlistItems.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Gets all watchlist Items.", + "operationId": "WatchlistItems_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}": { + "get": { + "x-ms-examples": { + "Get a watchlist item.": { + "$ref": "./examples/watchlists/GetWatchlistItemById.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Gets a watchlist, without its watchlist items.", + "operationId": "WatchlistItems_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist Item.": { + "$ref": "./examples/watchlists/DeleteWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Delete a watchlist item.", + "operationId": "WatchlistItems_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a watchlist item.": { + "$ref": "./examples/watchlists/CreateWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Creates or updates a watchlist item.", + "operationId": "WatchlistItems_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + }, + { + "$ref": "#/parameters/WatchlistItem" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "WatchlistList": { + "description": "List all the watchlists.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Watchlist": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistProperties": { + "description": "Describes watchlist properties", + "properties": { + "watchlistId": { + "description": "The id (a Guid) of the watchlist", + "type": "string" + }, + "displayName": { + "description": "The display name of the watchlist", + "type": "string" + }, + "provider": { + "description": "The provider of the watchlist", + "type": "string" + }, + "source": { + "description": "The filename of the watchlist, called 'source'", + "type": "string" + }, + "sourceType": { + "description": "The sourceType of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "sourceType" + } + }, + "created": { + "description": "The time the watchlist was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "description": { + "description": "A description of the watchlist", + "type": "string" + }, + "watchlistType": { + "description": "The type of the watchlist", + "type": "string" + }, + "watchlistAlias": { + "description": "The alias of the watchlist", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist is deleted or not", + "type": "boolean" + }, + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "tenantId": { + "description": "The tenantId where the watchlist belongs to", + "type": "string" + }, + "numberOfLinesToSkip": { + "description": "The number of lines in a csv/tsv content to skip before the header", + "type": "integer", + "format": "int32" + }, + "rawContent": { + "description": "The raw content that represents to watchlist items to create. In case of csv/tsv content type, it's the content of the file that will parsed by the endpoint", + "type": "string" + }, + "sasUri": { + "x-ms-secret": true, + "description": "The Shared Access Signature (SAS) URI under which the large csv watchlist file is located and from which the watchlist and its items will be created", + "type": "string" + }, + "itemsSearchKey": { + "description": "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.", + "type": "string" + }, + "contentType": { + "description": "The content type of the raw content. Example : text/csv or text/tsv ", + "type": "string" + }, + "uploadStatus": { + "description": "The status of the Watchlist upload : New, InProgress or Complete. Pls note : When a Watchlist upload status is equal to InProgress, the Watchlist cannot be deleted", + "type": "string" + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the watchlist resource." + } + }, + "required": [ + "displayName", + "provider", + "itemsSearchKey" + ], + "type": "object" + }, + "WatchlistItemList": { + "description": "List all the watchlist items.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlist item.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "WatchlistItem": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist item in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist Item properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", + "properties": { + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistItemId": { + "description": "The id (a Guid) of the watchlist item", + "type": "string" + }, + "tenantId": { + "description": "The tenantId to which the watchlist item belongs to", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist item is deleted or not", + "type": "boolean" + }, + "created": { + "description": "The time the watchlist item was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist item was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist item", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist item" + }, + "itemsKeyValue": { + "description": "key-value pairs for a watchlist item", + "type": "object", + "additionalProperties": {} + }, + "entityMapping": { + "description": "key-value pairs for a watchlist item entity mapping", + "type": "object", + "additionalProperties": {} + } + }, + "required": [ + "itemsKeyValue" + ], + "type": "object" + }, + "Label": { + "description": "Label that will be used to tag and filter on.", + "type": "string" + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "InProgress" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "parameters": { + "WatchlistAlias": { + "description": "Watchlist Alias", + "in": "path", + "name": "watchlistAlias", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Watchlist": { + "description": "The watchlist", + "in": "body", + "name": "watchlist", + "required": true, + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItem": { + "description": "The watchlist item", + "in": "body", + "name": "watchlistItem", + "required": true, + "schema": { + "$ref": "#/definitions/WatchlistItem" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItemId": { + "description": "Watchlist Item Id (GUID)", + "in": "path", + "name": "watchlistItemId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/AlertTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/AlertTypes.json new file mode 100644 index 000000000000..f8448ddce386 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/AlertTypes.json @@ -0,0 +1,81 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common Alert types" + }, + "paths": {}, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "definitions": { + "AlertSeverityEnum": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "Reconnaissance", + "ResourceDevelopment", + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "PreAttack", + "ImpairProcessControl", + "InhibitResponseFunction" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/EntityTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/EntityTypes.json new file mode 100644 index 000000000000..2acef5da5739 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/EntityTypes.json @@ -0,0 +1,2405 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common Entity types" + }, + "paths": {}, + "definitions": { + "AccountEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an account entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AccountEntityProperties", + "description": "Account entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Account" + }, + "AccountEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Account entity property bag.", + "properties": { + "aadTenantId": { + "description": "The Azure Active Directory tenant id.", + "readOnly": true, + "type": "string" + }, + "aadUserId": { + "description": "The Azure Active Directory user id.", + "readOnly": true, + "type": "string" + }, + "accountName": { + "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the account.", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this is a domain account.", + "readOnly": true, + "type": "boolean" + }, + "ntDomain": { + "description": "The NetBIOS domain name as it appears in the alert format domain/username. Examples: NT AUTHORITY.", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "puid": { + "description": "The Azure Active Directory Passport User ID.", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The account security identifier, e.g. S-1-5-18.", + "readOnly": true, + "type": "string" + }, + "upnSuffix": { + "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The fully qualified domain DNS name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AzureResourceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an azure resource entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AzureResourceEntityProperties", + "description": "AzureResource entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureResource" + }, + "AzureResourceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "AzureResource entity property bag.", + "properties": { + "resourceId": { + "description": "The azure resource id of the resource", + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "The subscription id of the resource", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudApplicationEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a cloud application entity.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudApplicationEntityProperties", + "description": "CloudApplication entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CloudApplication" + }, + "CloudApplicationEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "CloudApplication entity property bag.", + "properties": { + "appId": { + "description": "The technical identifier of the application.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "appName": { + "description": "The name of the related cloud application.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a dns entity.", + "properties": { + "properties": { + "$ref": "#/definitions/DnsEntityProperties", + "description": "Dns entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "DnsResolution" + }, + "DnsEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Dns entity property bag.", + "properties": { + "dnsServerIpEntityId": { + "description": "An ip entity id for the dns server resolving the request", + "readOnly": true, + "type": "string" + }, + "domainName": { + "description": "The name of the dns record associated with the alert", + "readOnly": true, + "type": "string" + }, + "hostIpAddressEntityId": { + "description": "An ip entity id for the dns request client", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityIds": { + "description": "Ip entity identifiers for the resolved ip address.", + "items": { + "description": "Ip entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "Entity": { + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "description": "Specific entity.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "EntityCommonProperties": { + "description": "Entity common property bag.", + "properties": { + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "readOnly": true, + "type": "object" + }, + "friendlyName": { + "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityInnerKind": { + "description": "The kind of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DnsResolution", + "FileHash", + "Ip", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "Url", + "IoTDevice", + "SecurityAlert", + "Bookmark", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityKind", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns resolution in the system.", + "value": "DnsResolution" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "Ip" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "Url" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents bookmark in the system.", + "value": "Bookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityInnerType": { + "description": "The type of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DNS", + "FileHash", + "IP", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "IoTDevice", + "SecurityAlert", + "HuntingBookmark", + "MailCluster", + "MailMessage", + "Mailbox", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityType", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns in the system.", + "value": "DNS" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "IP" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "URL" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents HuntingBookmark in the system.", + "value": "HuntingBookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityQueryKind": { + "description": "The kind of the entity query", + "enum": [ + "Expansion", + "Insight", + "Activity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityQueryKind", + "values": [ + { + "value": "Expansion" + }, + { + "value": "Insight" + }, + { + "value": "Activity" + } + ] + } + }, + "ExpansionResultAggregation": { + "description": "Information of a specific aggregation in the expansion result.", + "properties": { + "aggregationType": { + "description": "The common type of the aggregation. (for e.g. entity field name)", + "type": "string" + }, + "count": { + "description": "Total number of aggregations of the given kind (and aggregationType if given) in the expansion result.", + "type": "integer", + "format": "int32" + }, + "displayName": { + "description": "The display name of the aggregation by type.", + "type": "string" + }, + "entityKind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "ExpansionResultsMetadata": { + "description": "Expansion result metadata.", + "properties": { + "aggregations": { + "description": "Information of the aggregated nodes in the expansion result.", + "items": { + "$ref": "#/definitions/ExpansionResultAggregation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + }, + { + "description": "Host with Unknown operating system.", + "value": "Unknown" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HuntingBookmark": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a Hunting bookmark entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntingBookmarkProperties", + "description": "HuntingBookmark entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "HuntingBookmarkProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "eventTime": { + "description": "The time of the event", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "IoTDeviceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an IoT device entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IoTDevice" + }, + "IoTDeviceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "IoTDevice entity property bag.", + "properties": { + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "deviceName": { + "description": "The friendly name of the device", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "The source of the device", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "macAddress": { + "description": "The MAC address of the device", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "The model of the device", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "The serial number of the device", + "readOnly": true, + "type": "string" + }, + "firmwareVersion": { + "description": "The firmware version of the device", + "readOnly": true, + "type": "string" + }, + "operatingSystem": { + "description": "The operating system of the device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityId": { + "description": "The IP entity if of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "ThreatIntelligenceTypes.json#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "protocols": { + "description": "A list of protocols of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "IpEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an ip entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ip" + }, + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", + "properties": { + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "readOnly": true, + "type": "string" + }, + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", + "items": { + "$ref": "ThreatIntelligenceTypes.json#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "MailboxEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mailbox entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailboxEntityProperties", + "description": "Mailbox entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Mailbox" + }, + "MailboxEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mailbox entity property bag.", + "properties": { + "mailboxPrimaryAddress": { + "description": "The mailbox's primary address", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The mailbox's display name", + "readOnly": true, + "type": "string" + }, + "upn": { + "description": "The mailbox's UPN", + "readOnly": true, + "type": "string" + }, + "externalDirectoryObjectId": { + "description": "The AzureAD identifier of mailbox. Similar to AadUserId in account entity but this property is specific to mailbox object on office side", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailClusterEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail cluster entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailClusterEntityProperties", + "description": "Mail cluster entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailCluster" + }, + "MailClusterEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail cluster entity property bag.", + "properties": { + "networkMessageIds": { + "description": "The mail message IDs that are part of the mail cluster", + "items": { + "description": "A mail message ID", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "countByDeliveryStatus": { + "description": "Count of mail messages by DeliveryStatus string representation", + "readOnly": true, + "type": "object" + }, + "countByThreatType": { + "description": "Count of mail messages by ThreatType string representation", + "readOnly": true, + "type": "object" + }, + "countByProtectionStatus": { + "description": "Count of mail messages by ProtectionStatus string representation", + "readOnly": true, + "type": "object" + }, + "threats": { + "description": "The threats of mail messages that are part of the mail cluster", + "items": { + "description": "A threat", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "query": { + "description": "The query that was used to identify the messages of the mail cluster", + "readOnly": true, + "type": "string" + }, + "queryTime": { + "description": "The query time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "mailCount": { + "description": "The number of mail messages that are part of the mail cluster", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "isVolumeAnomaly": { + "description": "Is this a volume anomaly mail cluster", + "readOnly": true, + "type": "boolean" + }, + "source": { + "description": "The source of the mail cluster (default is 'O365 ATP')", + "readOnly": true, + "type": "string" + }, + "clusterSourceIdentifier": { + "description": "The id of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterSourceType": { + "description": "The type of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterQueryStartTime": { + "description": "The cluster query start time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterQueryEndTime": { + "description": "The cluster query end time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterGroup": { + "description": "The cluster group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailMessageEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail message entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailMessageEntityProperties", + "description": "Mail message entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailMessage" + }, + "MailMessageEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail message entity property bag.", + "properties": { + "fileEntityIds": { + "description": "The File entity ids of this mail message's attachments", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "recipient": { + "description": "The recipient of this mail message. Note that in case of multiple recipients the mail message is forked and each copy has one recipient", + "readOnly": true, + "type": "string" + }, + "urls": { + "description": "The Urls contained in this mail message", + "items": { + "description": "A Url contained in this mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "threats": { + "description": "The threats of this mail message", + "items": { + "description": "A threat of the mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "p1Sender": { + "description": "The p1 sender's email address", + "readOnly": true, + "type": "string" + }, + "p1SenderDisplayName": { + "description": "The p1 sender's display name", + "readOnly": true, + "type": "string" + }, + "p1SenderDomain": { + "description": "The p1 sender's domain", + "readOnly": true, + "type": "string" + }, + "senderIP": { + "description": "The sender's IP address", + "readOnly": true, + "type": "string" + }, + "p2Sender": { + "description": "The p2 sender's email address", + "readOnly": true, + "type": "string" + }, + "p2SenderDisplayName": { + "description": "The p2 sender's display name", + "readOnly": true, + "type": "string" + }, + "p2SenderDomain": { + "description": "The p2 sender's domain", + "readOnly": true, + "type": "string" + }, + "receiveDate": { + "description": "The receive date of this message", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "networkMessageId": { + "description": "The network message id of this mail message", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "internetMessageId": { + "description": "The internet message id of this mail message", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of this mail message", + "readOnly": true, + "type": "string" + }, + "language": { + "description": "The language of this mail message", + "readOnly": true, + "type": "string" + }, + "threatDetectionMethods": { + "description": "The threat detection methods", + "items": { + "description": "A threat detection method", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "bodyFingerprintBin1": { + "description": "The bodyFingerprintBin1", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin2": { + "description": "The bodyFingerprintBin2", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin3": { + "description": "The bodyFingerprintBin3", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin4": { + "description": "The bodyFingerprintBin4", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin5": { + "description": "The bodyFingerprintBin5", + "type": "integer", + "format": "int32" + }, + "antispamDirection": { + "description": "The directionality of this mail message", + "enum": [ + "Unknown", + "Inbound", + "Outbound", + "Intraorg" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AntispamMailDirection", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbound", + "value": "Inbound" + }, + { + "description": "Outbound", + "value": "Outbound" + }, + { + "description": "Intraorg", + "value": "Intraorg" + } + ] + } + }, + "deliveryAction": { + "description": "The delivery action of this mail message like Delivered, Blocked, Replaced etc", + "enum": [ + "Unknown", + "DeliveredAsSpam", + "Delivered", + "Blocked", + "Replaced" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryAction", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "DeliveredAsSpam", + "value": "DeliveredAsSpam" + }, + { + "description": "Delivered", + "value": "Delivered" + }, + { + "description": "Blocked", + "value": "Blocked" + }, + { + "description": "Replaced", + "value": "Replaced" + } + ] + } + }, + "deliveryLocation": { + "description": "The delivery location of this mail message like Inbox, JunkFolder etc", + "enum": [ + "Unknown", + "Inbox", + "JunkFolder", + "DeletedFolder", + "Quarantine", + "External", + "Failed", + "Dropped", + "Forwarded" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryLocation", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbox", + "value": "Inbox" + }, + { + "description": "JunkFolder", + "value": "JunkFolder" + }, + { + "description": "DeletedFolder", + "value": "DeletedFolder" + }, + { + "description": "Quarantine", + "value": "Quarantine" + }, + { + "description": "External", + "value": "External" + }, + { + "description": "Failed", + "value": "Failed" + }, + { + "description": "Dropped", + "value": "Dropped" + }, + { + "description": "Forwarded", + "value": "Forwarded" + } + ] + } + } + }, + "type": "object" + }, + "MalwareEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a malware entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MalwareEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Malware" + }, + "MalwareEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Malware entity property bag.", + "properties": { + "category": { + "description": "The malware category by the vendor, e.g. Trojan", + "readOnly": true, + "type": "string" + }, + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", + "items": { + "description": "file entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "readOnly": true, + "type": "string" + }, + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Process" + }, + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", + "properties": { + "accountEntityId": { + "description": "The account entity id running the processes.", + "readOnly": true, + "type": "string" + }, + "commandLine": { + "description": "The command line used to create the process", + "readOnly": true, + "type": "string" + }, + "creationTimeUtc": { + "description": "The time when the process started to run", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "elevationToken": { + "description": "The elevation token associated with the process.", + "enum": [ + "Default", + "Full", + "Limited" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "ElevationToken", + "values": [ + { + "description": "Default elevation token", + "value": "Default" + }, + { + "description": "Full elevation token", + "value": "Full" + }, + { + "description": "Limited elevation token", + "value": "Limited" + } + ] + } + }, + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryKeyEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry key entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryKey" + }, + "RegistryKeyEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryKey entity property bag.", + "properties": { + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } + }, + "key": { + "description": "The registry key path.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryValueEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry value entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryValue" + }, + "RegistryValueEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryValue entity property bag.", + "properties": { + "keyEntityId": { + "description": "The registry key entity id.", + "readOnly": true, + "type": "string" + }, + "valueData": { + "description": "String formatted representation of the value data.", + "readOnly": true, + "type": "string" + }, + "valueName": { + "description": "The registry value name.", + "readOnly": true, + "type": "string" + }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } + } + }, + "type": "object" + }, + "SecurityAlert": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security alert entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "SecurityAlertProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityAlert entity property bag.", + "properties": { + "alertDisplayName": { + "description": "The display name of the alert.", + "readOnly": true, + "type": "string" + }, + "alertType": { + "description": "The type name of the alert.", + "readOnly": true, + "type": "string" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", + "readOnly": true, + "type": "string" + }, + "confidenceLevel": { + "description": "The confidence level of this alert.", + "enum": [ + "Unknown", + "Low", + "High" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceLevel", + "values": [ + { + "description": "Unknown confidence, the is the default value", + "value": "Unknown" + }, + { + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" + }, + { + "description": "High confidence that the alert is true positive malicious", + "value": "High" + } + ] + } + }, + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" + }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + "enum": [ + "NotApplicable", + "InProcess", + "NotFinal", + "Final" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceScoreStatus", + "values": [ + { + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" + }, + { + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" + }, + { + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" + }, + { + "description": "Final score was calculated and available", + "value": "Final" + } + ] + } + }, + "description": { + "description": "Alert description.", + "readOnly": true, + "type": "string" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", + "enum": [ + "Unknown", + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "KillChainIntent", + "values": [ + { + "description": "The default value.", + "value": "Unknown" + }, + { + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" + }, + { + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" + }, + { + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" + }, + { + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" + }, + { + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" + }, + { + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" + }, + { + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" + }, + { + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" + }, + { + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" + }, + { + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" + }, + { + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" + }, + { + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" + }, + { + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" + } + ] + } + }, + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "productName": { + "description": "The name of the product which published this alert.", + "readOnly": true, + "type": "string" + }, + "productVersion": { + "description": "The version of the product generating the alert.", + "readOnly": true, + "type": "string" + }, + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "severity": { + "$ref": "AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity of the alert", + "type": "string" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The lifecycle status of the alert.", + "enum": [ + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertStatus", + "values": [ + { + "description": "Unknown value", + "value": "Unknown" + }, + { + "description": "New alert", + "value": "New" + }, + { + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" + } + ] + } + }, + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert", + "items": { + "$ref": "AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "timeGenerated": { + "description": "The time the alert was generated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, + "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" + }, + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", + "items": { + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "SecurityGroupEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security group entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityGroup" + }, + "SecurityGroupEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityGroup entity property bag.", + "properties": { + "distinguishedName": { + "description": "The group distinguished name", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SubmissionMailEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a submission mail entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SubmissionMailEntityProperties", + "description": "Submission mail entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SubmissionMail" + }, + "SubmissionMailEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Submission mail entity property bag.", + "properties": { + "networkMessageId": { + "description": "The network message id of email to which submission belongs", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submissionId": { + "description": "The submission id", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submitter": { + "description": "The submitter", + "readOnly": true, + "type": "string" + }, + "submissionDate": { + "description": "The submission date", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "timestamp": { + "description": "The Time stamp when the message is received (Mail)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "recipient": { + "description": "The recipient of the mail", + "readOnly": true, + "type": "string" + }, + "sender": { + "description": "The sender of the mail", + "readOnly": true, + "type": "string" + }, + "senderIp": { + "description": "The sender's IP", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of submission mail", + "readOnly": true, + "type": "string" + }, + "reportType": { + "description": "The submission type for the given instance. This maps to Junk, Phish, Malware or NotJunk.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UrlEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a url entity.", + "properties": { + "properties": { + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Url" + }, + "UrlEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Url entity property bag.", + "properties": { + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/IncidentTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/IncidentTypes.json new file mode 100644 index 000000000000..7e6de75e3178 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/IncidentTypes.json @@ -0,0 +1,247 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common Incident types" + }, + "paths": {}, + "definitions": { + "IncidentClassificationEnum": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "IncidentClassificationReasonEnum": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "IncidentLabel": { + "description": "Represents an incident label", + "properties": { + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "$ref": "#/definitions/IncidentLabelType" + } + }, + "required": [ + "labelName" + ], + "type": "object" + }, + "IncidentLabelType": { + "description": "The type of the label", + "enum": [ + "User", + "AutoAssigned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentLabelType", + "values": [ + { + "description": "Label manually created by a user", + "value": "User" + }, + { + "description": "Label automatically created by the system", + "value": "AutoAssigned" + } + ] + } + }, + "IncidentSeverityEnum": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "IncidentStatusEnum": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + }, + "ownerType": { + "readOnly": true, + "description": "The type of the owner the incident is assigned to.", + "type": "string", + "enum": [ + "Unknown", + "User", + "Group" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OwnerType", + "values": [ + { + "description": "The incident owner type is unknown", + "value": "Unknown" + }, + { + "description": "The incident owner type is an AAD user", + "value": "User" + }, + { + "description": "The incident owner type is an AAD group", + "value": "Group" + } + ] + } + } + }, + "type": "object" + }, + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", + "properties": { + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "#/definitions/IncidentSeverityEnum" + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/RelationTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/RelationTypes.json new file mode 100644 index 000000000000..bc47d10e59af --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/RelationTypes.json @@ -0,0 +1,95 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "RelationList": { + "description": "List of relations.", + "properties": { + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" + }, + "value": { + "description": "Array of relations.", + "type": "array", + "items": { + "$ref": "#/definitions/Relation" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", + "allOf": [ + { + "$ref": "../../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", + "x-ms-client-flatten": true + } + } + }, + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceKind": { + "description": "The resource kind of the related resource", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "relatedResourceId" + ], + "type": "object" + } + }, + "parameters": { + "RelationName": { + "name": "relationName", + "in": "path", + "required": true, + "type": "string", + "description": "Relation Name", + "x-ms-parameter-location": "method" + }, + "Relation": { + "name": "relation", + "in": "body", + "description": "The relation model", + "required": true, + "schema": { + "$ref": "#/definitions/Relation" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/ThreatIntelligenceTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/ThreatIntelligenceTypes.json new file mode 100644 index 000000000000..1d8545594fce --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/common/ThreatIntelligenceTypes.json @@ -0,0 +1,48 @@ +{ + "swagger": "2.0", + "info": { + "version": "2022-01-01-preview", + "title": "Common Relation types" + }, + "paths": {}, + "definitions": { + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", + "readOnly": true, + "type": "number" + }, + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", + "readOnly": true, + "type": "string" + }, + "reportLink": { + "description": "Report link", + "readOnly": true, + "type": "string" + }, + "threatDescription": { + "description": "Threat description (free text)", + "readOnly": true, + "type": "string" + }, + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", + "readOnly": true, + "type": "string" + }, + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/dataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/dataConnectors.json new file mode 100644 index 000000000000..6d138addf599 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/dataConnectors.json @@ -0,0 +1,2837 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors": { + "get": { + "x-ms-examples": { + "Get all data connectors.": { + "$ref": "./examples/dataConnectors/GetDataConnectors.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets all data connectors.", + "operationId": "DataConnectors_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnectorList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}": { + "get": { + "x-ms-examples": { + "Get an Office365 data connector.": { + "$ref": "./examples/dataConnectors/GetOfficeDataConnetorById.json" + }, + "Get a TI data connector": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json" + }, + "Get a TI Taxii data connector.": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceTaxiiById.json" + }, + "Get a MCAS data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json" + }, + "Get a ASC data connector": { + "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json" + }, + "Get an AAD data connector": { + "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json" + }, + "Get an AwsCloudTrail data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json" + }, + "Get an Aws S3 data connector": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesS3ById.json" + }, + "Get an AATP data connector": { + "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json" + }, + "Get a MDATP data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + }, + "Get an Office ATP data connector": { + "$ref": "./examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json" + }, + "Get an Office IRM data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json" + }, + "Get an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/GetOffice365ProjectDataConnetorById.json" + }, + "Get an Office365 PowerBI data connector": { + "$ref": "./examples/dataConnectors/GetOfficePowerBIDataConnetorById.json" + }, + "Get a Dynamics365 data connector": { + "$ref": "./examples/dataConnectors/GetDynamics365DataConnectorById.json" + }, + "Get a MicrosoftThreatProtection data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatProtectionById.json" + }, + "Get a MicrosoftThreatIntelligence data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json" + }, + "Get a GenericUI data connector": { + "$ref": "./examples/dataConnectors/GetGenericUI.json" + }, + "Get a APIPolling data connector": { + "$ref": "./examples/dataConnectors/GetAPIPolling.json" + }, + "Get a IoT data connector": { + "$ref": "./examples/dataConnectors/GetIoTById.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets a data connector.", + "operationId": "DataConnectors_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Office365 data connector": { + "$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json" + }, + "Creates or updates an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/CreateOffice365ProjectDataConnetor.json" + }, + "Creates or updates an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/CreateOfficePowerBIDataConnector.json" + }, + "Creates or updates a Threat Intelligence Taxii data connector.": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json" + }, + "Creates or updates an Threat Intelligence Platform data connector": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceDataConnector.json" + }, + "Creates or updates a Dynamics365 data connector.": { + "$ref": "./examples/dataConnectors/CreateDynamics365DataConnetor.json" + }, + "Creates or updates a GenericUI data connector": { + "$ref": "./examples/dataConnectors/CreateGenericUI.json" + }, + "Creates or updates a APIPolling data connector": { + "$ref": "./examples/dataConnectors/CreateAPIPolling.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Creates or updates the data connector.", + "operationId": "DataConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnector" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an Office365 data connector": { + "$ref": "./examples/dataConnectors/DeleteOfficeDataConnetor.json" + }, + "Delete an Office365 Project data connector": { + "$ref": "./examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json" + }, + "Delete an Office PowerBI data connector": { + "$ref": "./examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json" + }, + "Delete a GenericUI data connector": { + "$ref": "./examples/dataConnectors/DeleteGenericUI.json" + }, + "Delete a APIPolling data connector": { + "$ref": "./examples/dataConnectors/DeleteAPIPolling.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Delete the data connector.", + "operationId": "DataConnectors_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/connect": { + "post": { + "x-ms-examples": { + "Connect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/ConnectAPIPolling.json" + } + }, + "tags": [ + "Data Connectors Connect" + ], + "description": "Connects a data connector.", + "operationId": "DataConnectors_Connect", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnectorConnectBody" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}/disconnect": { + "post": { + "x-ms-examples": { + "Disconnect an APIPolling data connector": { + "$ref": "./examples/dataConnectors/DisconnectAPIPolling.json" + } + }, + "tags": [ + "Data Connectors Disconnect" + ], + "description": "Disconnect a data connector.", + "operationId": "DataConnectors_Disconnect", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectorsCheckRequirements": { + "post": { + "x-ms-examples": { + "Check requirements for TI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligence.json" + }, + "Check requirements for TI Taxii.": { + "$ref": "./examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json" + }, + "Check requirements for AAD.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json" + }, + "Check requirements for AAD - no license.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json" + }, + "Check requirements for AAD - no authorization.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json" + }, + "Check requirements for ASC.": { + "$ref": "./examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json" + }, + "Check requirements for Mcas.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json" + }, + "Check requirements for Mdatp.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMdatp.json" + }, + "Check requirements for OfficeATP.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeATP.json" + }, + "Check requirements for OfficeIRM.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficeIRM.json" + }, + "Check requirements for Office365Project.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOffice365Project.json" + }, + "Check requirements for OfficePowerBI.": { + "$ref": "./examples/dataConnectors/CheckRequirementsOfficePowerBI.json" + }, + "Check requirements for Dynamics365.": { + "$ref": "./examples/dataConnectors/CheckRequirementsDynamics365.json" + }, + "Check requirements for MicrosoftThreatProtection.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json" + }, + "Check requirements for MicrosoftThreatIntelligence.": { + "$ref": "./examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json" + }, + "Check requirements for IoT.": { + "$ref": "./examples/dataConnectors/CheckRequirementsIoT.json" + } + }, + "tags": [ + "Check Data Connector Requirements" + ], + "description": "Get requirements state for a data connector type.", + "operationId": "DataConnectorsCheckRequirements_Post", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorsCheckRequirementsBody" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DataConnectorRequirementsState" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AAD (Azure Active Directory) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AADCheckRequirementsProperties", + "description": "AAD (Azure Active Directory) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AAD (Azure Active Directory) requirements check properties.", + "type": "object" + }, + "AATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPCheckRequirementsProperties", + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "AATP (Azure Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "ASCCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents ASC (Azure Security Center) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCCheckRequirementsProperties", + "description": "ASC (Azure Security Center) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCCheckRequirementsProperties": { + "description": "ASC (Azure Security Center) requirements check properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AwsCloudTrailCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services CloudTrail requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsS3CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Amazon Web Services S3 requirements check request.", + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "DataConnectorsCheckRequirements": { + "description": "Data connector requirements properties.", + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "Describes the kind of connector to be checked.", + "type": "string" + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "DataConnectorAuthorizationState": { + "description": "Describes the state of user's authorization for a connector kind.", + "enum": [ + "Valid", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorAuthorizationState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + } + ] + } + }, + "DataConnectorLicenseState": { + "description": "Describes the state of user's license for a connector kind.", + "enum": [ + "Valid", + "Invalid", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorLicenseState", + "values": [ + { + "value": "Valid" + }, + { + "value": "Invalid" + }, + { + "value": "Unknown" + } + ] + } + }, + "DataConnectorRequirementsState": { + "description": "Data connector requirements status.", + "properties": { + "authorizationState": { + "description": "Authorization state for this connector", + "$ref": "#/definitions/DataConnectorAuthorizationState" + }, + "licenseState": { + "description": "License state for this connector", + "$ref": "#/definitions/DataConnectorLicenseState" + } + }, + "type": "object" + }, + "Dynamics365CheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Dynamics365 requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365CheckRequirementsProperties", + "description": "Dynamics365 requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365CheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 requirements check properties.", + "type": "object" + }, + "MCASCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASCheckRequirementsProperties", + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) requirements check properties.", + "type": "object" + }, + "MDATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPCheckRequirementsProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "MSTICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Microsoft Threat Intelligence requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTICheckRequirementsProperties", + "description": "Microsoft Threat Intelligence requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence requirements check properties.", + "type": "object" + }, + "MtpCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPCheckRequirementsProperties", + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeATPCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPCheckRequirementsProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) requirements check properties.", + "type": "object" + }, + "OfficeIRMCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMCheckRequirementsProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) requirements check properties.", + "type": "object" + }, + "Office365ProjectCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office365 Project requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectCheckRequirementsProperties", + "description": "Office365 Project requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office365 Project requirements check properties.", + "type": "object" + }, + "OfficePowerBICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents Office PowerBI requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBICheckRequirementsProperties", + "description": "Office Power BI requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office PowerBI requirements check properties.", + "type": "object" + }, + "TICheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence Platforms data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TICheckRequirementsProperties", + "description": "Threat Intelligence Platforms data connector check required properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TICheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence Platforms data connector required properties.", + "properties": {}, + "type": "object" + }, + "TiTaxiiCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Threat Intelligence TAXII data connector check requirements", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiCheckRequirementsProperties", + "description": "Threat Intelligence TAXII check required properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiCheckRequirementsProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector required properties.", + "type": "object" + }, + "IoTCheckRequirements": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + } + ], + "description": "Represents IoT requirements check request.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTCheckRequirementsProperties", + "description": "IoT requirements check properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IOT" + }, + "IoTCheckRequirementsProperties": { + "description": "IoT requirements check properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AAD (Azure Active Directory) data connector properties.", + "type": "object" + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "alerts" + ] + }, + "MSTIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Microsoft Threat Intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MSTIDataConnectorProperties", + "description": "Microsoft Threat Intelligence data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatIntelligence" + }, + "MSTIDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Intelligence Platforms data connector.", + "properties": { + "bingSafetyPhishingURL": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "properties": { + "lookbackPeriod": { + "description": "lookback period", + "type": "string" + } + }, + "description": "Data type for Microsoft Threat Intelligence Platforms data connector.", + "type": "object", + "required": [ + "lookbackPeriod" + ] + }, + "microsoftEmergingThreatFeed": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "properties": { + "lookbackPeriod": { + "description": "lookback period", + "type": "string" + } + }, + "description": "Data type for Microsoft Threat Intelligence Platforms data connector.", + "type": "object", + "required": [ + "lookbackPeriod" + ] + } + }, + "type": "object", + "required": [ + "bingSafetyPhishingURL", + "microsoftEmergingThreatFeed" + ] + }, + "MSTIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Microsoft Threat Intelligence data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MSTIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "MTPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MTP (Microsoft Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MTPDataConnectorProperties", + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftThreatProtection" + }, + "MTPDataConnectorDataTypes": { + "description": "The available data types for Microsoft Threat Protection Platforms data connector.", + "properties": { + "incidents": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for Microsoft Threat Protection Platforms data connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "incidents" + ] + }, + "MTPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MTP (Microsoft Threat Protection) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MTPDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "AATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "ASCDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents ASC (Azure Security Center) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "ASC (Azure Security Center) data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services CloudTrail data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", + "properties": { + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "AwsS3DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services S3 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsS3DataConnectorProperties", + "description": "Amazon Web Services S3 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesS3" + }, + "AwsS3DataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services S3 data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "AwsS3DataConnectorProperties": { + "description": "Amazon Web Services S3 data connector properties.", + "properties": { + "destinationTable": { + "description": "The logs destination table name in LogAnalytics.", + "type": "string" + }, + "sqsUrls": { + "description": "The AWS sqs urls for the connector.", + "type": "array", + "items": { + "description": "AWS sqs url.", + "type": "string" + } + }, + "roleArn": { + "description": "The Aws Role Arn that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsS3DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "destinationTable", + "sqsUrls", + "roleArn", + "dataTypes" + ] + }, + "DataConnector": { + "description": "Data connector", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object", + "required": [ + "state" + ] + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "ThreatIntelligenceTaxii", + "Office365", + "OfficeATP", + "OfficeIRM", + "Office365Project", + "OfficePowerBI", + "AmazonWebServicesCloudTrail", + "AmazonWebServicesS3", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection", + "Dynamics365", + "MicrosoftThreatProtection", + "MicrosoftThreatIntelligence", + "GenericUI", + "APIPolling", + "IOT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "ThreatIntelligenceTaxii" + }, + { + "value": "Office365" + }, + { + "value": "OfficeATP" + }, + { + "value": "OfficeIRM" + }, + { + "value": "Office365Project" + }, + { + "value": "OfficePowerBI" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AmazonWebServicesS3" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + }, + { + "value": "Dynamics365" + }, + { + "value": "MicrosoftThreatProtection" + }, + { + "value": "MicrosoftThreatIntelligence" + }, + { + "value": "GenericUI" + }, + { + "value": "APIPolling" + }, + { + "value": "IOT" + } + ] + } + }, + "DataConnectorList": { + "description": "List all the data connectors.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of data connectors.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of data connectors.", + "items": { + "$ref": "#/definitions/DataConnector" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object", + "required": [ + "tenantId" + ] + }, + "MCASDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "discoveryLogs": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "Dynamics365DataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Dynamics365 data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Dynamics365DataConnectorProperties", + "description": "Dynamics365 data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Dynamics365" + }, + "Dynamics365DataConnectorDataTypes": { + "description": "The available data types for Dynamics365 data connector.", + "properties": { + "dynamics365CdsActivities": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Common Data Service data type connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "dynamics365CdsActivities" + ] + }, + "Dynamics365DataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Dynamics365 data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Dynamics365DataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "OfficeATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeATP (Office 365 Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeATPDataConnectorProperties", + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeATP" + }, + "OfficeATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeATP (Office 365 Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "Office365ProjectDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft Project data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/Office365ProjectDataConnectorProperties", + "description": "Office Microsoft Project data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365Project" + }, + "Office365ProjectConnectorDataTypes": { + "description": "The available data types for Office Microsoft Project data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "Office365ProjectDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft Project data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/Office365ProjectConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficePowerBIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Office Microsoft PowerBI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficePowerBIDataConnectorProperties", + "description": "Office Microsoft PowerBI data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficePowerBI" + }, + "OfficePowerBIConnectorDataTypes": { + "description": "The available data types for Office Microsoft PowerBI data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object", + "required": [ + "logs" + ] + }, + "OfficePowerBIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office Microsoft PowerBI data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficePowerBIConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "OfficeIRMDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents OfficeIRM (Microsoft Insider Risk Management) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeIRMDataConnectorProperties", + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "OfficeIRM" + }, + "OfficeIRMDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "OfficeIRM (Microsoft Insider Risk Management) data connector properties.", + "type": "object" + }, + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + }, + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "type": "object" + }, + "OfficeDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents office data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365" + }, + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", + "properties": { + "exchange": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Exchange data type connection.", + "type": "object" + }, + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", + "type": "object" + } + }, + "required": [ + "exchange", + "sharePoint", + "teams" + ], + "type": "object" + }, + "OfficeDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Office data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "required": [ + "dataTypes" + ], + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "TI (Threat Intelligence) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for TI (Threat Intelligence) data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for indicators connection.", + "type": "object" + } + }, + "type": "object", + "required": [ + "indicators" + ] + }, + "TIDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "tipLookbackPeriod": { + "description": "The lookback period for the feed to be imported.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object", + "required": [ + "dataTypes" + ] + }, + "TiTaxiiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Data connector to pull Threat intelligence data from TAXII 2.0/2.1 server", + "properties": { + "properties": { + "$ref": "#/definitions/TiTaxiiDataConnectorProperties", + "description": "Threat intelligence TAXII data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligenceTaxii" + }, + "TiTaxiiDataConnectorDataTypes": { + "description": "The available data types for Threat Intelligence TAXII data connector.", + "properties": { + "taxiiClient": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for TAXII connector.", + "type": "object" + } + }, + "type": "object", + "required": [ + "taxiiClient" + ] + }, + "TiTaxiiDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorTenantId" + } + ], + "description": "Threat Intelligence TAXII data connector properties.", + "properties": { + "workspaceId": { + "description": "The workspace id.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name for the TAXII server.", + "type": "string" + }, + "taxiiServer": { + "description": "The API root for the TAXII server.", + "type": "string" + }, + "collectionId": { + "description": "The collection id of the TAXII server.", + "type": "string" + }, + "userName": { + "description": "The userName for the TAXII server.", + "type": "string" + }, + "password": { + "description": "The password for the TAXII server.", + "type": "string" + }, + "taxiiLookbackPeriod": { + "description": "The lookback period for the TAXII server.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "pollingFrequency": { + "description": "The polling frequency for the TAXII server.", + "type": "string", + "x-nullable": true, + "enum": [ + "OnceAMinute", + "OnceAnHour", + "OnceADay" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PollingFrequency", + "values": [ + { + "description": "Once a minute", + "value": "OnceAMinute" + }, + { + "description": "Once an hour", + "value": "OnceAnHour" + }, + { + "description": "Once a day", + "value": "OnceADay" + } + ] + } + }, + "dataTypes": { + "$ref": "#/definitions/TiTaxiiDataConnectorDataTypes", + "description": "The available data types for Threat Intelligence TAXII data connector." + } + }, + "required": [ + "dataTypes", + "pollingFrequency" + ], + "type": "object" + }, + "IoTDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents IoT data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDataConnectorProperties", + "description": "IoT data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IOT" + }, + "IoTDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "IoT data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "CodelessUiDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless UI data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/CodelessParameters", + "description": "Codeless UI data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "GenericUI" + }, + "CodelessParameters": { + "description": "Represents Codeless UI data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + } + } + }, + "CodelessUiConnectorConfigProperties": { + "description": "Config to describe the instructions blade", + "type": "object", + "properties": { + "title": { + "description": "Connector blade title", + "type": "string" + }, + "publisher": { + "description": "Connector publisher name", + "type": "string" + }, + "descriptionMarkdown": { + "description": "Connector description", + "type": "string" + }, + "customImage": { + "description": "An optional custom image to be used when displaying the connector within Azure Sentinel's connector's gallery", + "type": "string" + }, + "graphQueriesTableName": { + "description": "Name of the table the connector will insert the data to", + "type": "string" + }, + "graphQueries": { + "description": "The graph query to show the current data status", + "items": { + "allOf": [ + { + "$ref": "#/definitions/GraphQueries" + } + ] + }, + "type": "array" + }, + "sampleQueries": { + "description": "The sample queries for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/SampleQueries" + } + ] + }, + "type": "array" + }, + "dataTypes": { + "description": "Data types to check for last data received", + "items": { + "allOf": [ + { + "$ref": "#/definitions/LastDataReceivedDataType" + } + ] + }, + "type": "array" + }, + "connectivityCriteria": { + "description": "Define the way the connector check connectivity", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectivityCriteria" + } + ] + }, + "type": "array" + }, + "availability": { + "description": "Connector Availability Status", + "$ref": "#/definitions/Availability" + }, + "permissions": { + "description": "Permissions required for the connector", + "$ref": "#/definitions/Permissions" + }, + "instructionSteps": { + "description": "Instruction steps to enable the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/InstructionSteps" + } + ] + }, + "type": "array" + } + }, + "required": [ + "title", + "publisher", + "descriptionMarkdown", + "graphQueriesTableName", + "graphQueries", + "sampleQueries", + "dataTypes", + "connectivityCriteria", + "availability", + "permissions", + "instructionSteps" + ] + }, + "DataConnectorConnectBody": { + "description": "Represents Codeless API Polling data connector.", + "type": "object", + "properties": { + "kind": { + "description": "The authentication kind used to poll the data", + "enum": [ + "Basic", + "OAuth2", + "APIKey" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectAuthKind" + } + }, + "apiKey": { + "type": "string", + "description": "The API key of the audit server." + }, + "clientSecret": { + "type": "string", + "description": "The client secret of the OAuth 2.0 application." + }, + "clientId": { + "type": "string", + "description": "The client id of the OAuth 2.0 application." + }, + "authorizationCode": { + "type": "string", + "description": "The authorization code used in OAuth 2.0 code flow to issue a token." + }, + "userName": { + "type": "string", + "description": "The user name in the audit log server." + }, + "password": { + "type": "string", + "description": "The user password in the audit log server.", + "x-ms-secret": true + }, + "requestConfigUserInputValues": { + "type": "array", + "description": "", + "items": { + "type": "object" + } + } + } + }, + "CodelessApiPollingDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Codeless API Polling data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ApiPollingParameters", + "description": "Codeless poling data connector properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "APIPolling" + }, + "ApiPollingParameters": { + "description": "Represents Codeless API Polling data connector", + "type": "object", + "properties": { + "connectorUiConfig": { + "$ref": "#/definitions/CodelessUiConnectorConfigProperties", + "description": "Config to describe the instructions blade" + }, + "pollingConfig": { + "$ref": "#/definitions/CodelessConnectorPollingConfigProperties", + "description": "Config to describe the polling instructions" + } + } + }, + "CodelessConnectorPollingConfigProperties": { + "description": "Config to describe the polling config for API poller connector", + "type": "object", + "properties": { + "isActive": { + "description": "The poller active status", + "type": "boolean" + }, + "auth": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingAuthProperties", + "description": "Describe the authentication type of the poller" + }, + "request": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingRequestProperties", + "description": "Describe the poll request config parameters of the poller" + }, + "paging": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingPagingProperties", + "description": "Describe the poll request paging config of the poller" + }, + "response": { + "type": "object", + "$ref": "#/definitions/CodelessConnectorPollingResponseProperties", + "description": "Describe the response config parameters of the poller" + } + }, + "required": [ + "auth", + "request" + ] + }, + "CodelessConnectorPollingResponseProperties": { + "description": "Describes the response from the external server", + "type": "object", + "properties": { + "eventsJsonPaths": { + "description": "Describes the path we should extract the data in the response", + "items": { + "type": "string" + }, + "type": "array" + }, + "successStatusJsonPath": { + "description": "Describes the path we should extract the status code in the response", + "type": "string" + }, + "successStatusValue": { + "description": "Describes the path we should extract the status value in the response", + "type": "string" + }, + "isGzipCompressed": { + "description": "Describes if the data in the response is Gzip", + "type": "boolean" + } + }, + "required": [ + "eventsJsonPaths" + ] + }, + "CodelessConnectorPollingPagingProperties": { + "description": "Describe the properties needed to make a pagination call", + "type": "object", + "properties": { + "pagingType": { + "description": "Describes the type. could be 'None', 'PageToken', 'PageCount', 'TimeStamp'", + "type": "string" + }, + "nextPageParaName": { + "description": "Defines the name of a next page attribute", + "type": "string" + }, + "nextPageTokenJsonPath": { + "description": "Defines the path to a next page token JSON", + "type": "string" + }, + "pageCountAttributePath": { + "description": "Defines the path to a page count attribute", + "type": "string" + }, + "pageTotalCountAttributePath": { + "description": "Defines the path to a page total count attribute", + "type": "string" + }, + "pageTimeStampAttributePath": { + "description": "Defines the path to a paging time stamp attribute", + "type": "string" + }, + "searchTheLatestTimeStampFromEventsList": { + "description": "Determines whether to search for the latest time stamp in the events list", + "type": "string" + }, + "pageSizeParaName": { + "description": "Defines the name of the page size parameter", + "type": "string" + }, + "pageSize": { + "description": "Defines the paging size", + "format": "int32", + "type": "integer" + } + }, + "required": [ + "pagingType" + ] + }, + "CodelessConnectorPollingRequestProperties": { + "description": "Describe the request properties needed to successfully pull from the server", + "type": "object", + "properties": { + "apiEndpoint": { + "description": "Describe the endpoint we should pull the data from", + "type": "string" + }, + "rateLimitQps": { + "description": "Defines the rate limit QPS", + "format": "int32", + "type": "integer" + }, + "queryWindowInMin": { + "description": "The window interval we will use the pull the data", + "format": "int32", + "type": "integer" + }, + "httpMethod": { + "description": "The http method type we will use in the poll request, GET or POST", + "type": "string" + }, + "queryTimeFormat": { + "description": "The time format will be used the query events in a specific window", + "type": "string" + }, + "retryCount": { + "description": "Describe the amount of time we should try and poll the data in case of failure", + "format": "int32", + "type": "integer" + }, + "timeoutInSeconds": { + "description": "The number of seconds we will consider as a request timeout", + "format": "int32", + "type": "integer" + }, + "headers": { + "description": "Describe the headers sent in the poll request", + "type": "object" + }, + "queryParameters": { + "description": "Describe the query parameters sent in the poll request", + "type": "object" + }, + "queryParametersTemplate": { + "description": "For advanced scenarios for example user name/password embedded in nested JSON payload", + "type": "string" + }, + "startTimeAttributeName": { + "description": "This will be used the query events from a start of the time window", + "type": "string" + }, + "endTimeAttributeName": { + "description": "This will be used the query events from the end of the time window", + "type": "string" + } + }, + "required": [ + "apiEndpoint", + "httpMethod", + "queryWindowInMin", + "queryTimeFormat" + ] + }, + "CodelessConnectorPollingAuthProperties": { + "description": "Describe the authentication properties needed to successfully authenticate with the server", + "type": "object", + "properties": { + "authType": { + "description": "The authentication type", + "type": "string" + }, + "apiKeyName": { + "description": "The header name which the token is sent with", + "type": "string" + }, + "apiKeyIdentifier": { + "description": "A prefix send in the header before the actual token", + "type": "string" + }, + "isApiKeyInPostPayload": { + "description": "Marks if the key should sent in header", + "type": "string" + }, + "flowName": { + "description": "Describes the flow name, for example 'AuthCode' for Oauth 2.0", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint used to issue a token, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpoint": { + "description": "The endpoint used to authorize the user, used in Oauth 2.0 flow", + "type": "string" + }, + "authorizationEndpointQueryParameters": { + "description": "The query parameters used in authorization request, used in Oauth 2.0 flow", + "type": "object" + }, + "redirectionEndpoint": { + "description": "The redirect endpoint where we will get the authorization code, used in Oauth 2.0 flow", + "type": "string" + }, + "tokenEndpointHeaders": { + "description": "The query headers used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "tokenEndpointQueryParameters": { + "description": "The query parameters used in token request, used in Oauth 2.0 flow", + "type": "object" + }, + "isClientSecretInHeader": { + "description": "Marks if we should send the client secret in header or payload, used in Oauth 2.0 flow", + "type": "boolean" + }, + "scope": { + "description": "The OAuth token scope", + "type": "string" + } + }, + "required": [ + "authType" + ] + }, + "LastDataReceivedDataType": { + "description": "Data type for last data received", + "type": "object", + "properties": { + "name": { + "description": "Name of the data type to show in the graph. can be use with {{graphQueriesTableName}} placeholder", + "type": "string" + }, + "lastDataReceivedQuery": { + "description": "Query for indicate last data received", + "type": "string" + } + } + }, + "Permissions": { + "description": "Permissions required for the connector", + "type": "object", + "properties": { + "resourceProvider": { + "description": "Resource provider permissions required for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ResourceProvider" + } + ] + }, + "type": "array" + }, + "customs": { + "description": "Customs permissions required for the connector", + "items": { + "allOf": [ + { + "$ref": "#/definitions/Customs" + } + ] + }, + "type": "array" + } + } + }, + "Customs": { + "description": "Customs permissions required for the connector", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CustomsPermission" + } + ] + }, + "CustomsPermission": { + "description": "Customs permissions required for the connector", + "type": "object", + "properties": { + "name": { + "description": "Customs permissions name", + "type": "string" + }, + "description": { + "description": "Customs permissions description", + "type": "string" + } + } + }, + "ResourceProvider": { + "description": "Resource provider permissions required for the connector", + "type": "object", + "properties": { + "provider": { + "description": "Provider name", + "enum": [ + "Microsoft.OperationalInsights/solutions", + "Microsoft.OperationalInsights/workspaces", + "Microsoft.OperationalInsights/workspaces/datasources", + "microsoft.aadiam/diagnosticSettings", + "Microsoft.OperationalInsights/workspaces/sharedKeys", + "Microsoft.Authorization/policyAssignments" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ProviderName" + } + }, + "permissionsDisplayText": { + "description": "Permission description text", + "type": "string" + }, + "providerDisplayName": { + "description": "Permission provider display name", + "type": "string" + }, + "scope": { + "description": "Permission provider scope", + "enum": [ + "ResourceGroup", + "Subscription", + "Workspace" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "PermissionProviderScope" + } + }, + "requiredPermissions": { + "description": "Required permissions for the connector", + "$ref": "#/definitions/RequiredPermissions" + } + } + }, + "InstructionSteps": { + "description": "Instruction steps to enable the connector", + "type": "object", + "properties": { + "title": { + "description": "Instruction step title", + "type": "string" + }, + "description": { + "description": "Instruction step description", + "type": "string" + }, + "instructions": { + "description": "Instruction step details", + "items": { + "allOf": [ + { + "$ref": "#/definitions/ConnectorInstructionModelBase" + } + ] + }, + "type": "array" + } + } + }, + "ConnectorInstructionModelBase": { + "description": "Instruction step details", + "type": "object", + "properties": { + "parameters": { + "type": "object", + "description": "The parameters for the setting" + }, + "type": { + "description": "The kind of the setting", + "enum": [ + "CopyableLabel", + "InstructionStepsGroup", + "InfoMessage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "SettingType" + } + } + }, + "required": [ + "type" + ] + }, + "RequiredPermissions": { + "description": "Required permissions for the connector", + "type": "object", + "properties": { + "action": { + "description": "action permission", + "type": "boolean" + }, + "write": { + "description": "write permission", + "type": "boolean" + }, + "read": { + "description": "read permission", + "type": "boolean" + }, + "delete": { + "description": "delete permission", + "type": "boolean" + } + } + }, + "Availability": { + "description": "Connector Availability Status", + "type": "object", + "properties": { + "status": { + "description": "The connector Availability Status", + "format": "int32", + "type": "integer", + "enum": [ + 1 + ], + "x-ms-enum": { + "name": "AvailabilityStatus", + "values": [ + { + "value": 1, + "description": "Available" + } + ] + } + }, + "isPreview": { + "description": "Set connector as preview", + "type": "boolean" + } + } + }, + "ConnectivityCriteria": { + "description": "Setting for the connector check connectivity", + "type": "object", + "properties": { + "type": { + "description": "type of connectivity", + "enum": [ + "IsConnectedQuery" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConnectivityType" + } + }, + "value": { + "description": "Queries for checking connectivity", + "type": "array", + "items": { + "description": "checking connectivity query", + "type": "string" + } + } + } + }, + "SampleQueries": { + "description": "The sample queries for the connector", + "type": "object", + "properties": { + "description": { + "description": "The sample query description", + "type": "string" + }, + "query": { + "description": "the sample query", + "type": "string" + } + } + }, + "GraphQueries": { + "type": "object", + "description": "The graph query to show the current data status", + "properties": { + "metricName": { + "description": "the metric that the query is checking", + "type": "string" + }, + "legend": { + "description": "The legend for the graph", + "type": "string" + }, + "baseQuery": { + "description": "The base query for the graph", + "type": "string" + } + } + } + }, + "parameters": { + "DataConnector": { + "description": "The data connector", + "in": "body", + "name": "dataConnector", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnector" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorId": { + "description": "Connector ID", + "in": "path", + "name": "dataConnectorId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DataConnectorConnectBody": { + "description": "The data connector", + "in": "body", + "name": "connectBody", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorConnectBody" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorsCheckRequirementsBody": { + "description": "The parameters for requirements check message", + "in": "body", + "name": "DataConnectorsCheckRequirements", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectorsCheckRequirements" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/CreateActionOfAlertRule.json new file mode 100644 index 000000000000..97e1364fd7fb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/CreateActionOfAlertRule.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "action": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/DeleteActionOfAlertRule.json new file mode 100644 index 000000000000..5487c54bc111 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/DeleteActionOfAlertRule.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetActionOfAlertRuleById.json new file mode 100644 index 000000000000..02bc86579d14 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetActionOfAlertRuleById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetAllActionsByAlertRule.json new file mode 100644 index 000000000000..d7143fdc6bd2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/actions/GetAllActionsByAlertRule.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..9a9e22690153 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "version": "1.0.2", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..8af561220a0d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.1", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/f71aba3d-28fb-450b-b192-4e76a83015c8", + "name": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "severityFilter": { + "enabled": true, + "isSupported": true, + "severityFilters": [ + "Informational", + "Low", + "Medium", + "High" + ] + } + } + ] + }, + { + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "severityFilter": { + "enabled": false, + "isSupported": false, + "severityFilters": null + } + } + ] + } + ], + "lastUpdatedDateUTC": "2021-06-09T00:00:00Z", + "createdDateUTC": "2019-07-25T00:00:00Z", + "status": "Available", + "severity": "High", + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/b3cfc7c0-092c-481c-a55b-34a3979758cb", + "name": "b3cfc7c0-092c-481c-a55b-34a3979758cb", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "Create incidents based on Microsoft Cloud App Security alerts", + "description": "Create incidents based on all alerts generated in Microsoft Cloud App Security", + "lastUpdatedDateUTC": "2020-02-27T00:00:00Z", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRule.json new file mode 100644 index 000000000000..2c99d4f7afd7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRule.json @@ -0,0 +1,845 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json new file mode 100644 index 000000000000..6b0cb747993a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateFusionAlertRuleWithFusionScenarioExclusion.json @@ -0,0 +1,851 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "filters": null + } + } + ] + } + ], + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Using Fusion technology based on machine learning, Azure Sentinel automatically detects multistage attacks by identifying combinations of anomalous behaviors and suspicious activities observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nThere are a total of 122 Fusion incident types detected by Azure Sentinel.\n\nTo detect these multistage attacks, the following data connectors must be configured:\n- Azure Active Directory Identity Protection.\n- Microsoft Cloud App Security.\n- Microsoft Defender for Endpoint.\n- Azure Defender.\n- Palo Alto Networks.\n- Scheduled Analytics Rules supported by Fusion\n\nFor a full list and description of each scenario that is supported for these multistage attacks, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "scenarioExclusionPatterns": [ + { + "exclusionPattern": "Alert providers:Azure Active Directory Identity Protection:Infected Device;Alert providers:Azure Defender:Crypto-mining activity", + "dateAddedInUTC": "2021-10-01T15:26:44.9429806Z" + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..3175c47037e8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "microsoftSecurityIncidentCreationRuleExample", + "alertRule": { + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "testing displayname", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateNrtAlertRule.json new file mode 100644 index 000000000000..a00329d4c11f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateNrtAlertRule.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json new file mode 100644 index 000000000000..6b873eaf3c5c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/CreateScheduledAlertRule.json @@ -0,0 +1,251 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01005144-0000-0d00-0000-6058632c0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"01007444-0000-0d00-0000-605863a70000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:15:30Z", + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/DeleteAlertRule.json new file mode 100644 index 000000000000..4681099af667 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/DeleteAlertRule.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetAllAlertRules.json new file mode 100644 index 000000000000..41f20adde30c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetAllAlertRules.json @@ -0,0 +1,412 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"25005c11-0000-0d00-0000-5d6cc0e20000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-22T07:12:34.9065092Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetFusionAlertRule.json new file mode 100644 index 000000000000..94af74485722 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetFusionAlertRule.json @@ -0,0 +1,310 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "myFirstFusionRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Microsoft Sentinel uses Fusion, a correlation engine based on scalable machine learning algorithms, to automatically detect multistage attacks by identifying combinations of anomalous behaviors and suspicious activities that are observed at various stages of the kill chain. On the basis of these discoveries, Azure Sentinel generates incidents that would otherwise be very difficult to catch. By design, these incidents are low-volume, high-fidelity, and high-severity, which is why this detection is turned ON by default.\n\nSince Fusion correlates multiple signals from various products to detect advanced multistage attacks, successful Fusion detections are presented as Fusion incidents on the Microsoft Sentinel Incidents page. This rule covers the following detections:\n- Fusion for emerging threats\n- Fusion for ransomware\n- Scenario-based Fusion detections (122 scenarios)\n\nTo enable these detections, we recommend you configure the following data connectors for best results:\n- Out-of-the-box anomaly detections\n- Azure Active Directory Identity Protection\n- Azure Defender\n- Azure Defender for IoT\n- Microsoft 365 Defender\n- Microsoft Cloud App Security \n- Microsoft Defender for Endpoint\n- Microsoft Defender for Identity\n- Microsoft Defender for Office 365\n- Palo Alto Networks\n- Scheduled analytics rules, both built-in and those created by your security analysts. Analytics rules must contain kill-chain (tactics) and entity mapping information in order to be used by Fusion.\n\nFor the full description of each detection that is supported by Fusion, go to https://aka.ms/SentinelFusion.", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Collection", + "CommandAndControl", + "CredentialAccess", + "DefenseEvasion", + "Discovery", + "Execution", + "Exfiltration", + "Impact", + "InitialAccess", + "LateralMovement", + "Persistence", + "PrivilegeEscalation" + ], + "sourceSettings": [ + { + "enabled": true, + "sourceName": "Anomalies", + "sourceSubTypes": null + }, + { + "enabled": true, + "sourceName": "Alert providers", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Azure Active Directory Identity Protection", + "sourceSubTypeDisplayName": "Azure Active Directory Identity Protection", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender", + "sourceSubTypeDisplayName": "Microsoft Defender for Cloud", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Defender for IoT", + "sourceSubTypeDisplayName": "Microsoft Defender for IoT", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft 365 Defender", + "sourceSubTypeDisplayName": "Microsoft 365 Defender", + "enabled": true, + "severityFilter": [ + "High", + "Medium", + "Low", + "Informational" + ], + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Cloud App Security", + "sourceSubTypeDisplayName": "Microsoft Cloud App Security", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Endpoint", + "sourceSubTypeDisplayName": "Microsoft Defender for Endpoint", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Identity", + "sourceSubTypeDisplayName": "Microsoft Defender for Identity", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Microsoft Defender for Office 365", + "sourceSubTypeDisplayName": "Microsoft Defender for Office 365", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + }, + { + "sourceSubTypeName": "Azure Sentinel scheduled analytics rules", + "sourceSubTypeDisplayName": "Azure Sentinel scheduled analytics rules", + "enabled": true, + "severityFilters": { + "isSupported": true, + "filters": [ + { + "severity": "High", + "enabled": true + }, + { + "severity": "Medium", + "enabled": true + }, + { + "severity": "Low", + "enabled": true + }, + { + "severity": "Informational", + "enabled": true + } + ] + } + } + ] + }, + { + "enabled": true, + "sourceName": "Raw logs from other sources", + "sourceSubTypes": [ + { + "sourceSubTypeName": "Palo Alto Networks", + "sourceSubTypeDisplayName": "Palo Alto Networks", + "enabled": true, + "severityFilters": { + "isSupported": false, + "filters": null + } + } + ] + } + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2021-10-20T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..240a3152a011 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "microsoftSecurityIncidentCreationRuleExample" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetNrtAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetNrtAlertRule.json new file mode 100644 index 000000000000..12234d9d2446 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetNrtAlertRule.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "NRT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "Rule2", + "description": "", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "ProtectionStatus | extend HostCustomEntity = Computer | extend IPCustomEntity = ComputerIP_Hidden", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host", + "Account" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetScheduledAlertRule.json new file mode 100644 index 000000000000..472ab26cfba6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/alertRules/GetScheduledAlertRule.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "techniques": [ + "T1037", + "T1021" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..b41c3a15447a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_CreateOrUpdate.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "automationRule": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Delete.json new file mode 100644 index 000000000000..3ebce1b58708 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": {} + }, + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Get.json new file mode 100644 index 000000000000..e217fe3cfec0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_Get.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_List.json new file mode 100644 index 000000000000..298a87143c43 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/automationRules/AutomationRules_List.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..986f1b557949 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "bookmark": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..5243da5e6110 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..133d608fe9c8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..bb3f0fcfcb17 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2021-09-01T13:15:30Z", + "created": "2021-09-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + }, + "tactics": [ + "Execution" + ], + "techniques": [ + "T1609" + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "Fullname", + "value": "johndoe@microsoft.com" + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json new file mode 100644 index 000000000000..a0aad4edd441 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/expand/PostExpandBookmark.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "parameters": { + "expansionId": "27f76e63-c41b-480f-bb18-12ad2e011d49", + "startTime": "2019-12-25T17:21:00.000Z", + "endTime": "2020-01-24T17:21:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "name": "fe4ddab5-8cea-eca3-c8b8-9e92e830a387", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json new file mode 100644 index 000000000000..cf7646c4b65f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/CreateBookmarkRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json new file mode 100644 index 000000000000..d30c417578e7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/DeleteBookmarkRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json new file mode 100644 index 000000000000..3cd77173795e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetAllBookmarkRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json new file mode 100644 index 000000000000..2572ccf14492 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/bookmarks/relations/GetBookmarkRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "bookmarkId": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/bookmarks/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceName": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json new file mode 100644 index 000000000000..4e2ac563eb17 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectory.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json new file mode 100644 index 000000000000..4e2ac563eb17 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoAuthorization.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json new file mode 100644 index 000000000000..4e2ac563eb17 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureActiveDirectoryNoLicense.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureActiveDirectory", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json new file mode 100644 index 000000000000..779cd535d5ad --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsAzureSecurityCenter.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "AzureSecurityCenter", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json new file mode 100644 index 000000000000..ba9bc7e3fe6a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsDynamics365.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Dynamics365", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsIoT.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsIoT.json new file mode 100644 index 000000000000..07dd4dbd7f09 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsIoT.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "IOT", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json new file mode 100644 index 000000000000..0d53fc334518 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMdatp.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json new file mode 100644 index 000000000000..0d53fc334518 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftCloudAppSecurity.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftCloudAppSecurity", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json new file mode 100644 index 000000000000..e9e3e219bada --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatIntelligence", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json new file mode 100644 index 000000000000..5db11269527b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsMicrosoftThreatProtection.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "MicrosoftThreatProtection", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json new file mode 100644 index 000000000000..0d8b2793b0ae --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOffice365Project.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "Office365Project", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json new file mode 100644 index 000000000000..a1e500700ba9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeATP.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeATP", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json new file mode 100644 index 000000000000..cdda79e0209f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficeIRM.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficeIRM", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json new file mode 100644 index 000000000000..e954bdf76e8a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsOfficePowerBI.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "OfficePowerBI", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json new file mode 100644 index 000000000000..7ecdabc0541c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligence.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json new file mode 100644 index 000000000000..16489b838b36 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CheckRequirementsThreatIntelligenceTaxii.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "DataConnectorsCheckRequirements": { + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8" + } + } + }, + "responses": { + "200": { + "body": { + "authorizationState": "Valid", + "licenseState": "Valid" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/ConnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/ConnectAPIPolling.json new file mode 100644 index 000000000000..992d920401b0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/ConnectAPIPolling.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "connectBody": { + "kind": "APIKey", + "apiKey": "123456789", + "requestConfigUserInputValues": [ + { + "displayText": "Organization Name", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "somePlaceHolderValue", + "requestObjectKey": "apiEndpoint" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateAPIPolling.json new file mode 100644 index 000000000000..827b1e7edcc0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateAPIPolling.json @@ -0,0 +1,368 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json new file mode 100644 index 000000000000..ff62d59bb7c4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateDynamics365DataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "dataConnector": { + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateGenericUI.json new file mode 100644 index 000000000000..23a0041eb616 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateGenericUI.json @@ -0,0 +1,437 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "dataConnector": { + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..39af14c323e8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOffice365ProjectDataConnetor.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json new file mode 100644 index 000000000000..f0dfbc3f1a2c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json new file mode 100644 index 000000000000..b273c1a39478 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateOfficePowerBIDataConnector.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..28fb9185465a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json new file mode 100644 index 000000000000..23436d5f8681 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/CreateThreatIntelligenceTaxiiDataConnector.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "dd124572-4962-4495-9bd2-9dade12314b4", + "friendlyName": "testTaxii", + "userName": "--", + "password": "--", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "d12423f6-a60b-4ca5-88c0-feb1a182d0f0", + "kind": "ThreatIntelligenceTaxii", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "taxiiServer": "https://limo.anomali.com/api/v1/taxii2/feeds", + "collectionId": "135", + "workspaceId": "28e5f051-34cb-4208-9037-693e5342a871", + "friendlyName": "testTaxii", + "userName": null, + "password": null, + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteAPIPolling.json new file mode 100644 index 000000000000..7f8b4eb482a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteGenericUI.json new file mode 100644 index 000000000000..7f8b4eb482a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteGenericUI.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json new file mode 100644 index 000000000000..08169e70ccde --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOffice365ProjectDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json new file mode 100644 index 000000000000..08169e70ccde --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficeDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json new file mode 100644 index 000000000000..08169e70ccde --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DeleteOfficePowerBIDataConnetor.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DisconnectAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DisconnectAPIPolling.json new file mode 100644 index 000000000000..f758b196b541 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/DisconnectAPIPolling.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "disconnectBody": {} + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAPIPolling.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAPIPolling.json new file mode 100644 index 000000000000..37f6bc494c2e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAPIPolling.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "customImage": "The image connector content", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json new file mode 100644 index 000000000000..33c8d26bdd7c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json new file mode 100644 index 000000000000..72388d9fd075 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAmazonWebServicesS3ById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "afef3743-0c88-469c-84ff-ca2e87dc1e48" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json new file mode 100644 index 000000000000..2d412cc4710d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureActiveDirectoryById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..f7181634542f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "07e42cb3-e658-4e90-801c-efa0f29d3d44" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json new file mode 100644 index 000000000000..d2686c48c5de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetAzureSecurityCenterById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDataConnectors.json new file mode 100644 index 000000000000..625d1788a6e3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDataConnectors.json @@ -0,0 +1,508 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "pollingFrequency": "OnceAMinute", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/afef3743-0c88-469c-84ff-ca2e87dc1e48", + "name": "afef3743-0c88-469c-84ff-ca2e87dc1e48", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesS3", + "properties": { + "destinationTable": "AWSVPCFlow", + "roleArn": "arn:aws:iam::072643944673:role/RoleName", + "sqsUrls": [ + "https://sqs.us-west-1.amazonaws.com/111111111111/sqsTestName" + ], + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "APIPolling", + "properties": { + "connectorUiConfig": { + "title": "GitHub Enterprise Audit Log", + "publisher": "GitHub", + "descriptionMarkdown": "The GitHub audit log connector provides the capability to ingest GitHub logs into Azure Sentinel. By connecting GitHub audit logs into Azure Sentinel, you can view this data in workbooks, use it to create custom alerts, and improve your investigation process.", + "graphQueriesTableName": "GitHubAuditLogPolling_CL", + "graphQueries": [ + { + "metricName": "Total events received", + "legend": "GitHub audit log events", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "All logs", + "query": "{{graphQueriesTableName}}\n | take 10 " + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "SentinelKindsV2", + "value": [] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + } + ], + "customs": [ + { + "name": "GitHub API personal token Key", + "description": "You need access to GitHub personal token, the key should have 'admin:org' scope" + } + ] + }, + "instructionSteps": [ + { + "title": "Connect GitHub Enterprise Audit Log to Azure Sentinel", + "description": "Enable GitHub audit Logs. \n Follow [this](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token) to create or find your personal key", + "instructions": [ + { + "parameters": { + "enable": "true", + "userRequestPlaceHoldersInput": [ + { + "displayText": "Organization Name", + "requestObjectKey": "apiEndpoint", + "placeHolderName": "{{placeHolder1}}", + "placeHolderValue": "" + } + ] + }, + "type": "APIKey" + } + ] + } + ] + }, + "pollingConfig": { + "auth": { + "authType": "APIKey", + "apiKeyIdentifier": "token", + "apiKeyName": "Authorization" + }, + "request": { + "apiEndpoint": "https://api.github.com/organizations/{{placeHolder1}}/audit-log", + "rateLimitQps": 50, + "queryWindowInMin": 15, + "httpMethod": "Get", + "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ", + "retryCount": 2, + "timeoutInSeconds": 60, + "headers": { + "Accept": "application/json", + "User-Agent": "Scuba" + }, + "queryParameters": { + "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}" + } + }, + "paging": { + "pagingType": "LinkHeader", + "pageSizeParaName": "per_page" + }, + "response": { + "eventsJsonPaths": [ + "$" + ] + } + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json new file mode 100644 index 000000000000..1e2db49a13bc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetDynamics365DataConnectorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c2541efb-c9a6-47fe-9501-87d1017d1512" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "c2541efb-c9a6-47fe-9501-87d1017d1512", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Dynamics365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "dynamics365CdsActivities": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetGenericUI.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetGenericUI.json new file mode 100644 index 000000000000..e42c42edc880 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetGenericUI.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "316ec55e-7138-4d63-ab18-90c8a60fd1c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "name": "316ec55e-7138-4d63-ab18-90c8a60fd1c8", + "etag": "\"1a00b074-0000-0100-0000-606ef5bd0000\"", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "GenericUI", + "properties": { + "connectorUiConfig": { + "title": "Qualys Vulnerability Management (CCP DEMO)", + "publisher": "Qualys", + "descriptionMarkdown": "The [Qualys Vulnerability Management (VM)](https://www.qualys.com/apps/vulnerability-management/) data connector provides the capability to ingest vulnerability host detection data into Azure Sentinel through the Qualys API. The connector provides visibility into host detection data from vulerability scans. This connector provides Azure Sentinel the capability to view dashboards, create custom alerts, and improve investigation ", + "customImage": "The image connector content", + "graphQueriesTableName": "QualysHostDetection_CL", + "graphQueries": [ + { + "metricName": "Total data received", + "legend": "{{graphQueriesTableName}}", + "baseQuery": "{{graphQueriesTableName}}" + } + ], + "sampleQueries": [ + { + "description": "Top 10 Vulerabilities detected", + "query": "{{graphQueriesTableName}}\n | mv-expand todynamic(Detections_s)\n | extend Vulnerability = tostring(Detections_s.Results)\n | summarize count() by Vulnerability\n | top 10 by count_" + } + ], + "dataTypes": [ + { + "name": "{{graphQueriesTableName}}", + "lastDataReceivedQuery": "{{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)" + } + ], + "connectivityCriteria": [ + { + "type": "IsConnectedQuery", + "value": [ + "{{graphQueriesTableName}}\n | summarize LastLogReceived = max(TimeGenerated)\n | project IsConnected = LastLogReceived > ago(30d)" + ] + } + ], + "availability": { + "status": 1, + "isPreview": true + }, + "permissions": { + "resourceProvider": [ + { + "provider": "Microsoft.OperationalInsights/workspaces", + "permissionsDisplayText": "read and write permissions on the workspace are required.", + "providerDisplayName": "Workspace", + "scope": "Workspace", + "requiredPermissions": { + "write": true, + "read": true, + "delete": true + } + }, + { + "provider": "Microsoft.OperationalInsights/workspaces/sharedKeys", + "permissionsDisplayText": "read permissions to shared keys for the workspace are required. [See the documentation to learn more about workspace keys](https://docs.microsoft.com/azure/azure-monitor/platform/agent-windows#obtain-workspace-id-and-key).", + "providerDisplayName": "Keys", + "scope": "Workspace", + "requiredPermissions": { + "action": true + } + } + ], + "customs": [ + { + "name": "Microsoft.Web/sites permissions", + "description": "Read and write permissions to Azure Functions to create a Function App is required. [See the documentation to learn more about Azure Functions](https://docs.microsoft.com/azure/azure-functions/)." + }, + { + "name": "Qualys API Key", + "description": "A Qualys VM API username and password is required. [See the documentation to learn more about Qualys VM API](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf)." + } + ] + }, + "instructionSteps": [ + { + "title": "", + "description": ">**NOTE:** This connector uses Azure Functions to connect to Qualys VM to pull its logs into Azure Sentinel. This might result in additional data ingestion costs. Check the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/) for details." + }, + { + "title": "", + "description": ">**(Optional Step)** Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. [Follow these instructions](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) to use Azure Key Vault with an Azure Function App." + }, + { + "title": "", + "description": "**STEP 1 - Configuration steps for the Qualys VM API**\n\n1. Log into the Qualys Vulnerability Management console with an administrator account, select the **Users** tab and the **Users** subtab. \n2. Click on the **New** drop-down menu and select **Users..**\n3. Create a username and password for the API account. \n4. In the **User Roles** tab, ensure the account role is set to **Manager** and access is allowed to **GUI** and **API**\n4. Log out of the administrator account and log into the console with the new API credentials for validation, then log out of the API account. \n5. Log back into the console using an administrator account and modify the API accounts User Roles, removing access to **GUI**. \n6. Save all changes." + }, + { + "title": "", + "description": "**STEP 2 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function**\n\n>**IMPORTANT:** Before deploying the Qualys VM connector, have the Workspace ID and Workspace Primary Key (can be copied from the following), as well as the Qualys VM API Authorization Key(s), readily available.", + "instructions": [ + { + "parameters": { + "fillWith": [ + "WorkspaceId" + ], + "label": "Workspace ID" + }, + "type": "CopyableLabel" + }, + { + "parameters": { + "fillWith": [ + "PrimaryKey" + ], + "label": "Primary Key" + }, + "type": "CopyableLabel" + } + ] + }, + { + "title": "Option 1 - Azure Resource Manager (ARM) Template", + "description": "Use this method for automated deployment of the Qualys VM connector using an ARM Tempate.\n\n1. Click the **Deploy to Azure** button below. \n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)](https://aka.ms/sentinelqualysvmazuredeploy)\n2. Select the preferred **Subscription**, **Resource Group** and **Location**. \n3. Enter the **Workspace ID**, **Workspace Key**, **API Username**, **API Password** , update the **URI**, and any additional URI **Filter Parameters** (each filter should be separated by an \"&\" symbol, no spaces.) \n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348) -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format. \n - The default **Time Interval** is set to pull the last five (5) minutes of data. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly (in the function.json file, post deployment) to prevent overlapping data ingestion. \n> - Note: If using Azure Key Vault secrets for any of the values above, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details. \n4. Mark the checkbox labeled **I agree to the terms and conditions stated above**. \n5. Click **Purchase** to deploy." + }, + { + "title": "Option 2 - Manual Deployment of Azure Functions", + "description": "Use the following step-by-step instructions to deploy the Quayls VM connector manually with Azure Functions." + }, + { + "title": "", + "description": "**1. Create a Function App**\n\n1. From the Azure Portal, navigate to [Function App](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Web%2Fsites/kind/functionapp), and select **+ Add**.\n2. In the **Basics** tab, ensure Runtime stack is set to **Powershell Core**. \n3. In the **Hosting** tab, ensure the **Consumption (Serverless)** plan type is selected.\n4. Make other preferrable configuration changes, if needed, then click **Create**." + }, + { + "title": "", + "description": "**2. Import Function App Code**\n\n1. In the newly created Function App, select **Functions** on the left pane and click **+ New Function**.\n2. Select **Timer Trigger**.\n3. Enter a unique Function **Name** and leave the default cron schedule of every 5 minutes, then click **Create**.\n5. Click on **Code + Test** on the left pane. \n6. Copy the [Function App Code](https://aka.ms/sentinelqualysvmazurefunctioncode) and paste into the Function App `run.ps1` editor.\n7. Click **Save**." + }, + { + "title": "", + "description": "**3. Configure the Function App**\n\n1. In the Function App, select the Function App Name and select **Configuration**.\n2. In the **Application settings** tab, select **+ New application setting**.\n3. Add each of the following seven (7) application settings individually, with their respective string values (case-sensitive): \n\t\tapiUsername\n\t\tapiPassword\n\t\tworkspaceID\n\t\tworkspaceKey\n\t\turi\n\t\tfilterParameters\n\t\ttimeInterval\n> - Enter the URI that corresponds to your region. The complete list of API Server URLs can be [found here](https://www.qualys.com/docs/qualys-api-vmpc-user-guide.pdf#G4.735348). The `uri` value must follow the following schema: `https:///api/2.0/fo/asset/host/vm/detection/?action=list&vm_processed_after=` -- There is no need to add a time suffix to the URI, the Function App will dynamically append the Time Value to the URI in the proper format.\n> - Add any additional filter parameters, for the `filterParameters` variable, that need to be appended to the URI. Each parameter should be seperated by an \"&\" symbol and should not include any spaces.\n> - Set the `timeInterval` (in minutes) to the value of `5` to correspond to the Timer Trigger of every `5` minutes. If the time interval needs to be modified, it is recommended to change the Function App Timer Trigger accordingly to prevent overlapping data ingestion.\n> - Note: If using Azure Key Vault, use the`@Microsoft.KeyVault(SecretUri={Security Identifier})`schema in place of the string values. Refer to [Key Vault references documentation](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references) for further details.\n4. Once all application settings have been entered, click **Save**." + }, + { + "title": "", + "description": "**4. Configure the host.json**.\n\nDue to the potentially large amount of Qualys host detection data being ingested, it can cause the execution time to surpass the default Function App timeout of five (5) minutes. Increase the default timeout duration to the maximum of ten (10) minutes, under the Consumption Plan, to allow more time for the Function App to execute.\n\n1. In the Function App, select the Function App Name and select the **App Service Editor** blade.\n2. Click **Go** to open the editor, then select the **host.json** file under the **wwwroot** directory.\n3. Add the line `\"functionTimeout\": \"00:10:00\",` above the `managedDependancy` line \n4. Ensure **SAVED** appears on the top right corner of the editor, then exit the editor.\n\n> NOTE: If a longer timeout duration is required, consider upgrading to an [App Service Plan](https://docs.microsoft.com/azure/azure-functions/functions-scale#timeout)" + } + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetIoTById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetIoTById.json new file mode 100644 index 000000000000..81195a9597f3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetIoTById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "d2e5dc7a-f3a2-429d-954b-939fa8c2932e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/d2e5dc7a-f3a2-429d-954b-939fa8c2932e", + "name": "d2e5dc7a-f3a2-429d-954b-939fa8c2932e", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "IOT", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json new file mode 100644 index 000000000000..92748d783873 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "b96d014d-b5c2-4a01-9aba-a8058f629d42" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..63a4108be1a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json new file mode 100644 index 000000000000..88c7a525247d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftInsiderRiskManagementById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeIRM", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json new file mode 100644 index 000000000000..6c4ebe52880d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatIntelligenceById.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "bingSafetyPhishingURL": { + "state": "Enabled", + "lookbackPeriod": "example ??" + }, + "microsoftEmergingThreatFeed": { + "state": "Enabled", + "lookbackPeriod": "example" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json new file mode 100644 index 000000000000..9088f8f00dba --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetMicrosoftThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "incidents": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json new file mode 100644 index 000000000000..7605e1565732 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365AdvancedThreatProtectionById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "3d3e955e-33eb-401d-89a7-251c81ddd660" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/3d3e955e-33eb-401d-89a7-251c81ddd660", + "name": "3d3e955e-33eb-401d-89a7-251c81ddd660", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficeATP", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json new file mode 100644 index 000000000000..6d57e5f9fecd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOffice365ProjectDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365Project", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json new file mode 100644 index 000000000000..064a2311398c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json new file mode 100644 index 000000000000..487a834e1a1b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetOfficePowerBIDataConnetorById.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "OfficePowerBI", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..c74c817aaaf7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json new file mode 100644 index 000000000000..0b37102c6665 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/dataConnectors/GetThreatIntelligenceTaxiiById.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "dataConnectorId": "c39bb458-02a7-4b3f-b0c8-71a1d2692652" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "name": "c39bb458-02a7-4b3f-b0c8-71a1d2692652", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligenceTaxii", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "workspaceId": "8b014a77-4695-4ef4-96bb-6623afb121a2", + "friendlyName": "My TI Taxii Connector", + "taxiiServer": "https://mytaxiiserver.com/taxiing/v2/api", + "collectionId": "e0b1f32d-1188-48f7-a7a3-de71924e4b5e", + "userName": "", + "password": "", + "taxiiLookbackPeriod": "2020-01-01T13:00:30.123Z", + "pollingFrequency": "OnceADay", + "dataTypes": { + "taxiiClient": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetGeodataByIp.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetGeodataByIp.json new file mode 100644 index 000000000000..9c9e7c79bdef --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetGeodataByIp.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "ipAddress": "1.2.3.4" + }, + "responses": { + "200": { + "body": { + "asn": "12345", + "carrier": "Microsoft", + "city": "Redmond", + "cityCf": 90, + "continent": "north america", + "country": "united states", + "countryCf": 99, + "ipAddr": "1.2.3.4", + "ipRoutingType": "fixed", + "latitude": "40.2436", + "longitude": "-100.8891", + "organization": "Microsoft", + "organizationType": "tech", + "region": "western usa", + "state": "washington", + "stateCf": null, + "stateCode": "wa" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetWhoisByDomainName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetWhoisByDomainName.json new file mode 100644 index 000000000000..d6a76a932b71 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/enrichment/GetWhoisByDomainName.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "domain": "microsoft.com" + }, + "responses": { + "200": { + "body": { + "domain": "microsoft.com", + "server": null, + "created": "2021-09-01T16:15:01.187045Z", + "updated": "2021-09-01T16:15:01.187045Z", + "expires": null, + "parsedWhois": { + "registrar": { + "name": "MarkMonitor, Inc", + "abuseContactPhone": "12083895770", + "abuseContactEmail": "abuse@microsoft.com", + "url": "http://www.markmonitor.com", + "whoisServer": "whois.markmonitor.com" + }, + "contacts": { + "admin": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "registrant": null, + "billing": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + }, + "tech": { + "name": "Administrator", + "org": "Microsoft", + "street": [ + "One Microsoft Way" + ], + "city": null, + "state": "WA", + "postal": "98052", + "country": "United States", + "phone": "1-800-555-1234", + "fax": null, + "email": "mail@microsoft.com" + } + }, + "nameServers": [ + "ns1-205.azure-dns.com", + "ns2-205.azure-dns.net", + "ns3-205.azure-dns.org", + "ns4-205.azure-dns.info" + ], + "statuses": [ + "clientUpdateProhibited", + "clientTransferProhibited", + "clientDeleteProhibited", + "serverUpdateProhibited", + "serverTransferProhibited", + "serverDeleteProhibited" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAccountEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAccountEntityById.json new file mode 100644 index 000000000000..c735d044bc21 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAccountEntityById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0", + "dnsDomain": "contoso.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAzureResourceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAzureResourceEntityById.json new file mode 100644 index 000000000000..298e26bacb26 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetAzureResourceEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "AzureResource", + "properties": { + "friendlyName": "vm1", + "resourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetCloudApplicationEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetCloudApplicationEntityById.json new file mode 100644 index 000000000000..acd8f8686c59 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetCloudApplicationEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "CloudApplication", + "properties": { + "friendlyName": "AppName", + "appId": 1, + "appName": "AppName", + "instanceName": "InstanceName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetDnsEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetDnsEntityById.json new file mode 100644 index 000000000000..88b54987ccdf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetDnsEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "f4e74920-f2c0-4412-a45f-66d94fdf01f8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "name": "f4e74920-f2c0-4412-a45f-66d94fdf01f8", + "type": "Microsoft.SecurityInsights/entities", + "kind": "DnsResolution", + "properties": { + "friendlyName": "domain", + "domainName": "domain", + "ipAddressEntityIds": [ + "475d3120-33e0-4841-9f1c-a8f15a801d19" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetEntities.json new file mode 100644 index 000000000000..af4a1d301fb4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetEntities.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain", + "upnSuffix": "contoso", + "sid": "S-1-5-18", + "aadTenantId": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "aadUserId": "f7033626-2572-46b1-bba0-06646f4f95b3", + "puid": "ee3cb2d8-14ba-45ef-8009-d6f1cacfa04d", + "isDomainJoined": true, + "objectGuid": "11227b78-3c6e-436e-a2a2-02fc7662eca0" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "name": "fed9fe89-dce8-40f2-bf44-70f23fe93b3c", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileEntityById.json new file mode 100644 index 000000000000..5818f749e81a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "File", + "properties": { + "friendlyName": "cmd.exe", + "directory": "C:\\Windows\\System32", + "fileName": "cmd.exe" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileHashEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileHashEntityById.json new file mode 100644 index 000000000000..822077f3e93c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetFileHashEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "ea359fa6-c1e5-f878-e105-6344f3e399a1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/ea359fa6-c1e5-f878-e105-6344f3e399a1", + "name": "ea359fa6-c1e5-f878-e105-6344f3e399a1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "FileHash", + "properties": { + "friendlyName": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0(SHA256)", + "hashValue": "E923636F1093C414AAB39F846E9D7A372BEEFA7B628B28179197E539C56AA0F0", + "algorithm": "SHA256" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetHostEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetHostEntityById.json new file mode 100644 index 000000000000..005d0fa8277d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetHostEntityById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Host", + "properties": { + "friendlyName": "vm1", + "dnsDomain": "contoso", + "ntDomain": "domain", + "hostName": "vm1", + "netBiosName": "contoso", + "azureID": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Compute/virtualMachines/vm1", + "omsAgentID": "70fbdad0-7441-4564-b2b5-2b8862d0fee0", + "osFamily": "Windows", + "osVersion": "1.0", + "isDomainJoined": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIoTDeviceEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIoTDeviceEntityById.json new file mode 100644 index 000000000000..2b8119357ffd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIoTDeviceEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "IoTDevice", + "properties": { + "friendlyName": "device1", + "deviceId": "device1", + "iotHubEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/8b2d9401-f953-e89d-2583-be9b4975870c" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIpEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIpEntityById.json new file mode 100644 index 000000000000..cd55673d7e77 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetIpEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Ip", + "properties": { + "friendlyName": "10.3.2.8", + "address": "10.3.2.8" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailClusterEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailClusterEntityById.json new file mode 100644 index 000000000000..5922a2990220 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailClusterEntityById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "MailCluster", + "properties": { + "friendlyName": "ClusterSourceIdentifier", + "networkMessageIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "countByDeliveryStatus": { + "deliveryStatus": 5 + }, + "countByThreatType": { + "threatType": 6 + }, + "countByProtectionStatus": { + "protectionStatus": 65 + }, + "threats": [ + "thrreat1", + "thread2" + ], + "query": "kqlFilter", + "queryTime": "2021-09-01T01:42:01.6026755Z", + "source": "ClusterSourceIdentifier", + "clusterSourceIdentifier": "cluster source identifier", + "clusterSourceType": "Similarity", + "clusterGroup": "cluster group" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailMessageEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailMessageEntityById.json new file mode 100644 index 000000000000..973da82017b4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailMessageEntityById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "MailMessage", + "properties": { + "friendlyName": "cmd.exe", + "fileEntityIds": [ + "ccfce855-e02f-491b-a1cc-5bafb371ad0c" + ], + "recipient": "recipient", + "urls": [ + "http://moqbrarcwmnk.banxhdcojlg.biz" + ], + "threats": [ + "thrreat1", + "thread2" + ], + "p1Sender": "email@fake.com", + "p1SenderDisplayName": "p1 sender display name", + "p1SenderDomain": "p1 sender domain", + "senderIP": "1.23.34.43", + "p2Sender": "the sender", + "deliveryAction": "Blocked", + "p2SenderDisplayName": "p2 sender display name", + "p2SenderDomain": "p2 Sender Domain", + "internetMessageId": "message id", + "subject": "subject", + "language": "language", + "threatDetectionMethods": [ + "thrreat1", + "thread2" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailboxEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailboxEntityById.json new file mode 100644 index 000000000000..74138b088e92 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMailboxEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Mailbox", + "properties": { + "friendlyName": "emailAddress1", + "displayName": "display name", + "mailboxPrimaryAddress": "emailAddress1", + "upn": "upn1", + "externalDirectoryObjectId": "18cc8fdc-e169-4451-983a-bd027db286eb" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMalwareEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMalwareEntityById.json new file mode 100644 index 000000000000..10901758cba5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetMalwareEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "af378b21-b4aa-4fe7-bc70-13f8621a322f" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/af378b21-b4aa-4fe7-bc70-13f8621a322f", + "name": "af378b21-b4aa-4fe7-bc70-13f8621a322f", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Malware", + "properties": { + "malwareName": "Win32/Toga!rfn", + "category": "Trojan", + "friendlyName": "Win32/Toga!rfn" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetProcessEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetProcessEntityById.json new file mode 100644 index 000000000000..75910a0abb91 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetProcessEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "7264685c-038c-42c6-948c-38e14ef1fb98" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/7264685c-038c-42c6-948c-38e14ef1fb98", + "name": "7264685c-038c-42c6-948c-38e14ef1fb98", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Process", + "properties": { + "friendlyName": "cmd.exe", + "processId": "0x2aa48", + "commandLine": "\"cmd\"", + "imageFileEntityId": "bba7b47b-c1c1-4021-b568-5b07b9292f5e" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetQueries.json new file mode 100644 index 000000000000..25a12568483d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetQueries.json @@ -0,0 +1,456 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "kind": "Insight" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/6db7f5d1-f41e-46c2-b935-230b36a569e6", + "name": "6db7f5d1-f41e-46c2-b935-230b36a569e6", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Actions on account", + "description": "Summary of actions taken on the specified account, grouped by action: password resets and changes, account lockouts (policy or admin), account creation and deletion, account enabled and disabled\n", + "baseQuery": "let GetAccountActions = (v_Account_Name:string, v_Account_NTDomain:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string, v_Account_SID:string){\nAuditLogs\n| where OperationName in~ ('Delete user', 'Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', 'Update user')\n| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)\n| extend Account_Name = tostring(split(UserPrincipalName, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserPrincipalName, '@')[1])\n| extend Action = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0])))\n| extend ModifiedProperty = parse_json(Action).displayName\n| extend ModifiedValue = parse_json(Action).newValue\n| extend Account_AADUserId = tostring(TargetResources[0].id)\n| extend DisableUser = iif(ModifiedProperty =~ 'AccountEnabled' and ModifiedValue =~ '[false]', 'True', 'False')\n| union isfuzzy=true (\nSecurityEvent\n| where EventID in (4720, 4722, 4723, 4724, 4725, 4726, 4740)\n| extend OperationName = tostring(EventID)\n| where AccountType =~ \"user\" or isempty(AccountType)\n| extend Account_Name = TargetUserName, Account_NTDomain = TargetDomainName, Account_SID = TargetSid\n)\n| where (Account_Name =~ v_Account_Name and (Account_UPNSuffix =~ v_Account_UPNSuffix or Account_NTDomain =~ v_Account_NTDomain)) or Account_AADUserId =~ v_Account_AADUserId or Account_SID =~ v_Account_SID\n};\nGetAccountActions('CTFFUser4', '', 'seccxp.ninja', '', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Action", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Most Recent", + "outputType": "Date", + "supportDeepLink": false + }, + { + "header": "Count", + "outputType": "Number", + "supportDeepLink": true + } + ], + "queriesDefinitions": [ + { + "filter": "where OperationName in~ ('Change user password', 'Reset user password', 'Change password (self-service)', 'Reset password (by admin)', 'Reset password (self-service)', '4724', '4723')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Blocked from self-service password reset', '4740')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName == '4725' or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Add user', '4720')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Delete user', '4726')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4725', 'Blocked from self-service password reset', '4740') or (OperationName =~ 'Update user' and DisableUser =~ 'True')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('4722', '4767') or (OperationName =~ 'Update user' and DisableUser =~ 'False')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where OperationName in~ ('Update user','4738')", + "summarize": "summarize MostRecent = max(TimeGenerated), Count = count() by OperationName", + "project": "project Title = OperationName, MostRecent, Count", + "linkColumnsDefinitions": [ + { + "projectedName": "Count", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Actions by type", + "dataSets": [ + { + "query": "summarize Count = count() by bin(TimeGenerated, 1h), OperationName", + "xColumnName": "TimeGenerated", + "yColumnName": "Count", + "legendColumnName": "OperationName" + } + ], + "type": "BarChart" + }, + "additionalQuery": { + "text": "See all account activity", + "query": "project TimeGenerated, UserPrincipalName, Account_Name, OperationName, Activity, DisableUser, TargetSid, AADUserId, InitiatedBy, AADTenantId, AccountType, Computer, SubjectAccount, SubjectUserSid, EventData" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_NTDomain" + ], + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ], + [ + "Account_SID" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/0a5d7b14-b485-450a-a0ac-4100c860ac32", + "name": "0a5d7b14-b485-450a-a0ac-4100c860ac32", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high office operation count", + "description": "Highlight office operations of the user with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh = 3; \nlet maxAnomalies = 3;\nlet BeforeRange = 12d; \nlet EndTime = todatetime('{{EndTimeUTC}}'); \nlet StartTime = todatetime('{{StartTimeUTC}}');\nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string) { \n OfficeActivity \n | extend splitUserId=split(UserId, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix }; \nuserData('CTFFUser4', 'seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Operation", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "Operation", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where Operation == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous operation timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost=maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore-maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project Operation, TimeGenerated, count_\n| mvexpand TimeGenerated, count_ | project todatetime(TimeGenerated), toint(count_), Operation\n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "Operation" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous operations", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by Operation \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh | order by maxAnomalyScorePost desc \n| project Operation, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "name": "e6cf68e6-1eca-4fbb-9fad-6280f2a9476e", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Resource access", + "description": "Provides the count and distinct resource accesses by a given user account\n", + "baseQuery": "let Operations = dynamic([\"FileDownloaded\", \"FileUploaded\"]);\nlet UserOperationToSharePoint = (v_Account_Name:string, v_Account_UPNSuffix:string) {\nOfficeActivity\n// Select sharepoint activity that is relevant\n| where RecordType in~ ('SharePointFileOperation')\n| where Operation in~ (Operations)\n| extend Account_Name = tostring(split(UserId, '@')[0])\n| extend Account_UPNSuffix = tostring(split(UserId, '@')[1])\n| where Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix\n| project TimeGenerated, Account_Name, Account_UPNSuffix, UserId, OfficeId, RecordType, Operation, OrganizationId, UserType, UserKey, OfficeWorkload, OfficeObjectId, ClientIP, ItemType, UserAgent, Site_Url, SourceRelativeUrl, SourceFileName, SourceFileExtension , Start_Time , ElevationTime , TenantId, SourceSystem , Type\n};\nUserOperationToSharePoint ('CTFFUser4','seccxp.ninja')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Resource Type", + "outputType": "String", + "supportDeepLink": false + }, + { + "header": "Distinct Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "Total Resources", + "outputType": "Number", + "supportDeepLink": true + }, + { + "header": "IPAddress(es)", + "outputType": "String", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "where Operation =~ 'FileUploaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + }, + { + "filter": "where Operation =~ 'FileDownloaded'", + "summarize": "summarize DistinctResources = dcount(SourceFileName), TotalResources = count(SourceFileName), IPAddresses = make_set(ClientIP) by Operation", + "project": "project Title = Operation, DistinctResources, TotalResources, IPAddresses = case(array_length(IPAddresses) == 1, tostring(IPAddresses[0]), array_length(IPAddresses) > 1, 'Many', 'None')", + "linkColumnsDefinitions": [ + { + "projectedName": "DistinctResources", + "Query": "{{BaseQuery}} | " + }, + { + "projectedName": "TotalResources", + "Query": "{{BaseQuery}} | " + } + ] + } + ] + }, + "chartQuery": { + "title": "Resource access over time", + "dataSets": [ + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileUploaded'), TotalResources = countif(Operation =~ 'FileUploaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Uploads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + }, + { + "query": "summarize DistinctResources = dcountif(Operation, Operation =~ 'FileDownloaded'), TotalResources = countif(Operation =~ 'FileDownloaded') by bin(TimeGenerated, 1h) | extend Legend = 'File Downloads'", + "xColumnName": "TimeGenerated", + "yColumnName": "TotalResources", + "legendColumnName": "Legend" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "See all resource activity", + "query": "where Operation in~ (Operations)" + }, + "defaultTimeRange": { + "beforeRange": "12h", + "afterRange": "12h" + }, + "referenceTimeRange": null, + "dataTypes": [ + { + "dataType": "OfficeActivity" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1/queries/cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "name": "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4", + "type": "Microsoft.SecurityInsights/entities/queries", + "kind": "Insight", + "properties": { + "displayName": "Anomalously high Azure sign-in result count", + "description": "Highlight Azure sign-in results by the user principal with anomalously high count compared to those observed in the preceding 14 days.", + "baseQuery": "let AScoreThresh=3; \nlet maxAnomalies=3; \nlet BeforeRange = 12d; \nlet EndTime=todatetime('{{EndTimeUTC}}');\nlet StartTime = todatetime('{{StartTimeUTC}}'); \nlet numDays = tolong((EndTime-StartTime)/1d); \nlet userData = (v_Account_Name:string, v_Account_UPNSuffix:string, v_Account_AADUserId:string) { \n SigninLogs \n | where TimeGenerated between ((StartTime-BeforeRange) .. EndTime)\n | extend splitUserId=split(UserPrincipalName, '@')\n | extend Account_Name = tostring(splitUserId[0]), Account_UPNSuffix = tostring(splitUserId[1])\n | where (Account_Name =~ v_Account_Name and Account_UPNSuffix =~ v_Account_UPNSuffix) or UserId =~ v_Account_AADUserId };\nuserData('CTFFUser4', 'seccxp.ninja', '')\n", + "tableQuery": { + "columnsDefinitions": [ + { + "header": "Result Description", + "outputType": "String", + "supportDeepLink": true + }, + { + "header": "Expected Count", + "outputType": "Number", + "supportDeepLink": false + }, + { + "header": "Actual Count", + "outputType": "Number", + "supportDeepLink": false + } + ], + "queriesDefinitions": [ + { + "filter": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc\n", + "summarize": "take 1", + "project": "project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)", + "linkColumnsDefinitions": [ + { + "projectedName": "ResultDescription", + "Query": "{{BaseQuery}} \n| where TimeGenerated between (StartTime .. EndTime) \n| where ResultDescription == ''\n" + } + ] + } + ] + }, + "chartQuery": { + "title": "Anomalous sign-in result timeline", + "dataSets": [ + { + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_ \n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies \n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,round(postExpectedCount,2)) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| take 1 \n| project ResultDescription, TimeGenerated, count_ \n| mvexpand TimeGenerated, count_ \n| project todatetime(TimeGenerated), toint(count_), ResultDescription \n", + "xColumnName": "TimeGenerated", + "yColumnName": "count_", + "legendColumnName": "ResultDescription" + } + ], + "type": "LineChart" + }, + "additionalQuery": { + "text": "Query all anomalous sign-in results", + "query": "make-series count() default=0 on TimeGenerated from (StartTime - BeforeRange) to EndTime step 1d by ResultDescription \n| extend (anomalies,anomalyScore, expectedCount)=series_decompose_anomalies(count_,AScoreThresh,7,'linefit',numDays, 'ctukey') \n| extend count1=count_, TimeGenerated1=TimeGenerated, anomalyScore1=anomalyScore\n| mv-apply count1 to typeof(long), TimeGenerated1 to typeof(datetime), anomalyScore1 to typeof(double), anomalies to typeof(long) on (summarize totAnomalies=sumif(abs(anomalies), TimeGenerated1 < StartTime), baseStd=stdevif(count1, TimeGenerated1 < StartTime), baseAvg=avgif(count1, TimeGenerated1 < StartTime), maxCountPost=maxif(count1,TimeGenerated1 >= StartTime), maxAnomalyScorePost = maxif(anomalyScore1, TimeGenerated1 >= StartTime)) \n| extend count1=count_\n| mv-apply count1 to typeof(long), anomalyScore to typeof(double), expectedCount to typeof(double) on ( summarize (dummy, postExpectedCount, postActualCount)=arg_min(abs(anomalyScore - maxAnomalyScorePost), expectedCount, count1) ) \n| where totAnomalies < maxAnomalies\n| extend postAnomalyScore=iff(baseStd == 0 and maxCountPost > tolong(count_[0]),1000.0,maxAnomalyScorePost), postExpectedCount=iff(postExpectedCount < 0,0.0,postExpectedCount) \n| where maxAnomalyScorePost > AScoreThresh \n| order by maxAnomalyScorePost desc \n| project ResultDescription, expectedCount=round(postExpectedCount,2), actualCount=postActualCount, anomalyScore=round(postAnomalyScore,2)\n" + }, + "defaultTimeRange": { + "beforeRange": "1d", + "afterRange": "0d" + }, + "referenceTimeRange": { + "beforeRange": "12d" + }, + "dataTypes": [ + { + "dataType": "SigninLogs" + } + ], + "inputEntityType": "Account", + "requiredInputFieldsSets": [ + [ + "Account_Name", + "Account_UPNSuffix" + ], + [ + "Account_AADUserId" + ] + ], + "entitiesFilter": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryKeyEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryKeyEntityById.json new file mode 100644 index 000000000000..f87cc6811751 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryKeyEntityById.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "RegistryKey", + "properties": { + "friendlyName": "SOFTWARE", + "hive": "HKEY_LOCAL_MACHINE", + "key": "SOFTWARE" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryValueEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryValueEntityById.json new file mode 100644 index 000000000000..c6e826fa28bf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetRegistryValueEntityById.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "dc44bd11-b348-4d76-ad29-37bf7aa41356" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/dc44bd11-b348-4d76-ad29-37bf7aa41356", + "name": "dc44bd11-b348-4d76-ad29-37bf7aa41356", + "type": "Microsoft.SecurityInsights/entities", + "kind": "RegistryValue", + "properties": { + "friendlyName": "Data", + "valueName": "Name", + "valueData": "Data", + "valueType": "String", + "keyEntityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityAlertEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityAlertEntityById.json new file mode 100644 index 000000000000..a706ce0776c2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityAlertEntityById.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "4aa486e0-6f85-41af-99ea-7acdce7be6c8", + "intent": "Unknown", + "alertDisplayName": "Suspicious account detected", + "description": "", + "confidenceLevel": "Unknown", + "severity": "Medium", + "vendorName": "Microsoft", + "productName": "Azure Sentinel", + "productComponentName": "Scheduled Alerts", + "alertType": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b_46c7b6c0-ff43-44dd-8b4d-ceffff7aa7df", + "providerAlertId": "c2bafff9-fb31-41d0-a177-ecbff7a02ffe", + "processingEndTime": "2019-07-06T13:56:53.5392366Z", + "status": "New", + "endTimeUtc": "2021-09-01T13:21:45.926185Z", + "startTimeUtc": "2021-09-01T08:21:45.926185Z", + "timeGenerated": "2021-09-01T13:56:53.5392366Z", + "tactics": [ + "Persistence", + "LateralMovement" + ], + "additionalData": { + "Query": "Heartbeat \n| extend AccountCustomEntity = \"administrator\"", + "Query Period": "05:00:00", + "Trigger Operator": "GreaterThan", + "Trigger Threshold": "200", + "Search Query Results Overall Count": "203", + "Total Account Entities": "1" + }, + "friendlyName": "Suspicious account detected", + "alertLink": "https://portal.azure.com/#blade/Microsoft_Azure_Security/AlertBlade/alertId/2518119885989999999_4aa486e0-6f85-41af-99ea-7acdce7be6c8/subscriptionId/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/myRg/myWorkspace/referencedFrom/alertDeepLink/location/centralus" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityGroupEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityGroupEntityById.json new file mode 100644 index 000000000000..2a18246b48b8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSecurityGroupEntityById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SecurityGroup", + "properties": { + "friendlyName": "Name", + "distinguishedName": "Name", + "sid": "Sid", + "objectGuid": "fb1b8e04-d944-4986-b39a-1ce9adedcd98" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSubmissionMailEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSubmissionMailEntityById.json new file mode 100644 index 000000000000..dc502d451330 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetSubmissionMailEntityById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "SubmissionMail", + "properties": { + "friendlyName": "recipient", + "submissionId": "5bb3d8fe-54bc-499c-bc21-86fe8df2a184", + "submitter": "submitter", + "recipient": "recipient", + "sender": "sender", + "senderIp": "1.4.35.34", + "subject": "subject", + "reportType": "report type" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetUrlEntityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetUrlEntityById.json new file mode 100644 index 000000000000..c76805690223 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/GetUrlEntityById.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Url", + "properties": { + "friendlyName": "https://bing.com", + "url": "https://bing.com" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/expand/PostExpandEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/expand/PostExpandEntity.json new file mode 100644 index 000000000000..1b04ba4d9824 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/expand/PostExpandEntity.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "expansionId": "a77992f3-25e9-4d01-99a4-5ff606cc410a", + "startTime": "2019-04-25T00:00:00.000Z", + "endTime": "2019-05-26T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/entities", + "kind": "Ip", + "properties": { + "address": "13.89.108.248", + "friendlyName": "13.89.108.248" + } + } + ], + "edges": [ + { + "targetEntityId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/c1d60d86-5988-11eb-ae93-0242ac130002", + "additionalData": { + "EpochTimestamp": "1608289949", + "FirstSeen": "2021-09-01T11:12:29.597Z", + "Source": "Heartbeat" + } + } + ] + }, + "metaData": { + "aggregations": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/insights/PostGetInsights.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/insights/PostGetInsights.json new file mode 100644 index 000000000000..bde42dc3a25c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/insights/PostGetInsights.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "addDefaultExtendedTimeRange": false, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z", + "insightQueryIds": [ + "cae8d0aa-aa45-4d53-8d88-17dd64ffd4e4" + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tableQueryResults": { + "columns": [ + { + "name": "Title", + "type": "string" + }, + { + "name": "NameCount", + "type": "long" + }, + { + "name": "SIDCount", + "type": "long" + }, + { + "name": "InternalOrder", + "type": "long" + }, + { + "name": "Index", + "type": "long" + } + ], + "rows": [ + [ + "MyTitle", + "15", + "SID", + "1", + "1" + ] + ] + }, + "chartQueryResults": [ + { + "columns": [ + { + "name": "TimeGenerated", + "type": "datetime" + }, + { + "name": "Count", + "type": "long" + }, + { + "name": "Legend", + "type": "string" + } + ], + "rows": [ + [ + "2021-09-01T00:00:00.000Z", + "55", + "SomeLegend" + ] + ] + } + ], + "queryTimeInterval": { + "startTime": "2021-09-01T23:35:20Z", + "endTime": "2021-09-01T23:35:20Z" + }, + "queryId": "e29ee1ef-7445-455e-85f1-269f2d536d61" + } + ], + "metaData": { + "totalCount": 7, + "errors": [ + { + "kind": "Insight", + "queryId": "4a70a63d-25c4-6312-b73e-4f302a90c06a", + "errorMessage": "Internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetAllEntityRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetAllEntityRelations.json new file mode 100644 index 000000000000..39cc520d54de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetAllEntityRelations.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetEntityRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetEntityRelationByName.json new file mode 100644 index 000000000000..8484b374fdd7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/relations/GetEntityRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/entities/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/incidents" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/timeline/PostTimelineEntity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/timeline/PostTimelineEntity.json new file mode 100644 index 000000000000..ca9cba1b4173 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entities/timeline/PostTimelineEntity.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityId": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "parameters": { + "numberOfBucket": 4, + "startTime": "2021-09-01T00:00:00.000Z", + "endTime": "2021-10-01T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "kind": "SecurityAlert", + "description": "The alert description", + "azureResourceId": "4467341f-fb73-4f99-a9b3-29473532cf5a_bf7c3a2f-b743-6410-3ff0-ec64b5995d50", + "productName": "Azure Sentinel", + "displayName": "Alert display name", + "severity": "Medium", + "endTimeUtc": "2021-09-01T23:31:28.02Z", + "startTimeUtc": "2021-09-01T23:32:28.01Z", + "timeGenerated": "2021-09-01T23:37:25.8136594Z", + "alertType": "4467341f-fb73-4f99-a9b3-29473532cf5a_c93bf33e-055e-4972-9e7d-f84fe3fb61ae" + }, + { + "kind": "Activity", + "queryId": "e0459780-ac9d-4b72-8bd4-fecf6b46a0a1", + "bucketStartTimeUTC": "2021-09-01T21:31:28.02Z", + "bucketEndTimeUTC": "2021-09-01T23:31:28.02Z", + "firstActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "lastActivityTimeUTC": "2021-09-01T21:35:28.02Z", + "content": "he user has deleted the account 3 time(s)", + "title": "The user has deleted an account" + } + ], + "metaData": { + "totalCount": 6, + "aggregations": [ + { + "count": 4, + "kind": "Activity" + }, + { + "count": 2, + "kind": "SecurityAlert" + } + ], + "errors": [ + { + "kind": "Activity", + "queryId": "11067f9f-d6a7-4488-887f-0ba564268879", + "errorMessage": "syntax error" + }, + { + "kind": "SecurityAlert", + "errorMessage": "internal server error" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/CreateEntityQueryActivity.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/CreateEntityQueryActivity.json new file mode 100644 index 000000000000..c934ebfdc4e6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/CreateEntityQueryActivity.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "entityQuery": { + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "kind": "Activity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/DeleteEntityQuery.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/DeleteEntityQuery.json new file mode 100644 index 000000000000..c1b253843235 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/DeleteEntityQuery.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetActivityEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetActivityEntityQueryById.json new file mode 100644 index 000000000000..b35c93f05b24 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetActivityEntityQueryById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "enabled": true, + "templateName": null, + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetEntityQueries.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetEntityQueries.json new file mode 100644 index 000000000000..490b48983147 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetEntityQueries.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "kind": "Expansion", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count asc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
    ')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Least active accounts on Azure from this IP" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let AccountActivity_byIP = (v_IP_Address:string){\r\n AzureActivity\r\n | where Caller != '' and CallerIpAddress == v_IP_Address\r\n | summarize Account_Aux_StartTime = min(TimeGenerated), Account_Aux_EndTime = max(TimeGenerated), Count = count() by Caller, TenantId\r\n | top 10 by Count desc nulls last \r\n | extend UPN = iff(Caller contains '@', Caller, ''), Account_AadUserId = iff(Caller !contains '@', Caller,'')\r\n | extend Account_Name = split(UPN,'@')[0] , Account_UPNSuffix = split(UPN,'@')[1]\r\n | project Account_Name, Account_UPNSuffix, Account_AadUserId, Account_AadTenantId=TenantId, Account_Aux_StartTime , Account_Aux_EndTime};\r\n AccountActivity_byIP('
    ')", + "inputFields": [ + "address" + ], + "outputEntityTypes": [ + "Account" + ], + "dataSources": [ + "AzureActivity" + ], + "inputEntityType": "IP", + "displayName": "Most active accounts on Azure from this IP" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json new file mode 100644 index 000000000000..17e4167740de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueries/GetExpansionEntityQueryById.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueries/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueries", + "etag": null, + "kind": "Expansion", + "properties": { + "queryTemplate": "let GetParentProcessesOnHost = (v_Host_HostName:string){\r\n SecurityEvent \r\n | where EventID == 4688 \r\n | where isnotempty(ParentProcessName)\r\n | where NewProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe' and ParentProcessName !contains ':\\\\Windows\\\\System32\\\\conhost.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\csc.exe'\r\n and NewProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe' and ParentProcessName !contains ':\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v2.0.50727\\\\cvtres.exe'\r\n and NewProcessName!contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe' and ParentProcessName !contains ':\\\\Program Files\\\\Microsoft Monitoring Agent\\\\Agent\\\\MonitoringHost.exe'\r\n and ParentProcessName !contains ':\\\\Windows\\\\CCM\\\\CcmExec.exe'\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\svchost.exe' and (NewProcessName !contains ':\\\\Windows\\\\System32\\\\wbem\\\\WmiPrvSE.exe' or NewProcessName !contains ':\\\\Windows\\\\SysWOW64\\\\wbem\\\\WmiPrvSE.exe'))\r\n | where(ParentProcessName !contains ':\\\\Windows\\\\System32\\\\services.exe' and NewProcessName !contains ':\\\\Windows\\\\servicing\\\\TrustedInstaller.exe')\r\n | where toupper(Computer) contains v_Host_HostName or toupper(WorkstationName) contains v_Host_HostName\r\n | summarize min(TimeGenerated), max(TimeGenerated) by Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project min_TimeGenerated, max_TimeGenerated, Account, Computer, ParentProcessName, NewProcessName, CommandLine, ProcessId\r\n | project-rename Process_Host_UnstructuredName=Computer, Process_Account_UnstructuredName=Account, Process_CommandLine=CommandLine, Process_ProcessId=ProcessId, Process_ImageFile_FullPath=NewProcessName, Process_ParentProcess_ImageFile_FullPath=ParentProcessName\r\n | top 10 by min_TimeGenerated asc};\r\n GetParentProcessesOnHost(toupper(''))", + "inputFields": [ + "hostName" + ], + "outputEntityTypes": [ + "Process" + ], + "dataSources": [ + "SecurityEvent" + ], + "inputEntityType": "Host", + "displayName": "Parent processes running on host" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json new file mode 100644 index 000000000000..a4525b3cd884 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetActivityEntityQueryTemplateById.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "entityQueryTemplateId": "07da3cc8-c8ad-4710-a44e-334cdcb7882b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "name": "07da3cc8-c8ad-4710-a44e-334cdcb7882b", + "type": "Microsoft.SecurityInsights/entityQueryTemplate", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json new file mode 100644 index 000000000000..c67eb9dd52d7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/entityQueryTemplates/GetEntityQueryTemplates.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "kind": "Activity", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/37ca3555-c135-4a73-a65e-9c1d00323f5d", + "name": "37ca3555-c135-4a73-a65e-9c1d00323f5d", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entityQueryTemplates/97a1d515-abf2-4231-9a35-985f9de0bb91", + "name": "97a1d515-abf2-4231-9a35-985f9de0bb91", + "type": "Microsoft.SecurityInsights/entityQueryTemplates", + "kind": "Activity", + "properties": { + "title": "An account was deleted on this host", + "content": "On '{{Computer}}' the account '{{TargetAccount}}' was deleted by '{{AddedBy}}'", + "description": "Account deleted on host", + "queryDefinitions": { + "query": "let GetAccountActions = (v_Host_Name:string, v_Host_NTDomain:string, v_Host_DnsDomain:string, v_Host_AzureID:string, v_Host_OMSAgentID:string){\nSecurityEvent\n| where EventID in (4725, 4726, 4767, 4720, 4722, 4723, 4724)\n// parsing for Host to handle variety of conventions coming from data\n| extend Host_HostName = case(\nComputer has '@', tostring(split(Computer, '@')[0]),\nComputer has '\\\\', tostring(split(Computer, '\\\\')[1]),\nComputer has '.', tostring(split(Computer, '.')[0]),\nComputer\n)\n| extend Host_NTDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', tostring(split(Computer, '.')[-2]), \nComputer\n)\n| extend Host_DnsDomain = case(\nComputer has '\\\\', tostring(split(Computer, '\\\\')[0]), \nComputer has '.', strcat_array(array_slice(split(Computer,'.'),-2,-1),'.'), \nComputer\n)\n| where (Host_HostName =~ v_Host_Name and Host_NTDomain =~ v_Host_NTDomain) \nor (Host_HostName =~ v_Host_Name and Host_DnsDomain =~ v_Host_DnsDomain) \nor v_Host_AzureID =~ _ResourceId \nor v_Host_OMSAgentID == SourceComputerId\n| project TimeGenerated, EventID, Activity, Computer, TargetAccount, TargetUserName, TargetDomainName, TargetSid, SubjectUserName, SubjectUserSid, _ResourceId, SourceComputerId\n| extend AddedBy = SubjectUserName\n// Future support for Activities\n| extend timestamp = TimeGenerated, HostCustomEntity = Computer, AccountCustomEntity = TargetAccount\n};\nGetAccountActions('{{Host_HostName}}', '{{Host_NTDomain}}', '{{Host_DnsDomain}}', '{{Host_AzureID}}', '{{Host_OMSAgentID}}')\n \n| where EventID == 4726 " + }, + "inputEntityType": "Host", + "requiredInputFieldsSets": [ + [ + "Host_HostName", + "Host_NTDomain" + ], + [ + "Host_HostName", + "Host_DnsDomain" + ], + [ + "Host_AzureID" + ], + [ + "Host_OMSAgentID" + ] + ], + "entitiesFilter": { + "Host_OsFamily": [ + "Windows" + ] + }, + "dataTypes": [ + { + "dataType": "AuditLogs" + }, + { + "dataType": "SecurityEvent" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateIncident.json new file mode 100644 index 000000000000..911d5fa01228 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateIncident.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [], + "techniques": [], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [], + "techniques": [], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateTeam.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateTeam.json new file mode 100644 index 000000000000..66e416088397 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/CreateTeam.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "9023f5b5-df22-4313-8fbf-b4b75af8a6d9", + "resourceGroupName": "ambawolvese5resourcegroup", + "workspaceName": "AmbaE5WestCentralUS", + "incidentId": "69a30280-6a4c-4aa7-9af0-5d63f335d600", + "teamProperties": { + "teamName": "Team name", + "teamDescription": "Team description" + } + }, + "responses": { + "200": { + "body": { + "teamId": "99978838-9bda-4ad4-8f93-4cf7ebc50ca5", + "primaryChannelUrl": "https://teams.microsoft.com/l/team/19:80bf3b25485b4067b7d2dc4eec9e1578%40thread.tacv2/conversations?groupId=99978838-9bda-4ad4-8f93-4cf7ebc50ca5&tenantId=5b5a146c-eba8-46af-96f8-e31b50d15a3f", + "teamCreationTimeUtc": "2021-03-15T17:08:21.9954238+02:00", + "name": "Team name", + "description": "Team description" + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/DeleteIncident.json new file mode 100644 index 000000000000..beca6ddf1ba8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/DeleteIncident.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentAlerts.json new file mode 100644 index 000000000000..683dcafa1db1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentAlerts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "name": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "tactics": [], + "alertDisplayName": "myAlert", + "confidenceLevel": "Unknown", + "severity": "Low", + "vendorName": "Microsoft", + "productName": "Azure Security Center", + "alertType": "myAlert", + "processingEndTime": "2020-07-20T18:21:53.6158361Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.6158361Z", + "startTimeUtc": "2020-07-20T18:21:53.6158361Z", + "timeGenerated": "2020-07-20T18:21:53.6158361Z", + "resourceIdentifiers": [ + { + "type": "LogAnalytics", + "workspaceId": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroup": "myRG" + } + ], + "additionalData": { + "AlertMessageEnqueueTime": "2020-07-20T18:21:57.304Z" + }, + "friendlyName": "myAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json new file mode 100644 index 000000000000..f2ee9b4d8835 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetAllIncidentBookmarks.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/afbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/bbbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "bbbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "303ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidentById.json new file mode 100644 index 000000000000..df810954d6fa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidentById.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "InaccurateData", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ], + "techniques": [ + "T1091", + "T1133", + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidents.json new file mode 100644 index 000000000000..297a49ed27de --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/GetIncidents.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "$orderby": "properties/createdTimeUtc desc", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe", + "ownerType": "User" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "providerName": "Azure Sentinel", + "providerIncidentId": "3177", + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "Persistence" + ], + "techniques": [ + "T1053" + ], + "providerIncidentUrl": "https://security.microsoft.com/incidents/3177?tid=5b5a146c-eba8-46af-96f8-e31b50d15a3f" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/CreateIncidentComment.json new file mode 100644 index 000000000000..8cc6db93c099 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/CreateIncidentComment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentComment": { + "properties": { + "message": "Some message" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c622adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json new file mode 100644 index 000000000000..715a920d4abc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/DeleteIncidentComment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2023-03-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json new file mode 100644 index 000000000000..887f468c21e7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetAllIncidentComments.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json new file mode 100644 index 000000000000..b5475bbd42ef --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/comments/GetIncidentCommentById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-03T11:10:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json new file mode 100644 index 000000000000..18969a3370ca --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/entities/GetAllIncidentEntities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json new file mode 100644 index 000000000000..719a60b81812 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/CreateIncidentRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json new file mode 100644 index 000000000000..f3d4561cfb2b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/DeleteIncidentRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json new file mode 100644 index 000000000000..46904d7778dc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetAllIncidentRelations.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "name": "9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "6f714025-dd7c-46aa-b5d0-b9857488d060", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceName": "1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceType": "Microsoft.SecurityInsights/entities", + "relatedResourceKind": "SecurityAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json new file mode 100644 index 000000000000..0cbcd6c4b53d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/incidents/relations/GetIncidentRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json new file mode 100644 index 000000000000..b3178a859c0d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/manualTrigger/AutomationRules_ManualTriggerPlaybook.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentIdentifier": "73e01a99-5cd7-4139-a149-9f2736ff2ar4", + "manualTriggerRequestBody": { + "logicAppsResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/my-playbook-name", + "tenantId": "qwere6b2-9ac0-4464-9919-dccaee2e4ddd" + } + }, + "responses": { + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/DeleteMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/DeleteMetadata.json new file mode 100644 index 000000000000..ea542a71307a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/DeleteMetadata.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadata.json new file mode 100644 index 000000000000..29d8103fbe22 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadata.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName3", + "name": "metadataName3", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f593501d-ec01-4057-8146-a1de35c461ef", + "version": "1.0.0.0", + "kind": "Workbook", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.Insights/workbooks/workbookName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadataOData.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadataOData.json new file mode 100644 index 000000000000..7b113f282ef7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetAllMetadataOData.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ODataFilter": "properties/kind eq 'AnalyticsRule'", + "ODataOrderBy": "properties/parentId desc", + "ODataSkip": "2", + "ODataTop": "2" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName1", + "name": "metadataName1", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName1", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + }, + { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName2", + "name": "metadataName2", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "f5160682-0e10-4e23-8fcf-df3df49c5522", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName2", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetMetadata.json new file mode 100644 index 000000000000..9f5809517cb3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/GetMetadata.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "2e1dc338-d04d-4443-b721-037eff4fdcac", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PatchMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PatchMetadata.json new file mode 100644 index 000000000000..ff3de76a3a92 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PatchMetadata.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadataPatch": { + "properties": { + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "author": { + "name": "User Name", + "email": "email@microsoft.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadata.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadata.json new file mode 100644 index 000000000000..791fd6312bda --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadata.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector", + "name": "Microsoft Defender for Endpoint" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "version": "1.0.0.0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName", + "source": { + "kind": "Solution", + "name": "Contoso Solution 1.0", + "sourceId": "b688a130-76f4-4a07-bf57-762222a3cadf" + }, + "author": { + "name": "User Name", + "email": "email@microsoft.com" + }, + "support": { + "name": "Microsoft", + "email": "support@microsoft.com", + "link": "https://support.microsoft.com/", + "tier": "Partner" + }, + "dependencies": { + "operator": "AND", + "criteria": [ + { + "operator": "OR", + "criteria": [ + { + "contentId": "045d06d0-ee72-4794-aba4-cf5646e4c756", + "kind": "DataConnector" + }, + { + "contentId": "dbfcb2cc-d782-40ef-8d94-fe7af58a6f2d", + "kind": "DataConnector" + }, + { + "contentId": "de4dca9b-eb37-47d6-a56f-b8b06b261593", + "kind": "DataConnector", + "version": "2.0" + } + ] + }, + { + "kind": "Playbook", + "contentId": "31ee11cc-9989-4de8-b176-5e0ef5c4dbab", + "version": "1.0" + }, + { + "kind": "Parser", + "contentId": "21ba424a-9438-4444-953a-7059539a7a1b" + } + ] + }, + "categories": { + "domains": [ + "Application", + "Security – Insider Threat" + ], + "verticals": [ + "Healthcare" + ] + }, + "providers": [ + "Amazon", + "Microsoft" + ], + "firstPublishDate": "2021-05-18", + "lastPublishDate": "2021-05-18", + "previewImages": [ + "firstImage.png", + "secondImage.jpeg" + ], + "previewImagesDark": [ + "firstImageDark.png", + "secondImageDark.jpeg" + ], + "contentSchemaVersion": "2.0", + "customVersion": "1.0", + "threatAnalysisTactics": [ + "reconnaissance", + "commandandcontrol" + ], + "threatAnalysisTechniques": [ + "T1548", + "T1548.001" + ] + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadataMinimal.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadataMinimal.json new file mode 100644 index 000000000000..a7393ff813b0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/metadata/PutMetadataMinimal.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "metadataName": "metadataName", + "metadata": { + "properties": { + "contentId": "c00ee137-7475-47c8-9cce-ec6f0f1bedd0", + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/metadata/metadataName", + "name": "metadataName", + "type": "Microsoft.SecurityInsights/metadata", + "properties": { + "kind": "AnalyticsRule", + "parentId": "/subscriptions/2e1dc338-d04d-4443-b721-037eff4fdcac/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/ruleName" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/DeleteOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/DeleteOfficeConsents.json new file mode 100644 index 000000000000..610aa178835f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/DeleteOfficeConsents.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsents.json new file mode 100644 index 000000000000..61e2fb9fda4b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsents.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsentsById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsentsById.json new file mode 100644 index 000000000000..942d5e6da099 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/officeConsents/GetOfficeConsentsById.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/officeConsents/04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "name": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c", + "type": "Microsoft.SecurityInsights/officeConsents", + "properties": { + "tenantId": "5460b3d2-1e7b-4757-ad54-c858c7e3f252", + "consentId": "04e5fd05-ff86-4b97-b8d2-1c20933cb46c" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json new file mode 100644 index 000000000000..a4449f98f1fe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/CreateSentinelOnboardingState.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default", + "sentinelOnboardingStateParameter": { + "properties": { + "customerManagedKey": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json new file mode 100644 index 000000000000..1a71dcc14dfa --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/DeleteSentinelOnboardingState.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json new file mode 100644 index 000000000000..33a50aac66cf --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetAllSentinelOnboardingStates.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json new file mode 100644 index 000000000000..7c3d7e1a7d35 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/onboardingStates/GetSentinelOnboardingState.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/operations/ListOperations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/operations/ListOperations.json new file mode 100644 index 000000000000..a5647cc83b55 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/operations/ListOperations.json @@ -0,0 +1,563 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SecurityInsights/operations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Operations", + "operation": "Get Operations", + "description": "Gets operations" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Get Automation Rules", + "description": "Gets an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Update Automation Rules", + "description": "Updates an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Delete Automation Rules", + "description": "Deletes an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Get Bookmarks", + "description": "Gets bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Update Bookmarks", + "description": "Updates bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Delete Bookmarks", + "description": "Deletes bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/expand/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Expand on entity", + "description": "Gets related entities of an entity by a specific expansion" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Get Bookmark Relations", + "description": "Gets a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Update Bookmark Relations", + "description": "Updates a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Delete Bookmark Relations", + "description": "Deletes a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Get Alert Rules", + "description": "Gets the alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Update Alert Rules", + "description": "Updates alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Delete Alert Rules", + "description": "Deletes alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Get Alert Rule Response Actions", + "description": "Gets the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Update Alert Rule Response Actions", + "description": "Updates the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Delete Alert Rule Response Actions", + "description": "Deletes the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Get Data Connectors", + "description": "Gets the data connectors" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Update Data Connectors", + "description": "Updates a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Delete a Data Connector", + "description": "Deletes a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectorsCheckRequirements", + "operation": "Check user authorization and license", + "description": "Check user authorization and license" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Get Incidents", + "description": "Gets an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Update Incidents", + "description": "Updates an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Delete Incidents", + "description": "Deletes an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Get Incident Comments", + "description": "Gets the incident comments" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Create Incident Comments", + "description": "Creates a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Delete Incident Comment", + "description": "Deletes a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Get Incident Relations", + "description": "Gets a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Update Incident Relations", + "description": "Updates a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Delete Incident Relations", + "description": "Deletes a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence", + "description": "Gets Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence", + "description": "Updates Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence", + "description": "Deletes Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence", + "description": "Query Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence", + "description": "Bulk Delete Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence", + "description": "Bulk Tags Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence Indicators", + "description": "Updates Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence Indicators", + "description": "Deletes Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicator Metrics", + "description": "Get Threat Intelligence Indicator Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence Indicators", + "description": "Bulk Delete Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence Indicators", + "description": "Bulk Tags Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicators", + "description": "Gets Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/createIndicator/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Create Threat Intelligence Indicator", + "description": "Create Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/appendTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Append tags to Threat Intelligence Indicator", + "description": "Append tags to Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/replaceTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Replace Tags of Threat Intelligence Indicator", + "description": "Replace Tags of Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/queryIndicators/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Get Watchlists", + "description": "Gets Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Create Watchlists", + "description": "Create Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Delete Watchlists", + "description": "Deletes Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Get Onboarding States", + "description": "Gets an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Update Onboarding States", + "description": "Updates an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Delete Onboarding States", + "description": "Deletes an onboarding state" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/repositories/GetRepositories.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/repositories/GetRepositories.json new file mode 100644 index 000000000000..a5e5be94f533 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/repositories/GetRepositories.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "repoType": "Github", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://api.github.com/repos/user/reponame", + "fullName": "reponame", + "branches": [ + "master", + "develop" + ] + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/DeleteEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/DeleteEyesOnSetting.json new file mode 100644 index 000000000000..06e05c2fb6c1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/DeleteEyesOnSetting.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetAllSettings.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetAllSettings.json new file mode 100644 index 000000000000..333d005cf3ad --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetAllSettings.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetEyesOnSetting.json new file mode 100644 index 000000000000..17cd492f6315 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/GetEyesOnSetting.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/UpdateEyesOnSetting.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/UpdateEyesOnSetting.json new file mode 100644 index 000000000000..fd852f552a68 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/settings/UpdateEyesOnSetting.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "settingsName": "EyesOn", + "settings": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/mms-eus/providers/Microsoft.OperationalInsights/workspaces/avdvirInt/providers/Microsoft.SecurityInsights/settings/EyesOn", + "name": "EyesOn", + "type": "Microsoft.SecurityInsights/settings", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "EyesOn", + "properties": { + "isEnabled": true + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/CreateSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/CreateSourceControl.json new file mode 100644 index 000000000000..de2c85739432 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/CreateSourceControl.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "sourceControl": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My Source Control", + "description": "This is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/DeleteSourceControl.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/DeleteSourceControl.json new file mode 100644 index 000000000000..071708a700d8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/DeleteSourceControl.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControlById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControlById.json new file mode 100644 index 000000000000..6645b9123e71 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControlById.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "sourceControlId": "789e0c1f-4a3d-43ad-809c-e713b677b04a" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControls.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControls.json new file mode 100644 index 000000000000..e758a78c94b9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/sourcecontrols/GetSourceControls.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "version": "V2", + "name": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "type": "Microsoft.SecurityInsights/SourceControls", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", + "displayName": "My Source Control", + "description": "this is a source control", + "repoType": "Github", + "contentTypes": [ + "AnalyticRules", + "Workbook" + ], + "repository": { + "url": "https://github.com/user/repo", + "branch": "master", + "displayUrl": "https://github.com/user/repo", + "deploymentLogsUrl": "https://github.com/user/repo/actions", + "pathMapping": [ + { + "contentType": "AnalyticRules", + "path": "path/to/rules" + }, + { + "contentType": "Workbook", + "path": "path/to/workbooks" + } + ] + }, + "repositoryResourceInfo": { + "webhook": { + "webhookId": "342768323", + "webhookUrl": "https://cac.sentinel.azure.com/workspaces/b7c525e9-1bfa-4435-88c0-817e13abb088/webhooks/ado/sourceControl/789e0c1f-4a3d-43ad-809c-e713b677b04a", + "webhookSecretUpdateTime": "2021-01-01T17:18:19.1234567Z" + }, + "gitHubResourceInfo": { + "appInstallationId": "123" + }, + "azureDevOpsResourceInfo": null + }, + "lastDeploymentInfo": { + "deploymentFetchStatus": "Success", + "deployment": { + "deploymentId": "4985046420", + "deploymentState": "Completed", + "deploymentResult": "Success", + "deploymentTime": "2021-01-01T17:18:19.1234567Z", + "deploymentLogsUrl": "https://github.com/user/repo/actions" + }, + "message": "Successful deployment" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2021-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-01-02T17:18:19.1234567Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..fe99bb609dbe --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTags": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..0cd4be2228b7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2021-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..51b366fbb9bb --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2021-09-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-09-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-09-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-09-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-09-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-09-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..09044022c745 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..4b53addcadb2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2021-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..ecd879f22e1b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..22345c0fdb19 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "ThreatIntelligenceFilteringCriteria": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2021-04-05T17:44:00.114052Z", + "maxValidUntil": "2021-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2021-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z", + "parsedPattern": [ + { + "patternTypeKey": "network-traffic", + "patternTypeValues": [ + { + "valueType": "0", + "value": "SSH-2.0-PuTTY_Release_0.64" + }, + { + "valueType": "1", + "value": "194.88.106.146" + } + ] + } + ] + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..cc46389de8c7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTags": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json new file mode 100644 index 000000000000..d3b1740453f5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/threatintelligence/UpdateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2021-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2021-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2021-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..a161be89acc7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "watchlist.csv", + "sourceType": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "itemsSearchKey": "header1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json new file mode 100644 index 000000000000..e8e3b9df8eb1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItems.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "watchlist.csv", + "sourceType": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "numberOfLinesToSkip": 1, + "rawContent": "This line will be skipped\nheader1,header2\nvalue1,value2", + "itemsSearchKey": "header1", + "contentType": "text/csv" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItemsFromSasUri.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItemsFromSasUri.json new file mode 100644 index 000000000000..bdcfa51408f6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistAndWatchlistItemsFromSasUri.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "sourceType": "Remote storage", + "provider": "Microsoft", + "description": "Watchlist from a large CSV file under Blob storage", + "numberOfLinesToSkip": 1, + "sasUri": "https://storagesample.blob.core.windows.net/sample-contaier/sampleBlob.csv?sp=r&st=2021-09-24T01:15:52Z&se=2021-10-01T09:15:52Z&spr=https&sv=2020-08-04&sr=b&sig=HRRRMc43ZJz634eBc402X%2FFPxam5sZVPSkLOY14baEd%4Z", + "itemsSearchKey": "header1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistItem.json new file mode 100644 index 000000000000..0a6972e2a953 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/CreateWatchlistItem.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "watchlistItem": { + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..51a8cf20835c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.SecurityInsights/watchlists/1011-01/watchlistStatuses/00000000-0000-0000-0000-000000000000?api-version=2022-01-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlistItem.json new file mode 100644 index 000000000000..c487c4429089 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/DeleteWatchlistItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..0cdb57c743b4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItemById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItemById.json new file mode 100644 index 000000000000..d87f1a6b4dfc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItemById.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItems.json new file mode 100644 index 000000000000..75ae1ec13086 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlistItems.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..3d8dc0d1d85b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/examples/watchlists/GetWatchlists.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "watchlist.csv", + "sourceType": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/operations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/operations.json new file mode 100644 index 000000000000..0e743782c1af --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2022-01-01-preview/operations.json @@ -0,0 +1,138 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2022-01-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": { + "/providers/Microsoft.SecurityInsights/operations": { + "get": { + "x-ms-examples": { + "Get all operations.": { + "$ref": "./examples/operations/ListOperations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all operations available Azure Security Insights Resource Provider.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operations list.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Array of operations", + "items": { + "$ref": "#/definitions/Operation" + }, + "type": "array" + } + }, + "required": [ + "value" + ], + "type": "object" + }, + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + }, + "origin": { + "description": "The origin of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AlertRules.json new file mode 100644 index 000000000000..d92303b75a1d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AlertRules.json @@ -0,0 +1,1757 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules": { + "get": { + "x-ms-examples": { + "Get all alert rules.": { + "$ref": "./examples/alertRules/GetAllAlertRules.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets all alert rules.", + "operationId": "AlertRules_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}": { + "get": { + "x-ms-examples": { + "Get a Scheduled alert rule.": { + "$ref": "./examples/alertRules/GetScheduledAlertRule.json" + }, + "Get a Fusion alert rule.": { + "$ref": "./examples/alertRules/GetFusionAlertRule.json" + }, + "Get a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Gets the alert rule.", + "operationId": "AlertRules_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a Scheduled alert rule.": { + "$ref": "./examples/alertRules/CreateScheduledAlertRule.json" + }, + "Creates or updates a Fusion alert rule.": { + "$ref": "./examples/alertRules/CreateFusionAlertRule.json" + }, + "Creates or updates a MicrosoftSecurityIncidentCreation rule.": { + "$ref": "./examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Creates or updates the alert rule.", + "operationId": "AlertRules_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/AlertRule" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AlertRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an alert rule.": { + "$ref": "./examples/alertRules/DeleteAlertRule.json" + } + }, + "tags": [ + "Alert Rules" + ], + "description": "Delete the alert rule.", + "operationId": "AlertRules_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions": { + "get": { + "x-ms-examples": { + "Get all actions of alert rule.": { + "$ref": "./examples/actions/GetAllActionsByAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets all actions of alert rule.", + "operationId": "Actions_ListByAlertRule", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRules/{ruleId}/actions/{actionId}": { + "get": { + "x-ms-examples": { + "Get an action of alert rule.": { + "$ref": "./examples/actions/GetActionOfAlertRuleById.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Gets the action of alert rule.", + "operationId": "Actions_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an action of alert rule.": { + "$ref": "./examples/actions/CreateActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Creates or updates the action of alert rule.", + "operationId": "Actions_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + }, + { + "$ref": "#/parameters/Action" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ActionResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an action of alert rule.": { + "$ref": "./examples/actions/DeleteActionOfAlertRule.json" + } + }, + "tags": [ + "Actions" + ], + "description": "Delete the action of alert rule.", + "operationId": "Actions_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/RuleId" + }, + { + "$ref": "#/parameters/ActionId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates": { + "get": { + "x-ms-examples": { + "Get all alert rule templates.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplates.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets all alert rule templates.", + "operationId": "AlertRuleTemplates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplatesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}": { + "get": { + "x-ms-examples": { + "Get alert rule template by Id.": { + "$ref": "./examples/alertRuleTemplates/GetAlertRuleTemplateById.json" + } + }, + "tags": [ + "Alert Rule Templates" + ], + "description": "Gets the alert rule template.", + "operationId": "AlertRuleTemplates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AlertRuleTemplateId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/AlertRuleTemplate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ActionsList": { + "description": "List all the actions.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of actions.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of actions.", + "items": { + "$ref": "#/definitions/ActionResponse" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ActionRequest": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Action for alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ActionRequestProperties", + "description": "Action properties for put request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionRequestProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "triggerUri": { + "description": "Logic App Callback URL for this specific workflow.", + "type": "string" + } + }, + "required": [ + "triggerUri" + ], + "type": "object" + }, + "ActionResponse": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Action for alert rule.", + "properties": { + "etag": { + "description": "Etag of the action.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ActionResponseProperties", + "description": "Action properties for get request", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "ActionResponseProperties": { + "allOf": [ + { + "$ref": "#/definitions/ActionPropertiesBase" + } + ], + "description": "Action property bag.", + "properties": { + "workflowId": { + "description": "The name of the logic app's workflow.", + "type": "string" + } + }, + "type": "object" + }, + "ActionPropertiesBase": { + "description": "Action property bag base.", + "properties": { + "logicAppResourceId": { + "description": "Logic App Resource Id, /subscriptions/{my-subscription}/resourceGroups/{my-resource-group}/providers/Microsoft.Logic/workflows/{my-workflow-id}.", + "type": "string" + } + }, + "required": [ + "logicAppResourceId" + ], + "type": "object" + }, + "AlertRule": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Alert rule.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The alert rule kind" + } + }, + "type": "object" + }, + "AlertRuleKindEnum": { + "description": "The kind of the alert rule", + "enum": [ + "Scheduled", + "MicrosoftSecurityIncidentCreation", + "Fusion" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertRuleKind", + "values": [ + { + "value": "Scheduled" + }, + { + "value": "MicrosoftSecurityIncidentCreation" + }, + { + "value": "Fusion" + } + ] + } + }, + "AlertRuleTemplate": { + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "description": "Alert rule template.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/AlertRuleKindEnum", + "description": "The alert rule kind", + "type": "string" + } + }, + "type": "object" + }, + "AlertRuleTemplateDataSource": { + "description": "alert rule template data sources", + "properties": { + "connectorId": { + "description": "The connector id that provides the following data types", + "type": "string" + }, + "dataTypes": { + "description": "The data types used by the alert rule template", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "AlertRuleTemplateStatus": { + "description": "The alert rule template status.", + "enum": [ + "Installed", + "Available", + "NotAvailable" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "TemplateStatus", + "values": [ + { + "description": "Alert rule template installed. and can not use more then once", + "value": "Installed" + }, + { + "description": "Alert rule template is available.", + "value": "Available" + }, + { + "description": "Alert rule template is not available", + "value": "NotAvailable" + } + ] + } + }, + "AlertRuleTriggerOperator": { + "description": "The operation against the threshold that triggers alert rule.", + "enum": [ + "GreaterThan", + "LessThan", + "Equal", + "NotEqual" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "TriggerOperator" + } + }, + "AlertRulesList": { + "description": "List all the alert rules.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rules.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rules.", + "items": { + "$ref": "#/definitions/AlertRule" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "AlertRuleTemplatesList": { + "description": "List all the alert rule templates.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of alert rule templates.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of alert rule templates.", + "items": { + "$ref": "#/definitions/AlertRuleTemplate" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "FusionAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents Fusion alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleProperties", + "description": "Fusion alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleProperties": { + "description": "Fusion alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule.", + "readOnly": true + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "alertRuleTemplateName", + "enabled" + ], + "type": "object" + }, + "FusionAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents Fusion alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/FusionAlertRuleTemplateProperties", + "description": "Fusion alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "severity", + "alertRulesCreatedByTemplateCount" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Fusion" + }, + "FusionAlertRuleTemplateProperties": { + "description": "Represents Fusion alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleProperties", + "description": "MicrosoftSecurityIncidentCreation rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleCommonProperties": { + "description": "MicrosoftSecurityIncidentCreation rule common property bag.", + "properties": { + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleCommonProperties" + } + ], + "description": "MicrosoftSecurityIncidentCreation rule property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "displayName", + "enabled", + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents MicrosoftSecurityIncidentCreation rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties", + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "required": [ + "displayName", + "description", + "createdDateUTC", + "status", + "alertRulesCreatedByTemplateCount", + "productFilter" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftSecurityIncidentCreation" + }, + "MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties": { + "description": "MicrosoftSecurityIncidentCreation rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "displayNamesFilter": { + "description": "the alerts' displayNames on which the cases will be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "displayNamesExcludeFilter": { + "description": "the alerts' displayNames on which the cases will not be generated", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "productFilter": { + "$ref": "#/definitions/MicrosoftSecurityProductName", + "description": "The alerts' productName on which the cases will be generated" + }, + "severitiesFilter": { + "description": "the alerts' severities on which the cases will be generated", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "required": [ + "productFilter" + ], + "type": "object" + }, + "MicrosoftSecurityProductName": { + "description": "The alerts' productName on which the cases will be generated", + "enum": [ + "Microsoft Cloud App Security", + "Azure Security Center", + "Azure Advanced Threat Protection", + "Azure Active Directory Identity Protection", + "Azure Security Center for IoT" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MicrosoftSecurityProductName" + } + }, + "ScheduledAlertRule": { + "allOf": [ + { + "$ref": "#/definitions/AlertRule" + } + ], + "description": "Represents scheduled alert rule.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleProperties", + "description": "Scheduled alert rule properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "ScheduledAlertRuleCommonProperties": { + "description": "Scheduled alert rule template property bag.", + "properties": { + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "EventGroupingSettings": { + "description": "Event grouping settings property bag.", + "properties": { + "aggregationKind": { + "$ref": "#/definitions/EventGroupingAggregationKind" + } + }, + "type": "object" + }, + "EventGroupingAggregationKind": { + "description": "The event grouping aggregation kinds", + "enum": [ + "SingleAlert", + "AlertPerResult" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EventGroupingAggregationKind" + } + }, + "EntityMappings": { + "description": "List of entity mappings of the alert rule", + "type": "array", + "items": { + "$ref": "#/definitions/EntityMapping" + }, + "x-ms-identifiers": [] + }, + "EntityMapping": { + "description": "Single entity mapping for the alert rule", + "properties": { + "entityType": { + "$ref": "#/definitions/EntityMappingType" + }, + "fieldMappings": { + "description": "array of field mappings for the given entity mapping", + "type": "array", + "items": { + "$ref": "#/definitions/FieldMapping" + }, + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "FieldMapping": { + "description": "A single field mapping of the mapped entity", + "properties": { + "identifier": { + "description": "the V3 identifier of the entity", + "type": "string" + }, + "columnName": { + "description": "the column name to be mapped to the identifier", + "type": "string" + } + }, + "type": "object" + }, + "AlertDetailsOverride": { + "description": "Settings for how to dynamically override alert static details", + "properties": { + "alertDisplayNameFormat": { + "description": "the format containing columns name(s) to override the alert name", + "type": "string" + }, + "alertDescriptionFormat": { + "description": "the format containing columns name(s) to override the alert description", + "type": "string" + }, + "alertTacticsColumnName": { + "description": "the column name to take the alert tactics from", + "type": "string" + }, + "alertSeverityColumnName": { + "description": "the column name to take the alert severity from", + "type": "string" + } + }, + "type": "object" + }, + "IncidentConfiguration": { + "description": "Incident Configuration property bag.", + "properties": { + "createIncident": { + "description": "Create incidents from alerts triggered by this analytics rule", + "type": "boolean" + }, + "groupingConfiguration": { + "$ref": "#/definitions/GroupingConfiguration", + "description": "Set how the alerts that are triggered by this analytics rule, are grouped into incidents" + } + }, + "type": "object", + "required": [ + "createIncident" + ] + }, + "GroupingConfiguration": { + "description": "Grouping configuration property bag.", + "properties": { + "enabled": { + "description": "Grouping enabled", + "type": "boolean" + }, + "reopenClosedIncident": { + "description": "Re-open closed matching incidents", + "type": "boolean" + }, + "lookbackDuration": { + "description": "Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "matchingMethod": { + "description": "Grouping matching method. When method is Selected at least one of groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.", + "enum": [ + "AllEntities", + "AnyAlert", + "Selected" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "MatchingMethod", + "values": [ + { + "description": "Grouping alerts into a single incident if all the entities match", + "value": "AllEntities" + }, + { + "description": "Grouping any alerts triggered by this rule into a single incident", + "value": "AnyAlert" + }, + { + "description": "Grouping alerts into a single incident if the selected entities, custom details and alert details match", + "value": "Selected" + } + ] + } + }, + "groupByEntities": { + "description": "A list of entity types to group by (when matchingMethod is Selected). Only entities defined in the current alert rule may be used.", + "items": { + "$ref": "#/definitions/EntityMappingType" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "groupByAlertDetails": { + "description": "A list of alert details to group by (when matchingMethod is Selected)", + "items": { + "description": "Alert detail", + "enum": [ + "DisplayName", + "Severity" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertDetail", + "values": [ + { + "description": "Alert display name", + "value": "DisplayName" + }, + { + "description": "Alert severity", + "value": "Severity" + } + ] + } + }, + "type": "array", + "x-ms-identifiers": [] + }, + "groupByCustomDetails": { + "description": "A list of custom details keys to group by (when matchingMethod is Selected). Only keys defined in the current alert rule may be used.", + "items": { + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "enabled", + "reopenClosedIncident", + "lookbackDuration", + "matchingMethod" + ] + }, + "ScheduledAlertRuleProperties": { + "allOf": [ + { + "$ref": "#/definitions/ScheduledAlertRuleCommonProperties" + } + ], + "description": "Scheduled alert rule base property bag.", + "properties": { + "alertRuleTemplateName": { + "description": "The Name of the alert rule template used to create this rule.", + "type": "string" + }, + "description": { + "description": "The description of the alert rule.", + "type": "string" + }, + "displayName": { + "description": "The display name for alerts created by this alert rule.", + "type": "string" + }, + "enabled": { + "description": "Determines whether this alert rule is enabled or disabled.", + "type": "boolean" + }, + "lastModifiedUtc": { + "description": "The last time that this alert rule has been modified.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "suppressionDuration": { + "description": "The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.", + "format": "duration", + "type": "string" + }, + "suppressionEnabled": { + "description": "Determines whether the suppression for this alert rule is enabled or disabled.", + "type": "boolean" + }, + "tactics": { + "description": "The tactics of the alert rule", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "incidentConfiguration": { + "$ref": "#/definitions/IncidentConfiguration", + "description": "The settings of the incidents that created from alerts triggered by this analytics rule" + } + }, + "required": [ + "displayName", + "enabled", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "suppressionEnabled", + "suppressionDuration" + ], + "type": "object" + }, + "ScheduledAlertRuleTemplateProperties": { + "description": "Scheduled alert rule template properties", + "properties": { + "alertRulesCreatedByTemplateCount": { + "description": "the number of alert rules that were created by this template", + "format": "int32", + "type": "integer" + }, + "createdDateUTC": { + "description": "The time that this alert rule template has been added.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastUpdatedDateUTC": { + "description": "The time that this alert rule template was last updated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the alert rule template.", + "type": "string" + }, + "displayName": { + "description": "The display name for alert rule template.", + "type": "string" + }, + "requiredDataConnectors": { + "description": "The required data connectors for this template", + "items": { + "$ref": "#/definitions/AlertRuleTemplateDataSource" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "status": { + "$ref": "#/definitions/AlertRuleTemplateStatus", + "description": "The alert rule template status.", + "type": "string" + }, + "query": { + "description": "The query that creates alerts for this rule.", + "type": "string" + }, + "queryFrequency": { + "description": "The frequency (in ISO 8601 duration format) for this alert rule to run.", + "format": "duration", + "type": "string" + }, + "queryPeriod": { + "description": "The period (in ISO 8601 duration format) that this alert rule looks at.", + "format": "duration", + "type": "string" + }, + "severity": { + "$ref": "./common/AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity for alerts created by this alert rule." + }, + "triggerOperator": { + "$ref": "#/definitions/AlertRuleTriggerOperator", + "description": "The operation against the threshold that triggers alert rule." + }, + "triggerThreshold": { + "description": "The threshold triggers this alert rule.", + "format": "int32", + "type": "integer" + }, + "tactics": { + "description": "The tactics of the alert rule template", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "version": { + "description": "The version of this template - in format , where all are numbers. For example <1.0.2>.", + "type": "string" + }, + "eventGroupingSettings": { + "$ref": "#/definitions/EventGroupingSettings", + "description": "The event grouping settings." + }, + "customDetails": { + "description": "Dictionary of string key-value pairs of columns to be attached to the alert", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "entityMappings": { + "$ref": "#/definitions/EntityMappings", + "description": "Array of the entity mappings of the alert rule" + }, + "alertDetailsOverride": { + "type": "object", + "$ref": "#/definitions/AlertDetailsOverride", + "description": "The alert details override settings" + } + }, + "type": "object" + }, + "ScheduledAlertRuleTemplate": { + "allOf": [ + { + "$ref": "#/definitions/AlertRuleTemplate" + } + ], + "description": "Represents scheduled alert rule template.", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduledAlertRuleTemplateProperties", + "description": "Scheduled alert rule template properties", + "required": [ + "displayName", + "description", + "status", + "alertRulesCreatedByTemplateCount", + "severity", + "query", + "queryFrequency", + "queryPeriod", + "triggerOperator", + "triggerThreshold", + "version" + ], + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Scheduled" + }, + "EntityMappingType": { + "description": "The V3 type of the mapped entity", + "enum": [ + "Account", + "Host", + "IP", + "Malware", + "File", + "Process", + "CloudApplication", + "DNS", + "AzureResource", + "FileHash", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "URL", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityMappingType", + "values": [ + { + "description": "User account entity type", + "value": "Account" + }, + { + "description": "Host entity type", + "value": "Host" + }, + { + "description": "IP address entity type", + "value": "IP" + }, + { + "description": "Malware entity type", + "value": "Malware" + }, + { + "description": "System file entity type", + "value": "File" + }, + { + "description": "Process entity type", + "value": "Process" + }, + { + "description": "Cloud app entity type", + "value": "CloudApplication" + }, + { + "description": "DNS entity type", + "value": "DNS" + }, + { + "description": "Azure resource entity type", + "value": "AzureResource" + }, + { + "description": "File-hash entity type", + "value": "FileHash" + }, + { + "description": "Registry key entity type", + "value": "RegistryKey" + }, + { + "description": "Registry value entity type", + "value": "RegistryValue" + }, + { + "description": "Security group entity type", + "value": "SecurityGroup" + }, + { + "description": "URL entity type", + "value": "URL" + }, + { + "description": "Mailbox entity type", + "value": "Mailbox" + }, + { + "description": "Mail cluster entity type", + "value": "MailCluster" + }, + { + "description": "Mail message entity type", + "value": "MailMessage" + }, + { + "description": "Submission mail entity type", + "value": "SubmissionMail" + } + ] + } + } + }, + "parameters": { + "Action": { + "description": "The action", + "in": "body", + "name": "action", + "required": true, + "schema": { + "$ref": "#/definitions/ActionRequest" + }, + "x-ms-parameter-location": "method" + }, + "ActionId": { + "description": "Action ID", + "in": "path", + "name": "actionId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AlertRule": { + "description": "The alert rule", + "in": "body", + "name": "alertRule", + "required": true, + "schema": { + "$ref": "#/definitions/AlertRule" + }, + "x-ms-parameter-location": "method" + }, + "AlertRuleTemplateId": { + "description": "Alert rule template ID", + "in": "path", + "name": "alertRuleTemplateId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RuleId": { + "description": "Alert rule ID", + "in": "path", + "name": "ruleId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AutomationRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AutomationRules.json new file mode 100644 index 000000000000..24ab27c94a3c --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/AutomationRules.json @@ -0,0 +1,958 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-10-01", + "x-ms-code-generation-settings": { + "name": "SecurityInsights" + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules/{automationRuleId}": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets the automation rule", + "operationId": "AutomationRules_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Get": { + "$ref": "./examples/automationRules/AutomationRules_Get.json" + } + } + }, + "put": { + "tags": [ + "automationRules" + ], + "description": "Creates or updates the automation rule", + "operationId": "AutomationRules_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + }, + { + "in": "body", + "name": "automationRuleToUpsert", + "description": "The automation rule", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_CreateOrUpdate": { + "$ref": "./examples/automationRules/AutomationRules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "automationRules" + ], + "description": "Delete the automation rule", + "operationId": "AutomationRules_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/AutomationRuleId" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "type": "object" + } + }, + "204": { + "description": "No Content", + "schema": { + "type": "object" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AutomationRules_Delete": { + "$ref": "./examples/automationRules/AutomationRules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/automationRules": { + "get": { + "tags": [ + "automationRules" + ], + "description": "Gets all automation rules", + "operationId": "AutomationRules_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AutomationRulesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "AutomationRules_List": { + "$ref": "./examples/automationRules/AutomationRules_List.json" + } + } + } + } + }, + "definitions": { + "ActionType": { + "description": "The type of the automation rule action", + "enum": [ + "ModifyProperties", + "RunPlaybook" + ], + "type": "string", + "example": "ModifyProperties", + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true, + "values": [ + { + "value": "ModifyProperties", + "description": "Modify an object's properties" + }, + { + "value": "RunPlaybook", + "description": "Run a playbook on an object" + } + ] + } + }, + "AutomationRule": { + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "type": "object", + "$ref": "#/definitions/AutomationRuleProperties", + "x-ms-client-flatten": true + } + } + }, + "AutomationRuleAction": { + "description": "Describes an automation rule action", + "required": [ + "actionType", + "order" + ], + "type": "object", + "properties": { + "order": { + "format": "int32", + "type": "integer" + }, + "actionType": { + "$ref": "#/definitions/ActionType" + } + }, + "discriminator": "actionType" + }, + "AutomationRuleCondition": { + "description": "Describes an automation rule condition", + "required": [ + "conditionType" + ], + "type": "object", + "properties": { + "conditionType": { + "$ref": "#/definitions/ConditionType" + } + }, + "discriminator": "conditionType" + }, + "AutomationRuleModifyPropertiesAction": { + "description": "Describes an automation rule action to modify an object's properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/IncidentPropertiesAction" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "ModifyProperties" + }, + "AutomationRuleProperties": { + "description": "Automation rule properties", + "required": [ + "actions", + "displayName", + "order", + "triggeringLogic" + ], + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the automation rule", + "type": "string", + "maxLength": 500 + }, + "order": { + "format": "int32", + "description": "The order of execution of the automation rule", + "type": "integer", + "minimum": 1, + "maximum": 1000 + }, + "triggeringLogic": { + "$ref": "#/definitions/AutomationRuleTriggeringLogic" + }, + "actions": { + "description": "The actions to execute when the automation rule is triggered", + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRuleAction" + }, + "x-ms-identifiers": [], + "maxItems": 20 + }, + "lastModifiedTimeUtc": { + "format": "date-time", + "description": "The last time the automation rule was updated", + "type": "string", + "readOnly": true + }, + "createdTimeUtc": { + "format": "date-time", + "description": "The time the automation rule was created", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + }, + "createdBy": { + "readOnly": true, + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo" + } + } + }, + "AutomationRulePropertyConditionSupportedOperator": { + "enum": [ + "Equals", + "NotEquals", + "Contains", + "NotContains", + "StartsWith", + "NotStartsWith", + "EndsWith", + "NotEndsWith" + ], + "type": "string", + "example": "Equals", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedOperator", + "modelAsString": true, + "values": [ + { + "value": "Equals", + "description": "Evaluates if the property equals at least one of the condition values" + }, + { + "value": "NotEquals", + "description": "Evaluates if the property does not equal any of the condition values" + }, + { + "value": "Contains", + "description": "Evaluates if the property contains at least one of the condition values" + }, + { + "value": "NotContains", + "description": "Evaluates if the property does not contain any of the condition values" + }, + { + "value": "StartsWith", + "description": "Evaluates if the property starts with any of the condition values" + }, + { + "value": "NotStartsWith", + "description": "Evaluates if the property does not start with any of the condition values" + }, + { + "value": "EndsWith", + "description": "Evaluates if the property ends with any of the condition values" + }, + { + "value": "NotEndsWith", + "description": "Evaluates if the property does not end with any of the condition values" + } + ] + } + }, + "AutomationRulePropertyConditionSupportedProperty": { + "description": "The property to evaluate in an automation rule property condition", + "enum": [ + "IncidentTitle", + "IncidentDescription", + "IncidentSeverity", + "IncidentStatus", + "IncidentRelatedAnalyticRuleIds", + "IncidentTactics", + "IncidentLabel", + "IncidentProviderName", + "AccountAadTenantId", + "AccountAadUserId", + "AccountName", + "AccountNTDomain", + "AccountPUID", + "AccountSid", + "AccountObjectGuid", + "AccountUPNSuffix", + "AlertProductNames", + "AzureResourceResourceId", + "AzureResourceSubscriptionId", + "CloudApplicationAppId", + "CloudApplicationAppName", + "DNSDomainName", + "FileDirectory", + "FileName", + "FileHashValue", + "HostAzureID", + "HostName", + "HostNetBiosName", + "HostNTDomain", + "HostOSVersion", + "IoTDeviceId", + "IoTDeviceName", + "IoTDeviceType", + "IoTDeviceVendor", + "IoTDeviceModel", + "IoTDeviceOperatingSystem", + "IPAddress", + "MailboxDisplayName", + "MailboxPrimaryAddress", + "MailboxUPN", + "MailMessageDeliveryAction", + "MailMessageDeliveryLocation", + "MailMessageRecipient", + "MailMessageSenderIP", + "MailMessageSubject", + "MailMessageP1Sender", + "MailMessageP2Sender", + "MalwareCategory", + "MalwareName", + "ProcessCommandLine", + "ProcessId", + "RegistryKey", + "RegistryValueData", + "Url" + ], + "type": "string", + "example": "IncidentTitle", + "x-ms-enum": { + "name": "AutomationRulePropertyConditionSupportedProperty", + "modelAsString": true, + "values": [ + { + "value": "IncidentTitle", + "description": "The title of the incident" + }, + { + "value": "IncidentDescription", + "description": "The description of the incident" + }, + { + "value": "IncidentSeverity", + "description": "The severity of the incident" + }, + { + "value": "IncidentStatus", + "description": "The status of the incident" + }, + { + "value": "IncidentRelatedAnalyticRuleIds", + "description": "The related Analytic rule ids of the incident" + }, + { + "value": "IncidentTactics", + "description": "The tactics of the incident" + }, + { + "value": "IncidentLabel", + "description": "The labels of the incident" + }, + { + "value": "IncidentProviderName", + "description": "The provider name of the incident" + }, + { + "value": "AccountAadTenantId", + "description": "The account Azure Active Directory tenant id" + }, + { + "value": "AccountAadUserId", + "description": "The account Azure Active Directory user id" + }, + { + "value": "AccountName", + "description": "The account name" + }, + { + "value": "AccountNTDomain", + "description": "The account NetBIOS domain name" + }, + { + "value": "AccountPUID", + "description": "The account Azure Active Directory Passport User ID" + }, + { + "value": "AccountSid", + "description": "The account security identifier" + }, + { + "value": "AccountObjectGuid", + "description": "The account unique identifier" + }, + { + "value": "AccountUPNSuffix", + "description": "The account user principal name suffix" + }, + { + "value": "AlertProductNames", + "description": "The name of the product of the alert" + }, + { + "value": "AzureResourceResourceId", + "description": "The Azure resource id" + }, + { + "value": "AzureResourceSubscriptionId", + "description": "The Azure resource subscription id" + }, + { + "value": "CloudApplicationAppId", + "description": "The cloud application identifier" + }, + { + "value": "CloudApplicationAppName", + "description": "The cloud application name" + }, + { + "value": "DNSDomainName", + "description": "The dns record domain name" + }, + { + "value": "FileDirectory", + "description": "The file directory full path" + }, + { + "value": "FileName", + "description": "The file name without path" + }, + { + "value": "FileHashValue", + "description": "The file hash value" + }, + { + "value": "HostAzureID", + "description": "The host Azure resource id" + }, + { + "value": "HostName", + "description": "The host name without domain" + }, + { + "value": "HostNetBiosName", + "description": "The host NetBIOS name" + }, + { + "value": "HostNTDomain", + "description": "The host NT domain" + }, + { + "value": "HostOSVersion", + "description": "The host operating system" + }, + { + "value": "IoTDeviceId", + "description": "\"The IoT device id" + }, + { + "value": "IoTDeviceName", + "description": "The IoT device name" + }, + { + "value": "IoTDeviceType", + "description": "The IoT device type" + }, + { + "value": "IoTDeviceVendor", + "description": "The IoT device vendor" + }, + { + "value": "IoTDeviceModel", + "description": "The IoT device model" + }, + { + "value": "IoTDeviceOperatingSystem", + "description": "The IoT device operating system" + }, + { + "value": "IPAddress", + "description": "The IP address" + }, + { + "value": "MailboxDisplayName", + "description": "The mailbox display name" + }, + { + "value": "MailboxPrimaryAddress", + "description": "The mailbox primary address" + }, + { + "value": "MailboxUPN", + "description": "The mailbox user principal name" + }, + { + "value": "MailMessageDeliveryAction", + "description": "The mail message delivery action" + }, + { + "value": "MailMessageDeliveryLocation", + "description": "The mail message delivery location" + }, + { + "value": "MailMessageRecipient", + "description": "The mail message recipient" + }, + { + "value": "MailMessageSenderIP", + "description": "The mail message sender IP address" + }, + { + "value": "MailMessageSubject", + "description": "The mail message subject" + }, + { + "value": "MailMessageP1Sender", + "description": "The mail message P1 sender" + }, + { + "value": "MailMessageP2Sender", + "description": "The mail message P2 sender" + }, + { + "value": "MalwareCategory", + "description": "The malware category" + }, + { + "value": "MalwareName", + "description": "The malware name" + }, + { + "value": "ProcessCommandLine", + "description": "The process execution command line" + }, + { + "value": "ProcessId", + "description": "The process id" + }, + { + "value": "RegistryKey", + "description": "The registry key path" + }, + { + "value": "RegistryValueData", + "description": "The registry key value in string formatted representation" + }, + { + "value": "Url", + "description": "The url" + } + ] + } + }, + "AutomationRulePropertyValuesCondition": { + "type": "object", + "properties": { + "propertyName": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedProperty" + }, + "operator": { + "$ref": "#/definitions/AutomationRulePropertyConditionSupportedOperator" + }, + "propertyValues": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AutomationRuleRunPlaybookAction": { + "description": "Describes an automation rule action to run a playbook", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleAction" + } + ], + "properties": { + "actionConfiguration": { + "type": "object", + "$ref": "#/definitions/PlaybookActionProperties" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "RunPlaybook" + }, + "AutomationRulesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRule" + } + }, + "nextLink": { + "type": "string" + } + } + }, + "AutomationRuleTriggeringLogic": { + "description": "Describes automation rule triggering logic", + "required": [ + "isEnabled", + "triggersOn", + "triggersWhen" + ], + "type": "object", + "properties": { + "isEnabled": { + "description": "Determines whether the automation rule is enabled or disabled", + "type": "boolean" + }, + "expirationTimeUtc": { + "format": "date-time", + "description": "Determines when the automation rule should automatically expire and be disabled.", + "type": "string" + }, + "triggersOn": { + "$ref": "#/definitions/triggersOn" + }, + "triggersWhen": { + "$ref": "#/definitions/triggersWhen" + }, + "conditions": { + "description": "The conditions to evaluate to determine if the automation rule should be triggered on a given object", + "type": "array", + "maxItems": 50, + "items": { + "$ref": "#/definitions/AutomationRuleCondition" + }, + "x-ms-identifiers": [ + "conditionType" + ] + } + } + }, + "ConditionType": { + "enum": [ + "Property" + ], + "type": "string", + "example": "Property", + "x-ms-enum": { + "name": "ConditionType", + "modelAsString": true, + "values": [ + { + "value": "Property", + "description": "Evaluate an object property value" + } + ] + } + }, + "IncidentPropertiesAction": { + "type": "object", + "properties": { + "severity": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentStatusEnum" + }, + "classification": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationEnum" + }, + "classificationReason": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentClassificationReasonEnum" + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "owner": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentOwnerInfo" + }, + "labels": { + "description": "List of labels to add to the incident", + "type": "array", + "x-ms-identifiers": [ + "labelName" + ], + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + } + } + } + }, + "PlaybookActionProperties": { + "type": "object", + "required": [ + "logicAppResourceId" + ], + "properties": { + "logicAppResourceId": { + "description": "The resource id of the playbook resource", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "The tenant id of the playbook resource", + "type": "string" + } + } + }, + "PropertyConditionProperties": { + "description": "Describes an automation rule condition that evaluates a property's value", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AutomationRuleCondition" + } + ], + "properties": { + "conditionProperties": { + "type": "object", + "$ref": "#/definitions/AutomationRulePropertyValuesCondition" + } + }, + "x-ms-client-flatten": true, + "x-ms-discriminator-value": "Property" + }, + "triggersOn": { + "enum": [ + "Incidents" + ], + "type": "string", + "example": "Incidents", + "x-ms-enum": { + "name": "triggersOn", + "modelAsString": true, + "values": [ + { + "value": "Incidents", + "description": "Trigger on Incidents" + } + ] + } + }, + "triggersWhen": { + "enum": [ + "Created" + ], + "type": "string", + "example": "Created", + "x-ms-enum": { + "name": "triggersWhen", + "modelAsString": true, + "values": [ + { + "value": "Created", + "description": "Trigger on created objects" + } + ] + } + } + }, + "parameters": { + "AutomationRule": { + "name": "automationRule", + "description": "The automation rule", + "required": true, + "in": "body", + "x-ms-parameter-location": "method", + "schema": { + "$ref": "#/definitions/AutomationRule" + } + }, + "AutomationRuleId": { + "in": "path", + "name": "automationRuleId", + "description": "Automation rule ID", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Bookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Bookmarks.json new file mode 100644 index 000000000000..62b87dc68391 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Bookmarks.json @@ -0,0 +1,355 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks": { + "get": { + "x-ms-examples": { + "Get all bookmarks.": { + "$ref": "./examples/bookmarks/GetBookmarks.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets all bookmarks.", + "operationId": "Bookmarks_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/BookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}": { + "get": { + "x-ms-examples": { + "Get a bookmark.": { + "$ref": "./examples/bookmarks/GetBookmarkById.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Gets a bookmark.", + "operationId": "Bookmarks_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates a bookmark.": { + "$ref": "./examples/bookmarks/CreateBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Creates or updates the bookmark.", + "operationId": "Bookmarks_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + }, + { + "$ref": "#/parameters/Bookmark" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Bookmark" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a bookmark.": { + "$ref": "./examples/bookmarks/DeleteBookmark.json" + } + }, + "tags": [ + "Bookmarks" + ], + "description": "Delete the bookmark.", + "operationId": "Bookmarks_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/BookmarkId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Bookmark": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a bookmark in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/BookmarkProperties", + "description": "Bookmark properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "BookmarkList": { + "description": "List all the bookmarks.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of cases.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of bookmarks.", + "items": { + "$ref": "#/definitions/Bookmark" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "BookmarkProperties": { + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "eventTime": { + "description": "The bookmark event time", + "format": "date-time", + "type": "string" + }, + "queryStartTime": { + "description": "The start time for the query", + "format": "date-time", + "type": "string" + }, + "queryEndTime": { + "description": "The end time for the query", + "format": "date-time", + "type": "string" + }, + "incidentInfo": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + } + }, + "parameters": { + "Bookmark": { + "description": "The bookmark", + "in": "body", + "name": "bookmark", + "required": true, + "schema": { + "$ref": "#/definitions/Bookmark" + }, + "x-ms-parameter-location": "method" + }, + "BookmarkId": { + "description": "Bookmark ID", + "in": "path", + "name": "bookmarkId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/DataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/DataConnectors.json new file mode 100644 index 000000000000..55c7026e3321 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/DataConnectors.json @@ -0,0 +1,739 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors": { + "get": { + "x-ms-examples": { + "Get all data connectors.": { + "$ref": "./examples/dataConnectors/GetDataConnectors.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets all data connectors.", + "operationId": "DataConnectors_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnectorList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/dataConnectors/{dataConnectorId}": { + "get": { + "x-ms-examples": { + "Get an Office365 data connector.": { + "$ref": "./examples/dataConnectors/GetOfficeDataConnetorById.json" + }, + "Get a TI data connector.": { + "$ref": "./examples/dataConnectors/GetThreatIntelligenceById.json" + }, + "Get a MCAS data connector.": { + "$ref": "./examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json" + }, + "Get a ASC data connector.": { + "$ref": "./examples/dataConnectors/GetAzureSecurityCenterById.json" + }, + "Get an AAD data connector.": { + "$ref": "./examples/dataConnectors/GetAzureActiveDirectoryById.json" + }, + "Get an AwsCloudTrail data connector.": { + "$ref": "./examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json" + }, + "Get an AATP data connector.": { + "$ref": "./examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json" + }, + "Get a MDATP data connector": { + "$ref": "./examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Gets a data connector.", + "operationId": "DataConnectors_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an Office365 data connector.": { + "$ref": "./examples/dataConnectors/CreateOfficeDataConnetor.json" + }, + "Creates or updates an Threat Intelligence Platform data connector.": { + "$ref": "./examples/dataConnectors/CreateThreatIntelligenceDataConnector.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Creates or updates the data connector.", + "operationId": "DataConnectors_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + }, + { + "$ref": "#/parameters/DataConnector" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DataConnector" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an Office365 data connector.": { + "$ref": "./examples/dataConnectors/DeleteOfficeDataConnetor.json" + } + }, + "tags": [ + "Data Connectors" + ], + "description": "Delete the data connector.", + "operationId": "DataConnectors_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/DataConnectorId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "AADDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AAD (Azure Active Directory) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AADDataConnectorProperties", + "description": "AAD (Azure Active Directory) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureActiveDirectory" + }, + "AADDataConnectorProperties": { + "description": "AAD (Azure Active Directory) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "AATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents AATP (Azure Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AATPDataConnectorProperties", + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureAdvancedThreatProtection" + }, + "AATPDataConnectorProperties": { + "description": "AATP (Azure Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "ASCDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents ASC (Azure Security Center) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/ASCDataConnectorProperties", + "description": "ASC (Azure Security Center) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureSecurityCenter" + }, + "ASCDataConnectorProperties": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorWithAlertsProperties" + } + ], + "description": "ASC (Azure Security Center) data connector properties.", + "properties": { + "subscriptionId": { + "description": "The subscription id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "AlertsDataTypeOfDataConnector": { + "description": "Alerts data type for data connectors.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents Amazon Web Services CloudTrail data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorProperties", + "description": "Amazon Web Services CloudTrail data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AmazonWebServicesCloudTrail" + }, + "AwsCloudTrailDataConnectorDataTypes": { + "description": "The available data types for Amazon Web Services CloudTrail data connector.", + "properties": { + "logs": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Logs data type.", + "type": "object" + } + }, + "type": "object" + }, + "AwsCloudTrailDataConnectorProperties": { + "description": "Amazon Web Services CloudTrail data connector properties.", + "properties": { + "awsRoleArn": { + "description": "The Aws Role Arn (with CloudTrailReadOnly policy) that is used to access the Aws account.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AwsCloudTrailDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "DataConnector": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Data connector.", + "discriminator": "kind", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/DataConnectorKind", + "description": "The data connector kind" + } + }, + "type": "object" + }, + "DataConnectorKind": { + "description": "The kind of the data connector", + "enum": [ + "AzureActiveDirectory", + "AzureSecurityCenter", + "MicrosoftCloudAppSecurity", + "ThreatIntelligence", + "Office365", + "AmazonWebServicesCloudTrail", + "AzureAdvancedThreatProtection", + "MicrosoftDefenderAdvancedThreatProtection" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataConnectorKind", + "values": [ + { + "value": "AzureActiveDirectory" + }, + { + "value": "AzureSecurityCenter" + }, + { + "value": "MicrosoftCloudAppSecurity" + }, + { + "value": "ThreatIntelligence" + }, + { + "value": "Office365" + }, + { + "value": "AmazonWebServicesCloudTrail" + }, + { + "value": "AzureAdvancedThreatProtection" + }, + { + "value": "MicrosoftDefenderAdvancedThreatProtection" + } + ] + } + }, + "DataConnectorList": { + "description": "List all the data connectors.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of data connectors.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of data connectors.", + "items": { + "$ref": "#/definitions/DataConnector" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "DataConnectorDataTypeCommon": { + "description": "Common field for data type in data connectors.", + "properties": { + "state": { + "description": "Describe whether this data type connection is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "DataTypeState" + } + } + }, + "type": "object" + }, + "DataConnectorTenantId": { + "description": "Properties data connector on tenant level.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + } + }, + "type": "object" + }, + "DataConnectorWithAlertsProperties": { + "description": "Data connector properties.", + "properties": { + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "MCASDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MCASDataConnectorProperties", + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftCloudAppSecurity" + }, + "MCASDataConnectorDataTypes": { + "allOf": [ + { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector" + } + ], + "description": "The available data types for MCAS (Microsoft Cloud App Security) data connector.", + "properties": { + "alerts": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Alerts data type connection." + }, + "discoveryLogs": { + "$ref": "#/definitions/DataConnectorDataTypeCommon", + "description": "Discovery log data type connection." + } + }, + "type": "object" + }, + "MCASDataConnectorProperties": { + "description": "MCAS (Microsoft Cloud App Security) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/MCASDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "MDATPDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents MDATP (Microsoft Defender Advanced Threat Protection) data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/MDATPDataConnectorProperties", + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MicrosoftDefenderAdvancedThreatProtection" + }, + "MDATPDataConnectorProperties": { + "description": "MDATP (Microsoft Defender Advanced Threat Protection) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/AlertsDataTypeOfDataConnector", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "TIDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents threat intelligence data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/TIDataConnectorProperties", + "description": "TI (Threat Intelligence) data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "ThreatIntelligence" + }, + "TIDataConnectorDataTypes": { + "description": "The available data types for TI (Threat Intelligence) data connector.", + "properties": { + "indicators": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Data type for indicators connection.", + "type": "object" + } + }, + "type": "object" + }, + "TIDataConnectorProperties": { + "description": "TI (Threat Intelligence) data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "tipLookbackPeriod": { + "description": "The lookback period for the feed to be imported.", + "format": "date-time", + "type": "string", + "x-nullable": true + }, + "dataTypes": { + "$ref": "#/definitions/TIDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + }, + "OfficeDataConnector": { + "allOf": [ + { + "$ref": "#/definitions/DataConnector" + } + ], + "description": "Represents office data connector.", + "properties": { + "properties": { + "$ref": "#/definitions/OfficeDataConnectorProperties", + "description": "Office data connector properties.", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Office365" + }, + "OfficeDataConnectorDataTypes": { + "description": "The available data types for office data connector.", + "properties": { + "exchange": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Exchange data type connection.", + "type": "object" + }, + "sharePoint": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "SharePoint data type connection.", + "type": "object" + }, + "teams": { + "allOf": [ + { + "$ref": "#/definitions/DataConnectorDataTypeCommon" + } + ], + "description": "Teams data type connection.", + "type": "object" + } + }, + "type": "object" + }, + "OfficeDataConnectorProperties": { + "description": "Office data connector properties.", + "properties": { + "tenantId": { + "description": "The tenant id to connect to, and get the data from.", + "type": "string" + }, + "dataTypes": { + "$ref": "#/definitions/OfficeDataConnectorDataTypes", + "description": "The available data types for the connector." + } + }, + "type": "object" + } + }, + "parameters": { + "DataConnector": { + "description": "The data connector", + "in": "body", + "name": "dataConnector", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnector" + }, + "x-ms-parameter-location": "method" + }, + "DataConnectorId": { + "description": "Connector ID", + "in": "path", + "name": "dataConnectorId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Incidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Incidents.json new file mode 100644 index 000000000000..31c0afb51336 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Incidents.json @@ -0,0 +1,1343 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents": { + "get": { + "x-ms-examples": { + "Get all incidents.": { + "$ref": "./examples/incidents/GetIncidents.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets all incidents.", + "operationId": "Incidents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}": { + "get": { + "x-ms-examples": { + "Get an incident.": { + "$ref": "./examples/incidents/GetIncidentById.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Gets a given incident.", + "operationId": "Incidents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident.": { + "$ref": "./examples/incidents/CreateIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Creates or updates an incident.", + "operationId": "Incidents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/Incident" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Incident" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete an incident.": { + "$ref": "./examples/incidents/DeleteIncident.json" + } + }, + "tags": [ + "Incidents" + ], + "description": "Deletes a given incident.", + "operationId": "Incidents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/alerts": { + "post": { + "x-ms-examples": { + "Get all incident alerts.": { + "$ref": "./examples/incidents/GetAllIncidentAlerts.json" + } + }, + "tags": [ + "IncidentAlerts" + ], + "description": "Gets all alerts for an incident.", + "operationId": "Incidents_ListAlerts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentAlertList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/bookmarks": { + "post": { + "x-ms-examples": { + "Get all incident bookmarks.": { + "$ref": "./examples/incidents/GetAllIncidentBookmarks.json" + } + }, + "tags": [ + "IncidentBookmarks" + ], + "description": "Gets all bookmarks for an incident.", + "operationId": "Incidents_ListBookmarks", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentBookmarkList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments": { + "get": { + "x-ms-examples": { + "Get all incident comments.": { + "$ref": "./examples/incidents/comments/GetAllIncidentComments.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets all comments for a given incident.", + "operationId": "IncidentComments_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentCommentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/IncidentComment", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/comments/{incidentCommentId}": { + "get": { + "x-ms-examples": { + "Get an incident comment.": { + "$ref": "./examples/incidents/comments/GetIncidentCommentById.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Gets a comment for a given incident.", + "operationId": "IncidentComments_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK, Operation successfully completed", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident comment.": { + "$ref": "./examples/incidents/comments/CreateIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Creates or updates a comment for a given incident.", + "operationId": "IncidentComments_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + }, + { + "$ref": "#/parameters/IncidentComment" + } + ], + "responses": { + "200": { + "description": "Updated", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IncidentComment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident comment.": { + "$ref": "./examples/incidents/comments/DeleteIncidentComment.json" + } + }, + "tags": [ + "IncidentComments" + ], + "description": "Deletes a comment for a given incident.", + "operationId": "IncidentComments_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/IncidentCommentId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/entities": { + "post": { + "x-ms-examples": { + "Gets all incident related entities": { + "$ref": "./examples/incidents/GetAllIncidentEntities.json" + } + }, + "tags": [ + "IncidentEntities" + ], + "description": "Gets all entities for an incident.", + "operationId": "Incidents_ListEntities", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IncidentEntitiesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations": { + "get": { + "x-ms-examples": { + "Get all incident relations.": { + "$ref": "./examples/incidents/relations/GetAllIncidentRelations.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets all relations for a given incident.", + "operationId": "IncidentRelations_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RelationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-odata": "#/definitions/Relation", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/incidents/{incidentId}/relations/{relationName}": { + "get": { + "x-ms-examples": { + "Get an incident relation.": { + "$ref": "./examples/incidents/relations/GetIncidentRelationByName.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Gets a relation for a given incident.", + "operationId": "IncidentRelations_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Creates or updates an incident relation.": { + "$ref": "./examples/incidents/relations/CreateIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Creates or updates a relation for a given incident.", + "operationId": "IncidentRelations_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + }, + { + "$ref": "#/parameters/Relation" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Relation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete the incident relation.": { + "$ref": "./examples/incidents/relations/DeleteIncidentRelation.json" + } + }, + "tags": [ + "IncidentRelations" + ], + "description": "Deletes a relation for a given incident.", + "operationId": "IncidentRelations_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/IncidentId" + }, + { + "$ref": "#/parameters/RelationName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "Relation": { + "type": "object", + "description": "Represents a relation between two resources", + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RelationProperties", + "description": "Relation properties", + "x-ms-client-flatten": true + } + } + }, + "RelationList": { + "description": "List of relations.", + "properties": { + "nextLink": { + "readOnly": true, + "description": "URL to fetch the next set of relations.", + "type": "string" + }, + "value": { + "description": "Array of relations.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/Relation" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "RelationProperties": { + "description": "Relation property bag.", + "properties": { + "relatedResourceId": { + "description": "The resource ID of the related resource", + "type": "string" + }, + "relatedResourceName": { + "description": "The name of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceType": { + "description": "The resource type of the related resource", + "readOnly": true, + "type": "string" + }, + "relatedResourceKind": { + "description": "The resource kind of the related resource", + "readOnly": true, + "type": "string" + } + }, + "required": [ + "relatedResourceId" + ], + "type": "object" + }, + "Incident": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentProperties", + "description": "Incident properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentAdditionalData": { + "description": "Incident additional data property bag.", + "properties": { + "alertsCount": { + "description": "The number of alerts in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "bookmarksCount": { + "description": "The number of bookmarks in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "commentsCount": { + "description": "The number of comments in the incident", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "alertProductNames": { + "description": "List of product names of alerts in the incident", + "items": { + "description": "Alert product name", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "tactics": { + "description": "The tactics associated with incident", + "items": { + "$ref": "./common/AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "IncidentAlertList": { + "description": "List of incident alerts.", + "properties": { + "value": { + "description": "Array of incident alerts.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/SecurityAlert" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentBookmarkList": { + "description": "List of incident bookmarks.", + "properties": { + "value": { + "description": "Array of incident bookmarks.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/HuntingBookmark" + } + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentComment": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents an incident comment", + "properties": { + "properties": { + "$ref": "#/definitions/IncidentCommentProperties", + "description": "Incident comment properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "IncidentCommentList": { + "description": "List of incident comments.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of comments.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of comments.", + "items": { + "$ref": "#/definitions/IncidentComment" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentCommentProperties": { + "description": "Incident comment property bag.", + "properties": { + "createdTimeUtc": { + "description": "The time the comment was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The time the comment was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The comment message", + "type": "string" + }, + "author": { + "$ref": "../../../common/2.0/types.json#/definitions/ClientInfo", + "description": "Describes the client that created the comment", + "readOnly": true, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "IncidentEntitiesResponse": { + "description": "The incident related entities response.", + "type": "object", + "properties": { + "entities": { + "description": "Array of the incident related entities.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "./common/EntityTypes.json#/definitions/Entity" + } + }, + "metaData": { + "description": "The metadata from the incident related entities results.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/IncidentEntitiesResultsMetadata" + } + } + } + }, + "IncidentEntitiesResultsMetadata": { + "description": "Information of a specific aggregation in the incident related entities result.", + "properties": { + "count": { + "description": "Total number of aggregations of the given kind in the incident related entities result.", + "type": "integer", + "format": "int32" + }, + "entityKind": { + "$ref": "./common/EntityTypes.json#/definitions/EntityInnerKind", + "description": "The kind of the aggregated entity." + } + }, + "required": [ + "entityKind", + "count" + ], + "type": "object" + }, + "IncidentList": { + "description": "List all the incidents.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of incidents.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of incidents.", + "items": { + "$ref": "#/definitions/Incident" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + } + }, + "type": "object" + }, + "IncidentProperties": { + "description": "Describes incident properties", + "properties": { + "additionalData": { + "$ref": "#/definitions/IncidentAdditionalData", + "description": "Additional data on the incident", + "readOnly": true, + "type": "object" + }, + "classification": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "classificationComment": { + "description": "Describes the reason the incident was closed", + "type": "string" + }, + "classificationReason": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "createdTimeUtc": { + "description": "The time the incident was created", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the incident", + "type": "string" + }, + "firstActivityTimeUtc": { + "description": "The time of the first activity in the incident", + "format": "date-time", + "type": "string" + }, + "incidentUrl": { + "description": "The deep-link url to the incident in Azure portal", + "readOnly": true, + "type": "string" + }, + "incidentNumber": { + "description": "A sequential number", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "labels": { + "description": "List of labels relevant to this incident", + "items": { + "$ref": "./common/IncidentTypes.json#/definitions/IncidentLabel" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "lastActivityTimeUtc": { + "description": "The time of the last activity in the incident", + "format": "date-time", + "type": "string" + }, + "lastModifiedTimeUtc": { + "description": "The last time the incident was updated", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "owner": { + "$ref": "#/definitions/IncidentOwnerInfo", + "description": "Describes a user that the incident is assigned to", + "type": "object" + }, + "relatedAnalyticRuleIds": { + "description": "List of resource ids of Analytic rules related to the incident", + "items": { + "description": "Related Analytic rule resource id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "./common/IncidentTypes.json#/definitions/IncidentSeverityEnum" + }, + "status": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "title": { + "description": "The title of the incident", + "type": "string" + } + }, + "required": [ + "title", + "severity", + "status" + ], + "type": "object" + } + }, + "parameters": { + "Incident": { + "description": "The incident", + "in": "body", + "name": "incident", + "required": true, + "schema": { + "$ref": "#/definitions/Incident" + }, + "x-ms-parameter-location": "method" + }, + "IncidentComment": { + "description": "The incident comment", + "in": "body", + "name": "incidentComment", + "required": true, + "schema": { + "$ref": "#/definitions/IncidentComment" + }, + "x-ms-parameter-location": "method" + }, + "IncidentCommentId": { + "description": "Incident comment ID", + "in": "path", + "name": "incidentCommentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "IncidentId": { + "description": "Incident ID", + "in": "path", + "name": "incidentId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Relation": { + "name": "relation", + "in": "body", + "description": "The relation model", + "required": true, + "schema": { + "$ref": "#/definitions/Relation" + }, + "x-ms-parameter-location": "method" + }, + "RelationName": { + "name": "relationName", + "in": "path", + "required": true, + "type": "string", + "description": "Relation Name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/OnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/OnboardingStates.json new file mode 100644 index 000000000000..ea65e59609f9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/OnboardingStates.json @@ -0,0 +1,284 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates/{sentinelOnboardingStateName}": { + "get": { + "x-ms-examples": { + "Get Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/GetSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Get Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in getting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/CreateSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Create Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + } + }, + "default": { + "description": "Error in creating the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete Sentinel onboarding state": { + "$ref": "./examples/onboardingStates/DeleteSentinelOnboardingState.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Delete Sentinel onboarding state", + "operationId": "SentinelOnboardingStates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/SentinelOnboardingStateName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error in deleting the Sentinel onboarding state", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/onboardingStates": { + "get": { + "x-ms-examples": { + "Get all Sentinel onboarding states": { + "$ref": "./examples/onboardingStates/GetAllSentinelOnboardingStates.json" + } + }, + "tags": [ + "SentinelOnboardingStates" + ], + "description": "Gets all Sentinel onboarding states", + "operationId": "SentinelOnboardingStates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SentinelOnboardingStatesList" + } + }, + "default": { + "description": "Error in listing the Sentinel onboarding states", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "SentinelOnboardingStateProperties": { + "description": "The Sentinel onboarding state properties", + "type": "object", + "properties": { + "customerManagedKey": { + "description": "Flag that indicates the status of the CMK setting", + "type": "boolean" + } + } + }, + "SentinelOnboardingState": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Sentinel onboarding state", + "properties": { + "properties": { + "$ref": "#/definitions/SentinelOnboardingStateProperties", + "description": "The Sentinel onboarding state object", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "SentinelOnboardingStatesList": { + "description": "List of the Sentinel onboarding states", + "properties": { + "value": { + "description": "Array of Sentinel onboarding states", + "items": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "type": "array" + } + }, + "type": "object", + "required": [ + "value" + ] + } + }, + "parameters": { + "SentinelOnboardingStateName": { + "description": "The Sentinel onboarding state name. Supports - default", + "in": "path", + "name": "sentinelOnboardingStateName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SentinelOnboardingStateParameter": { + "description": "The Sentinel onboarding state parameter", + "in": "body", + "name": "sentinelOnboardingStateParameter", + "required": false, + "schema": { + "$ref": "#/definitions/SentinelOnboardingState" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/ThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/ThreatIntelligence.json new file mode 100644 index 000000000000..14eebd50959e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/ThreatIntelligence.json @@ -0,0 +1,1097 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/createIndicator": { + "post": { + "x-ms-examples": { + "Create a new Threat Intelligence": { + "$ref": "./examples/threatintelligence/CreateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Create a new threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_CreateIndicator", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to create indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators": { + "get": { + "x-ms-examples": { + "Get all threat intelligence indicators": { + "$ref": "./examples/threatintelligence/GetThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get all threat intelligence indicators.", + "operationId": "ThreatIntelligenceIndicators_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataFilter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataTop" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataOrderBy" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get indicators.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}": { + "get": { + "x-ms-examples": { + "View a threat intelligence indicator by name": { + "$ref": "./examples/threatintelligence/GetThreatIntelligenceById.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "View a threat intelligence indicator by name.", + "operationId": "ThreatIntelligenceIndicator_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to view an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Update a threat Intelligence indicator": { + "$ref": "./examples/threatintelligence/UpdateThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Update a threat Intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Create", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceProperties" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to update an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/DeleteThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Delete a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed to delete an indicator.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/queryIndicators": { + "post": { + "x-ms-examples": { + "Query threat intelligence indicators as per filtering criteria": { + "$ref": "./examples/threatintelligence/QueryThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Query threat intelligence indicators as per filtering criteria.", + "operationId": "ThreatIntelligenceIndicator_QueryIndicators", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceFilteringCriteria" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/metrics": { + "get": { + "x-ms-examples": { + "Get threat intelligence indicators metrics.": { + "$ref": "./examples/threatintelligence/CollectThreatIntelligenceMetrics.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Get threat intelligence indicators metrics (Indicators counts by Type, Threat Type, Source).", + "operationId": "ThreatIntelligenceIndicatorMetrics_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceMetricsList" + } + }, + "default": { + "description": "Error response describing why the operation failed to get metrics.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/appendTags": { + "post": { + "x-ms-examples": { + "Append tags to a threat intelligence indicator": { + "$ref": "./examples/threatintelligence/AppendTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Append tags to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_AppendTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceAppendTags" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed to append tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/threatIntelligence/main/indicators/{name}/replaceTags": { + "post": { + "x-ms-examples": { + "Replace tags to a Threat Intelligence": { + "$ref": "./examples/threatintelligence/ReplaceTagsThreatIntelligence.json" + } + }, + "tags": [ + "ThreatIntelligence" + ], + "description": "Replace tags added to a threat intelligence indicator.", + "operationId": "ThreatIntelligenceIndicator_ReplaceTags", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceName" + }, + { + "$ref": "#/parameters/ThreatIntelligenceReplaceTags" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + }, + "default": { + "description": "Error response describing why the operation failed to replace tags.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "ThreatIntelligenceInformation": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Threat intelligence information object.", + "properties": { + "kind": { + "$ref": "#/definitions/ThreatIntelligenceResourceInnerKind", + "description": "The kind of the entity." + } + }, + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "ThreatIntelligenceInformationList": { + "description": "List of all the threat intelligence information objects.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of information objects.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of threat intelligence information objects.", + "items": { + "$ref": "#/definitions/ThreatIntelligenceInformation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceIndicatorModel": { + "allOf": [ + { + "$ref": "#/definitions/ThreatIntelligenceInformation" + } + ], + "description": "Threat intelligence indicator entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorProperties", + "description": "Threat Intelligence Entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "indicator" + }, + "ThreatIntelligenceResourceInnerKind": { + "description": "The kind of the threat intelligence entity", + "enum": [ + "indicator" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceResourceInnerKind", + "values": [ + { + "description": "Entity represents threat intelligence indicator in the system.", + "value": "indicator" + } + ] + } + }, + "ThreatIntelligenceIndicatorProperties": { + "allOf": [ + { + "$ref": "./common/EntityTypes.json#/definitions/EntityCommonProperties" + } + ], + "description": "Describes threat intelligence entity properties", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags", + "items": { + "description": "tag", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "lastUpdatedTimeUtc": { + "description": "Last updated time in UTC", + "type": "string" + }, + "source": { + "description": "Source of a threat intelligence entity", + "type": "string" + }, + "displayName": { + "description": "Display name of a threat intelligence entity", + "type": "string" + }, + "description": { + "description": "Description of a threat intelligence entity", + "type": "string" + }, + "indicatorTypes": { + "description": "Indicator types of threat intelligence entities", + "items": { + "description": "Indicator type of a threat intelligence entity", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "pattern": { + "description": "Pattern of a threat intelligence entity", + "type": "string" + }, + "patternType": { + "description": "Pattern type of a threat intelligence entity", + "type": "string" + }, + "patternVersion": { + "description": "Pattern version of a threat intelligence entity", + "type": "string" + }, + "killChainPhases": { + "description": "Kill chain phases", + "items": { + "description": "Kill chain phase", + "$ref": "#/definitions/ThreatIntelligenceKillChainPhase" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "parsedPattern": { + "description": "Parsed patterns", + "items": { + "description": "Parsed pattern", + "$ref": "#/definitions/ThreatIntelligenceParsedPattern" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "externalId": { + "description": "External ID of threat intelligence entity", + "type": "string" + }, + "createdByRef": { + "description": "Created by reference of threat intelligence entity", + "type": "string" + }, + "defanged": { + "description": "Is threat intelligence entity defanged", + "type": "boolean" + }, + "externalLastUpdatedTimeUtc": { + "description": "External last updated time in UTC", + "type": "string" + }, + "externalReferences": { + "description": "External References", + "items": { + "description": "external_reference", + "$ref": "#/definitions/ThreatIntelligenceExternalReference" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "granularMarkings": { + "description": "Granular Markings", + "items": { + "description": "Granular marking", + "$ref": "#/definitions/ThreatIntelligenceGranularMarkingModel" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "labels": { + "description": "Labels of threat intelligence entity", + "items": { + "description": "label", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "revoked": { + "description": "Is threat intelligence entity revoked", + "type": "boolean" + }, + "confidence": { + "description": "Confidence of threat intelligence entity", + "type": "integer", + "format": "int32" + }, + "objectMarkingRefs": { + "description": "Threat intelligence entity object marking references", + "items": { + "description": "Threat intelligence entity object marking reference", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "language": { + "description": "Language of threat intelligence entity", + "type": "string" + }, + "threatTypes": { + "description": "Threat types", + "items": { + "description": "Threat type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "validFrom": { + "description": "Valid from", + "type": "string" + }, + "validUntil": { + "description": "Valid until", + "type": "string" + }, + "created": { + "description": "Created by", + "type": "string" + }, + "modified": { + "description": "Modified by", + "type": "string" + }, + "extensions": { + "description": "Extensions map", + "type": "object", + "additionalProperties": {} + } + }, + "type": "object" + }, + "ThreatIntelligenceKillChainPhase": { + "description": "Describes threat kill chain phase entity", + "properties": { + "killChainName": { + "description": "Kill chainName name", + "type": "string" + }, + "phaseName": { + "description": "Phase name", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPattern": { + "description": "Describes parsed pattern entity", + "properties": { + "patternTypeKey": { + "description": "Pattern type key", + "type": "string" + }, + "patternTypeValues": { + "description": "Pattern type keys", + "items": { + "description": "Pattern type key", + "$ref": "#/definitions/ThreatIntelligenceParsedPatternTypeValue" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceParsedPatternTypeValue": { + "description": "Describes threat kill chain phase entity", + "properties": { + "valueType": { + "description": "Type of the value", + "type": "string" + }, + "value": { + "description": "Value of parsed pattern", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceGranularMarkingModel": { + "description": "Describes threat granular marking model entity", + "properties": { + "language": { + "description": "Language granular marking model", + "type": "string" + }, + "markingRef": { + "description": "marking reference granular marking model", + "type": "integer", + "format": "int32" + }, + "selectors": { + "description": "granular marking model selectors", + "items": { + "description": "granular marking model selector", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceExternalReference": { + "description": "Describes external reference", + "properties": { + "description": { + "description": "External reference description", + "type": "string" + }, + "externalId": { + "description": "External reference ID", + "type": "string" + }, + "sourceName": { + "description": "External reference source name", + "type": "string" + }, + "url": { + "description": "External reference URL", + "type": "string" + }, + "hashes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "External reference hashes" + } + }, + "type": "object" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "properties": { + "pageSize": { + "description": "Page size", + "type": "integer", + "format": "int32" + }, + "minConfidence": { + "description": "Minimum confidence.", + "type": "integer", + "format": "int32" + }, + "maxConfidence": { + "description": "Maximum confidence.", + "type": "integer", + "format": "int32" + }, + "minValidUntil": { + "description": "Start time for ValidUntil filter.", + "type": "string" + }, + "maxValidUntil": { + "description": "End time for ValidUntil filter.", + "type": "string" + }, + "includeDisabled": { + "description": "Parameter to include/exclude disabled indicators.", + "type": "boolean" + }, + "sortBy": { + "description": "Columns to sort by and sorting order", + "items": { + "description": "Sort By", + "$ref": "#/definitions/ThreatIntelligenceSortingCriteria" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sources": { + "description": "Sources of threat intelligence indicators", + "items": { + "description": "Source", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypes": { + "description": "Pattern types", + "items": { + "description": "Pattern type", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "threatTypes": { + "description": "Threat types of threat intelligence indicators", + "items": { + "description": "Threat type of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "ids": { + "description": "Ids of threat intelligence indicators", + "items": { + "description": "Id of a threat intelligence indicator", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "keywords": { + "description": "Keywords for searching threat intelligence indicators", + "items": { + "description": "keyword for searching threat intelligence indicators", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "skipToken": { + "description": "Skip token.", + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingCriteria": { + "description": "List of available columns for sorting", + "properties": { + "itemKey": { + "description": "Column name", + "type": "string" + }, + "sortOrder": { + "$ref": "#/definitions/ThreatIntelligenceSortingOrder", + "description": "Sorting order (ascending/descending/unsorted)." + } + }, + "type": "object" + }, + "ThreatIntelligenceSortingOrder": { + "description": "Sorting order (ascending/descending/unsorted).", + "enum": [ + "unsorted", + "ascending", + "descending" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ThreatIntelligenceSortingOrder", + "values": [ + { + "value": "unsorted" + }, + { + "value": "ascending" + }, + { + "value": "descending" + } + ] + } + }, + "ThreatIntelligenceAppendTags": { + "description": "Array of tags to be appended to the threat intelligence indicator.", + "properties": { + "threatIntelligenceTags": { + "description": "List of tags to be appended.", + "items": { + "description": "parameter", + "type": "string" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricsList": { + "description": "List of all the threat intelligence metric fields (type/threat type/source).", + "properties": { + "value": { + "description": "Array of threat intelligence metric fields (type/threat type/source).", + "items": { + "$ref": "#/definitions/ThreatIntelligenceMetrics" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "ThreatIntelligenceMetrics": { + "description": "Threat intelligence metrics.", + "properties": { + "properties": { + "description": "Threat intelligence metrics.", + "$ref": "#/definitions/ThreatIntelligenceMetric" + } + }, + "type": "object" + }, + "ThreatIntelligenceMetric": { + "description": "Describes threat intelligence metric", + "properties": { + "lastUpdatedTimeUtc": { + "description": "Last updated indicator metric", + "type": "string" + }, + "threatTypeMetrics": { + "description": "Threat type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "patternTypeMetrics": { + "description": "Pattern type metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "sourceMetrics": { + "description": "Source metrics", + "items": { + "description": "parameter", + "$ref": "#/definitions/ThreatIntelligenceMetricEntity" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ThreatIntelligenceMetricEntity": { + "description": "Describes threat intelligence metric entity", + "properties": { + "metricName": { + "description": "Metric name", + "type": "string" + }, + "metricValue": { + "description": "Metric value", + "type": "integer", + "format": "int32" + } + }, + "type": "object" + } + }, + "parameters": { + "ThreatIntelligenceName": { + "description": "Threat intelligence indicator name field.", + "in": "path", + "name": "name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceProperties": { + "description": "Properties of threat intelligence indicators to create and update.", + "in": "body", + "name": "ThreatIntelligenceProperties", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceReplaceTags": { + "description": "Tags in the threat intelligence indicator to be replaced.", + "in": "body", + "name": "ThreatIntelligenceReplaceTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceIndicatorModel" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceFilteringCriteria": { + "description": "Filtering criteria for querying threat intelligence indicators.", + "in": "body", + "name": "ThreatIntelligenceFilteringCriteria", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceFilteringCriteria" + }, + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceIndicatorEntityKind": { + "description": "The threat intelligence entity kind", + "in": "query", + "name": "ctiEntityKind", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ThreatIntelligenceAppendTags": { + "description": "The threat intelligence append tags request body", + "in": "body", + "name": "ThreatIntelligenceAppendTags", + "required": true, + "schema": { + "$ref": "#/definitions/ThreatIntelligenceAppendTags" + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Watchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Watchlists.json new file mode 100644 index 000000000000..82cdf266357e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/Watchlists.json @@ -0,0 +1,705 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists": { + "get": { + "x-ms-examples": { + "Get all watchlists.": { + "$ref": "./examples/watchlists/GetWatchlists.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Get all watchlists, without watchlist items.", + "operationId": "Watchlists_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}": { + "get": { + "x-ms-examples": { + "Get a watchlist.": { + "$ref": "./examples/watchlists/GetWatchlistByAlias.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Get a watchlist, without its watchlist items.", + "operationId": "Watchlists_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist.": { + "$ref": "./examples/watchlists/DeleteWatchlist.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Delete a watchlist.", + "operationId": "Watchlists_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a watchlist.": { + "$ref": "./examples/watchlists/CreateWatchlist.json" + }, + "Create or update a watchlist and bulk creates watchlist items.": { + "$ref": "./examples/watchlists/CreateWatchlistAndWatchlistItems.json" + } + }, + "tags": [ + "Watchlists" + ], + "description": "Create or update a Watchlist and its Watchlist Items (bulk creation, e.g. through text/csv content type). To create a Watchlist and its Items, we should call this endpoint with rawContent and contentType properties.", + "operationId": "Watchlists_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/Watchlist" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Watchlist" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems": { + "get": { + "x-ms-examples": { + "Get all watchlist Items.": { + "$ref": "./examples/watchlists/GetWatchlistItems.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Get all watchlist Items.", + "operationId": "WatchlistItems_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/ODataSkipToken" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItemList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/watchlists/{watchlistAlias}/watchlistItems/{watchlistItemId}": { + "get": { + "x-ms-examples": { + "Get a watchlist item.": { + "$ref": "./examples/watchlists/GetWatchlistItemById.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Get a watchlist item.", + "operationId": "WatchlistItems_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "x-ms-examples": { + "Delete a watchlist item.": { + "$ref": "./examples/watchlists/DeleteWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Delete a watchlist item.", + "operationId": "WatchlistItems_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + }, + "put": { + "x-ms-examples": { + "Create or update a watchlist item.": { + "$ref": "./examples/watchlists/CreateWatchlistItem.json" + } + }, + "tags": [ + "WatchlistItems" + ], + "description": "Create or update a watchlist item.", + "operationId": "WatchlistItems_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common/2.0/types.json#/parameters/WorkspaceName" + }, + { + "$ref": "#/parameters/WatchlistAlias" + }, + { + "$ref": "#/parameters/WatchlistItemId" + }, + { + "$ref": "#/parameters/WatchlistItem" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/WatchlistItem" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "WatchlistList": { + "description": "List all the watchlists.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlists.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist.", + "items": { + "$ref": "#/definitions/Watchlist" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "Watchlist": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistProperties", + "description": "Watchlist properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistProperties": { + "description": "Describes watchlist properties", + "properties": { + "watchlistId": { + "description": "The id (a Guid) of the watchlist", + "type": "string" + }, + "displayName": { + "description": "The display name of the watchlist", + "type": "string" + }, + "provider": { + "description": "The provider of the watchlist", + "type": "string" + }, + "source": { + "description": "The source of the watchlist", + "enum": [ + "Local file", + "Remote storage" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "source" + } + }, + "created": { + "description": "The time the watchlist was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist", + "type": "object" + }, + "description": { + "description": "A description of the watchlist", + "type": "string" + }, + "watchlistType": { + "description": "The type of the watchlist", + "type": "string" + }, + "watchlistAlias": { + "description": "The alias of the watchlist", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist is deleted or not", + "type": "boolean" + }, + "labels": { + "description": "List of labels relevant to this watchlist", + "items": { + "$ref": "../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array" + }, + "defaultDuration": { + "description": "The default duration of a watchlist (in ISO 8601 duration format)", + "format": "duration", + "type": "string" + }, + "tenantId": { + "description": "The tenantId where the watchlist belongs to", + "type": "string" + }, + "numberOfLinesToSkip": { + "description": "The number of lines in a csv content to skip before the header", + "type": "integer", + "format": "int32" + }, + "rawContent": { + "description": "The raw content that represents to watchlist items to create. Example : This line will be skipped\nheader1,header2\nvalue1,value2", + "type": "string" + }, + "itemsSearchKey": { + "description": "The search key is used to optimize query performance when using watchlists for joins with other data. For example, enable a column with IP addresses to be the designated SearchKey field, then use this field as the key field when joining to other event data by IP address.", + "type": "string" + }, + "contentType": { + "description": "The content type of the raw content. For now, only text/csv is valid", + "type": "string" + }, + "uploadStatus": { + "description": "The status of the Watchlist upload : New, InProgress or Complete. **Note** : When a Watchlist upload status is InProgress, the Watchlist cannot be deleted", + "type": "string" + } + }, + "required": [ + "displayName", + "source", + "provider", + "itemsSearchKey" + ], + "type": "object" + }, + "WatchlistItemList": { + "description": "List all the watchlist items.", + "type": "object", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of watchlist items.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Array of watchlist items.", + "items": { + "$ref": "#/definitions/WatchlistItem" + }, + "type": "array" + } + }, + "required": [ + "value" + ] + }, + "WatchlistItem": { + "allOf": [ + { + "$ref": "../../../common/2.0/types.json#/definitions/ResourceWithEtag" + } + ], + "description": "Represents a Watchlist Item in Azure Security Insights.", + "properties": { + "properties": { + "$ref": "#/definitions/WatchlistItemProperties", + "description": "Watchlist Item properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "WatchlistItemProperties": { + "description": "Describes watchlist item properties", + "properties": { + "watchlistItemType": { + "description": "The type of the watchlist item", + "type": "string" + }, + "watchlistItemId": { + "description": "The id (a Guid) of the watchlist item", + "type": "string" + }, + "tenantId": { + "description": "The tenantId to which the watchlist item belongs to", + "type": "string" + }, + "isDeleted": { + "description": "A flag that indicates if the watchlist item is deleted or not", + "type": "boolean" + }, + "created": { + "description": "The time the watchlist item was created", + "format": "date-time", + "type": "string" + }, + "updated": { + "description": "The last time the watchlist item was updated", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the watchlist item", + "type": "object" + }, + "updatedBy": { + "$ref": "../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the watchlist item", + "type": "object" + }, + "itemsKeyValue": { + "description": "key-value pairs for a watchlist item", + "type": "object" + }, + "entityMapping": { + "description": "key-value pairs for a watchlist item entity mapping", + "type": "object" + } + }, + "required": [ + "itemsKeyValue" + ], + "type": "object" + } + }, + "parameters": { + "WatchlistAlias": { + "description": "The watchlist alias", + "in": "path", + "name": "watchlistAlias", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Watchlist": { + "description": "The watchlist", + "in": "body", + "name": "watchlist", + "required": true, + "schema": { + "$ref": "#/definitions/Watchlist" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItem": { + "description": "The watchlist item", + "in": "body", + "name": "watchlistItem", + "required": true, + "schema": { + "$ref": "#/definitions/WatchlistItem" + }, + "x-ms-parameter-location": "method" + }, + "WatchlistItemId": { + "description": "The watchlist item id (GUID)", + "in": "path", + "name": "watchlistItemId", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/AlertTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/AlertTypes.json new file mode 100644 index 000000000000..1bd0d06c3f27 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/AlertTypes.json @@ -0,0 +1,66 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "Common Alert types" + }, + "paths": {}, + "definitions": { + "AlertSeverityEnum": { + "description": "The severity of the alert", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "AttackTactic": { + "description": "The severity for alerts created by this alert rule.", + "enum": [ + "InitialAccess", + "Execution", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact", + "PreAttack" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AttackTactic" + } + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/EntityTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/EntityTypes.json new file mode 100644 index 000000000000..d914386afd35 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/EntityTypes.json @@ -0,0 +1,2289 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "Common Entity types" + }, + "paths": {}, + "definitions": { + "AccountEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an account entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AccountEntityProperties", + "description": "Account entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Account" + }, + "AccountEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Account entity property bag.", + "properties": { + "aadTenantId": { + "description": "The Azure Active Directory tenant id.", + "readOnly": true, + "type": "string" + }, + "aadUserId": { + "description": "The Azure Active Directory user id.", + "readOnly": true, + "type": "string" + }, + "accountName": { + "description": "The name of the account. This field should hold only the name without any domain added to it, i.e. administrator.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the account.", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id that contains the account in case it is a local account (not domain joined)", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this is a domain account.", + "readOnly": true, + "type": "boolean" + }, + "ntDomain": { + "description": "The NetBIOS domain name as it appears in the alert format - domain\\username. Examples: NT AUTHORITY.", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "puid": { + "description": "The Azure Active Directory Passport User ID.", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The account security identifier, e.g. S-1-5-18.", + "readOnly": true, + "type": "string" + }, + "upnSuffix": { + "description": "The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The fully qualified domain DNS name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AzureResourceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an azure resource entity.", + "properties": { + "properties": { + "$ref": "#/definitions/AzureResourceEntityProperties", + "description": "AzureResource entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "AzureResource" + }, + "AzureResourceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "AzureResource entity property bag.", + "properties": { + "resourceId": { + "description": "The azure resource id of the resource", + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "The subscription id of the resource", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CloudApplicationEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a cloud application entity.", + "properties": { + "properties": { + "$ref": "#/definitions/CloudApplicationEntityProperties", + "description": "CloudApplication entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "CloudApplication" + }, + "CloudApplicationEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "CloudApplication entity property bag.", + "properties": { + "appId": { + "description": "The technical identifier of the application.", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "appName": { + "description": "The name of the related cloud application.", + "readOnly": true, + "type": "string" + }, + "instanceName": { + "description": "The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "DnsEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a dns entity.", + "properties": { + "properties": { + "$ref": "#/definitions/DnsEntityProperties", + "description": "Dns entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "DnsResolution" + }, + "DnsEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Dns entity property bag.", + "properties": { + "dnsServerIpEntityId": { + "description": "An ip entity id for the dns server resolving the request", + "readOnly": true, + "type": "string" + }, + "domainName": { + "description": "The name of the dns record associated with the alert", + "readOnly": true, + "type": "string" + }, + "hostIpAddressEntityId": { + "description": "An ip entity id for the dns request client", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityIds": { + "description": "Ip entity identifiers for the resolved ip address.", + "items": { + "description": "Ip entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "Entity": { + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/Resource" + } + ], + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "description": "Specific entity.", + "discriminator": "kind", + "type": "object", + "required": [ + "kind" + ] + }, + "EntityEdges": { + "description": "The edge that connects the entity to the other entity.", + "properties": { + "targetEntityId": { + "description": "The target entity Id.", + "type": "string" + }, + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "type": "object" + } + }, + "type": "object" + }, + "EntityInnerKind": { + "description": "The kind of the entity", + "enum": [ + "Account", + "Host", + "File", + "AzureResource", + "CloudApplication", + "DnsResolution", + "FileHash", + "Ip", + "Malware", + "Process", + "RegistryKey", + "RegistryValue", + "SecurityGroup", + "Url", + "IoTDevice", + "SecurityAlert", + "Bookmark", + "Mailbox", + "MailCluster", + "MailMessage", + "SubmissionMail" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "EntityKindEnum", + "values": [ + { + "description": "Entity represents account in the system.", + "value": "Account" + }, + { + "description": "Entity represents host in the system.", + "value": "Host" + }, + { + "description": "Entity represents file in the system.", + "value": "File" + }, + { + "description": "Entity represents azure resource in the system.", + "value": "AzureResource" + }, + { + "description": "Entity represents cloud application in the system.", + "value": "CloudApplication" + }, + { + "description": "Entity represents dns resolution in the system.", + "value": "DnsResolution" + }, + { + "description": "Entity represents file hash in the system.", + "value": "FileHash" + }, + { + "description": "Entity represents ip in the system.", + "value": "Ip" + }, + { + "description": "Entity represents malware in the system.", + "value": "Malware" + }, + { + "description": "Entity represents process in the system.", + "value": "Process" + }, + { + "description": "Entity represents registry key in the system.", + "value": "RegistryKey" + }, + { + "description": "Entity represents registry value in the system.", + "value": "RegistryValue" + }, + { + "description": "Entity represents security group in the system.", + "value": "SecurityGroup" + }, + { + "description": "Entity represents url in the system.", + "value": "Url" + }, + { + "description": "Entity represents IoT device in the system.", + "value": "IoTDevice" + }, + { + "description": "Entity represents security alert in the system.", + "value": "SecurityAlert" + }, + { + "description": "Entity represents bookmark in the system.", + "value": "Bookmark" + }, + { + "description": "Entity represents mail cluster in the system.", + "value": "MailCluster" + }, + { + "description": "Entity represents mail message in the system.", + "value": "MailMessage" + }, + { + "description": "Entity represents mailbox in the system.", + "value": "Mailbox" + }, + { + "description": "Entity represents submission mail in the system.", + "value": "SubmissionMail" + } + ] + } + }, + "EntityKind": { + "description": "Describes an entity with kind.", + "properties": { + "kind": { + "$ref": "#/definitions/EntityInnerKind", + "description": "The kind of the entity." + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "FileEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "File" + }, + "FileEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "File entity property bag.", + "properties": { + "directory": { + "description": "The full path to the file.", + "readOnly": true, + "type": "string" + }, + "fileHashEntityIds": { + "description": "The file hash entity identifiers associated with this file", + "items": { + "description": "file hash id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "fileName": { + "description": "The file name without path (some alerts might not include path).", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id which the file belongs to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FileHashEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a file hash entity.", + "properties": { + "properties": { + "$ref": "#/definitions/FileHashEntityProperties", + "description": "FileHash entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "FileHash" + }, + "FileHashEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "FileHash entity property bag.", + "properties": { + "algorithm": { + "description": "The hash algorithm type.", + "enum": [ + "Unknown", + "MD5", + "SHA1", + "SHA256", + "SHA256AC" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "FileHashAlgorithm", + "values": [ + { + "description": "Unknown hash algorithm", + "value": "Unknown" + }, + { + "description": "MD5 hash type", + "value": "MD5" + }, + { + "description": "SHA1 hash type", + "value": "SHA1" + }, + { + "description": "SHA256 hash type", + "value": "SHA256" + }, + { + "description": "SHA256 Authenticode hash type", + "value": "SHA256AC" + } + ] + } + }, + "hashValue": { + "description": "The file hash value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GeoLocation": { + "description": "The geo-location context attached to the ip entity", + "properties": { + "asn": { + "description": "Autonomous System Number", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "city": { + "description": "City name", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "The country code according to ISO 3166 format", + "readOnly": true, + "type": "string" + }, + "countryName": { + "description": "Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name", + "readOnly": true, + "type": "string" + }, + "latitude": { + "description": "The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "longitude": { + "description": "The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "state": { + "description": "State name", + "readOnly": true, + "type": "string" + } + }, + "readOnly": true, + "type": "object" + }, + "HostEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a host entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HostEntityProperties", + "description": "Host entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Host" + }, + "HostEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Host entity property bag.", + "properties": { + "azureID": { + "description": "The azure resource id of the VM.", + "readOnly": true, + "type": "string" + }, + "dnsDomain": { + "description": "The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain", + "readOnly": true, + "type": "string" + }, + "hostName": { + "description": "The hostname without the domain suffix.", + "readOnly": true, + "type": "string" + }, + "isDomainJoined": { + "description": "Determines whether this host belongs to a domain.", + "readOnly": true, + "type": "boolean" + }, + "netBiosName": { + "description": "The host name (pre-windows2000).", + "readOnly": true, + "type": "string" + }, + "ntDomain": { + "description": "The NT domain that this host belongs to.", + "readOnly": true, + "type": "string" + }, + "omsAgentID": { + "description": "The OMS agent id, if the host has OMS agent installed.", + "readOnly": true, + "type": "string" + }, + "osFamily": { + "description": "The operating system type.", + "enum": [ + "Linux", + "Windows", + "Android", + "IOS", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "OSFamily", + "values": [ + { + "description": "Host with Linux operating system.", + "value": "Linux" + }, + { + "description": "Host with Windows operating system.", + "value": "Windows" + }, + { + "description": "Host with Android operating system.", + "value": "Android" + }, + { + "description": "Host with IOS operating system.", + "value": "IOS" + }, + { + "description": "Host with Unknown operating system.", + "value": "Unknown" + } + ] + } + }, + "osVersion": { + "description": "A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "HuntingBookmark": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a Hunting bookmark entity.", + "properties": { + "properties": { + "$ref": "#/definitions/HuntingBookmarkProperties", + "description": "HuntingBookmark entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Bookmark" + }, + "HuntingBookmarkProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Describes bookmark properties", + "properties": { + "created": { + "description": "The time the bookmark was created", + "format": "date-time", + "type": "string" + }, + "createdBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that created the bookmark", + "type": "object" + }, + "displayName": { + "description": "The display name of the bookmark", + "type": "string" + }, + "eventTime": { + "description": "The time of the event", + "format": "date-time", + "type": "string" + }, + "labels": { + "description": "List of labels relevant to this bookmark", + "items": { + "$ref": "../../../../common/2.0/types.json#/definitions/Label" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "notes": { + "description": "The notes of the bookmark", + "type": "string" + }, + "query": { + "description": "The query of the bookmark.", + "type": "string" + }, + "queryResult": { + "description": "The query result of the bookmark.", + "type": "string" + }, + "updated": { + "description": "The last time the bookmark was updated", + "format": "date-time", + "type": "string" + }, + "updatedBy": { + "$ref": "../../../../common/2.0/types.json#/definitions/UserInfo", + "description": "Describes a user that updated the bookmark", + "type": "object" + }, + "incidentInfo": { + "$ref": "IncidentTypes.json#/definitions/IncidentInfo", + "description": "Describes an incident that relates to bookmark", + "type": "object" + } + }, + "required": [ + "displayName", + "query" + ], + "type": "object" + }, + "IoTDeviceEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an IoT device entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IoTDeviceEntityProperties", + "description": "IoTDevice entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "IoTDevice" + }, + "IoTDeviceEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "IoTDevice entity property bag.", + "properties": { + "deviceId": { + "description": "The ID of the IoT Device in the IoT Hub", + "readOnly": true, + "type": "string" + }, + "deviceName": { + "description": "The friendly name of the device", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "The source of the device", + "readOnly": true, + "type": "string" + }, + "iotSecurityAgentId": { + "description": "The ID of the security agent running on the device", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "The type of the device", + "readOnly": true, + "type": "string" + }, + "vendor": { + "description": "The vendor of the device", + "readOnly": true, + "type": "string" + }, + "edgeId": { + "description": "The ID of the edge device", + "readOnly": true, + "type": "string" + }, + "macAddress": { + "description": "The MAC address of the device", + "readOnly": true, + "type": "string" + }, + "model": { + "description": "The model of the device", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "The serial number of the device", + "readOnly": true, + "type": "string" + }, + "firmwareVersion": { + "description": "The firmware version of the device", + "readOnly": true, + "type": "string" + }, + "operatingSystem": { + "description": "The operating system of the device", + "readOnly": true, + "type": "string" + }, + "iotHubEntityId": { + "description": "The AzureResource entity id of the IoT Hub", + "readOnly": true, + "type": "string" + }, + "hostEntityId": { + "description": "The Host entity id of this device", + "readOnly": true, + "type": "string" + }, + "ipAddressEntityId": { + "description": "The IP entity if of this device", + "readOnly": true, + "type": "string" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the IoTDevice entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "protocols": { + "description": "A list of protocols of the IoTDevice entity.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "IpEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents an ip entity.", + "properties": { + "properties": { + "$ref": "#/definitions/IpEntityProperties", + "description": "Ip entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Ip" + }, + "IpEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Ip entity property bag.", + "properties": { + "address": { + "description": "The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6)", + "readOnly": true, + "type": "string" + }, + "location": { + "$ref": "#/definitions/GeoLocation", + "description": "The geo-location context attached to the ip entity" + }, + "threatIntelligence": { + "description": "A list of TI contexts attached to the ip entity.", + "items": { + "$ref": "#/definitions/ThreatIntelligence" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "MailboxEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mailbox entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailboxEntityProperties", + "description": "Mailbox entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Mailbox" + }, + "MailboxEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mailbox entity property bag.", + "properties": { + "mailboxPrimaryAddress": { + "description": "The mailbox's primary address", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The mailbox's display name", + "readOnly": true, + "type": "string" + }, + "upn": { + "description": "The mailbox's UPN", + "readOnly": true, + "type": "string" + }, + "externalDirectoryObjectId": { + "description": "The AzureAD identifier of mailbox. Similar to AadUserId in account entity but this property is specific to mailbox object on office side", + "format": "uuid", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailClusterEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail cluster entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailClusterEntityProperties", + "description": "Mail cluster entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailCluster" + }, + "MailClusterEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail cluster entity property bag.", + "properties": { + "networkMessageIds": { + "description": "The mail message IDs that are part of the mail cluster", + "items": { + "description": "A mail message ID", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "countByDeliveryStatus": { + "description": "Count of mail messages by DeliveryStatus string representation", + "readOnly": true, + "type": "object" + }, + "countByThreatType": { + "description": "Count of mail messages by ThreatType string representation", + "readOnly": true, + "type": "object" + }, + "countByProtectionStatus": { + "description": "Count of mail messages by ProtectionStatus string representation", + "readOnly": true, + "type": "object" + }, + "threats": { + "description": "The threats of mail messages that are part of the mail cluster", + "items": { + "description": "A threat", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "query": { + "description": "The query that was used to identify the messages of the mail cluster", + "readOnly": true, + "type": "string" + }, + "queryTime": { + "description": "The query time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "mailCount": { + "description": "The number of mail messages that are part of the mail cluster", + "readOnly": true, + "type": "integer", + "format": "int32" + }, + "isVolumeAnomaly": { + "description": "Is this a volume anomaly mail cluster", + "readOnly": true, + "type": "boolean" + }, + "source": { + "description": "The source of the mail cluster (default is 'O365 ATP')", + "readOnly": true, + "type": "string" + }, + "clusterSourceIdentifier": { + "description": "The id of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterSourceType": { + "description": "The type of the cluster source", + "readOnly": true, + "type": "string" + }, + "clusterQueryStartTime": { + "description": "The cluster query start time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterQueryEndTime": { + "description": "The cluster query end time", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "clusterGroup": { + "description": "The cluster group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MailMessageEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a mail message entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MailMessageEntityProperties", + "description": "Mail message entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "MailMessage" + }, + "MailMessageEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Mail message entity property bag.", + "properties": { + "fileEntityIds": { + "description": "The File entity ids of this mail message's attachments", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "recipient": { + "description": "The recipient of this mail message. Note that in case of multiple recipients the mail message is forked and each copy has one recipient", + "readOnly": true, + "type": "string" + }, + "urls": { + "description": "The Urls contained in this mail message", + "items": { + "description": "A Url contained in this mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "threats": { + "description": "The threats of this mail message", + "items": { + "description": "A threat of the mail message", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "p1Sender": { + "description": "The p1 sender's email address", + "readOnly": true, + "type": "string" + }, + "p1SenderDisplayName": { + "description": "The p1 sender's display name", + "readOnly": true, + "type": "string" + }, + "p1SenderDomain": { + "description": "The p1 sender's domain", + "readOnly": true, + "type": "string" + }, + "senderIP": { + "description": "The sender's IP address", + "readOnly": true, + "type": "string" + }, + "p2Sender": { + "description": "The p2 sender's email address", + "readOnly": true, + "type": "string" + }, + "p2SenderDisplayName": { + "description": "The p2 sender's display name", + "readOnly": true, + "type": "string" + }, + "p2SenderDomain": { + "description": "The p2 sender's domain", + "readOnly": true, + "type": "string" + }, + "receiveDate": { + "description": "The receive date of this message", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "networkMessageId": { + "description": "The network message id of this mail message", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "internetMessageId": { + "description": "The internet message id of this mail message", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of this mail message", + "readOnly": true, + "type": "string" + }, + "language": { + "description": "The language of this mail message", + "readOnly": true, + "type": "string" + }, + "threatDetectionMethods": { + "description": "The threat detection methods", + "items": { + "description": "A threat detection method", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "bodyFingerprintBin1": { + "description": "The bodyFingerprintBin1", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin2": { + "description": "The bodyFingerprintBin2", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin3": { + "description": "The bodyFingerprintBin3", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin4": { + "description": "The bodyFingerprintBin4", + "type": "integer", + "format": "int32" + }, + "bodyFingerprintBin5": { + "description": "The bodyFingerprintBin5", + "type": "integer", + "format": "int32" + }, + "antispamDirection": { + "description": "The directionality of this mail message", + "enum": [ + "Unknown", + "Inbound", + "Outbound", + "Intraorg" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AntispamMailDirection", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbound", + "value": "Inbound" + }, + { + "description": "Outbound", + "value": "Outbound" + }, + { + "description": "Intraorg", + "value": "Intraorg" + } + ] + } + }, + "deliveryAction": { + "description": "The delivery action of this mail message like Delivered, Blocked, Replaced etc", + "enum": [ + "Unknown", + "DeliveredAsSpam", + "Delivered", + "Blocked", + "Replaced" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryAction", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "DeliveredAsSpam", + "value": "DeliveredAsSpam" + }, + { + "description": "Delivered", + "value": "Delivered" + }, + { + "description": "Blocked", + "value": "Blocked" + }, + { + "description": "Replaced", + "value": "Replaced" + } + ] + } + }, + "deliveryLocation": { + "description": "The delivery location of this mail message like Inbox, JunkFolder etc", + "enum": [ + "Unknown", + "Inbox", + "JunkFolder", + "DeletedFolder", + "Quarantine", + "External", + "Failed", + "Dropped", + "Forwarded" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "DeliveryLocation", + "values": [ + { + "description": "Unknown", + "value": "Unknown" + }, + { + "description": "Inbox", + "value": "Inbox" + }, + { + "description": "JunkFolder", + "value": "JunkFolder" + }, + { + "description": "DeletedFolder", + "value": "DeletedFolder" + }, + { + "description": "Quarantine", + "value": "Quarantine" + }, + { + "description": "External", + "value": "External" + }, + { + "description": "Failed", + "value": "Failed" + }, + { + "description": "Dropped", + "value": "Dropped" + }, + { + "description": "Forwarded", + "value": "Forwarded" + } + ] + } + } + }, + "type": "object" + }, + "MalwareEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a malware entity.", + "properties": { + "properties": { + "$ref": "#/definitions/MalwareEntityProperties", + "description": "File entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Malware" + }, + "MalwareEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Malware entity property bag.", + "properties": { + "category": { + "description": "The malware category by the vendor, e.g. Trojan", + "readOnly": true, + "type": "string" + }, + "fileEntityIds": { + "description": "List of linked file entity identifiers on which the malware was found", + "items": { + "description": "file entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "malwareName": { + "description": "The malware name by the vendor, e.g. Win32/Toga!rfn", + "readOnly": true, + "type": "string" + }, + "processEntityIds": { + "description": "List of linked process entity identifiers on which the malware was found.", + "items": { + "description": "process entity id", + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "ProcessEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a process entity.", + "properties": { + "properties": { + "$ref": "#/definitions/ProcessEntityProperties", + "description": "Process entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Process" + }, + "ProcessEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Process entity property bag.", + "properties": { + "accountEntityId": { + "description": "The account entity id running the processes.", + "readOnly": true, + "type": "string" + }, + "commandLine": { + "description": "The command line used to create the process", + "readOnly": true, + "type": "string" + }, + "creationTimeUtc": { + "description": "The time when the process started to run", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "elevationToken": { + "description": "The elevation token associated with the process.", + "enum": [ + "Default", + "Full", + "Limited" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": false, + "name": "ElevationToken", + "values": [ + { + "description": "Default elevation token", + "value": "Default" + }, + { + "description": "Full elevation token", + "value": "Full" + }, + { + "description": "Limited elevation token", + "value": "Limited" + } + ] + } + }, + "hostEntityId": { + "description": "The host entity id on which the process was running", + "readOnly": true, + "type": "string" + }, + "hostLogonSessionEntityId": { + "description": "The session entity id in which the process was running", + "readOnly": true, + "type": "string" + }, + "imageFileEntityId": { + "description": "Image file entity id", + "readOnly": true, + "type": "string" + }, + "parentProcessEntityId": { + "description": "The parent process entity id.", + "readOnly": true, + "type": "string" + }, + "processId": { + "description": "The process ID", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryKeyEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry key entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryKeyEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryKey" + }, + "RegistryKeyEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryKey entity property bag.", + "properties": { + "hive": { + "description": "the hive that holds the registry key.", + "enum": [ + "HKEY_LOCAL_MACHINE", + "HKEY_CLASSES_ROOT", + "HKEY_CURRENT_CONFIG", + "HKEY_USERS", + "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "HKEY_PERFORMANCE_DATA", + "HKEY_PERFORMANCE_NLSTEXT", + "HKEY_PERFORMANCE_TEXT", + "HKEY_A", + "HKEY_CURRENT_USER" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryHive", + "values": [ + { + "description": "HKEY_LOCAL_MACHINE", + "value": "HKEY_LOCAL_MACHINE" + }, + { + "description": "HKEY_CLASSES_ROOT", + "value": "HKEY_CLASSES_ROOT" + }, + { + "description": "HKEY_CURRENT_CONFIG", + "value": "HKEY_CURRENT_CONFIG" + }, + { + "description": "HKEY_USERS", + "value": "HKEY_USERS" + }, + { + "description": "HKEY_CURRENT_USER_LOCAL_SETTINGS", + "value": "HKEY_CURRENT_USER_LOCAL_SETTINGS" + }, + { + "description": "HKEY_PERFORMANCE_DATA", + "value": "HKEY_PERFORMANCE_DATA" + }, + { + "description": "HKEY_PERFORMANCE_NLSTEXT", + "value": "HKEY_PERFORMANCE_NLSTEXT" + }, + { + "description": "HKEY_PERFORMANCE_TEXT", + "value": "HKEY_PERFORMANCE_TEXT" + }, + { + "description": "HKEY_A", + "value": "HKEY_A" + }, + { + "description": "HKEY_CURRENT_USER", + "value": "HKEY_CURRENT_USER" + } + ] + } + }, + "key": { + "description": "The registry key path.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RegistryValueEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a registry value entity.", + "properties": { + "properties": { + "$ref": "#/definitions/RegistryValueEntityProperties", + "description": "RegistryKey entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "RegistryValue" + }, + "RegistryValueEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "RegistryValue entity property bag.", + "properties": { + "keyEntityId": { + "description": "The registry key entity id.", + "readOnly": true, + "type": "string" + }, + "valueData": { + "description": "String formatted representation of the value data.", + "readOnly": true, + "type": "string" + }, + "valueName": { + "description": "The registry value name.", + "readOnly": true, + "type": "string" + }, + "valueType": { + "description": "Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry.", + "enum": [ + "None", + "Unknown", + "String", + "ExpandString", + "Binary", + "DWord", + "MultiString", + "QWord" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "RegistryValueKind", + "values": [ + { + "description": "None", + "value": "None" + }, + { + "description": "Unknown value type", + "value": "Unknown" + }, + { + "description": "String value type", + "value": "String" + }, + { + "description": "ExpandString value type", + "value": "ExpandString" + }, + { + "description": "Binary value type", + "value": "Binary" + }, + { + "description": "DWord value type", + "value": "DWord" + }, + { + "description": "MultiString value type", + "value": "MultiString" + }, + { + "description": "QWord value type", + "value": "QWord" + } + ] + } + } + }, + "type": "object" + }, + "SecurityAlert": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security alert entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityAlertProperties", + "description": "SecurityAlert entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityAlert" + }, + "SecurityAlertProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityAlert entity property bag.", + "properties": { + "alertDisplayName": { + "description": "The display name of the alert.", + "readOnly": true, + "type": "string" + }, + "alertType": { + "description": "The type name of the alert.", + "readOnly": true, + "type": "string" + }, + "compromisedEntity": { + "description": "Display name of the main entity being reported on.", + "readOnly": true, + "type": "string" + }, + "confidenceLevel": { + "description": "The confidence level of this alert.", + "enum": [ + "Unknown", + "Low", + "High" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceLevel", + "values": [ + { + "description": "Unknown confidence, the is the default value", + "value": "Unknown" + }, + { + "description": "Low confidence, meaning we have some doubts this is indeed malicious or part of an attack", + "value": "Low" + }, + { + "description": "High confidence that the alert is true positive malicious", + "value": "High" + } + ] + } + }, + "confidenceReasons": { + "description": "The confidence reasons", + "items": { + "description": "confidence reason item", + "properties": { + "reason": { + "description": "The reason's description", + "readOnly": true, + "type": "string" + }, + "reasonType": { + "description": "The type (category) of the reason", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "confidenceScore": { + "description": "The confidence score of the alert.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "confidenceScoreStatus": { + "description": "The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final.", + "enum": [ + "NotApplicable", + "InProcess", + "NotFinal", + "Final" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "ConfidenceScoreStatus", + "values": [ + { + "description": "Score will not be calculated for this alert as it is not supported by virtual analyst", + "value": "NotApplicable" + }, + { + "description": "No score was set yet and calculation is in progress", + "value": "InProcess" + }, + { + "description": "Score is calculated and shown as part of the alert, but may be updated again at a later time following the processing of additional data", + "value": "NotFinal" + }, + { + "description": "Final score was calculated and available", + "value": "Final" + } + ] + } + }, + "description": { + "description": "Alert description.", + "readOnly": true, + "type": "string" + }, + "endTimeUtc": { + "description": "The impact end time of the alert (the time of the last event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "intent": { + "description": "Holds the alert intent stage(s) mapping for this alert.", + "enum": [ + "Unknown", + "Probing", + "Exploitation", + "Persistence", + "PrivilegeEscalation", + "DefenseEvasion", + "CredentialAccess", + "Discovery", + "LateralMovement", + "Execution", + "Collection", + "Exfiltration", + "CommandAndControl", + "Impact" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "KillChainIntent", + "values": [ + { + "description": "The default value.", + "value": "Unknown" + }, + { + "description": "Probing could be an attempt to access a certain resource regardless of a malicious intent or a failed attempt to gain access to a target system to gather information prior to exploitation. This step is usually detected as an attempt originating from outside the network in attempt to scan the target system and find a way in.", + "value": "Probing" + }, + { + "description": "Exploitation is the stage where an attacker manage to get foothold on the attacked resource. This stage is applicable not only for compute hosts, but also for resources such as user accounts, certificates etc. Adversaries will often be able to control the resource after this stage.", + "value": "Exploitation" + }, + { + "description": "Persistence is any access, action, or configuration change to a system that gives an adversary a persistent presence on that system. Adversaries will often need to maintain access to systems through interruptions such as system restarts, loss of credentials, or other failures that would require a remote access tool to restart or alternate backdoor for them to regain access.", + "value": "Persistence" + }, + { + "description": "Privilege escalation is the result of actions that allow an adversary to obtain a higher level of permissions on a system or network. Certain tools or actions require a higher level of privilege to work and are likely necessary at many points throughout an operation. User accounts with permissions to access specific systems or perform specific functions necessary for adversaries to achieve their objective may also be considered an escalation of privilege.", + "value": "PrivilegeEscalation" + }, + { + "description": "Defense evasion consists of techniques an adversary may use to evade detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques in other categories that have the added benefit of subverting a particular defense or mitigation. ", + "value": "DefenseEvasion" + }, + { + "description": "Credential access represents techniques resulting in access to or control over system, domain, or service credentials that are used within an enterprise environment. Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts (local system administrator or domain users with administrator access) to use within the network. With sufficient access within a network, an adversary can create accounts for later use within the environment.", + "value": "CredentialAccess" + }, + { + "description": "Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.", + "value": "Discovery" + }, + { + "description": "Lateral movement consists of techniques that enable an adversary to access and control remote systems on a network and could, but does not necessarily, include execution of tools on remote systems. The lateral movement techniques could allow an adversary to gather information from a system without needing additional tools, such as a remote access tool. An adversary can use lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, access to specific information or files, access to additional credentials, or to cause an effect.", + "value": "LateralMovement" + }, + { + "description": "The execution tactic represents techniques that result in execution of adversary-controlled code on a local or remote system. This tactic is often used in conjunction with lateral movement to expand access to remote systems on a network.", + "value": "Execution" + }, + { + "description": "Collection consists of techniques used to identify and gather information, such as sensitive files, from a target network prior to exfiltration. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Collection" + }, + { + "description": "Exfiltration refers to techniques and attributes that result or aid in the adversary removing files and information from a target network. This category also covers locations on a system or network where the adversary may look for information to exfiltrate.", + "value": "Exfiltration" + }, + { + "description": "The command and control tactic represents how adversaries communicate with systems under their control within a target network.", + "value": "CommandAndControl" + }, + { + "description": "The impact intent primary objective is to directly reduce the availability or integrity of a system, service, or network; including manipulation of data to impact a business or operational process. This would often refer to techniques such as ransom-ware, defacement, data manipulation and others.", + "value": "Impact" + } + ] + } + }, + "providerAlertId": { + "description": "The identifier of the alert inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "processingEndTime": { + "description": "The time the alert was made available for consumption.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "productComponentName": { + "description": "The name of a component inside the product which generated the alert.", + "readOnly": true, + "type": "string" + }, + "productName": { + "description": "The name of the product which published this alert.", + "readOnly": true, + "type": "string" + }, + "productVersion": { + "description": "The version of the product generating the alert.", + "readOnly": true, + "type": "string" + }, + "remediationSteps": { + "description": "Manual action items to take to remediate the alert.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "severity": { + "$ref": "AlertTypes.json#/definitions/AlertSeverityEnum", + "description": "The severity of the alert" + }, + "startTimeUtc": { + "description": "The impact start time of the alert (the time of the first event contributing to the alert).", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The lifecycle status of the alert.", + "enum": [ + "Unknown", + "New", + "Resolved", + "Dismissed", + "InProgress" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "AlertStatus", + "values": [ + { + "description": "Unknown value", + "value": "Unknown" + }, + { + "description": "New alert", + "value": "New" + }, + { + "description": "Alert closed after handling", + "value": "Resolved" + }, + { + "description": "Alert dismissed as false positive", + "value": "Dismissed" + }, + { + "description": "Alert is being handled", + "value": "InProgress" + } + ] + } + }, + "systemAlertId": { + "description": "Holds the product identifier of the alert for the product.", + "readOnly": true, + "type": "string" + }, + "tactics": { + "description": "The tactics of the alert", + "items": { + "$ref": "AlertTypes.json#/definitions/AttackTactic" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "timeGenerated": { + "description": "The time the alert was generated.", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "vendorName": { + "description": "The name of the vendor that raise the alert.", + "readOnly": true, + "type": "string" + }, + "alertLink": { + "description": "The uri link of the alert.", + "readOnly": true, + "type": "string" + }, + "resourceIdentifiers": { + "description": "The list of resource identifiers of the alert.", + "items": { + "type": "object" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "SecurityGroupEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a security group entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SecurityGroupEntityProperties", + "description": "SecurityGroup entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SecurityGroup" + }, + "SecurityGroupEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "SecurityGroup entity property bag.", + "properties": { + "distinguishedName": { + "description": "The group distinguished name", + "readOnly": true, + "type": "string" + }, + "objectGuid": { + "description": "A single-value attribute that is the unique identifier for the object, assigned by active directory.", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "sid": { + "description": "The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SubmissionMailEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a submission mail entity.", + "properties": { + "properties": { + "$ref": "#/definitions/SubmissionMailEntityProperties", + "description": "Submission mail entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "SubmissionMail" + }, + "SubmissionMailEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Submission mail entity property bag.", + "properties": { + "networkMessageId": { + "description": "The network message id of email to which submission belongs", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submissionId": { + "description": "The submission id", + "format": "uuid", + "readOnly": true, + "type": "string" + }, + "submitter": { + "description": "The submitter", + "readOnly": true, + "type": "string" + }, + "submissionDate": { + "description": "The submission date", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "timestamp": { + "description": "The Time stamp when the message is received (Mail)", + "format": "date-time", + "readOnly": true, + "type": "string" + }, + "recipient": { + "description": "The recipient of the mail", + "readOnly": true, + "type": "string" + }, + "sender": { + "description": "The sender of the mail", + "readOnly": true, + "type": "string" + }, + "senderIp": { + "description": "The sender's IP", + "readOnly": true, + "type": "string" + }, + "subject": { + "description": "The subject of submission mail", + "readOnly": true, + "type": "string" + }, + "reportType": { + "description": "The submission type for the given instance. This maps to Junk, Phish, Malware or NotJunk.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ThreatIntelligence": { + "description": "ThreatIntelligence property bag.", + "properties": { + "confidence": { + "description": "Confidence (must be between 0 and 1)", + "format": "double", + "readOnly": true, + "type": "number" + }, + "providerName": { + "description": "Name of the provider from whom this Threat Intelligence information was received", + "readOnly": true, + "type": "string" + }, + "reportLink": { + "description": "Report link", + "readOnly": true, + "type": "string" + }, + "threatDescription": { + "description": "Threat description (free text)", + "readOnly": true, + "type": "string" + }, + "threatName": { + "description": "Threat name (e.g. \"Jedobot malware\")", + "readOnly": true, + "type": "string" + }, + "threatType": { + "description": "Threat type (e.g. \"Botnet\")", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UrlEntity": { + "allOf": [ + { + "$ref": "#/definitions/Entity" + } + ], + "description": "Represents a url entity.", + "properties": { + "properties": { + "$ref": "#/definitions/UrlEntityProperties", + "description": "Url entity properties", + "x-ms-client-flatten": true + } + }, + "type": "object", + "x-ms-discriminator-value": "Url" + }, + "UrlEntityProperties": { + "allOf": [ + { + "$ref": "#/definitions/EntityCommonProperties" + } + ], + "description": "Url entity property bag.", + "properties": { + "url": { + "description": "A full URL the entity points to", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "EntityCommonProperties": { + "description": "Entity common property bag.", + "properties": { + "additionalData": { + "additionalProperties": { + "type": "object" + }, + "description": "A bag of custom fields that should be part of the entity and will be presented to the user.", + "readOnly": true, + "type": "object" + }, + "friendlyName": { + "description": "The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/IncidentTypes.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/IncidentTypes.json new file mode 100644 index 000000000000..a10746d06aca --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/common/IncidentTypes.json @@ -0,0 +1,246 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-10-01", + "title": "Common Incident types" + }, + "paths": {}, + "definitions": { + "IncidentClassificationEnum": { + "description": "The reason the incident was closed", + "enum": [ + "Undetermined", + "TruePositive", + "BenignPositive", + "FalsePositive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassification", + "values": [ + { + "description": "Incident classification was undetermined", + "value": "Undetermined" + }, + { + "description": "Incident was true positive", + "value": "TruePositive" + }, + { + "description": "Incident was benign positive", + "value": "BenignPositive" + }, + { + "description": "Incident was false positive", + "value": "FalsePositive" + } + ] + } + }, + "IncidentClassificationReasonEnum": { + "description": "The classification reason the incident was closed with", + "enum": [ + "SuspiciousActivity", + "SuspiciousButExpected", + "IncorrectAlertLogic", + "InaccurateData" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentClassificationReason", + "values": [ + { + "description": "Classification reason was suspicious activity", + "value": "SuspiciousActivity" + }, + { + "description": "Classification reason was suspicious but expected", + "value": "SuspiciousButExpected" + }, + { + "description": "Classification reason was incorrect alert logic", + "value": "IncorrectAlertLogic" + }, + { + "description": "Classification reason was inaccurate data", + "value": "InaccurateData" + } + ] + } + }, + "IncidentLabel": { + "description": "Represents an incident label", + "properties": { + "labelName": { + "description": "The name of the label", + "type": "string" + }, + "labelType": { + "$ref": "#/definitions/IncidentLabelType" + } + }, + "required": [ + "labelName" + ], + "type": "object" + }, + "IncidentLabelType": { + "description": "The type of the label", + "enum": [ + "User", + "AutoAssigned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentLabelType", + "values": [ + { + "description": "Label manually created by a user", + "value": "User" + }, + { + "description": "Label automatically created by the system", + "value": "AutoAssigned" + } + ] + } + }, + "IncidentSeverityEnum": { + "description": "The severity of the incident", + "enum": [ + "High", + "Medium", + "Low", + "Informational" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentSeverity", + "values": [ + { + "description": "High severity", + "value": "High" + }, + { + "description": "Medium severity", + "value": "Medium" + }, + { + "description": "Low severity", + "value": "Low" + }, + { + "description": "Informational severity", + "value": "Informational" + } + ] + } + }, + "IncidentStatusEnum": { + "description": "The status of the incident", + "enum": [ + "New", + "Active", + "Closed" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "IncidentStatus", + "values": [ + { + "description": "An active incident which isn't being handled currently", + "value": "New" + }, + { + "description": "An active incident which is being handled", + "value": "Active" + }, + { + "description": "A non-active incident", + "value": "Closed" + } + ] + } + }, + "IncidentOwnerInfo": { + "description": "Information on the user an incident is assigned to", + "properties": { + "email": { + "description": "The email of the user the incident is assigned to.", + "type": "string" + }, + "assignedTo": { + "description": "The name of the user the incident is assigned to.", + "type": "string" + }, + "objectId": { + "description": "The object id of the user the incident is assigned to.", + "format": "uuid", + "type": "string" + }, + "userPrincipalName": { + "description": "The user principal name of the user the incident is assigned to.", + "type": "string" + }, + "ownerType": { + "description": "The type of the owner the incident is assigned to.", + "type": "string", + "enum": [ + "Unknown", + "User", + "Group" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "OwnerType", + "values": [ + { + "description": "The incident owner type is unknown", + "value": "Unknown" + }, + { + "description": "The incident owner type is an AAD user", + "value": "User" + }, + { + "description": "The incident owner type is an AAD group", + "value": "Group" + } + ] + } + } + }, + "type": "object" + }, + "IncidentInfo": { + "description": "Describes related incident information for the bookmark", + "properties": { + "incidentId": { + "description": "Incident Id", + "type": "string" + }, + "severity": { + "description": "The severity of the incident", + "type": "string", + "$ref": "#/definitions/IncidentSeverityEnum" + }, + "title": { + "description": "The title of the incident", + "type": "string" + }, + "relationName": { + "description": "Relation Name", + "type": "string" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/CreateActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/CreateActionOfAlertRule.json new file mode 100644 index 000000000000..636e66a55f93 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/CreateActionOfAlertRule.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "action": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "triggerUri": "https://prod-31.northcentralus.logic.azure.com:443/workflows/cd3765391efd48549fd7681ded1d48d7/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=signature", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/DeleteActionOfAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/DeleteActionOfAlertRule.json new file mode 100644 index 000000000000..fd2aaa36fdb6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/DeleteActionOfAlertRule.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetActionOfAlertRuleById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetActionOfAlertRuleById.json new file mode 100644 index 000000000000..5f49b9bb8d37 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetActionOfAlertRuleById.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "actionId": "912bec42-cb66-4c03-ac63-1761b6898c3e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetAllActionsByAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetAllActionsByAlertRule.json new file mode 100644 index 000000000000..638aa7d1e406 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/actions/GetAllActionsByAlertRule.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalIinsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5/actions/912bec42-cb66-4c03-ac63-1761b6898c3e", + "name": "912bec42-cb66-4c03-ac63-1761b6898c3e", + "type": "Microsoft.SecurityInsights/alertRules/actions", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "workflowId": "cd3765391efd48549fd7681ded1d48d7", + "logicAppResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.Logic/workflows/MyAlerts" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json new file mode 100644 index 000000000000..c80c47d81ddd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplateById.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "alertRuleTemplateId": "65360bb0-8986-4ade-a89d-af3cf44d28aa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "lastUpdatedDateUTC": "2021-02-27T10:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.2", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "entityMappings": [ + { + "entityType": "Account", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "AccountCustomEntity" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "IPCustomEntity" + } + ] + } + ], + "customDetails": { + "EventNames": "EventName", + "EventTypes": "EventTypeName" + }, + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert on event {{EventName}}", + "alertDescriptionFormat": "Suspicious activity was made by {{AccountCustomEntity}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "alertRulesCreatedByTemplateCount": 0 + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json new file mode 100644 index 000000000000..d088c9f081e2 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRuleTemplates/GetAlertRuleTemplates.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/65360bb0-8986-4ade-a89d-af3cf44d28aa", + "name": "65360bb0-8986-4ade-a89d-af3cf44d28aa", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Scheduled", + "properties": { + "severity": "Low", + "query": "let timeframe = 1d;\nAWSCloudTrail\n| where TimeGenerated >= ago(timeframe)\n| where EventName == \"CreateNetworkAclEntry\"\n or EventName == \"CreateRoute\"\n| project TimeGenerated, EventName, EventTypeName, UserIdentityAccountId, UserIdentityPrincipalid, UserAgent, UserIdentityUserName, SessionMfaAuthenticated, SourceIpAddress, AWSRegion, EventSource, AdditionalEventData, ResponseElements\n| extend AccountCustomEntity = UserIdentityUserName, IPCustomEntity = SourceIpAddress", + "queryFrequency": "P1D", + "queryPeriod": "P1D", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "displayName": "Changes to Amazon VPC settings", + "description": "This alert monitors changes to Amazon VPC (Virtual Private Cloud) settings such as new ACL entries and routes in route tables.\nMore information: https://medium.com/@GorillaStack/the-most-important-aws-cloudtrail-security-events-to-track-a5b9873f8255 \nand https://aws.amazon.com/vpc/", + "tactics": [ + "PrivilegeEscalation", + "LateralMovement" + ], + "lastUpdatedDateUTC": "2021-02-27T10:00:00Z", + "createdDateUTC": "2019-02-27T00:00:00Z", + "status": "Available", + "version": "1.0.1", + "requiredDataConnectors": [ + { + "connectorId": "AWS", + "dataTypes": [ + "AWSCloudTrail" + ] + } + ], + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/f71aba3d-28fb-450b-b192-4e76a83015c8", + "name": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "Place holder: Fusion uses graph powered machine learning algorithms to correlate between millions of lower fidelity anomalous activities from different products such as Azure AD Identity Protection, and Microsoft Cloud App Security, to combine them into a manageable number of interesting security cases.\n", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "lastUpdatedDateUTC": "2021-03-27T10:00:00Z", + "createdDateUTC": "2019-07-25T00:00:00Z", + "status": "Available", + "severity": "High", + "alertRulesCreatedByTemplateCount": 0 + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/AlertRuleTemplates/b3cfc7c0-092c-481c-a55b-34a3979758cb", + "name": "b3cfc7c0-092c-481c-a55b-34a3979758cb", + "type": "Microsoft.SecurityInsights/AlertRuleTemplates", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "Create incidents based on Microsoft Cloud App Security alerts", + "description": "Create incidents based on all alerts generated in Microsoft Cloud App Security", + "lastUpdatedDateUTC": "2021-05-27T10:00:00Z", + "createdDateUTC": "2019-07-16T00:00:00Z", + "status": "Available", + "alertRulesCreatedByTemplateCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateFusionAlertRule.json new file mode 100644 index 000000000000..f42add047e54 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateFusionAlertRule.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "myFirstFusionRule", + "alertRule": { + "kind": "Fusion", + "etag": "3d00c3ca-0000-0100-0000-5d42d5010000", + "properties": { + "enabled": true, + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..3c0cdad425e7 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "microsoftSecurityIncidentCreationRuleExample", + "alertRule": { + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "displayName": "testing displayname", + "enabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateScheduledAlertRule.json new file mode 100644 index 000000000000..c5f37622de6d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/CreateScheduledAlertRule.json @@ -0,0 +1,243 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "alertRule": { + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}" + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerThreshold": 0, + "triggerOperator": "GreaterThan", + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/DeleteAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/DeleteAlertRule.json new file mode 100644 index 000000000000..9658597e086f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/DeleteAlertRule.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetAllAlertRules.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetAllAlertRules.json new file mode 100644 index 000000000000..41b69c14da7d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetAllAlertRules.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2021-03-01T13:17:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"25005c11-0000-0d00-0000-5d6cc0e20000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": false, + "lastModifiedUtc": "2019-09-02T07:12:34.9065092Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetFusionAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetFusionAlertRule.json new file mode 100644 index 000000000000..653d0a11cf09 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetFusionAlertRule.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "myFirstFusionRule" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/myFirstFusionRule", + "name": "myFirstFusionRule", + "etag": "\"260090e2-0000-0d00-0000-5d6fb8670000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Fusion", + "properties": { + "displayName": "Advanced Multi-Stage Attack Detection", + "description": "In this mode, Sentinel combines low fidelity alerts, which themselves may not be actionable, and events across multiple products, into high fidelity security interesting incidents. The system looks at multiple products to produce actionable incidents. Custom tailored to each tenant, Fusion not only reduces false positive rates but also can detect attacks with limited or missing information. \nIncidents generated by Fusion system will encase two or more alerts. By design, Fusion incidents are low volume, high fidelity and will be high severity, which is why Fusion is turned ON by default in Azure Sentinel.\n\nFor Fusion to work, please configure the following data sources in Data Connectors tab:\nRequired - Azure Active Directory Identity Protection\nRequired - Microsoft Cloud App Security\nIf Available - Palo Alto Network\n\nFor full list of scenarios covered by Fusion, and detail instructions on how to configure the required data sources, go to aka.ms/SentinelFusion", + "alertRuleTemplateName": "f71aba3d-28fb-450b-b192-4e76a83015c8", + "tactics": [ + "Persistence", + "LateralMovement", + "Exfiltration", + "CommandAndControl" + ], + "severity": "High", + "enabled": true, + "lastModifiedUtc": "2019-09-04T13:13:11.5340061Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json new file mode 100644 index 000000000000..ce5badf2aa99 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetMicrosoftSecurityIncidentCreationAlertRule.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "microsoftSecurityIncidentCreationRuleExample" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/microsoftSecurityIncidentCreationRuleExample", + "name": "microsoftSecurityIncidentCreationRuleExample", + "etag": "\"260097e0-0000-0d00-0000-5d6fa88f0000\"", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "MicrosoftSecurityIncidentCreation", + "properties": { + "productFilter": "Microsoft Cloud App Security", + "severitiesFilter": null, + "displayNamesFilter": null, + "displayName": "testing displayname", + "enabled": true, + "description": null, + "alertRuleTemplateName": null, + "lastModifiedUtc": "2019-09-04T12:05:35.7296311Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetScheduledAlertRule.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetScheduledAlertRule.json new file mode 100644 index 000000000000..ee97809a314a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/alertRules/GetScheduledAlertRule.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ruleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/alertRules", + "kind": "Scheduled", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "alertRuleTemplateName": null, + "displayName": "My scheduled rule", + "description": "An example for a scheduled rule", + "severity": "High", + "enabled": true, + "tactics": [ + "Persistence", + "LateralMovement" + ], + "query": "Heartbeat", + "queryFrequency": "PT1H", + "queryPeriod": "P2DT1H30M", + "triggerOperator": "GreaterThan", + "triggerThreshold": 0, + "suppressionDuration": "PT1H", + "suppressionEnabled": false, + "lastModifiedUtc": "2019-01-01T13:15:30Z", + "eventGroupingSettings": { + "aggregationKind": "AlertPerResult" + }, + "customDetails": { + "OperatingSystemName": "OSName", + "OperatingSystemType": "OSType" + }, + "entityMappings": [ + { + "entityType": "Host", + "fieldMappings": [ + { + "identifier": "FullName", + "columnName": "Computer" + } + ] + }, + { + "entityType": "IP", + "fieldMappings": [ + { + "identifier": "Address", + "columnName": "ComputerIP" + } + ] + } + ], + "alertDetailsOverride": { + "alertDisplayNameFormat": "Alert from {{Computer}}", + "alertDescriptionFormat": "Suspicious activity was made by {{ComputerIP}}", + "alertTacticsColumnName": null, + "alertSeverityColumnName": null + }, + "incidentConfiguration": { + "createIncident": true, + "groupingConfiguration": { + "enabled": true, + "reopenClosedIncident": false, + "lookbackDuration": "PT5H", + "matchingMethod": "Selected", + "groupByEntities": [ + "Host" + ], + "groupByAlertDetails": [ + "DisplayName" + ], + "groupByCustomDetails": [ + "OperatingSystemType", + "OperatingSystemName" + ] + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_CreateOrUpdate.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_CreateOrUpdate.json new file mode 100644 index 000000000000..be8007fef276 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_CreateOrUpdate.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "automationRule": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Delete.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Delete.json new file mode 100644 index 000000000000..56826c8367e8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": {} + }, + "204": { + "body": {} + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Get.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Get.json new file mode 100644 index 000000000000..ee32f18f53cc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_Get.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "automationRuleId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_List.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_List.json new file mode 100644 index 000000000000..b51b48bbf628 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/automationRules/AutomationRules_List.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/automationRules/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/automationRules", + "properties": { + "displayName": "High severity incidents escalation", + "order": 1, + "triggeringLogic": { + "isEnabled": true, + "triggersOn": "Incidents", + "triggersWhen": "Created", + "conditions": [ + { + "conditionType": "Property", + "conditionProperties": { + "propertyName": "IncidentRelatedAnalyticRuleIds", + "operator": "Contains", + "propertyValues": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ] + } + } + ] + }, + "actions": [ + { + "order": 1, + "actionType": "ModifyProperties", + "actionConfiguration": { + "severity": "High" + } + } + ], + "lastModifiedTimeUtc": "2019-01-01T13:00:30Z", + "createdTimeUtc": "2019-01-01T13:00:00Z", + "lastModifiedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + }, + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "name": "john doe", + "userPrincipalName": "john@contoso.com" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/CreateBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/CreateBookmark.json new file mode 100644 index 000000000000..be2a257b88bd --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/CreateBookmark.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "bookmark": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/DeleteBookmark.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/DeleteBookmark.json new file mode 100644 index 000000000000..91e3de6673f8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/DeleteBookmark.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarkById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarkById.json new file mode 100644 index 000000000000..89ad94b1aaa1 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarkById.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "bookmarkId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarks.json new file mode 100644 index 000000000000..4fb985039c0d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/bookmarks/GetBookmarks.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/bookmarks", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "My bookmark", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updated": "2019-01-01T13:15:30Z", + "created": "2019-01-01T13:15:30Z", + "notes": "Found a suspicious activity", + "labels": [ + "Tag1", + "Tag2" + ], + "query": "SecurityEvent | where TimeGenerated > ago(1d) and TimeGenerated < ago(2d)", + "queryResult": "Security Event query result", + "incidentInfo": { + "incidentId": "DDA55F97-170B-40B9-B8ED-CBFD05481E7D", + "severity": "Low", + "title": "New case 1", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0018" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateOfficeDataConnetor.json new file mode 100644 index 000000000000..7c1258217f99 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateOfficeDataConnetor.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json new file mode 100644 index 000000000000..f8d906179085 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/CreateThreatIntelligenceDataConnector.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "dataConnector": { + "kind": "ThreatIntelligence", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/DeleteOfficeDataConnetor.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/DeleteOfficeDataConnetor.json new file mode 100644 index 000000000000..ce2ef667e7af --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/DeleteOfficeDataConnetor.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json new file mode 100644 index 000000000000..232103757892 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAmazonWebServicesCloudTrailById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureActiveDirectoryById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureActiveDirectoryById.json new file mode 100644 index 000000000000..99adfe150962 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureActiveDirectoryById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..139200702807 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureAdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "07e42cb3-e658-4e90-801c-efa0f29d3d44" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureSecurityCenterById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureSecurityCenterById.json new file mode 100644 index 000000000000..c4d790ff51b6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetAzureSecurityCenterById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "c0688291-89d7-4bed-87a2-a7b1bff43f4c", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetDataConnectors.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetDataConnectors.json new file mode 100644 index 000000000000..847fe26d84ec --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetDataConnectors.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "name": "763f9fa1-c2d3-4fa2-93e9-bccd4899aa12", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureSecurityCenter", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "name": "f0cd27d2-5f03-4c06-ba31-d2dc82dcb51d", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureActiveDirectory", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/07e42cb3-e658-4e90-801c-efa0f29d3d44", + "name": "07e42cb3-e658-4e90-801c-efa0f29d3d44", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "AzureAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "kind": "AmazonWebServicesCloudTrail", + "properties": { + "awsRoleArn": "myAwsRoleArn", + "dataTypes": { + "logs": { + "state": "Enabled" + } + } + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json new file mode 100644 index 000000000000..396e08107fd3 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftCloudAppSecurityById.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "b96d014d-b5c2-4a01-9aba-a8058f629d42" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/b96d014d-b5c2-4a01-9aba-a8058f629d42", + "name": "b96d014d-b5c2-4a01-9aba-a8058f629d42", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftCloudAppSecurity", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + }, + "discoveryLogs": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json new file mode 100644 index 000000000000..48a0474856e4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetMicrosoftDefenderAdvancedThreatProtectionById.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "06b3ccb8-1384-4bcc-aec7-852f6d57161b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "name": "06b3ccb8-1384-4bcc-aec7-852f6d57161b", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "MicrosoftDefenderAdvancedThreatProtection", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "alerts": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetOfficeDataConnetorById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetOfficeDataConnetorById.json new file mode 100644 index 000000000000..79b076d73702 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetOfficeDataConnetorById.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "Office365", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "dataTypes": { + "sharePoint": { + "state": "Enabled" + }, + "exchange": { + "state": "Enabled" + }, + "teams": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..ec80f5083412 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/dataConnectors/GetThreatIntelligenceById.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "dataConnectorId": "c345bf40-8509-4ed2-b947-50cb773aaf04" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/dataConnectors/c345bf40-8509-4ed2-b947-50cb773aaf04", + "name": "c345bf40-8509-4ed2-b947-50cb773aaf04", + "type": "Microsoft.SecurityInsights/dataConnectors", + "kind": "ThreatIntelligence", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "tenantId": "2070ecc9-b4d5-4ae4-adaa-936fa1954fa8", + "tipLookbackPeriod": "2020-01-01T13:00:30.123Z", + "dataTypes": { + "indicators": { + "state": "Enabled" + } + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/CreateIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/CreateIncident.json new file mode 100644 index 000000000000..702c3da1520a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/CreateIncident.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incident": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0001\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/DeleteIncident.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/DeleteIncident.json new file mode 100644 index 000000000000..426509624bfc --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/DeleteIncident.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentAlerts.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentAlerts.json new file mode 100644 index 000000000000..86a9eee2d4ac --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentAlerts.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "name": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "SecurityAlert", + "properties": { + "systemAlertId": "baa8a239-6fde-4ab7-a093-d09f7b75c58c", + "tactics": [], + "alertDisplayName": "myAlert", + "confidenceLevel": "Unknown", + "severity": "Low", + "vendorName": "Microsoft", + "productName": "Azure Security Center", + "alertType": "myAlert", + "processingEndTime": "2020-07-20T18:21:53.6158361Z", + "status": "New", + "endTimeUtc": "2020-07-20T18:21:53.6158361Z", + "startTimeUtc": "2020-07-20T18:21:53.6158361Z", + "timeGenerated": "2020-07-20T18:21:53.6158361Z", + "resourceIdentifiers": [ + { + "type": "LogAnalytics", + "workspaceId": "c8c99641-985d-4e4e-8e91-fb3466cd0e5b", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroup": "myRG" + } + ], + "additionalData": { + "AlertMessageEnqueueTime": "2020-07-20T18:21:57.304Z" + }, + "friendlyName": "myAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentBookmarks.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentBookmarks.json new file mode 100644 index 000000000000..9c19274f160b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentBookmarks.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/afbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/bbbd324f-6c48-459c-8710-8d1e1cd03812", + "name": "bbbd324f-6c48-459c-8710-8d1e1cd03812", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Bookmark", + "properties": { + "displayName": "SecurityEvent - 868f40f4698d", + "created": "2020-06-17T15:34:01.4265524+00:00", + "updated": "2020-06-17T15:34:01.4265524+00:00", + "createdBy": { + "objectId": "303ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "updatedBy": { + "objectId": "b03ca914-5eb6-45e5-9417-fe0797c372fd", + "email": "user@microsoft.com", + "name": "user" + }, + "eventTime": "2020-06-17T15:34:01.4265524+00:00", + "labels": [], + "query": "SecurityEvent\r\n| take 1\n", + "queryResult": "{\"TimeGenerated\":\"2020-05-24T01:24:25.67Z\",\"Account\":\"\\\\ADMINISTRATOR\",\"AccountType\":\"User\",\"Computer\":\"SecurityEvents\",\"EventSourceName\":\"Microsoft-Windows-Security-Auditing\",\"Channel\":\"Security\",\"Task\":12544,\"Level\":\"16\",\"EventID\":4625,\"Activity\":\"4625 - An account failed to log on.\",\"AuthenticationPackageName\":\"NTLM\",\"FailureReason\":\"%%2313\",\"IpAddress\":\"176.113.115.73\",\"IpPort\":\"0\",\"LmPackageName\":\"-\",\"LogonProcessName\":\"NtLmSsp \",\"LogonType\":3,\"LogonTypeName\":\"3 - Network\",\"Process\":\"-\",\"ProcessId\":\"0x0\",\"__entityMapping\":{\"\\\\ADMINISTRATOR\":\"Account\",\"SecurityEvents\":\"Host\"}}", + "additionalData": { + "ETag": "\"3b00acab-0000-0d00-0000-5f15e4ed0000\"", + "EntityId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "friendlyName": "SecurityEvent - 868f40f4698d" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentEntities.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentEntities.json new file mode 100644 index 000000000000..b0a35c5c50ee --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetAllIncidentEntities.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "entities": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Entities/e1d3d618-e11f-478b-98e3-bb381539a8e1", + "name": "e1d3d618-e11f-478b-98e3-bb381539a8e1", + "type": "Microsoft.SecurityInsights/Entities", + "kind": "Account", + "properties": { + "friendlyName": "administrator", + "accountName": "administrator", + "ntDomain": "domain" + } + } + ], + "metaData": [ + { + "entityKind": "Account", + "count": 1 + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidentById.json new file mode 100644 index 000000000000..058d83ea4af4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidentById.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "InaccurateData", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "InitialAccess", + "Persistence" + ] + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidents.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidents.json new file mode 100644 index 000000000000..5018e190a50e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/GetIncidents.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "$orderby": "properties/createdTimeUtc desc", + "$top": 1 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "name": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "type": "Microsoft.SecurityInsights/incidents", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastActivityTimeUtc": "2019-01-01T13:05:30Z", + "firstActivityTimeUtc": "2019-01-01T13:00:30Z", + "description": "This is a demo incident", + "title": "My incident", + "owner": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "assignedTo": "john doe" + }, + "severity": "High", + "classification": "FalsePositive", + "classificationComment": "Not a malicious activity", + "classificationReason": "IncorrectAlertLogic", + "status": "Closed", + "incidentUrl": "https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentNumber": 3177, + "labels": [], + "relatedAnalyticRuleIds": [ + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/fab3d2d4-747f-46a7-8ef0-9c0be8112bf7", + "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/alertRules/8deb8303-e94d-46ff-96e0-5fd94b33df1a" + ], + "additionalData": { + "alertsCount": 0, + "bookmarksCount": 0, + "commentsCount": 3, + "alertProductNames": [], + "tactics": [ + "Persistence" + ] + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/CreateIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/CreateIncidentComment.json new file mode 100644 index 000000000000..37aeeeccca14 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/CreateIncidentComment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "incidentComment": { + "properties": { + "message": "Some message" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-04T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/DeleteIncidentComment.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/DeleteIncidentComment.json new file mode 100644 index 000000000000..ac3b203836a5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/DeleteIncidentComment.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetAllIncidentComments.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetAllIncidentComments.json new file mode 100644 index 000000000000..6ddf4da3a9a5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetAllIncidentComments.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetIncidentCommentById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetIncidentCommentById.json new file mode 100644 index 000000000000..3708d3a7c809 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/comments/GetIncidentCommentById.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "73e01a99-5cd7-4139-a149-9f2736ff2ab5", + "incidentCommentId": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/73e01a99-5cd7-4139-a149-9f2736ff2ab5/comments/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/comments", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "message": "Some message", + "createdTimeUtc": "2019-01-01T13:15:30Z", + "lastModifiedTimeUtc": "2019-01-01T13:15:30Z", + "author": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john.doe@contoso.com", + "userPrincipalName": "john@contoso.com", + "name": "john doe" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/CreateIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/CreateIncidentRelation.json new file mode 100644 index 000000000000..bb1341d691d8 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/CreateIncidentRelation.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "relation": { + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/DeleteIncidentRelation.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/DeleteIncidentRelation.json new file mode 100644 index 000000000000..e0ff815f1f11 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/DeleteIncidentRelation.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetAllIncidentRelations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetAllIncidentRelations.json new file mode 100644 index 000000000000..b2977d5b5405 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetAllIncidentRelations.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + }, + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "name": "9673a17d-8bc7-4ca6-88ee-38a4f3efc032", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "6f714025-dd7c-46aa-b5d0-b9857488d060", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/entities/1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceName": "1dd267cd-8a1f-4f6f-b92c-da43ac8819af", + "relatedResourceType": "Microsoft.SecurityInsights/entities", + "relatedResourceKind": "SecurityAlert" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetIncidentRelationByName.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetIncidentRelationByName.json new file mode 100644 index 000000000000..cc52c9df23d4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/incidents/relations/GetIncidentRelationByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "incidentId": "afbd324f-6c48-459c-8710-8d1e1cd03812", + "relationName": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/incidents/afbd324f-6c48-459c-8710-8d1e1cd03812/relations/4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "name": "4bb36b7b-26ff-4d1c-9cbe-0d8ab3da0014", + "type": "Microsoft.SecurityInsights/incidents/relations", + "etag": "190057d0-0000-0d00-0000-5c6f5adb0000", + "properties": { + "relatedResourceId": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/bookmarks/2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceName": "2216d0e1-91e3-4902-89fd-d2df8c535096", + "relatedResourceType": "Microsoft.SecurityInsights/bookmarks" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/CreateSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/CreateSentinelOnboardingState.json new file mode 100644 index 000000000000..37993d33054b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/CreateSentinelOnboardingState.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default", + "sentinelOnboardingStateParameter": { + "properties": { + "customerManagedKey": false + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/DeleteSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/DeleteSentinelOnboardingState.json new file mode 100644 index 000000000000..f2249a1ef40f --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/DeleteSentinelOnboardingState.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json new file mode 100644 index 000000000000..928d2044e906 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetAllSentinelOnboardingStates.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetSentinelOnboardingState.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetSentinelOnboardingState.json new file mode 100644 index 000000000000..29c5f6442d6b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/onboardingStates/GetSentinelOnboardingState.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "sentinelOnboardingStateName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/onboardingStates/default", + "name": "default", + "type": "Microsoft.SecurityInsights/onboardingStates", + "properties": { + "customerManagedKey": false + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/operations/ListOperations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/operations/ListOperations.json new file mode 100644 index 000000000000..578d02a8945e --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/operations/ListOperations.json @@ -0,0 +1,563 @@ +{ + "parameters": { + "api-version": "2021-10-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SecurityInsights/operations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Operations", + "operation": "Get Operations", + "description": "Gets operations" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Get Automation Rules", + "description": "Gets an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Update Automation Rules", + "description": "Updates an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/automationRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "AutomationRules", + "operation": "Delete Automation Rules", + "description": "Deletes an automation rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Get Bookmarks", + "description": "Gets bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Update Bookmarks", + "description": "Updates bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Delete Bookmarks", + "description": "Deletes bookmarks" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Bookmarks/expand/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmarks", + "operation": "Expand on entity", + "description": "Gets related entities of an entity by a specific expansion" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Get Bookmark Relations", + "description": "Gets a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Update Bookmark Relations", + "description": "Updates a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/bookmarks/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Bookmark Relations", + "operation": "Delete Bookmark Relations", + "description": "Deletes a bookmark relation" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Get Alert Rules", + "description": "Gets the alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Update Alert Rules", + "description": "Updates alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules", + "operation": "Delete Alert Rules", + "description": "Deletes alert rules" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Get Alert Rule Response Actions", + "description": "Gets the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Update Alert Rule Response Actions", + "description": "Updates the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/alertRules/actions/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Alert Rules Actions", + "operation": "Delete Alert Rule Response Actions", + "description": "Deletes the response actions of an alert rule" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Get Data Connectors", + "description": "Gets the data connectors" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Update Data Connectors", + "description": "Updates a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectors/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectors", + "operation": "Delete a Data Connector", + "description": "Deletes a data connector" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/dataConnectorsCheckRequirements/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "DataConnectorsCheckRequirements", + "operation": "Check user authorization and license", + "description": "Check user authorization and license" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Get Incidents", + "description": "Gets an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Update Incidents", + "description": "Updates an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incidents", + "operation": "Delete Incidents", + "description": "Deletes an incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Get Incident Comments", + "description": "Gets the incident comments" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Create Incident Comments", + "description": "Creates a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/comments/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Comments", + "operation": "Delete Incident Comment", + "description": "Deletes a comment on the incident" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Get Incident Relations", + "description": "Gets a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Update Incident Relations", + "description": "Updates a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/incidents/relations/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Incident Relations", + "operation": "Delete Incident Relations", + "description": "Deletes a relation between the incident and related resources" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence", + "description": "Gets Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence", + "description": "Updates Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence", + "description": "Deletes Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence", + "description": "Query Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence", + "description": "Bulk Delete Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence", + "description": "Bulk Tags Threat Intelligence" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Update Threat Intelligence Indicators", + "description": "Updates Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Delete Threat Intelligence Indicators", + "description": "Deletes Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/query/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/metrics/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicator Metrics", + "description": "Get Threat Intelligence Indicator Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkDelete/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Delete Threat Intelligence Indicators", + "description": "Bulk Delete Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/bulkTag/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Bulk Tags Threat Intelligence Indicators", + "description": "Bulk Tags Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Get Threat Intelligence Indicators", + "description": "Gets Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/metrics/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Collect Threat Intelligence Metrics", + "description": "Collect Threat Intelligence Metrics" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/createIndicator/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Create Threat Intelligence Indicator", + "description": "Create Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/appendTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Append tags to Threat Intelligence Indicator", + "description": "Append tags to Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/indicators/replaceTags/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Replace Tags of Threat Intelligence Indicator", + "description": "Replace Tags of Threat Intelligence Indicator" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/threatintelligence/queryIndicators/action", + "display": { + "provider": "Microsoft Security Insights", + "resource": "ThreatIntelligence", + "operation": "Query Threat Intelligence Indicators", + "description": "Query Threat Intelligence Indicators" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Get Watchlists", + "description": "Gets Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Create Watchlists", + "description": "Create Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/Watchlists/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Watchlists", + "operation": "Delete Watchlists", + "description": "Deletes Watchlists" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/read", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Get Onboarding States", + "description": "Gets an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/write", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Update Onboarding States", + "description": "Updates an onboarding state" + }, + "origin": "user" + }, + { + "name": "Microsoft.SecurityInsights/onboardingStates/delete", + "display": { + "provider": "Microsoft Security Insights", + "resource": "Onboarding States", + "operation": "Delete Onboarding States", + "description": "Deletes an onboarding state" + }, + "origin": "user" + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/AppendTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/AppendTagsThreatIntelligence.json new file mode 100644 index 000000000000..f31b681c18a9 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/AppendTagsThreatIntelligence.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceAppendTags": { + "threatIntelligenceTags": [ + "tag1", + "tag2" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json new file mode 100644 index 000000000000..e39cb34e1e26 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CollectThreatIntelligenceMetrics.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "lastUpdatedTimeUtc": "2020-09-01T19:44:44.117403Z", + "threatTypeMetrics": [ + { + "metricName": "compromised", + "metricValue": 20 + } + ], + "patternTypeMetrics": [ + { + "metricName": "url", + "metricValue": 20 + } + ], + "sourceMetrics": [ + { + "metricName": "Azure Sentinel", + "metricValue": 10315 + }, + { + "metricName": "zinga", + "metricValue": 2 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CreateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CreateThreatIntelligence.json new file mode 100644 index 000000000000..19c51d2bab1d --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/CreateThreatIntelligence.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/DeleteThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/DeleteThreatIntelligence.json new file mode 100644 index 000000000000..b6c8d4f8536a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/DeleteThreatIntelligence.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligence.json new file mode 100644 index 000000000000..785a4ef01b49 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligence.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligenceById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligenceById.json new file mode 100644 index 000000000000..f26a7193be69 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/GetThreatIntelligenceById.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:18:49.2259902Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/QueryThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/QueryThreatIntelligence.json new file mode 100644 index 000000000000..0bb0b18eb032 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/QueryThreatIntelligence.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "ThreatIntelligenceFilteringCriteria": { + "pageSize": 100, + "minConfidence": 25, + "maxConfidence": 80, + "minValidUntil": "2020-04-05T17:44:00.114052Z", + "maxValidUntil": "2020-04-25T17:44:00.114052Z", + "sources": [ + "Azure Sentinel" + ], + "sortBy": [ + { + "itemKey": "lastUpdatedTimeUtc", + "sortOrder": "descending" + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "name": "27d963e6-e6e4-e0f9-e9d7-c53985b3bbe8", + "etag": "\"00002f2c-0000-0800-0000-5e976a8e0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 90, + "created": "2020-04-15T20:11:57.9666134Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--8516d567-0daa-4614-8745-e3591e1b48cf", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.0746926Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema 2", + "description": "debugging indicators 2", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z", + "parsedPattern": [ + { + "patternTypeKey": "network-traffic", + "patternTypeValues": [ + { + "valueType": "0", + "value": "SSH-2.0-PuTTY_Release_0.64" + }, + { + "valueType": "1", + "value": "194.88.106.146" + } + ] + } + ] + } + }, + { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:15:11.074903Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json new file mode 100644 index 000000000000..d99ef735d861 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/ReplaceTagsThreatIntelligence.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceReplaceTags": { + "etag": "\"0000262c-0000-0800-0000-5e9767060000\"", + "kind": "indicator", + "properties": { + "threatIntelligenceTags": [ + "patching tags" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "name": "e16ef847-962e-d7b6-9c8b-a33e4bd30e47", + "etag": "\"00002a2c-0000-0800-0000-5e97683b0000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T19:51:17.1050923Z", + "createdByRef": "aztestConnectors@dataconnector.ccsctp.net", + "externalId": "indicator--73be1729-babb-4348-a6c4-94621cae2530", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T19:56:08.828946Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "patching tags" + ], + "displayName": "updated indicator", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://abc.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/UpdateThreatIntelligence.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/UpdateThreatIntelligence.json new file mode 100644 index 000000000000..59e6a8616375 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/threatintelligence/UpdateThreatIntelligence.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "bd794837-4d29-4647-9105-6339bfdb4e6a", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "name": "d9cd6f0b-96b9-3984-17cd-a779d1e15a93", + "ThreatIntelligenceProperties": { + "kind": "indicator", + "properties": { + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "confidence": 78, + "createdByRef": "contoso@contoso.com", + "description": "debugging indicators", + "externalReferences": [], + "granularMarkings": [], + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "labels": [], + "modified": "", + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "revoked": false, + "validFrom": "2020-04-15T17:44:00.114052Z", + "validUntil": "" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "contoso@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/bd794837-4d29-4647-9105-6339bfdb4e6a/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/ThreatIntelligence/180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "name": "180105c7-a28d-b1a2-4a78-234f6ec80fd6", + "etag": "\"0000322c-0000-0800-0000-5e976c960000\"", + "type": "Microsoft.SecurityInsights/ThreatIntelligence", + "kind": "indicator", + "properties": { + "confidence": 78, + "created": "2020-04-15T20:20:38.6160949Z", + "createdByRef": "aztestConnectors@contoso.com", + "externalId": "indicator--a2b6a95e-2108-4a38-bd49-ef95811bbcd7", + "externalReferences": [], + "granularMarkings": [], + "lastUpdatedTimeUtc": "2020-04-15T20:20:38.6161887Z", + "revoked": false, + "source": "Azure Sentinel", + "threatIntelligenceTags": [ + "new schema" + ], + "displayName": "new schema", + "description": "debugging indicators", + "threatTypes": [ + "compromised" + ], + "killChainPhases": [], + "pattern": "[url:value = 'https://www.contoso.com']", + "patternType": "url", + "validFrom": "2020-04-15T17:44:00.114052Z" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlist.json new file mode 100644 index 000000000000..d32182032e1b --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlist.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "itemsSearchKey": "header1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json new file mode 100644 index 000000000000..ef44ec847cf6 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistAndWatchlistItems.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlist": { + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "displayName": "High Value Assets Watchlist", + "source": "Local file", + "provider": "Microsoft", + "description": "Watchlist from CSV content", + "numberOfLinesToSkip": 1, + "rawContent": "This line will be skipped\nheader1,header2\nvalue1,value2", + "itemsSearchKey": "header1", + "contentType": "text/csv" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "type": "Microsoft.SecurityInsights/Watchlists", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistItem.json new file mode 100644 index 000000000000..f262cfd2ec35 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/CreateWatchlistItem.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "watchlistItem": { + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "properties": { + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/82ba292c-dc97-4dfc-969d-d4dd9e666842", + "etag": "0300bf09-0000-0000-0000-5c37296e0000", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "82ba292c-dc97-4dfc-969d-d4dd9e666842", + "tenantId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea", + "isDeleted": false, + "created": "2020-11-15T04:58:56.0748363+00:00", + "updated": "2020-11-16T16:05:20+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Gateway subnet": "10.0.255.224/27", + "Web Tier": "10.0.1.0/24", + "Business tier": "10.0.2.0/24", + "Data tier": "10.0.2.0/24", + "Private DMZ in": "10.0.0.0/27", + "Public DMZ out": "10.0.0.96/27" + } + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlist.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlist.json new file mode 100644 index 000000000000..0e718b60e806 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlist.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlistItem.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlistItem.json new file mode 100644 index 000000000000..5d3df054f3d5 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/DeleteWatchlistItem.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset", + "watchlistItemId": "4008512e-1d30-48b2-9ee2-d3612ed9d3ea" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistByAlias.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistByAlias.json new file mode 100644 index 000000000000..f38f82abdf2a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistByAlias.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItemById.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItemById.json new file mode 100644 index 000000000000..fcc298eaa59a --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItemById.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "watchlistAlias": "highValueAsset", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistItemId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItems.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItems.json new file mode 100644 index 000000000000..0eeca3c336f4 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlistItems.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights", + "watchlistAlias": "highValueAsset" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/Watchlists/highValueAsset/WatchlistItems/fd37d325-7090-47fe-851a-5b5a00c3f576", + "name": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "etag": "\"f2089bfa-0000-0d00-0000-601c58b42021\"", + "type": "Microsoft.SecurityInsights/Watchlists/WatchlistItems", + "properties": { + "watchlistItemType": "watchlist-item", + "watchlistItemId": "fd37d325-7090-47fe-851a-5b5a00c3f576", + "tenantId": "3f8901fe-63d9-4875-9ad5-9fb3b8105797", + "isDeleted": false, + "created": "2021-02-04T12:27:32.3783333-08:00", + "updated": "2021-02-04T12:27:32.3783333-08:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "itemsKeyValue": { + "Header-1": "v1_1", + "Header-2": "v1_2", + "Header-3": "v1_3", + "Header-4": "v1_4", + "Header-5": "v1_5" + }, + "entityMapping": {} + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlists.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlists.json new file mode 100644 index 000000000000..60fd7c39de44 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/examples/watchlists/GetWatchlists.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2021-10-01", + "subscriptionId": "d0cfe6b2-9ac0-4464-9919-dccaee2e48c0", + "resourceGroupName": "myRg", + "workspaceName": "myWorkspace", + "operationalInsightsResourceProvider": "Microsoft.OperationalInsights" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/watchlists/highValueAsset", + "name": "highValueAsset", + "type": "Microsoft.SecurityInsights/Watchlists", + "etag": "\"0300bf09-0000-0000-0000-5c37296e0000\"", + "properties": { + "watchlistId": "76d5a51f-ba1f-4038-9d22-59fda38dc017", + "displayName": "High Value Assets Watchlist", + "provider": "Microsoft", + "source": "Local file", + "created": "2020-09-28T00:26:54.7746089+00:00", + "updated": "2020-09-28T00:26:57+00:00", + "createdBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "updatedBy": { + "objectId": "2046feea-040d-4a46-9e2b-91c2941bfa70", + "email": "john@contoso.com", + "name": "john doe" + }, + "description": "Watchlist from CSV content", + "watchlistType": "watchlist", + "watchlistAlias": "highValueAsset", + "itemsSearchKey": "header1", + "isDeleted": false, + "labels": [ + "Tag1", + "Tag2" + ], + "defaultDuration": "P1279DT12H30M5S", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd" + } + } + ] + } + } + } +} diff --git a/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/operations.json b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/operations.json new file mode 100644 index 000000000000..460213dedbc0 --- /dev/null +++ b/specification/securityinsights/resource-manager/Microsoft.SecurityInsights/stable/2021-10-01/operations.json @@ -0,0 +1,139 @@ +{ + "swagger": "2.0", + "info": { + "title": "Security Insights", + "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", + "version": "2021-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.SecurityInsights/operations": { + "get": { + "x-ms-examples": { + "Get all operations.": { + "$ref": "./examples/operations/ListOperations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all operations available Azure Security Insights Resource Provider.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operations list.", + "schema": { + "$ref": "#/definitions/OperationsList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../common/2.0/types.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationsList": { + "description": "Lists the operations available in the SecurityInsights RP.", + "properties": { + "nextLink": { + "description": "URL to fetch the next set of operations.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Array of operations", + "items": { + "$ref": "#/definitions/Operation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object", + "required": [ + "value" + ] + }, + "Operation": { + "description": "Operation provided by provider", + "properties": { + "display": { + "description": "Properties of the operation", + "properties": { + "description": { + "description": "Description of the operation", + "type": "string" + }, + "operation": { + "description": "Operation name", + "type": "string" + }, + "provider": { + "description": "Provider name", + "type": "string" + }, + "resource": { + "description": "Resource name", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Name of the operation", + "type": "string" + }, + "origin": { + "description": "The origin of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + } + }, + "type": "object" + } + }, + "parameters": {} +} diff --git a/specification/securityinsights/resource-manager/readme.go.md b/specification/securityinsights/resource-manager/readme.go.md index 489a4424f85d..0b77003f5e41 100644 --- a/specification/securityinsights/resource-manager/readme.go.md +++ b/specification/securityinsights/resource-manager/readme.go.md @@ -11,7 +11,7 @@ go: ``` yaml $(go) && $(track2) license-header: MICROSOFT_MIT_NO_VERSION -module-name: sdk/resourcemanager/securityinsight/armsecurityinsight +module-name: sdk/resourcemanager/securityinsights/armsecurityinsights module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true @@ -21,11 +21,21 @@ azure-arm: true ```yaml $(go) && $(multiapi) batch: + - tag: package-preview-2022-01 - tag: package-2020-01 - tag: package-2019-01-preview - tag: package-preview-2021-09 ``` +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +```yaml $(tag) == 'package-preview-2022-01' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-01-01-preview/$(namespace) +``` + ### Tag: package-preview-2021-09 These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line. diff --git a/specification/securityinsights/resource-manager/readme.md b/specification/securityinsights/resource-manager/readme.md index f6fcbaebeca6..c6625cb6374f 100644 --- a/specification/securityinsights/resource-manager/readme.md +++ b/specification/securityinsights/resource-manager/readme.md @@ -26,11 +26,61 @@ These are the global settings for the SecurityInsights API. ``` yaml openapi-type: arm -tag: package-preview-2021-09 +tag: package-preview-2022-01 ``` --- + +### Tag: package-preview-2022-01 + +These settings apply only when `--tag=package-preview-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2022-01' +input-file: + - Microsoft.SecurityInsights/preview/2022-01-01-preview/AlertRules.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/AutomationRules.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Bookmarks.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Enrichment.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Entities.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueries.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/EntityQueryTemplates.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Incidents.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Metadata.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/OfficeConsents.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/OnboardingStates.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Settings.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/SourceControls.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/ThreatIntelligence.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/Watchlists.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/dataConnectors.json + - Microsoft.SecurityInsights/preview/2022-01-01-preview/operations.json +``` +### Tag: package-preview-2021-10 + +These settings apply only when `--tag=package-preview-2021-10` is specified on the command line. + +``` yaml $(tag) == 'package-preview-2021-10' +input-file: + - Microsoft.SecurityInsights/preview/2021-10-01-preview/AlertRules.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/AutomationRules.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Bookmarks.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Enrichment.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Entities.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueries.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/EntityQueryTemplates.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Incidents.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Metadata.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/OfficeConsents.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/OnboardingStates.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Settings.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/SourceControls.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/ThreatIntelligence.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/Watchlists.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/dataConnectors.json + - Microsoft.SecurityInsights/preview/2021-10-01-preview/operations.json +``` + ### Tag: package-preview-2021-09 These settings apply only when `--tag=package-preview-2021-09` is specified on the command line. @@ -58,6 +108,23 @@ input-file: --- +### Tag: package-2021-10 + +These settings apply only when `--tag=package-2021-10` is specified on the command line. + +```yaml $(tag) == 'package-2021-10' +input-file: + - Microsoft.SecurityInsights/stable/2021-10-01/Incidents.json + - Microsoft.SecurityInsights/stable/2021-10-01/ThreatIntelligence.json + - Microsoft.SecurityInsights/stable/2021-10-01/Watchlists.json + - Microsoft.SecurityInsights/stable/2021-10-01/operations.json + - Microsoft.SecurityInsights/stable/2021-10-01/OnboardingStates.json + - Microsoft.SecurityInsights/stable/2021-10-01/AlertRules.json + - Microsoft.SecurityInsights/stable/2021-10-01/Bookmarks.json + - Microsoft.SecurityInsights/stable/2021-10-01/DataConnectors.json + - Microsoft.SecurityInsights/stable/2021-10-01/AutomationRules.json +``` + ### Tag: package-2021-04-01-only These settings apply only when `--tag=package-2021-04-01-only` is specified on the command line. @@ -192,4 +259,4 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## Java -See configuration in [readme.java.md](./readme.java.md) \ No newline at end of file +See configuration in [readme.java.md](./readme.java.md) diff --git a/specification/securityinsights/resource-manager/readme.python.md b/specification/securityinsights/resource-manager/readme.python.md index 32143c68c117..270ac81d79fc 100644 --- a/specification/securityinsights/resource-manager/readme.python.md +++ b/specification/securityinsights/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.securityinsight @@ -13,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/securityinsight/azure-mgmt-securityinsight/azure/mgmt/securityinsight ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/securityinsight/azure-mgmt-securityinsight -``` diff --git a/specification/serialconsole/resource-manager/readme.python.md b/specification/serialconsole/resource-manager/readme.python.md index 0ed58db2fbd3..590b6f37090d 100644 --- a/specification/serialconsole/resource-manager/readme.python.md +++ b/specification/serialconsole/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.serialconsole @@ -14,11 +13,7 @@ package-version: 0.1.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole/azure/mgmt/serialconsole ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/serialconsole/azure-mgmt-serialconsole -``` \ No newline at end of file diff --git a/specification/service-map/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json b/specification/service-map/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json index 5337461d229c..b55ebb8494d4 100644 --- a/specification/service-map/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json +++ b/specification/service-map/resource-manager/Microsoft.OperationalInsights/preview/2015-11-01-preview/arm-service-map.json @@ -2583,6 +2583,10 @@ "items": { "$ref": "#/definitions/Ipv4NetworkInterface" }, + "x-ms-identifiers": [ + "ipAddress", + "subnetMask" + ], "description": "IPv4 interfaces." }, "ipv6Interfaces": { @@ -2590,6 +2594,9 @@ "items": { "$ref": "#/definitions/Ipv6NetworkInterface" }, + "x-ms-identifiers": [ + "ipAddress" + ], "description": "IPv6 interfaces." }, "defaultIpv4Gateways": { @@ -2986,6 +2993,7 @@ "items": { "$ref": "#/definitions/ProcessHostedService" }, + "x-ms-identifiers": [], "description": "Collection of services hosted by this Process (Windows only)." }, "zoneName": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json index bba68aac2492..00f24cfb3ee0 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetCreate.json @@ -60,6 +60,7 @@ "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", "properties": { "defaultAction": "Deny", + "publicNetworkAccess": "Enabled", "virtualNetworkRules": [ { "subnet": { diff --git a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json index 67ac3ac68b5a..6e6cb68947d7 100644 --- a/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json +++ b/specification/servicebus/resource-manager/Microsoft.ServiceBus/preview/2021-06-01-preview/examples/NameSpaces/VirtualNetworkRule/SBNetworkRuleSetGet.json @@ -12,7 +12,8 @@ "name": "default", "type": "Microsoft.ServiceBus/Namespaces/NetworkRuleSet", "properties": { - "defaultAction": "Deny", + "defaultAction": "Allow", + "publicNetworkAccess": "Enabled", "virtualNetworkRules": [ { "subnet": { diff --git a/specification/servicebus/resource-manager/readme.python.md b/specification/servicebus/resource-manager/readme.python.md index 53c5545fd838..b2aa0c511fa2 100644 --- a/specification/servicebus/resource-manager/readme.python.md +++ b/specification/servicebus/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-servicebus @@ -16,7 +16,7 @@ no-namespace-folders: true Generate all API versions currently shipped for this package -```yaml $(multiapi) && $(track2) +```yaml $(multiapi) && $(python) clear-output-folder: true batch: - tag: package-2021-06-preview @@ -29,7 +29,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus/azure/mgmt/servicebus/ -clear-output-folder: false perform-load: false ``` @@ -83,7 +82,7 @@ namespace: azure.mgmt.servicebus.v2015_08_01 output-folder: $(python-sdks-folder)/servicebus/azure-mgmt-servicebus/azure/mgmt/servicebus/v2015_08_01 ``` -``` yaml $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/servicefabric/resource-manager/readme.python.md b/specification/servicefabric/resource-manager/readme.python.md index 7c416efad850..a11e7584e8f9 100644 --- a/specification/servicefabric/resource-manager/readme.python.md +++ b/specification/servicefabric/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION @@ -14,16 +14,13 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/servicefabric/azure-mgmt-servicefabric/azure/mgmt/servicefabric ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/servicefabric/azure-mgmt-servicefabric -``` -``` yaml $(python) && $(track2) + +``` yaml $(python) directive: - from: application.json where: $.paths["/providers/Microsoft.ServiceFabric/operations"].get @@ -36,4 +33,4 @@ directive: - from: nodetype.json where: $.paths["/providers/Microsoft.ServiceFabric/operations"].get transform: $['operationId'] = 'Nodetype_List' -``` \ No newline at end of file +``` diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationDeleteOperation_example.json new file mode 100644 index 000000000000..fe0d3fd37a82 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationDeleteOperation_example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/76053752-a423-4a80-b283-1dad1ba5f314?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationGetOperation_example.json new file mode 100644 index 000000000000..577f33748dd0 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationGetOperation_example.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationListOperation_example.json new file mode 100644 index 000000000000..336a4a5143d4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationListOperation_example.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPatchOperation_example.json new file mode 100644 index 000000000000..fd0856830da0 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPatchOperation_example.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_max.json new file mode 100644 index 000000000000..bbfc573cded2 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_max.json @@ -0,0 +1,156 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "tags": { + "a": "b" + }, + "properties": { + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "myService": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Creating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/9c2ce367-47ea-43de-b69e-c5a423da4557?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_min.json new file mode 100644 index 000000000000..cadfdf9df815 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationPutOperation_example_min.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "properties": { + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myApp", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "parameters": { + "param1": "value1" + }, + "upgradePolicy": { + "applicationHealthPolicy": { + "considerWarningAsError": true, + "maxPercentUnhealthyDeployedApplications": 0, + "defaultServiceTypeHealthPolicy": { + "maxPercentUnhealthyServices": 0, + "maxPercentUnhealthyPartitionsPerService": 0, + "maxPercentUnhealthyReplicasPerPartition": 0 + }, + "serviceTypeHealthPolicyMap": { + "service1": { + "maxPercentUnhealthyReplicasPerPartition": 30, + "maxPercentUnhealthyPartitionsPerService": 30, + "maxPercentUnhealthyServices": 30 + } + } + }, + "rollingUpgradeMonitoringPolicy": { + "failureAction": "Rollback", + "healthCheckRetryTimeout": "00:10:00", + "healthCheckWaitDuration": "00:02:00", + "healthCheckStableDuration": "00:05:00", + "upgradeDomainTimeout": "00:15:00", + "upgradeTimeout": "01:00:00" + }, + "upgradeReplicaSetCheckTimeout": 3600, + "forceRestart": false, + "instanceCloseDelayDuration": 600, + "upgradeMode": "UnmonitoredAuto", + "recreateApplication": false + } + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/5dce62ce-439b-47af-81d8-99ab14708e91?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp", + "name": "myCluster", + "properties": { + "provisioningState": "Updating", + "version": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameDeleteOperation_example.json new file mode 100644 index 000000000000..d75d1a9a4938 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameDeleteOperation_example.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/6a367b2d-9f60-4941-b886-e348ddcb4127?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameGetOperation_example.json new file mode 100644 index 000000000000..88e915a0098d --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameGetOperation_example.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameListOperation_example.json new file mode 100644 index 000000000000..82bad047b27c --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNameListOperation_example.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePatchOperation_example.json new file mode 100644 index 000000000000..7180b4d2aba2 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePatchOperation_example.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePutOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePutOperation_example.json new file mode 100644 index 000000000000..9139534814be --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeNamePutOperation_example.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus" + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType", + "name": "myAppType", + "properties": { + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionDeleteOperation_example.json new file mode 100644 index 000000000000..7731becb0e44 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionDeleteOperation_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/28e62369-ed8c-4aba-8c05-ab7d6238cc3d?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionGetOperation_example.json new file mode 100644 index 000000000000..b14ee3163368 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionGetOperation_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionListOperation_example.json new file mode 100644 index 000000000000..208ea716375f --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionListOperation_example.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPatchOperation_example.json new file mode 100644 index 000000000000..dc64f7d5c8f2 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPatchOperation_example.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPutOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPutOperation_example.json new file mode 100644 index 000000000000..05c2d00585f6 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ApplicationTypeVersionPutOperation_example.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationTypeName": "myAppType", + "version": "1.0", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "properties": { + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Creating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/e2413c7e-d51b-40ac-8155-bc85bf8ae856?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applicationTypes/versions", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applicationTypes/myAppType/versions/1.0", + "name": "1.0", + "properties": { + "provisioningState": "Updating", + "appPackageUrl": "http://fakelink.test.com/MyAppType" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/DeleteNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/DeleteNodes_example.json new file mode 100644 index 000000000000..c5682b0ff891 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/DeleteNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_result.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_result.json new file mode 100644 index 000000000000..4114194b644e --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_result.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01", + "operationId": "00000000-0000-0000-0000-000000001234" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_failed.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_failed.json new file mode 100644 index 000000000000..daae6ebbe1ea --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_failed.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01", + "operationId": "00000000-0000-0000-0000-000000001234" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000001234", + "startTime": "2022-01-03T23:58:02.2501337Z", + "endTime": "2022-01-04T00:13:03.2790951Z", + "percentComplete": 100.0, + "status": "Failed", + "error": { + "code": "-2146233029", + "message": "A task was canceled." + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_succeeded.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_succeeded.json new file mode 100644 index 000000000000..ab4e97d705a6 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Long_running_operation_status_succeeded.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01", + "operationId": "00000000-0000-0000-0000-000000001234" + }, + "responses": { + "200": { + "body": { + "name": "00000000-0000-0000-0000-000000001234", + "startTime": "2022-01-03T23:58:02.2501337Z", + "endTime": "2022-01-04T00:13:03.2790951Z", + "percentComplete": 100.0, + "status": "Succeeded" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterDeleteOperation_example.json new file mode 100644 index 000000000000..606e40e295fb --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterDeleteOperation_example.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterGetOperation_example.json new file mode 100644 index 000000000000..1ae475aeba67 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterGetOperation_example.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListByResourceGroupOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListByResourceGroupOperation_example.json new file mode 100644 index 000000000000..c356186e9e77 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListByResourceGroupOperation_example.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListBySubscriptionOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListBySubscriptionOperation_example.json new file mode 100644 index 000000000000..45f4e237760e --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterListBySubscriptionOperation_example.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster2", + "name": "myCluster2", + "tags": {}, + "etag": "W/\"636462502164040075\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "2747e469-b24e-4039-8a0a-46151419523f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster2", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPatchOperation_example.json new file mode 100644 index 000000000000..0c757eb745ac --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPatchOperation_example.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": { + "a": "b" + }, + "etag": "W/\"636462502169240745\"", + "properties": { + "provisioningState": "Succeeded", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterCodeVersion": "7.1.168.9494", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave0", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19001, + "httpGatewayConnectionPort": 19081, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "http" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "false" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_max.json new file mode 100644 index 000000000000..de98f6be543b --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_max.json @@ -0,0 +1,387 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "tags": {}, + "sku": { + "name": "Basic" + }, + "properties": { + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "http", + "loadDistribution": "Default" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Updating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp", + "loadDistribution": "Default" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "enableServicePublicIP": true, + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ], + "auxiliarySubnets": [ + { + "name": "testSubnet1", + "enableIpv6": true, + "privateEndpointNetworkPolicies": "enabled", + "privateLinkServiceNetworkPolicies": "enabled", + "networkSecurityGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/networkSecurityGroups/sn1" + } + ], + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2", + "usnorth" + ] + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Creating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Manual", + "clusterCodeVersion": "7.1.168.9494", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [ + { + "frontendPort": 80, + "backendPort": 80, + "probePort": 80, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 443, + "backendPort": 443, + "probePort": 443, + "protocol": "http", + "probeProtocol": "http" + }, + { + "frontendPort": 10000, + "backendPort": 10000, + "probePort": 10000, + "protocol": "tcp", + "probeProtocol": "tcp", + "loadDistribution": "Default" + } + ], + "allowRdpAccess": true, + "networkSecurityRules": [ + { + "name": "TestName", + "protocol": "tcp", + "access": "allow", + "priority": 1010, + "direction": "inbound", + "sourcePortRanges": [ + "*" + ], + "destinationPortRanges": [ + "*" + ], + "sourceAddressPrefixes": [ + "*" + ], + "destinationAddressPrefixes": [ + "*" + ], + "description": "Test description" + }, + { + "name": "AllowARM", + "protocol": "*", + "sourcePortRange": "*", + "sourceAddressPrefix": "AzureResourceManager", + "destinationAddressPrefix": "*", + "destinationPortRange": "33500-33699", + "access": "allow", + "priority": 2002, + "direction": "inbound" + } + ], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ], + "addonFeatures": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ], + "enableAutoOSUpgrade": true, + "applicationTypeVersionsCleanupPolicy": { + "maxUnusedVersionsToKeep": 3 + }, + "zonalResiliency": true, + "enableIpv6": true, + "enableServicePublicIP": true, + "ipv6Address": "0000:0000:0000:0000:0000:0000:0000:0000", + "ipTags": [ + { + "ipTagType": "FirstPartyUsage", + "tag": "SQL" + } + ], + "auxiliarySubnets": [ + { + "name": "testSubnet1", + "enableIpv6": true, + "privateEndpointNetworkPolicies": "enabled", + "privateLinkServiceNetworkPolicies": "enabled", + "networkSecurityGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/networkSecurityGroups/sn1" + } + ], + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "locations": [ + "eastus2", + "usnorth" + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_min.json new file mode 100644 index 000000000000..228cd7029e14 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterPutOperation_example_min.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "properties": { + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "dnsName": "myCluster", + "adminUserName": "vmadmin", + "adminPassword": "{vm-password}", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Updating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters", + "location": "eastus", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster", + "name": "myCluster", + "tags": {}, + "etag": "W/\"636462502169240745\"", + "sku": { + "name": "Basic" + }, + "properties": { + "provisioningState": "Creating", + "clusterId": "92584666-9889-4ae8-8d02-91902923d37f", + "clusterUpgradeMode": "Automatic", + "clusterUpgradeCadence": "Wave1", + "clusterState": "WaitingForNodes", + "dnsName": "myCluster", + "fqdn": "MyCluster.eastus.cloudapp.azure.com", + "clusterCertificateThumbprints": [ + "12599211F8F14C90AFA9532AD79A6F2CA1C00622" + ], + "clientConnectionPort": 19000, + "httpGatewayConnectionPort": 19080, + "loadBalancingRules": [], + "adminUserName": "vmadmin", + "fabricSettings": [ + { + "name": "ManagedIdentityTokenService", + "parameters": [ + { + "name": "IsEnabled", + "value": "true" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGetByEnvironment_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGetByEnvironment_example.json new file mode 100644 index 000000000000..3c08a209e11a --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGetByEnvironment_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "environment": "Windows", + "clusterVersion": "7.2.477.9590", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGet_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGet_example.json new file mode 100644 index 000000000000..081d144bdd99 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionGet_example.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "clusterVersion": "7.2.477.9590", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionListByEnvironment.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionListByEnvironment.json new file mode 100644 index 000000000000..63a7a88fb7f5 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionListByEnvironment.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "environment": "Windows", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.457.9590", + "name": "7.2.457.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.457.9590" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + ] + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionList_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionList_example.json new file mode 100644 index 000000000000..cc7206d4d62a --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ManagedClusterVersionList_example.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.457.9590", + "name": "7.2.457.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.457.9590" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/environments/Windows/managedClusterVersions/7.2.477.9590", + "name": "7.2.477.9590", + "type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions", + "properties": { + "supportExpiryUtc": "2021-11-30T00:00:00", + "osType": "Windows", + "clusterCodeVersion": "7.2.477.9590" + } + } + ] + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeDeleteOperation_example.json new file mode 100644 index 000000000000..8dbda0b32e51 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeDeleteOperation_example.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeGetOperation_example.json new file mode 100644 index 000000000000..faabcf17e3c4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeGetOperation_example.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "FE", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeListOperation_example.json new file mode 100644 index 000000000000..faab569c7fcb --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeListOperation_example.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/FE", + "name": "FE", + "tags": {}, + "sku": { + "name": "Standard_P0", + "tier": "Standard", + "capacity": 5 + }, + "properties": { + "isPrimary": true, + "dataDiskSizeGB": 100, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D2", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter", + "vmImageVersion": "latest", + "vmInstanceCount": 5, + "isStateless": false + } + }, + { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperationAutoScale_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperationAutoScale_example.json new file mode 100644 index 000000000000..baa8215b10ab --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperationAutoScale_example.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + }, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "sku": { + "name": "Standard_S0", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Succeeded", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperation_example.json new file mode 100644 index 000000000000..9ead96644b91 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePatchOperation_example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationAutoScale_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationAutoScale_example.json new file mode 100644 index 000000000000..af653e2487eb --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationAutoScale_example.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": -1, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + } + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S2", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "sku": { + "name": "Standard_S2", + "tier": "Standard", + "capacity": 10 + }, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + } + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationStateless_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationStateless_example.json new file mode 100644 index 000000000000..3ccf062c3485 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperationStateless_example.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "useTempDataDisk": true, + "multiplePlacementGroups": true, + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ] + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_max.json new file mode 100644 index 000000000000..309ad9c6deaa --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_max.json @@ -0,0 +1,273 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "Premium_LRS", + "dataDiskLetter": "S", + "placementProperties": { + "HasSSD": "true", + "NodeColor": "green", + "SomeProperty": "5" + }, + "capacities": { + "ClientConnections": "65536" + }, + "vmSize": "Standard_DS3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "enableEncryptionAtHost": true, + "isStateless": true, + "multiplePlacementGroups": true, + "vmSecrets": [ + { + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault" + }, + "vaultCertificates": [ + { + "certificateStore": "My", + "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c" + } + ] + } + ], + "vmExtensions": [ + { + "name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": { + "autoUpgradeMinorVersion": true, + "enableAutomaticUpgrade": true, + "forceUpdateTag": "v.1.0", + "publisher": "Microsoft.Azure.Geneva", + "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", + "settings": {} + } + } + ], + "vmManagedIdentity": { + "userAssignedIdentities": [ + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity", + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2" + ] + }, + "additionalDataDisks": [ + { + "lun": 1, + "diskType": "StandardSSD_LRS", + "diskSizeGB": 256, + "diskLetter": "F" + }, + { + "lun": 2, + "diskType": "Premium_LRS", + "diskSizeGB": 150, + "diskLetter": "G" + } + ], + "enableAcceleratedNetworking": true, + "frontendConfigurations": [ + { + "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool", + "loadBalancerInboundNatPoolId": " /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool" + } + ], + "useDefaultPublicLoadBalancer": true + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_min.json new file mode 100644 index 000000000000..39597ecc1884 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypePutOperation_example_min.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "properties": { + "isPrimary": false, + "dataDiskSizeGB": 200, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10 + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Updating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false + } + } + }, + "200": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE", + "name": "BE", + "tags": {}, + "properties": { + "provisioningState": "Creating", + "isPrimary": false, + "dataDiskSizeGB": 200, + "dataDiskType": "StandardSSD_LRS", + "placementProperties": {}, + "capacities": {}, + "vmSize": "Standard_D3", + "vmImagePublisher": "MicrosoftWindowsServer", + "vmImageOffer": "WindowsServer", + "vmImageSku": "2016-Datacenter-Server-Core", + "vmImageVersion": "latest", + "vmInstanceCount": 10, + "isStateless": false + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeSkusListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeSkusListOperation_example.json new file mode 100644 index 000000000000..292f2e1615eb --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/NodeTypeSkusListOperation_example.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S0", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 100, + "default": 1, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 3, + "maximum": 300, + "default": 3, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S2", + "tier": "Standard" + }, + "capacity": { + "minimum": 1, + "maximum": 1000, + "default": 1, + "scaleType": "Automatic" + } + }, + { + "resourceType": "Microsoft.ServiceFabric/managedClusters/nodeTypes", + "sku": { + "name": "Standard_S3", + "tier": "Standard" + }, + "capacity": { + "minimum": 3, + "maximum": 1000, + "default": 3, + "scaleType": "Automatic" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Operations_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Operations_example.json new file mode 100644 index 000000000000..a6bccd09df46 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/Operations_example.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ServiceFabric/managedClusters/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Read Cluster", + "description": "Read any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Create or Update Cluster", + "description": "Create or Update any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/managedClusters/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "managedClusters", + "operation": "Delete Cluster", + "description": "Delete any Cluster" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/read", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Read Node type", + "description": "Read any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/write", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Create or Update Node type", + "description": "Create or Update any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/delete", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete Node type", + "description": "Delete any Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/restart/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Restart nodes from Node type", + "description": "Restart nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/reimage/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Reimage nodes from Node type", + "description": "Reimage nodes from Node type" + } + }, + { + "name": "Microsoft.ServiceFabric/nodeTypes/deleteNode/action", + "display": { + "provider": "Microsoft ServiceFabric", + "resource": "nodeTypes", + "operation": "Delete nodes from Node type", + "description": "Delete nodes from Node type" + } + } + ] + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ReimageNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ReimageNodes_example.json new file mode 100644 index 000000000000..c5682b0ff891 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ReimageNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/RestartNodes_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/RestartNodes_example.json new file mode 100644 index 000000000000..c5682b0ff891 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/RestartNodes_example.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "nodeTypeName": "BE", + "api-version": "2022-01-01", + "parameters": { + "nodes": [ + "BE_0", + "BE_3" + ] + } + }, + "responses": { + "202": { + "headers": { + "Location": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01", + "Azure-AsyncOperation": "http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2022-01-01" + } + }, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceDeleteOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceDeleteOperation_example.json new file mode 100644 index 000000000000..1dec9334b07c --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceDeleteOperation_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2022-01-01" + }, + "responses": { + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/41fa5ef9-7f34-4c36-a730-93e0bb757d22?api-version=2022-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceGetOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceGetOperation_example.json new file mode 100644 index 000000000000..d36a063a303a --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceGetOperation_example.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low" + } + ], + "servicePlacementPolicies": [], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceListOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceListOperation_example.json new file mode 100644 index 000000000000..c7508e9f6e69 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServiceListOperation_example.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low" + } + ], + "instanceCount": 1, + "servicePackageActivationMode": "SharedProcess" + } + } + ], + "nextLink": "" + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePatchOperation_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePatchOperation_example.json new file mode 100644 index 000000000000..746679d17ec4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePatchOperation_example.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2022-01-01", + "parameters": { + "tags": { + "a": "b" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Succeeded", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_max.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_max.json new file mode 100644 index 000000000000..8fba8b74f7f4 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_max.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "tags": { + "a": "b" + }, + "properties": { + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Creating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/2e633105-aadc-4928-9164-d76b974170a3?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "tags": { + "a": "b" + }, + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "placementConstraints": "NodeType==frontend", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "serviceLoadMetrics": [ + { + "name": "metric1", + "weight": "Low", + "defaultLoad": 3 + } + ], + "correlationScheme": [ + { + "serviceName": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService1", + "scheme": "AlignedAffinity" + } + ], + "servicePlacementPolicies": [ + { + "type": "NonPartiallyPlaceService" + } + ], + "scalingPolicies": [ + { + "scalingMechanism": { + "kind": "ScalePartitionInstanceCount", + "maxInstanceCount": 9, + "minInstanceCount": 3, + "scaleIncrement": 2 + }, + "scalingTrigger": { + "kind": "AveragePartitionLoadTrigger", + "lowerLoadThreshold": 2.0, + "metricName": "metricName", + "scaleInterval": "00:01:00", + "upperLoadThreshold": 8.0 + } + } + ], + "defaultMoveCost": "Medium", + "instanceCount": 5, + "minInstanceCount": 3, + "minInstancePercentage": 30, + "servicePackageActivationMode": "SharedProcess" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_min.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_min.json new file mode 100644 index 000000000000..aa88c81ca28b --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/ServicePutOperation_example_min.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "resRg", + "clusterName": "myCluster", + "applicationName": "myApp", + "serviceName": "myService", + "api-version": "2022-01-01", + "parameters": { + "location": "eastus", + "properties": { + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Creating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + }, + "202": { + "headers": { + "Retry-After": "10", + "Location": "http://10.91.140.224/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/operationResults/5bc615c3-6c5b-4593-80e1-008f55376ec7?api-version=2022-01-01" + }, + "body": { + "type": "Microsoft.ServiceFabric/managedClusters/applications/services", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedclusters/myCluster/applications/myApp/services/myService", + "name": "myService", + "properties": { + "provisioningState": "Updating", + "serviceKind": "Stateless", + "serviceTypeName": "myServiceType", + "partitionDescription": { + "partitionScheme": "Singleton" + }, + "instanceCount": 1 + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesGet_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesGet_example.json new file mode 100644 index 000000000000..02275c66de38 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesGet_example.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01", + "vmSize": "Standard_B1ls1" + }, + "responses": { + "200": { + "body": { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ls1", + "name": "Standard_B1ls1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ls1" + } + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesList_example.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesList_example.json new file mode 100644 index 000000000000..7941fbad6d8d --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/examples/managedUnsupportedVMSizesList_example.json @@ -0,0 +1,175 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ls1", + "name": "Standard_B1ls1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ls1" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1s", + "name": "Standard_B1s", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1s" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B1ms", + "name": "Standard_B1ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B1ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B2s", + "name": "Standard_B2s", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B2s" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B2ms", + "name": "Standard_B2ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B2ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B4ms", + "name": "Standard_B4ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B4ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_B8ms", + "name": "Standard_B8ms", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_B8ms" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A1_v2", + "name": "Standard_A1_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A1_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A2_v2", + "name": "Standard_A2_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A2_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A4_v2", + "name": "Standard_A4_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A4_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A8_v2", + "name": "Standard_A8_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A8_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A2m_v2", + "name": "Standard_A2m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A2m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A4m_v2", + "name": "Standard_A4m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A4m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A8m_v2", + "name": "Standard_A8m_v2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A8m_v2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A0", + "name": "Basic_A0", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A0" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A1", + "name": "Basic_A1", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A1" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A2", + "name": "Basic_A2", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A2" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A3", + "name": "Basic_A3", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A3" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Basic_A4", + "name": "Basic_A4", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Basic_A4" + } + }, + { + "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedVMSizes/Standard_A0", + "name": "Standard_A0", + "type": "Microsoft.ServiceFabric/locations/managedVMSizes", + "properties": { + "size": "Standard_A0" + } + } + ] + } + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedapplication.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedapplication.json new file mode 100644 index 000000000000..1b631f9b10ed --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedapplication.json @@ -0,0 +1,2726 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2022-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}": { + "get": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Get", + "summary": "Gets a Service Fabric managed application type name resource.", + "description": "Get a Service Fabric application type name resource created or in the process of being created in the Service Fabric managed cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application type": { + "$ref": "./examples/ApplicationTypeNameGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application type name resource.", + "description": "Create or update a Service Fabric managed application type name resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type name resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application type": { + "$ref": "./examples/ApplicationTypeNamePutOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Update", + "summary": "Updates the tags of an application type resource of a given managed cluster.", + "description": "Updates the tags of an application type resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application type": { + "$ref": "./examples/ApplicationTypeNamePatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_Delete", + "summary": "Deletes a Service Fabric managed application type name resource.", + "description": "Delete a Service Fabric managed application type name resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application type": { + "$ref": "./examples/ApplicationTypeNameDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes": { + "get": { + "tags": [ + "ApplicationType" + ], + "operationId": "ApplicationTypes_List", + "summary": "Gets the list of application type name resources created in the specified Service Fabric managed cluster resource.", + "description": "Gets all application type name resources created or in the process of being created in the Service Fabric managed cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application type name resources": { + "$ref": "./examples/ApplicationTypeNameListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}": { + "get": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Get", + "summary": "Gets a Service Fabric managed application type version resource.", + "description": "Get a Service Fabric managed application type version resource created or in the process of being created in the Service Fabric managed application type name resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application type version": { + "$ref": "./examples/ApplicationTypeVersionGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application type version resource.", + "description": "Create or update a Service Fabric managed application type version resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type version resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application type version": { + "$ref": "./examples/ApplicationTypeVersionPutOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Update", + "summary": "Updates the tags of an application type version resource of a given managed cluster.", + "description": "Updates the tags of an application type version resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application type version resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application type version": { + "$ref": "./examples/ApplicationTypeVersionPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_Delete", + "summary": "Deletes a Service Fabric managed application type version resource.", + "description": "Delete a Service Fabric managed application type version resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/version" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application type version": { + "$ref": "./examples/ApplicationTypeVersionDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applicationTypes/{applicationTypeName}/versions": { + "get": { + "tags": [ + "ApplicationTypeVersion" + ], + "operationId": "ApplicationTypeVersions_ListByApplicationTypes", + "summary": "Gets the list of application type version resources created in the specified Service Fabric managed application type name resource.", + "description": "Gets all application type version resources created or in the process of being created in the Service Fabric managed application type name resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationTypeName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application type version resources": { + "$ref": "./examples/ApplicationTypeVersionListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationTypeVersionResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "summary": "Gets a Service Fabric managed application resource.", + "description": "Get a Service Fabric managed application resource created or in the process of being created in the Service Fabric cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get an application": { + "$ref": "./examples/ApplicationGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed application resource.", + "description": "Create or update a Service Fabric managed application resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put an application with minimum parameters": { + "$ref": "./examples/ApplicationPutOperation_example_min.json" + }, + "Put an application with maximum parameters": { + "$ref": "./examples/ApplicationPutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "summary": "Updates the tags of an application resource of a given managed cluster.", + "description": "Updates the tags of an application resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The application resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch an application": { + "$ref": "./examples/ApplicationPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "summary": "Deletes a Service Fabric managed application resource.", + "description": "Delete a Service Fabric managed application resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete an application": { + "$ref": "./examples/ApplicationDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "summary": "Gets the list of managed application resources created in the specified Service Fabric cluster resource.", + "description": "Gets all managed application resources created or in the process of being created in the Service Fabric cluster resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get a list of application resources": { + "$ref": "./examples/ApplicationListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ApplicationResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}/services/{serviceName}": { + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_Get", + "summary": "Gets a Service Fabric managed service resource.", + "description": "Get a Service Fabric service resource created or in the process of being created in the Service Fabric managed application resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a service": { + "$ref": "./examples/ServiceGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "Service" + ], + "operationId": "Services_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed service resource.", + "description": "Create or update a Service Fabric managed service resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The service resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceResource" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a service with minimum parameters": { + "$ref": "./examples/ServicePutOperation_example_min.json" + }, + "Put a service with maximum parameters": { + "$ref": "./examples/ServicePutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "summary": "Updates the tags of a service resource of a given managed cluster.", + "description": "Updates the tags of a service resource of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The service resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceUpdateParameters" + } + } + ], + "x-ms-examples": { + "Patch a service": { + "$ref": "./examples/ServicePatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResource" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "Service" + ], + "operationId": "Services_Delete", + "summary": "Deletes a Service Fabric managed service resource.", + "description": "Delete a Service Fabric managed service resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/serviceName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete a service": { + "$ref": "./examples/ServiceDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedclusters/{clusterName}/applications/{applicationName}/services": { + "get": { + "tags": [ + "Service" + ], + "operationId": "Services_ListByApplications", + "summary": "Gets the list of service resources created in the specified Service Fabric managed application resource.", + "description": "Gets all service resources created or in the process of being created in the Service Fabric managed application resource.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/applicationName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a list of service resources": { + "$ref": "./examples/ServiceListOperation_example.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ServiceResourceList" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "AddRemoveIncrementalNamedPartitionScalingMechanism": { + "type": "object", + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. Partition names are in the format '0','1'...'N-1'.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "type": "object", + "description": "AddRemoveIncrementalNamedPartitionScalingMechanism" + } + ], + "x-ms-discriminator-value": "AddRemoveIncrementalNamedPartition", + "required": [ + "minPartitionCount", + "maxPartitionCount", + "scaleIncrement" + ], + "properties": { + "minPartitionCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of named partitions of the service." + }, + "maxPartitionCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of named partitions of the service." + }, + "scaleIncrement": { + "type": "integer", + "format": "int32", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "ApplicationHealthPolicy": { + "type": "object", + "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n", + "required": [ + "considerWarningAsError", + "maxPercentUnhealthyDeployedApplications" + ], + "properties": { + "considerWarningAsError": { + "type": "boolean", + "description": "Indicates whether warnings are treated with the same severity as errors." + }, + "maxPercentUnhealthyDeployedApplications": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n" + }, + "defaultServiceTypeHealthPolicy": { + "$ref": "#/definitions/ServiceTypeHealthPolicy", + "description": "The health policy used by default to evaluate the health of a service type." + }, + "serviceTypeHealthPolicyMap": { + "$ref": "#/definitions/ServiceTypeHealthPolicyMap", + "description": "The map with service type health policy per service type name. The map is empty by default." + } + } + }, + "ApplicationParameterList": { + "type": "object", + "description": "List of application parameters with overridden values from their default values specified in the application manifest.", + "additionalProperties": { + "type": "string" + } + }, + "ApplicationResource": { + "type": "object", + "description": "The application resource.", + "properties": { + "identity": { + "$ref": "#/definitions/ManagedIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationResourceList": { + "type": "object", + "description": "The list of application resources.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationResourceProperties": { + "type": "object", + "description": "The application resource properties.", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "version": { + "$ref": "#/definitions/ApplicationTypeVersion" + }, + "parameters": { + "$ref": "#/definitions/ApplicationParameterList" + }, + "upgradePolicy": { + "$ref": "#/definitions/ApplicationUpgradePolicy" + }, + "managedIdentities": { + "description": "List of user assigned identities for the application, each mapped to a friendly name.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationUserAssignedIdentity" + } + } + } + }, + "ApplicationTypeResource": { + "type": "object", + "description": "The application type name resource", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationTypeResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationTypeResourceList": { + "type": "object", + "description": "The list of application type names.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application type list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationTypeResourceProperties": { + "type": "object", + "description": "The application type name properties", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + } + } + }, + "ApplicationTypeUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application type update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application type update request" + }, + "ApplicationTypeVersion": { + "type": "string", + "description": "The version of the application type as defined in the application manifest.\nThis name must be the full Arm Resource ID for the referenced application type version.\n" + }, + "ApplicationTypeVersionResource": { + "type": "object", + "description": "An application type version resource for the specified application type name resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ApplicationTypeVersionResourceList": { + "type": "object", + "description": "The list of application type version resources for the specified application type name resource.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationTypeVersionResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of application type version list results if there are any.", + "readOnly": true + } + } + }, + "ApplicationTypeVersionResourceProperties": { + "type": "object", + "description": "The properties of the application type version resource.", + "required": [ + "appPackageUrl" + ], + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "appPackageUrl": { + "type": "string", + "description": "The URL to the application package" + } + } + }, + "ApplicationTypeVersionUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application type version update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application type version update request" + }, + "ApplicationUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Application update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Application update request" + }, + "ApplicationUpgradePolicy": { + "type": "object", + "description": "Describes the policy for a monitored application upgrade.", + "properties": { + "applicationHealthPolicy": { + "$ref": "#/definitions/ApplicationHealthPolicy" + }, + "forceRestart": { + "$ref": "#/definitions/ForceRestart" + }, + "rollingUpgradeMonitoringPolicy": { + "$ref": "#/definitions/RollingUpgradeMonitoringPolicy" + }, + "instanceCloseDelayDuration": { + "type": "integer", + "format": "int64", + "description": "Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description." + }, + "upgradeMode": { + "$ref": "#/definitions/RollingUpgradeMode" + }, + "upgradeReplicaSetCheckTimeout": { + "type": "integer", + "format": "int64", + "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." + }, + "recreateApplication": { + "type": "boolean", + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed." + } + } + }, + "ApplicationUserAssignedIdentity": { + "type": "object", + "required": [ + "name", + "principalId" + ], + "properties": { + "name": { + "type": "string", + "description": "The friendly name of user assigned identity." + }, + "principalId": { + "type": "string", + "description": "The principal id of user assigned identity." + } + } + }, + "AveragePartitionLoadScalingTrigger": { + "type": "object", + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "type": "object", + "description": "AveragePartitionLoadScalingTrigger" + } + ], + "x-ms-discriminator-value": "AveragePartitionLoadTrigger", + "required": [ + "metricName", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleInterval" + ], + "properties": { + "metricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "scaleInterval": { + "type": "string", + "description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\"." + } + } + }, + "AverageServiceLoadScalingTrigger": { + "type": "object", + "description": "Represents a scaling policy related to an average load of a metric/resource of a service.", + "allOf": [ + { + "$ref": "#/definitions/ScalingTrigger" + }, + { + "type": "object", + "description": "AverageServiceLoadScalingTrigger" + } + ], + "x-ms-discriminator-value": "AverageServiceLoadTrigger", + "required": [ + "metricName", + "lowerLoadThreshold", + "upperLoadThreshold", + "scaleInterval", + "useOnlyPrimaryLoad" + ], + "properties": { + "metricName": { + "type": "string", + "description": "The name of the metric for which usage should be tracked." + }, + "lowerLoadThreshold": { + "type": "number", + "format": "double", + "description": "The lower limit of the load below which a scale in operation should be performed." + }, + "upperLoadThreshold": { + "type": "number", + "format": "double", + "description": "The upper limit of the load beyond which a scale out operation should be performed." + }, + "scaleInterval": { + "type": "string", + "description": "The period in seconds on which a decision is made whether to scale or not. This property should come in ISO 8601 format \"hh:mm:ss\"." + }, + "useOnlyPrimaryLoad": { + "type": "boolean", + "description": "Flag determines whether only the load of primary replica should be considered for scaling. If set to true, then trigger will only consider the load of primary replicas of stateful service. If set to false, trigger will consider load of all replicas. This parameter cannot be set to true for stateless service." + } + } + }, + "CorrelationSchemeList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceCorrelation" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "ForceRestart": { + "type": "boolean", + "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).", + "default": false + }, + "HealthCheckRetryTimeout": { + "type": "string", + "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "HealthCheckStableDuration": { + "type": "string", + "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "HealthCheckWaitDuration": { + "type": "string", + "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "ManagedIdentity": { + "type": "object", + "description": "Describes the managed identities for an Azure resource.", + "properties": { + "principalId": { + "type": "string", + "readOnly": true, + "description": "The principal id of the managed identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "The tenant id of the managed identity. This property will only be provided for a system assigned identity." + }, + "type": { + "$ref": "#/definitions/ManagedIdentityType" + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedIdentityMap" + } + } + }, + "ManagedIdentityType": { + "type": "string", + "description": "The type of managed identity for the resource.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": false, + "values": [ + { + "value": "None", + "description": "Indicates that no identity is associated with the resource." + }, + { + "value": "SystemAssigned", + "description": "Indicates that system assigned identity is associated with the resource." + }, + { + "value": "UserAssigned", + "description": "Indicates that user assigned identity is associated with the resource." + }, + { + "value": "SystemAssigned, UserAssigned", + "description": "Indicates that both system assigned and user assigned identity are associated with the resource." + } + ] + } + }, + "MoveCost": { + "type": "string", + "description": "Specifies the move cost for the service.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "MoveCost", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Zero move cost. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the move cost of the service as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the move cost of the service as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the move cost of the service as High. The value is 3." + } + ] + } + }, + "NamedPartitionScheme": { + "type": "object", + "description": "Describes the named partition scheme of the service.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "NamedPartitionScheme" + } + ], + "x-ms-discriminator-value": "Named", + "required": [ + "names" + ], + "properties": { + "names": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array for the names of the partitions." + } + } + }, + "Partition": { + "type": "object", + "discriminator": "partitionScheme", + "description": "Describes how the service is partitioned.", + "required": [ + "partitionScheme" + ], + "properties": { + "partitionScheme": { + "$ref": "#/definitions/PartitionScheme", + "description": "Specifies how the service is partitioned." + } + } + }, + "PartitionInstanceCountScaleMechanism": { + "type": "object", + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition.", + "allOf": [ + { + "$ref": "#/definitions/ScalingMechanism" + }, + { + "type": "object", + "description": "PartitionInstanceCountScaleMechanism" + } + ], + "x-ms-discriminator-value": "ScalePartitionInstanceCount", + "required": [ + "minInstanceCount", + "maxInstanceCount", + "scaleIncrement" + ], + "properties": { + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "Minimum number of instances of the partition." + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "Maximum number of instances of the partition." + }, + "scaleIncrement": { + "type": "integer", + "format": "int32", + "description": "The number of instances to add or remove during a scaling operation." + } + } + }, + "PartitionScheme": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "Singleton", + "UniformInt64Range", + "Named" + ], + "x-ms-enum": { + "name": "PartitionScheme", + "modelAsString": true, + "values": [ + { + "value": "Singleton", + "description": "Indicates that the partition is based on string names, and is a SingletonPartitionScheme object, The value is 0." + }, + { + "value": "UniformInt64Range", + "description": "Indicates that the partition is based on Int64 key ranges, and is a UniformInt64RangePartitionScheme object. The value is 1." + }, + { + "value": "Named", + "description": "Indicates that the partition is based on string names, and is a NamedPartitionScheme object. The value is 2." + } + ] + } + }, + "ProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Resource location depends on the parent resource.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Azure resource tags.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition for proxy-only resource.", + "x-ms-azure-resource": true + }, + "RollingUpgradeMode": { + "type": "string", + "description": "The mode used to monitor health during a rolling upgrade. The values are Monitored, and UnmonitoredAuto.", + "enum": [ + "Monitored", + "UnmonitoredAuto" + ], + "x-ms-enum": { + "name": "RollingUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Monitored", + "description": "The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 0." + }, + { + "value": "UnmonitoredAuto", + "description": "The upgrade will proceed automatically without performing any health monitoring. The value is 1." + } + ] + } + }, + "RollingUpgradeMonitoringPolicy": { + "type": "object", + "description": "The policy used for monitoring the application upgrade", + "required": [ + "failureAction", + "healthCheckWaitDuration", + "healthCheckStableDuration", + "healthCheckRetryTimeout", + "upgradeTimeout", + "upgradeDomainTimeout" + ], + "properties": { + "failureAction": { + "type": "string", + "description": "The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations. Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically. Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode.", + "enum": [ + "Rollback", + "Manual" + ], + "x-ms-enum": { + "name": "FailureAction", + "modelAsString": true, + "values": [ + { + "value": "Rollback", + "description": "Indicates that a rollback of the upgrade will be performed by Service Fabric if the upgrade fails." + }, + { + "value": "Manual", + "description": "Indicates that a manual repair will need to be performed by the administrator if the upgrade fails. Service Fabric will not proceed to the next upgrade domain automatically." + } + ] + } + }, + "healthCheckWaitDuration": { + "$ref": "#/definitions/HealthCheckWaitDuration" + }, + "healthCheckStableDuration": { + "$ref": "#/definitions/HealthCheckStableDuration" + }, + "healthCheckRetryTimeout": { + "$ref": "#/definitions/HealthCheckRetryTimeout" + }, + "upgradeTimeout": { + "$ref": "#/definitions/UpgradeTimeout" + }, + "upgradeDomainTimeout": { + "$ref": "#/definitions/UpgradeDomainTimeout" + } + } + }, + "ScalingMechanism": { + "type": "object", + "discriminator": "kind", + "description": "Describes the mechanism for performing a scaling operation.", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/ServiceScalingMechanismKind", + "description": "Specifies the mechanism associated with this scaling policy." + } + } + }, + "ScalingPolicy": { + "type": "object", + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "scalingMechanism", + "scalingTrigger" + ], + "properties": { + "scalingMechanism": { + "$ref": "#/definitions/ScalingMechanism", + "description": "Specifies the mechanism associated with this scaling policy" + }, + "scalingTrigger": { + "$ref": "#/definitions/ScalingTrigger", + "description": "Specifies the trigger associated with this scaling policy." + } + } + }, + "ScalingPolicyList": { + "type": "array", + "items": { + "$ref": "#/definitions/ScalingPolicy" + }, + "description": "Scaling policies for this service." + }, + "ScalingTrigger": { + "type": "object", + "discriminator": "kind", + "description": "Describes the trigger for performing a scaling operation.", + "required": [ + "kind" + ], + "properties": { + "kind": { + "$ref": "#/definitions/ServiceScalingTriggerKind", + "description": "Specifies the trigger associated with this scaling policy." + } + } + }, + "ServiceCorrelation": { + "type": "object", + "description": "Creates a particular correlation between services.", + "required": [ + "scheme", + "serviceName" + ], + "properties": { + "scheme": { + "$ref": "#/definitions/ServiceCorrelationScheme", + "description": "The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName." + }, + "serviceName": { + "$ref": "#/definitions/ServiceName", + "description": "The Arm Resource ID of the service that the correlation relationship is established with." + } + } + }, + "ServiceCorrelationScheme": { + "type": "string", + "description": "The service correlation scheme.", + "enum": [ + "AlignedAffinity", + "NonAlignedAffinity" + ], + "x-ms-enum": { + "name": "ServiceCorrelationScheme", + "modelAsString": true, + "values": [ + { + "value": "AlignedAffinity", + "description": "Aligned affinity ensures that the primaries of the partitions of the affinitized services are collocated on the same nodes. This is the default and is the same as selecting the Affinity scheme. The value is 0." + }, + { + "value": "NonAlignedAffinity", + "description": "Non-Aligned affinity guarantees that all replicas of each service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas of particular role will be collocated. The value is 1." + } + ] + } + }, + "ServiceKind": { + "type": "string", + "description": "The kind of service (Stateless or Stateful).", + "enum": [ + "Stateless", + "Stateful" + ], + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true, + "values": [ + { + "value": "Stateless", + "description": "Does not use Service Fabric to make its state highly available or reliable. The value is 0." + }, + { + "value": "Stateful", + "description": "Uses Service Fabric to make its state or part of its state highly available and reliable. The value is 1." + } + ] + } + }, + "ServiceLoadMetric": { + "type": "object", + "description": "Specifies a metric to load balance a service during runtime.", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive." + }, + "weight": { + "$ref": "#/definitions/ServiceLoadMetricWeight", + "description": "The service load metric relative weight, compared to other metrics configured for this service, as a number." + }, + "primaryDefaultLoad": { + "type": "integer", + "format": "int32", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica." + }, + "secondaryDefaultLoad": { + "type": "integer", + "format": "int32", + "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica." + }, + "defaultLoad": { + "type": "integer", + "format": "int32", + "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." + } + } + }, + "ServiceLoadMetricsList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceLoadMetric" + }, + "description": "The service load metrics is given as an array of ServiceLoadMetric objects." + }, + "ServiceLoadMetricWeight": { + "type": "string", + "description": "Determines the metric weight relative to the other metrics that are configured for this service. During runtime, if two metrics end up in conflict, the Cluster Resource Manager prefers the metric with the higher weight.", + "enum": [ + "Zero", + "Low", + "Medium", + "High" + ], + "x-ms-enum": { + "name": "ServiceLoadMetricWeight", + "modelAsString": true, + "values": [ + { + "value": "Zero", + "description": "Disables resource balancing for this metric. This value is zero." + }, + { + "value": "Low", + "description": "Specifies the metric weight of the service load as Low. The value is 1." + }, + { + "value": "Medium", + "description": "Specifies the metric weight of the service load as Medium. The value is 2." + }, + { + "value": "High", + "description": "Specifies the metric weight of the service load as High. The value is 3." + } + ] + } + }, + "ServiceName": { + "type": "string", + "description": "The full ARM Resource ID describing the service resource", + "x-sf-clientlib": { + "typeName": "ServiceName" + } + }, + "ServicePlacementInvalidDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where a particular fault or upgrade domain should not be used for placement of the instances or replicas of that service.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementInvalidDomainPolicy" + } + ], + "x-ms-discriminator-value": "InvalidDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should not be used for placement." + } + } + }, + "ServicePlacementNonPartiallyPlaceServicePolicy": { + "type": "object", + "description": "The name of the domain that should used for placement as per this policy.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementNonPartiallyPlaceServicePolicy" + } + ], + "x-ms-discriminator-value": "NonPartiallyPlaceService" + }, + "ServicePlacementPoliciesList": { + "type": "array", + "items": { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + "description": "A list that describes the correlation of the service with other services." + }, + "ServicePlacementPolicy": { + "type": "object", + "discriminator": "type", + "description": "Describes the policy to be used for placement of a Service Fabric service.", + "required": [ + "type" + ], + "properties": { + "type": { + "$ref": "#/definitions/ServicePlacementPolicyType" + } + } + }, + "ServicePlacementPolicyType": { + "type": "string", + "description": "The type of placement policy for a service fabric service. Following are the possible values.", + "enum": [ + "InvalidDomain", + "RequiredDomain", + "PreferredPrimaryDomain", + "RequiredDomainDistribution", + "NonPartiallyPlaceService" + ], + "x-ms-enum": { + "name": "ServicePlacementPolicyType", + "modelAsString": true, + "values": [ + { + "value": "InvalidDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade domain cannot be used for placement of this service. The value is 0." + }, + { + "value": "RequiredDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service must be placed in a specific domain. The value is 1." + }, + { + "value": "PreferredPrimaryDomain", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the Primary replica for the partitions of the service should be located in a particular domain as an optimization. The value is 2." + }, + { + "value": "RequiredDomainDistribution", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, indicating that the system will disallow placement of any two replicas from the same partition in the same domain at any time. The value is 3." + }, + { + "value": "NonPartiallyPlaceService", + "description": "Indicates that the ServicePlacementPolicyDescription is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible all replicas of a particular partition of the service should be placed atomically. The value is 4." + } + ] + } + }, + "ServicePlacementPreferPrimaryDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where the service's \nPrimary replicas should optimally be placed in a particular domain.\n\nThis placement policy is usually used with fault domains in scenarios where the Service Fabric\ncluster is geographically distributed in order to indicate that a service's primary replica should\nbe located in a particular fault domain, which in geo-distributed scenarios usually aligns with regional\nor datacenter boundaries. Note that since this is an optimization it is possible that the Primary replica\nmay not end up located in this domain due to failures, capacity limits, or other constraints.\n", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementPreferPrimaryDomainPolicy" + } + ], + "x-ms-discriminator-value": "PreferredPrimaryDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequiredDomainPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where the instances or replicas of that service must be placed in a particular domain.", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementRequiredDomainPolicy" + } + ], + "x-ms-discriminator-value": "RequiredDomain", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServicePlacementRequireDomainDistributionPolicy": { + "type": "object", + "description": "Describes the policy to be used for placement of a Service Fabric service where two replicas\nfrom the same partition should never be placed in the same fault or upgrade domain.\n\nWhile this is not common it can expose the service to an increased risk of concurrent failures\ndue to unplanned outages or other cases of subsequent/concurrent failures. As an example, consider\na case where replicas are deployed across different data center, with one replica per location.\nIn the event that one of the datacenters goes offline, normally the replica that was placed in that\ndatacenter will be packed into one of the remaining datacenters. If this is not desirable then this\npolicy should be set.\n", + "allOf": [ + { + "$ref": "#/definitions/ServicePlacementPolicy" + }, + { + "type": "object", + "description": "ServicePlacementRequireDomainDistributionPolicy" + } + ], + "x-ms-discriminator-value": "RequiredDomainDistribution", + "required": [ + "domainName" + ], + "properties": { + "domainName": { + "type": "string", + "description": "The name of the domain that should used for placement as per this policy." + } + } + }, + "ServiceResource": { + "type": "object", + "description": "The service resource.", + "properties": { + "properties": { + "$ref": "#/definitions/ServiceResourceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ] + }, + "ServiceResourceList": { + "type": "object", + "description": "The list of service resources.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceResource" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of service list results if there are any.", + "readOnly": true + } + } + }, + "ServiceResourceProperties": { + "type": "object", + "description": "The service resource properties.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourcePropertiesBase" + } + ], + "required": [ + "serviceKind", + "serviceTypeName", + "partitionDescription" + ], + "discriminator": "serviceKind", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response" + }, + "serviceKind": { + "$ref": "#/definitions/ServiceKind" + }, + "serviceTypeName": { + "type": "string", + "description": "The name of the service type" + }, + "partitionDescription": { + "$ref": "#/definitions/Partition" + }, + "servicePackageActivationMode": { + "type": "string", + "description": "The activation Mode of the service package", + "enum": [ + "SharedProcess", + "ExclusiveProcess" + ], + "x-ms-enum": { + "name": "ServicePackageActivationMode", + "modelAsString": true, + "values": [ + { + "value": "SharedProcess", + "description": "Indicates the application package activation mode will use shared process." + }, + { + "value": "ExclusiveProcess", + "description": "Indicates the application package activation mode will use exclusive process." + } + ] + } + } + } + }, + "ServiceResourcePropertiesBase": { + "type": "object", + "description": "The common service resource properties.", + "properties": { + "placementConstraints": { + "type": "string", + "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"." + }, + "correlationScheme": { + "$ref": "#/definitions/CorrelationSchemeList" + }, + "serviceLoadMetrics": { + "$ref": "#/definitions/ServiceLoadMetricsList" + }, + "servicePlacementPolicies": { + "$ref": "#/definitions/ServicePlacementPoliciesList" + }, + "defaultMoveCost": { + "$ref": "#/definitions/MoveCost" + }, + "scalingPolicies": { + "$ref": "#/definitions/ScalingPolicyList" + } + } + }, + "ServiceScalingMechanismKind": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "ScalePartitionInstanceCount", + "AddRemoveIncrementalNamedPartition" + ], + "x-ms-enum": { + "name": "ServiceScalingMechanismKind", + "modelAsString": true, + "values": [ + { + "value": "ScalePartitionInstanceCount", + "description": "Represents a scaling mechanism for adding or removing instances of stateless service partition. The value is 0." + }, + { + "value": "AddRemoveIncrementalNamedPartition", + "description": "Represents a scaling mechanism for adding or removing named partitions of a stateless service. The value is 1." + } + ] + } + }, + "ServiceScalingTriggerKind": { + "type": "string", + "description": "Enumerates the ways that a service can be partitioned.", + "enum": [ + "AveragePartitionLoadTrigger", + "AverageServiceLoadTrigger" + ], + "x-ms-enum": { + "name": "ServiceScalingTriggerKind", + "modelAsString": true, + "values": [ + { + "value": "AveragePartitionLoadTrigger", + "description": "Represents a scaling trigger related to an average load of a metric/resource of a partition. The value is 0." + }, + { + "value": "AverageServiceLoadTrigger", + "description": "Represents a scaling policy related to an average load of a metric/resource of a service. The value is 1." + } + ] + } + }, + "ServiceTypeHealthPolicy": { + "type": "object", + "description": "Represents the health policy used to evaluate the health of services belonging to a service type.\n", + "required": [ + "maxPercentUnhealthyServices", + "maxPercentUnhealthyPartitionsPerService", + "maxPercentUnhealthyReplicasPerPartition" + ], + "properties": { + "maxPercentUnhealthyServices": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy services.\n\nThe percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.\nIf the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy services of the specific service type over the total number of services of the specific service type.\nThe computation rounds up to tolerate one failure on small numbers of services.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentUnhealthyPartitionsPerService": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy partitions per service.\n\nThe percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.\nIf the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.\nThe computation rounds up to tolerate one failure on small numbers of partitions.\n", + "minimum": 0, + "maximum": 100 + }, + "maxPercentUnhealthyReplicasPerPartition": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed percentage of unhealthy replicas per partition.\n\nThe percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.\nIf the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.\nThe computation rounds up to tolerate one failure on small numbers of replicas.\n", + "minimum": 0, + "maximum": 100 + } + } + }, + "ServiceTypeHealthPolicyMap": { + "type": "object", + "description": "Defines a ServiceTypeHealthPolicy per service type name.\n\nThe entries in the map replace the default service type health policy for each specified service type.\nFor example, in an application that contains both a stateless gateway service type and a stateful engine service type, the health policies for the stateless and stateful services can be configured differently.\nWith policy per service type, there's more granular control of the health of the service.\n\nIf no policy is specified for a service type name, the DefaultServiceTypeHealthPolicy is used for evaluation.\n", + "additionalProperties": { + "$ref": "#/definitions/ServiceTypeHealthPolicy" + } + }, + "ServiceUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Service update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Service update request" + }, + "SingletonPartitionScheme": { + "type": "object", + "description": "Describes the partition scheme of a singleton-partitioned, or non-partitioned service.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "SingletonPartitionScheme" + } + ], + "x-ms-discriminator-value": "Singleton" + }, + "StatefulServiceProperties": { + "type": "object", + "description": "The properties of a stateful service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "x-ms-discriminator-value": "Stateful", + "properties": { + "hasPersistedState": { + "type": "boolean", + "description": "A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false." + }, + "targetReplicaSetSize": { + "type": "integer", + "format": "int32", + "minimum": 1, + "description": "The target replica set size as a number." + }, + "minReplicaSetSize": { + "type": "integer", + "format": "int32", + "minimum": 1, + "description": "The minimum replica set size as a number." + }, + "replicaRestartWaitDuration": { + "type": "string", + "description": "The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "quorumLossWaitDuration": { + "type": "string", + "description": "The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "standByReplicaKeepDuration": { + "type": "string", + "description": "The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format \"hh:mm:ss\"." + }, + "servicePlacementTimeLimit": { + "type": "string", + "description": "The duration for which replicas can stay InBuild before reporting that build is stuck, represented in ISO 8601 format \"hh:mm:ss\"." + } + } + }, + "StatelessServiceProperties": { + "type": "object", + "description": "The properties of a stateless service resource.", + "allOf": [ + { + "$ref": "#/definitions/ServiceResourceProperties" + } + ], + "x-ms-discriminator-value": "Stateless", + "required": [ + "instanceCount" + ], + "properties": { + "instanceCount": { + "type": "integer", + "format": "int32", + "minimum": -1, + "description": "The instance count." + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "MinInstanceCount is the minimum number of instances that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstanceCount computation -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + }, + "minInstancePercentage": { + "type": "integer", + "format": "int32", + "description": "MinInstancePercentage is the minimum percentage of InstanceCount that must be up to meet the EnsureAvailability safety check during operations like upgrade or deactivate node. The actual number that is used is max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ). Note, if InstanceCount is set to -1, during MinInstancePercentage computation, -1 is first converted into the number of nodes on which the instances are allowed to be placed according to the placement constraints on the service." + } + } + }, + "UniformInt64RangePartitionScheme": { + "type": "object", + "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", + "allOf": [ + { + "$ref": "#/definitions/Partition" + }, + { + "type": "object", + "description": "UniformInt64RangePartitionScheme" + } + ], + "x-ms-discriminator-value": "UniformInt64Range", + "required": [ + "count", + "lowKey", + "highKey" + ], + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "The number of partitions." + }, + "lowKey": { + "type": "integer", + "format": "int64", + "description": "The lower bound of the partition key range that\nshould be split between the partition ‘Count’\n" + }, + "highKey": { + "type": "integer", + "format": "int64", + "description": "The upper bound of the partition key range that\nshould be split between the partition ‘Count’\n" + } + } + }, + "UpgradeDomainTimeout": { + "type": "string", + "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "UpgradeTimeout": { + "type": "string", + "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. Cannot be larger than 12 hours. It is interpreted as a string representing an ISO 8601 duration with following format \"hh:mm:ss.fff\"." + }, + "UserAssignedIdentity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "readOnly": true, + "description": "The principal id of user assigned identity." + }, + "clientId": { + "type": "string", + "readOnly": true, + "description": "The client id of user assigned identity." + } + } + }, + "UserAssignedIdentityMap": { + "type": "object", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + }, + "AvailableOperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The name of the provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed" + }, + "operation": { + "type": "string", + "description": "The operation that can be performed." + }, + "description": { + "type": "string", + "description": "Operation description" + } + }, + "description": "Operation supported by the Service Fabric resource provider" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "OperationResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation is a data action" + }, + "display": { + "$ref": "#/definitions/AvailableOperationDisplay", + "description": "The object that represents the operation." + }, + "origin": { + "type": "string", + "description": "Origin result" + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Available operation list result" + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2022-01-01\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "applicationName": { + "name": "applicationName", + "in": "path", + "description": "The name of the application resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "applicationTypeName": { + "name": "applicationTypeName", + "in": "path", + "description": "The name of the application type name resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "serviceName": { + "name": "serviceName", + "in": "path", + "description": "The name of the service resource in the format of {applicationName}~{serviceName}.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "version": { + "name": "version", + "in": "path", + "description": "The application type version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedcluster.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedcluster.json new file mode 100644 index 000000000000..bd94d733e704 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/managedcluster.json @@ -0,0 +1,1854 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2022-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListByResourceGroup", + "summary": "Gets the list of Service Fabric cluster resources created in the specified resource group.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List cluster by resource group": { + "$ref": "./examples/ManagedClusterListByResourceGroupOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/managedClusters": { + "get": { + "operationId": "ManagedClusters_ListBySubscription", + "summary": "Gets the list of Service Fabric cluster resources created in the specified subscription.", + "description": "Gets all Service Fabric cluster resources created or in the process of being created in the subscription.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "tags": [ + "ManagedCluster" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed clusters": { + "$ref": "./examples/ManagedClusterListBySubscriptionOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}": { + "get": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a Service Fabric managed cluster resource.", + "description": "Get a Service Fabric managed cluster resource created or in the process of being created in the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Get a cluster": { + "$ref": "./examples/ManagedClusterGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric managed cluster resource.", + "description": "Create or update a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The cluster resource.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a cluster with minimum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_min.json" + }, + "Put a cluster with maximum parameters": { + "$ref": "./examples/ManagedClusterPutOperation_example_max.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Update", + "summary": "Updates the tags of of a Service Fabric managed cluster resource.", + "description": "Update the tags of of a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "parameters", + "in": "body", + "description": "The managed cluster resource updated tags.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedClusterUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Patch a managed cluster": { + "$ref": "./examples/ManagedClusterPatchOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "ManagedCluster" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a Service Fabric managed cluster resource.", + "description": "Delete a Service Fabric managed cluster resource with the specified name.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "Delete a cluster": { + "$ref": "./examples/ManagedClusterDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterVersions/{clusterVersion}": { + "get": { + "operationId": "ManagedClusterVersion_Get", + "summary": "Gets information about a Service Fabric managed cluster code version available in the specified location.", + "description": "Gets information about an available Service Fabric managed cluster code version.", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterVersion" + } + ], + "x-ms-examples": { + "Get cluster version": { + "$ref": "./examples/ManagedClusterVersionGet_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/managedClusterVersions/{clusterVersion}": { + "get": { + "operationId": "ManagedClusterVersion_GetByEnvironment", + "summary": "Gets information about a Service Fabric cluster code version available for the specified environment.", + "description": "Gets information about an available Service Fabric cluster code version by environment.", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/environment" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterVersion" + } + ], + "x-ms-examples": { + "Get cluster version by environment": { + "$ref": "./examples/ManagedClusterVersionGetByEnvironment_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterVersions": { + "get": { + "operationId": "ManagedClusterVersion_List", + "summary": "Gets the list of Service Fabric cluster code versions available for the specified location.", + "description": "Gets all available code versions for Service Fabric cluster resources by location.", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List cluster versions": { + "$ref": "./examples/ManagedClusterVersionList_example.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/managedClusterVersions": { + "get": { + "operationId": "ManagedClusterVersion_ListByEnvironment", + "summary": "Gets the list of Service Fabric cluster code versions available for the specified environment.", + "description": "Gets all available code versions for Service Fabric cluster resources by environment.", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/environment" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List cluster versions by environment": { + "$ref": "./examples/ManagedClusterVersionListByEnvironment.json" + } + }, + "tags": [ + "ManagedClusterVersion" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedClusterCodeVersionListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedUnsupportedVMSizes": { + "get": { + "tags": [ + "managedVMSizes" + ], + "summary": "Get the lists of unsupported vm sizes for Service Fabric Managed Clusters.", + "description": "Get the lists of unsupported vm sizes for Service Fabric Managed Clusters.", + "operationId": "managedUnsupportedVMSizes_List", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + } + ], + "x-ms-examples": { + "List unsupported vm sizes": { + "$ref": "./examples/managedUnsupportedVMSizesList_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedVMSizesResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedUnsupportedVMSizes/{vmSize}": { + "get": { + "tags": [ + "managedVMSizes" + ], + "summary": "Get unsupported vm size for Service Fabric Managed Clusters.", + "description": "Get unsupported vm size for Service Fabric Managed Clusters.", + "operationId": "managedUnsupportedVMSizes_Get", + "parameters": [ + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/vmSize" + } + ], + "x-ms-examples": { + "Get unsupported vm sizes": { + "$ref": "./examples/managedUnsupportedVMSizesGet_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/ManagedVMSize" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterOperations/{operationId}": { + "get": { + "tags": [ + "LongRunningOperations" + ], + "summary": "Get long running operation status.", + "description": "Get long running operation status.", + "operationId": "OperationStatus_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/operationId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get failed operation status": { + "$ref": "./examples/Long_running_operation_status_failed.json" + }, + "Get succeeded operation result": { + "$ref": "./examples/Long_running_operation_status_succeeded.json" + } + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/LongRunningOperationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/managedClusterOperationResults/{operationId}": { + "get": { + "tags": [ + "LongRunningOperations" + ], + "summary": "Get long running operation result.", + "description": "Get long running operation result.", + "operationId": "OperationResults_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationForClusterCodeVersions" + }, + { + "$ref": "#/parameters/operationId" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get operation result": { + "$ref": "./examples/Long_running_operation_result.json" + } + }, + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request is still running." + }, + "204": { + "description": "No Content. For Delete operation results." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/providers/Microsoft.ServiceFabric/operations": { + "get": { + "tags": [ + "Operations" + ], + "summary": "Lists all of the available Service Fabric resource provider API operations.", + "description": "Get the list of available Service Fabric resource provider API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API", + "required": true, + "type": "string" + } + ], + "x-ms-examples": { + "List available operations": { + "$ref": "./examples/Operations_example.json" + } + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ManagedClusterAddOnFeature": { + "type": "string", + "description": "Available cluster add-on features", + "enum": [ + "DnsService", + "BackupRestoreService", + "ResourceMonitorService" + ] + }, + "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", + "required": [ + "maxUnusedVersionsToKeep" + ], + "properties": { + "maxUnusedVersionsToKeep": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "Number of unused versions per application type to keep." + } + }, + "description": "The policy used to clean up unused versions. When the policy is not specified explicitly, the default unused application versions to keep will be 3." + }, + "AzureActiveDirectory": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Azure active directory tenant id." + }, + "clusterApplication": { + "type": "string", + "description": "Azure active directory cluster application id." + }, + "clientApplication": { + "type": "string", + "description": "Azure active directory client application id." + } + }, + "description": "The settings to enable AAD authentication on the cluster." + }, + "ClientCertificate": { + "type": "object", + "required": [ + "isAdmin" + ], + "properties": { + "isAdmin": { + "type": "boolean", + "description": "Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "commonName": { + "type": "string", + "description": "Certificate common name." + }, + "issuerThumbprint": { + "type": "string", + "description": "Issuer thumbprint for the certificate. Only used together with CommonName." + } + }, + "description": "Client certificate definition." + }, + "ClusterState": { + "type": "string", + "description": "The current state of the cluster.\n", + "enum": [ + "WaitingForNodes", + "Deploying", + "BaselineUpgrade", + "Upgrading", + "UpgradeFailed", + "Ready" + ], + "x-ms-enum": { + "name": "ClusterState", + "modelAsString": true, + "values": [ + { + "value": "WaitingForNodes", + "description": "Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it." + }, + { + "value": "Deploying", + "description": "Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up." + }, + { + "value": "BaselineUpgrade", + "description": "Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time." + }, + { + "value": "Upgrading", + "description": "Indicates that the cluster is being upgraded with the user provided configuration." + }, + { + "value": "UpgradeFailed", + "description": "Indicates that the last upgrade for the cluster has failed." + }, + { + "value": "Ready", + "description": "Indicates that the cluster is in a stable state." + } + ] + } + }, + "ClusterUpgradeCadence": { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ], + "x-ms-enum": { + "name": "clusterUpgradeCadence", + "modelAsString": true, + "values": [ + { + "value": "Wave0", + "description": "Cluster upgrade starts immediately after a new version is rolled out. Recommended for Test/Dev clusters." + }, + { + "value": "Wave1", + "description": "Cluster upgrade starts 7 days after a new version is rolled out. Recommended for Pre-prod clusters." + }, + { + "value": "Wave2", + "description": "Cluster upgrade starts 14 days after a new version is rolled out. Recommended for Production clusters." + } + ] + }, + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0." + }, + "ClusterUpgradeMode": { + "type": "string", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n", + "enum": [ + "Automatic", + "Manual" + ], + "default": "Automatic", + "x-ms-enum": { + "name": "ClusterUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Automatic", + "description": "The cluster will be automatically upgraded to the latest Service Fabric runtime version, **clusterUpgradeCadence** will determine when the upgrade starts after the new version becomes available." + }, + { + "value": "Manual", + "description": "The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource." + } + ] + } + }, + "IPTag": { + "type": "object", + "required": [ + "ipTagType", + "tag" + ], + "properties": { + "ipTagType": { + "type": "string", + "description": "The IP tag type." + }, + "tag": { + "type": "string", + "description": "The value of the IP tag." + } + }, + "description": "IPTag associated with the object." + }, + "LoadBalancingRule": { + "type": "object", + "required": [ + "frontendPort", + "backendPort", + "protocol", + "probeProtocol" + ], + "properties": { + "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 1 and 65534.", + "minimum": 1, + "maximum": 65534 + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535.", + "minimum": 1, + "maximum": 65534 + }, + "protocol": { + "type": "string", + "description": "The reference to the transport protocol used by the load balancing rule.", + "enum": [ + "tcp", + "udp" + ], + "x-ms-enum": { + "name": "protocol", + "modelAsString": true + } + }, + "probePort": { + "type": "integer", + "format": "int32", + "description": "The prob port used by the load balancing rule. Acceptable values are between 1 and 65535.", + "minimum": 1, + "maximum": 65534 + }, + "probeProtocol": { + "type": "string", + "description": "the reference to the load balancer probe used by the load balancing rule.", + "enum": [ + "tcp", + "http", + "https" + ], + "x-ms-enum": { + "name": "probeProtocol", + "modelAsString": true + } + }, + "probeRequestPath": { + "type": "string", + "description": "The probe request path. Only supported for HTTP/HTTPS probes." + }, + "loadDistribution": { + "type": "string", + "description": "The load distribution policy for this rule." + } + }, + "description": "Describes a load balancing rule." + }, + "LongRunningOperationResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation.", + "format": "date-time" + }, + "endTime": { + "type": "string", + "description": "The end time of the operation.", + "format": "date-time" + }, + "percentComplete": { + "type": "number", + "format": "double", + "description": "The completion percentage of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + }, + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The operation error." + } + }, + "description": "Long running operation result." + }, + "ManagedCluster": { + "type": "object", + "description": "The manged cluster resource\n", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "type": "object" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterProperties", + "description": "The managed cluster resource properties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the managed cluster" + } + } + }, + "ManagedClusterCodeVersionListResult": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterCodeVersionResult" + }, + "description": "The list results of the Service Fabric runtime versions." + }, + "ManagedClusterCodeVersionResult": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The identification of the result" + }, + "name": { + "type": "string", + "description": "The name of the result" + }, + "type": { + "type": "string", + "description": "The result resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedClusterVersionDetails" + } + }, + "description": "The result of the Service Fabric runtime versions" + }, + "ManagedClusterListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Managed Cluster list results" + }, + "ManagedClusterProperties": { + "type": "object", + "required": [ + "dnsName", + "adminUserName" + ], + "properties": { + "dnsName": { + "type": "string", + "description": "The cluster dns name." + }, + "fqdn": { + "type": "string", + "description": "The fully qualified domain name associated with the public load balancer of the cluster.", + "readOnly": true + }, + "ipv4Address": { + "type": "string", + "description": "The IPv4 address associated with the public load balancer of the cluster.", + "readOnly": true + }, + "clusterId": { + "type": "string", + "description": "A service generated unique identifier for the cluster resource.", + "readOnly": true + }, + "clusterState": { + "readOnly": true, + "$ref": "#/definitions/ClusterState", + "description": "The current state of the cluster." + }, + "clusterCertificateThumbprints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of thumbprints of the cluster certificates.", + "readOnly": true + }, + "clientConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for client connections to the cluster.", + "default": 19000 + }, + "httpGatewayConnectionPort": { + "type": "integer", + "format": "int32", + "description": "The port used for HTTP connections to the cluster.", + "default": 19080 + }, + "adminUserName": { + "type": "string", + "description": "VM admin user name." + }, + "adminPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "VM admin user password." + }, + "loadBalancingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancingRule" + }, + "description": "Load balancing rules that are applied to the public load balancer of the cluster." + }, + "allowRdpAccess": { + "type": "boolean", + "description": "Setting this to true enables RDP access to the VM. The default NSG rule opens RDP port to Internet which can be overridden with custom Network Security Rules. The default value for this setting is false." + }, + "networkSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + }, + "description": "Custom Network Security Rules that are applied to the Virtual Network of the cluster." + }, + "clients": { + "type": "array", + "items": { + "$ref": "#/definitions/ClientCertificate" + }, + "description": "Client certificates that are allowed to manage the cluster." + }, + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The AAD authentication settings of the cluster." + }, + "fabricSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/SettingsSectionDescription" + }, + "description": "The list of custom fabric settings to configure the cluster." + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "readOnly": true, + "description": "The provisioning state of the managed cluster resource." + }, + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster. This property is required when **clusterUpgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**." + }, + "clusterUpgradeMode": { + "$ref": "#/definitions/ClusterUpgradeMode" + }, + "clusterUpgradeCadence": { + "$ref": "#/definitions/ClusterUpgradeCadence", + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **clusterUpgradeMode** is set to 'Automatic'." + }, + "addonFeatures": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAddOnFeature" + }, + "description": "List of add-on features to enable on the cluster." + }, + "enableAutoOSUpgrade": { + "type": "boolean", + "description": "Setting this to true enables automatic OS upgrade for the node types that are created using any platform OS image with version 'latest'. The default value for this setting is false." + }, + "zonalResiliency": { + "type": "boolean", + "description": "Indicates if the cluster has zone resiliency.", + "default": false + }, + "applicationTypeVersionsCleanupPolicy": { + "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy", + "description": "The policy used to clean up unused versions." + }, + "enableIpv6": { + "type": "boolean", + "description": "Setting this to true creates IPv6 address space for the default VNet used by the cluster. This setting cannot be changed once the cluster is created. The default value for this setting is false." + }, + "subnetId": { + "type": "string", + "description": "If specified, the node types for the cluster are created in this subnet instead of the default VNet. The **networkSecurityRules** specified for the cluster are also applied to this subnet. This setting cannot be changed once the cluster is created." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/IPTag" + }, + "description": "The list of IP tags associated with the default public IP address of the cluster." + }, + "ipv6Address": { + "type": "string", + "description": "IPv6 address for the cluster if IPv6 is enabled.", + "readOnly": true + }, + "enableServicePublicIP": { + "type": "boolean", + "description": "Setting this to true will link the IPv4 address as the ServicePublicIP of the IPv6 address. It can only be set to True if IPv6 is enabled on the cluster." + }, + "auxiliarySubnets": { + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + }, + "description": "Auxiliary subnets for the cluster." + }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpoint" + }, + "description": "Service endpoints for subnets in the cluster." + } + }, + "description": "Describes the managed cluster resource properties." + }, + "ManagedClusterUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Managed cluster update parameters", + "additionalProperties": { + "type": "string" + } + } + }, + "description": "Managed cluster update request" + }, + "ManagedClusterVersionDetails": { + "type": "object", + "properties": { + "clusterCodeVersion": { + "type": "string", + "description": "The Service Fabric runtime version of the cluster." + }, + "supportExpiryUtc": { + "type": "string", + "description": "The date of expiry of support of the version." + }, + "osType": { + "$ref": "#/definitions/OsType" + } + }, + "description": "The detail of the Service Fabric runtime version result" + }, + "ManagedVMSize": { + "type": "object", + "properties": { + "properties": { + "description": "VM Size properties.", + "$ref": "#/definitions/VMSize", + "readOnly": true + }, + "id": { + "type": "string", + "description": "VM Size id.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "VM Size name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "VM Size type.", + "readOnly": true + } + }, + "description": "Describes a VM Sizes." + }, + "ManagedVMSizesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of Managed VM Sizes for Service Fabric Managed Clusters.", + "items": { + "$ref": "#/definitions/ManagedVMSize" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of Managed VM Sizes if there are any.", + "readOnly": true + } + }, + "description": "Describes the result of the request to list Managed VM Sizes for Service Fabric Managed Clusters." + }, + "OsType": { + "type": "string", + "description": "Cluster operating system, the default will be Windows", + "enum": [ + "Windows" + ] + }, + "ServiceEndpoint": { + "type": "object", + "required": [ + "service" + ], + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + } + }, + "description": "The service endpoint properties." + }, + "Sku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "Sku Name." + } + }, + "description": "Service Fabric managed cluster Sku definition" + }, + "SkuName": { + "type": "string", + "description": "Sku Name.", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true, + "values": [ + { + "value": "Basic", + "description": "Basic requires a minimum of 3 nodes and allows only 1 node type." + }, + { + "value": "Standard", + "description": "Requires a minimum of 5 nodes and allows 1 or more node type." + } + ] + } + }, + "Subnet": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string", + "description": "Subnet name." + }, + "enableIpv6": { + "type": "boolean", + "description": "Indicates wether to enable Ipv6 or not. If not provided, it will take the same configuration as the cluster." + }, + "privateEndpointNetworkPolicies": { + "type": "string", + "description": "Enable or Disable apply network policies on private end point in the subnet.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "privateEndpointNetworkPolicies", + "modelAsString": true + } + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "description": "Enable or Disable apply network policies on private link service in the subnet.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "privateLinkServiceNetworkPolicies", + "modelAsString": true + } + }, + "networkSecurityGroupId": { + "type": "string", + "description": "Full resource id for the network security group." + } + }, + "description": "Describes a Subnet." + }, + "VMSize": { + "type": "object", + "properties": { + "size": { + "type": "string", + "description": "VM Size name.", + "readOnly": true + } + }, + "description": "VM Sizes properties." + }, + "AvailableOperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The name of the provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed" + }, + "operation": { + "type": "string", + "description": "The operation that can be performed." + }, + "description": { + "type": "string", + "description": "Operation description" + } + }, + "description": "Operation supported by the Service Fabric resource provider" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ], + "x-ms-enum": { + "name": "ManagedResourceProvisioningState", + "modelAsString": true + } + }, + "NetworkSecurityRule": { + "type": "object", + "required": [ + "name", + "protocol", + "access", + "priority", + "direction" + ], + "properties": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" + ], + "x-ms-enum": { + "name": "nsgProtocol", + "modelAsString": true + } + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges." + }, + "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." + }, + "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." + }, + "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": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "access": { + "type": "string", + "description": "The network traffic is allowed or denied.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "access", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.", + "minimum": 1000, + "maximum": 3000 + }, + "direction": { + "type": "string", + "description": "Network security rule direction.", + "enum": [ + "inbound", + "outbound" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + } + }, + "description": "Describes a network security rule." + }, + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List of operations supported by the Service Fabric resource provider.", + "items": { + "$ref": "#/definitions/OperationResult" + } + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "readOnly": true + } + }, + "description": "Describes the result of the request to list Service Fabric resource provider operations." + }, + "OperationResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation is a data action" + }, + "display": { + "$ref": "#/definitions/AvailableOperationDisplay", + "description": "The object that represents the operation." + }, + "origin": { + "type": "string", + "description": "Origin result" + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Available operation list result" + }, + "Resource": { + "type": "object", + "required": [ + "location" + ], + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "location": { + "type": "string", + "description": "Azure resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "description": "Azure resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "etag": { + "type": "string", + "description": "Azure resource etag.", + "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition.", + "x-ms-azure-resource": true + }, + "SettingsParameterDescription": { + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string", + "description": "The parameter name of fabric setting." + }, + "value": { + "type": "string", + "description": "The parameter value of fabric setting." + } + }, + "description": "Describes a parameter in fabric settings of the cluster." + }, + "SettingsSectionDescription": { + "type": "object", + "required": [ + "name", + "parameters" + ], + "properties": { + "name": { + "type": "string", + "description": "The section name of the fabric settings." + }, + "parameters": { + "type": "array", + "description": "The collection of parameters in the section.", + "items": { + "$ref": "#/definitions/SettingsParameterDescription" + } + } + }, + "description": "Describes a section in the fabric settings of the cluster." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2022-01-01\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "clusterVersion": { + "name": "clusterVersion", + "in": "path", + "description": "The cluster code version.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "environment": { + "name": "environment", + "in": "path", + "description": "The operating system of the cluster. The default means all.", + "required": true, + "type": "string", + "enum": [ + "Windows" + ], + "x-ms-enum": { + "name": "ManagedClusterVersionEnvironment", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "locationForClusterCodeVersions": { + "name": "location", + "in": "path", + "description": "The location for the cluster code versions. This is different from cluster location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationId": { + "name": "operationId", + "in": "path", + "description": "operation identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "vmSize": { + "name": "vmSize", + "in": "path", + "description": "VM Size name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/nodetype.json b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/nodetype.json new file mode 100644 index 000000000000..7133decc5248 --- /dev/null +++ b/specification/servicefabricmanagedclusters/resource-manager/Microsoft.ServiceFabric/stable/2022-01-01/nodetype.json @@ -0,0 +1,1483 @@ +{ + "swagger": "2.0", + "info": { + "title": "ServiceFabricManagementClient", + "description": "Azure Service Fabric Resource Provider API Client", + "version": "2022-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes": { + "get": { + "operationId": "NodeTypes_ListByManagedClusters", + "summary": "Gets the list of Node types of the specified managed cluster.", + "description": "Gets all Node types of the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "tags": [ + "NodeType" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List node type of the specified managed cluster": { + "$ref": "./examples/NodeTypeListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeTypeListResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/restart": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Restart", + "summary": "Restarts one or more nodes on the node type.", + "description": "Restarts one or more nodes on the node type. It will disable the fabric nodes, trigger a restart on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for restart action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Restart nodes": { + "$ref": "./examples/RestartNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/reimage": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Reimage", + "summary": "Reimages one or more nodes on the node type.", + "description": "Reimages one or more nodes on the node type. It will disable the fabric nodes, trigger a reimage on the VMs and activate the nodes back again.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for reimage action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Reimage nodes": { + "$ref": "./examples/ReimageNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/deleteNode": { + "post": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_DeleteNode", + "summary": "Deletes one or more nodes on the node type.", + "description": "Deletes one or more nodes on the node type. It will disable the fabric nodes, trigger a delete on the VMs and removes the state from the cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "parameters for delete action.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeActionParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Delete nodes": { + "$ref": "./examples/DeleteNodes_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}/skus": { + "get": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypeSkus_List", + "summary": "Gets a Service Fabric node type SKUs.", + "description": "Get a Service Fabric node type supported SKUs.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List a node type SKUs": { + "$ref": "./examples/NodeTypeSkusListOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeTypeListSkuResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}": { + "get": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Get", + "summary": "Gets a Service Fabric node type.", + "description": "Get a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Get a node type": { + "$ref": "./examples/NodeTypeGetOperation_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "put": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_CreateOrUpdate", + "summary": "Creates or updates a Service Fabric node type.", + "description": "Create or update a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The node type resource.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeType" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Put a node type with minimum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_min.json" + }, + "Put a node type with maximum parameters": { + "$ref": "./examples/NodeTypePutOperation_example_max.json" + }, + "Put a node type with auto-scale parameters": { + "$ref": "./examples/NodeTypePutOperationAutoScale_example.json" + }, + "Put an stateless node type with temporary disk for service fabric": { + "$ref": "./examples/NodeTypePutOperationStateless_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "202": { + "description": "The request was accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "patch": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Update", + "summary": "Update the tags of a node type resource of a given managed cluster.", + "description": "Update the configuration of a node type of a given managed cluster, only updating tags.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "in": "body", + "description": "The parameters to update the node type configuration.", + "required": true, + "schema": { + "$ref": "#/definitions/NodeTypeUpdateParameters" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Patch a node type": { + "$ref": "./examples/NodeTypePatchOperation_example.json" + }, + "Patch a node type while auto-scaling": { + "$ref": "./examples/NodeTypePatchOperationAutoScale_example.json" + } + }, + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/NodeType" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + }, + "delete": { + "tags": [ + "NodeType" + ], + "operationId": "NodeTypes_Delete", + "summary": "Deletes a Service Fabric node type.", + "description": "Delete a Service Fabric node type of a given managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/nodeTypeNameParameter" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "x-ms-examples": { + "Delete a node type": { + "$ref": "./examples/NodeTypeDeleteOperation_example.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "responses": { + "202": { + "description": "The request was accepted and the operation will complete asynchronously." + }, + "204": { + "description": "The resource was not found." + }, + "200": { + "description": "The operation completed successfully." + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + } + }, + "definitions": { + "DiskType": { + "type": "string", + "description": "Managed data disk type. IOPS and throughput are given by the disk size, to see more information go to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types.\n", + "enum": [ + "Standard_LRS", + "StandardSSD_LRS", + "Premium_LRS" + ], + "default": "StandardSSD_LRS", + "x-ms-enum": { + "name": "DiskType", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + } + ] + } + }, + "FrontendConfiguration": { + "type": "object", + "properties": { + "ipAddressType": { + "$ref": "#/definitions/IPAddressType", + "description": "The IP address type of this frontend configuration. If omitted the default value is IPv4." + }, + "loadBalancerBackendAddressPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//backendAddressPools/'." + }, + "loadBalancerInboundNatPoolId": { + "type": "string", + "description": "The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions//resourceGroups//providers/Microsoft.Network/loadBalancers//inboundNatPools/'." + } + }, + "description": "Describes the frontend configurations for the node type." + }, + "IPAddressType": { + "type": "string", + "description": "The IP address type.\n", + "enum": [ + "IPv4", + "IPv6" + ], + "default": "IPv4", + "x-ms-enum": { + "name": "IPAddressType", + "modelAsString": true, + "values": [ + { + "value": "IPv4", + "description": "IPv4 address type." + }, + { + "value": "IPv6", + "description": "IPv6 address type." + } + ] + } + }, + "ManagedProxyResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Azure resource name.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Azure resource type.", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Azure resource tags.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "systemData": { + "$ref": "#/definitions/SystemData" + } + }, + "description": "The resource model definition for proxy-only resource.", + "x-ms-azure-resource": true + }, + "NodeType": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ManagedProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NodeTypeProperties", + "description": "The node type properties" + }, + "sku": { + "$ref": "#/definitions/NodeTypeSku", + "description": "The node type sku." + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeActionParameters": { + "type": "object", + "required": [ + "nodes" + ], + "properties": { + "nodes": { + "description": "List of node names from the node type.", + "type": "array", + "items": { + "type": "string" + } + }, + "force": { + "description": "Force the action to go through.", + "type": "boolean" + } + }, + "description": "Parameters for Node type action." + }, + "NodeTypeProperties": { + "type": "object", + "required": [ + "isPrimary", + "vmInstanceCount" + ], + "properties": { + "isPrimary": { + "type": "boolean", + "description": "Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created." + }, + "vmInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type.

    **Values:**
    -1 - Use when auto scale rules are configured or sku.capacity is defined
    0 - Not supported
    >0 - Use for manual scale.", + "minimum": -1, + "maximum": 2147483647 + }, + "dataDiskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Disk size for the managed disk attached to the vms on the node type in GBs." + }, + "dataDiskType": { + "$ref": "#/definitions/DiskType", + "description": "Managed data disk type. Specifies the storage account type for the managed disk" + }, + "dataDiskLetter": { + "type": "string", + "pattern": "^[a-zA-Z]{1}$", + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + }, + "placementProperties": { + "type": "object", + "description": "The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.", + "additionalProperties": { + "type": "string", + "description": "Placement tag value" + } + }, + "capacities": { + "type": "object", + "description": "The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.", + "additionalProperties": { + "type": "string", + "description": "Capacity tag value" + } + }, + "applicationPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ports from which cluster assigned port to Service Fabric applications." + }, + "ephemeralPorts": { + "$ref": "#/definitions/EndpointRangeDescription", + "description": "The range of ephemeral ports that nodes in this node type should be configured with." + }, + "vmSize": { + "type": "string", + "description": "The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3." + }, + "vmImagePublisher": { + "type": "string", + "description": "The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer." + }, + "vmImageOffer": { + "type": "string", + "description": "The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer." + }, + "vmImageSku": { + "type": "string", + "description": "The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter." + }, + "vmImageVersion": { + "type": "string", + "description": "The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'." + }, + "vmSecrets": { + "type": "array", + "title": "virtual machine secretes.", + "description": "The secrets to install in the virtual machines.", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + } + }, + "vmExtensions": { + "type": "array", + "title": "virtual machine extensions.", + "description": "Set of extensions that should be installed onto the virtual machines.", + "items": { + "$ref": "#/definitions/VMSSExtension" + } + }, + "vmManagedIdentity": { + "$ref": "#/definitions/VmManagedIdentity", + "description": "Identities to assign to the virtual machine scale set under the node type." + }, + "isStateless": { + "type": "boolean", + "description": "Indicates if the node type can only host Stateless workloads.", + "default": false + }, + "multiplePlacementGroups": { + "type": "boolean", + "description": "Indicates if scale set associated with the node type can be composed of multiple placement groups.", + "default": false + }, + "frontendConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/FrontendConfiguration" + }, + "description": "Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created." + }, + "networkSecurityRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkSecurityRule" + }, + "description": "The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations." + }, + "additionalDataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/VmssDataDisk" + }, + "description": "Additional managed data disks." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "description": "Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.", + "default": false + }, + "provisioningState": { + "$ref": "#/definitions/ManagedResourceProvisioningState", + "readOnly": true, + "description": "The provisioning state of the node type resource." + }, + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "Specifies whether the network interface is accelerated networking-enabled." + }, + "useDefaultPublicLoadBalancer": { + "type": "boolean", + "description": "Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity." + }, + "useTempDataDisk": { + "type": "boolean", + "description": "Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types." + }, + "enableOverProvisioning": { + "type": "boolean", + "description": "Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types." + } + }, + "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." + }, + "NodeTypeListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "title": "node type list value.", + "description": "The list of node types.", + "items": { + "$ref": "#/definitions/NodeType" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Node type list results" + }, + "NodeTypeUpdateParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "description": "Node type update parameters", + "additionalProperties": { + "type": "string" + } + }, + "sku": { + "$ref": "#/definitions/NodeTypeSku", + "description": "The node type sku." + } + }, + "description": "Node type update request" + }, + "NodeTypeSku": { + "type": "object", + "required": [ + "capacity" + ], + "properties": { + "name": { + "type": "string", + "description": "The sku name.

    Name is internally generated and is used in auto-scale scenarios.
    Property does not allow to be changed to other values than generated.
    To avoid deployment errors please omit the property." + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

    Possible Values:
    **Standard**" + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the node type.

    If present in request it will override properties.vmInstanceCount.", + "minimum": 1, + "maximum": 2147483647 + } + }, + "description": "Describes a node type sku." + }, + "NodeTypeSkuCapacity": { + "type": "object", + "properties": { + "minimum": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Lowest permitted node count in a node type." + }, + "maximum": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Highest permitted node count in a node type." + }, + "default": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Default node count in a node type." + }, + "scaleType": { + "$ref": "#/definitions/NodeTypeSkuScaleType", + "readOnly": true, + "description": "Node type capacity scale type." + } + }, + "description": "Provides information about how node type can be scaled." + }, + "NodeTypeSkuScaleType": { + "type": "string", + "description": "Node type capacity scale type.\n", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "default": "None", + "x-ms-enum": { + "name": "NodeTypeSkuScaleType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Node count is not adjustable in any way (e.g. it is fixed)." + }, + { + "value": "Manual", + "description": "The user must manually scale out/in." + }, + { + "value": "Automatic", + "description": "Automatic scale is allowed." + } + ] + } + }, + "NodeTypeAvailableSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of resource the sku applies to.

    Value: Microsoft.ServiceFabric/managedClusters/nodeTypes." + }, + "sku": { + "$ref": "#/definitions/NodeTypeSupportedSku", + "description": "The supported SKU for a for node type.", + "readOnly": true + }, + "capacity": { + "$ref": "#/definitions/NodeTypeSkuCapacity", + "description": "Provides information about how the node count can be scaled.", + "readOnly": true + } + }, + "description": "Defines the type of sku available for a node type" + }, + "NodeTypeSupportedSku": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The sku name.", + "readOnly": true + }, + "tier": { + "type": "string", + "description": "Specifies the tier of the node type.

    Possible Values:
    **Standard**", + "readOnly": true + } + }, + "description": "Describes a node type supported sku." + }, + "NodeTypeListSkuResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "title": "Node type sku list value.", + "description": "The list of available node type SKUs.", + "items": { + "$ref": "#/definitions/NodeTypeAvailableSku" + } + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Node type available sku list results" + }, + "SubResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Azure resource identifier." + } + }, + "description": "Azure resource identifier.", + "x-ms-azure-resource": true + }, + "VaultCertificate": { + "type": "object", + "required": [ + "certificateUrl", + "certificateStore" + ], + "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 .crt for the X509 certificate file and .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": { + "type": "object", + "required": [ + "sourceVault", + "vaultCertificates" + ], + "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": "Specifies set of certificates that should be installed onto the virtual machines." + }, + "VmManagedIdentity": { + "type": "object", + "properties": { + "userAssignedIdentities": { + "type": "array", + "description": "The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "items": { + "type": "string" + } + } + }, + "description": "Identities for the virtual machine scale set under the node type." + }, + "VmssDataDisk": { + "type": "object", + "required": [ + "lun", + "diskSizeGB", + "diskType", + "diskLetter" + ], + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "minimum": 1, + "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. Lun 0 is reserved for the service fabric data disk." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Disk size for each vm in the node type in GBs." + }, + "diskType": { + "$ref": "#/definitions/DiskType", + "description": "Managed data disk type. Specifies the storage account type for the managed disk" + }, + "diskLetter": { + "type": "string", + "pattern": "^[a-zA-Z]{1}$", + "description": "Managed data disk letter. It can not use the reserved letter C or D and it can not change after created." + } + }, + "description": "Managed data disk description." + }, + "VMSSExtension": { + "type": "object", + "required": [ + "name", + "properties" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the extension." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VMSSExtensionProperties", + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + } + }, + "description": "Specifies set of extensions that should be installed onto the virtual machines." + }, + "VMSSExtensionProperties": { + "type": "object", + "required": [ + "publisher", + "type", + "typeHandlerVersion" + ], + "properties": { + "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." + }, + "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." + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + } + }, + "description": "Describes the properties of a Virtual Machine Scale Set Extension." + }, + "AvailableOperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "The name of the provider." + }, + "resource": { + "type": "string", + "description": "The resource on which the operation is performed" + }, + "operation": { + "type": "string", + "description": "The operation that can be performed." + }, + "description": { + "type": "string", + "description": "Operation description" + } + }, + "description": "Operation supported by the Service Fabric resource provider" + }, + "EndpointRangeDescription": { + "type": "object", + "required": [ + "endPort", + "startPort" + ], + "properties": { + "startPort": { + "type": "integer", + "format": "int32", + "description": "Starting port of a range of ports" + }, + "endPort": { + "type": "integer", + "format": "int32", + "description": "End port of a range of ports" + } + }, + "description": "Port range details" + }, + "ErrorModel": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorModelError", + "description": "The error details." + } + }, + "description": "The structure of the error." + }, + "ErrorModelError": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "The error details." + }, + "ManagedResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of the managed resource.", + "enum": [ + "None", + "Creating", + "Created", + "Updating", + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Deleted", + "Other" + ], + "x-ms-enum": { + "name": "ManagedResourceProvisioningState", + "modelAsString": true + } + }, + "NetworkSecurityRule": { + "type": "object", + "required": [ + "name", + "protocol", + "access", + "priority", + "direction" + ], + "properties": { + "name": { + "type": "string", + "description": "Network security rule name." + }, + "description": { + "type": "string", + "description": "Network security rule description." + }, + "protocol": { + "type": "string", + "description": "Network protocol this rule applies to.", + "enum": [ + "http", + "https", + "tcp", + "udp", + "icmp", + "ah", + "esp" + ], + "x-ms-enum": { + "name": "nsgProtocol", + "modelAsString": true + } + }, + "sourceAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The CIDR or source IP ranges." + }, + "destinationAddressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination address prefixes. CIDR or destination IP ranges." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The source port ranges." + }, + "destinationPortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The destination port ranges." + }, + "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." + }, + "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." + }, + "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": "he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports." + }, + "access": { + "type": "string", + "description": "The network traffic is allowed or denied.", + "enum": [ + "allow", + "deny" + ], + "x-ms-enum": { + "name": "access", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.", + "minimum": 1000, + "maximum": 3000 + }, + "direction": { + "type": "string", + "description": "Network security rule direction.", + "enum": [ + "inbound", + "outbound" + ], + "x-ms-enum": { + "name": "direction", + "modelAsString": true + } + } + }, + "description": "Describes a network security rule." + }, + "OperationResult": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation is a data action" + }, + "display": { + "$ref": "#/definitions/AvailableOperationDisplay", + "description": "The object that represents the operation." + }, + "origin": { + "type": "string", + "description": "Origin result" + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "Available operation list result" + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + } + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2022-01-01\" for this specification.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "clusterNameParameter": { + "name": "clusterName", + "in": "path", + "description": "The name of the cluster resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "nodeTypeNameParameter": { + "name": "nodeTypeName", + "in": "path", + "description": "The name of the node type.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The customer subscription identifier.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/servicefabricmanagedclusters/resource-manager/readme.md b/specification/servicefabricmanagedclusters/resource-manager/readme.md index 03bc116577cf..bfb5f841aa52 100644 --- a/specification/servicefabricmanagedclusters/resource-manager/readme.md +++ b/specification/servicefabricmanagedclusters/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the ServiceFabricManagedClustersManagementClie title: ServiceFabricManagedClustersManagementClient description: Service Fabric Managed Clusters Management Client openapi-type: arm -tag: package-2021-11-preview +tag: package-2022-01 directive: - suppress: ListInOperationName @@ -69,6 +69,17 @@ directive: ``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-01' +input-file: +- Microsoft.ServiceFabric/stable/2022-01-01/managedapplication.json +- Microsoft.ServiceFabric/stable/2022-01-01/managedcluster.json +- Microsoft.ServiceFabric/stable/2022-01-01/nodetype.json +``` + ### Tag: package-2021-11-preview These settings apply only when `--tag=package-2021-11-preview` is specified on the command line. diff --git a/specification/servicefabricmanagedclusters/resource-manager/readme.python.md b/specification/servicefabricmanagedclusters/resource-manager/readme.python.md index c4476835e535..38be38e9c14a 100644 --- a/specification/servicefabricmanagedclusters/resource-manager/readme.python.md +++ b/specification/servicefabricmanagedclusters/resource-manager/readme.python.md @@ -4,19 +4,15 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-servicefabricmanagedclusters -no-namespace-folders: true +namespace: azure.mgmt.servicefabricmanagedclusters package-version: 0.1.0 ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters/azure/mgmt/servicefabricmanagedclusters -``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/servicefabricmanagedclusters/azure-mgmt-servicefabricmanagedclusters ``` \ No newline at end of file diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/OperationsList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..2ffc7fc760a0 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/OperationsList.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Register the subscription for Microsoft.ServiceLinker", + "operation": "Register the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/register/action" + }, + { + "display": { + "description": "Unregister the subscription for Microsoft.ServiceLinker", + "operation": "Unregister the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/unregister/action" + }, + { + "display": { + "description": "read operations", + "operation": "read_operations", + "provider": "Microsoft.ServiceLinker", + "resource": "operations" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/operations/read" + }, + { + "display": { + "description": "list dryrun jobs", + "operation": "Dryrun_List", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "get a dryrun job", + "operation": "Dryrun_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "create a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Create", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "delete a dryrun job", + "operation": "Dryrun_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/delete" + }, + { + "display": { + "description": "add a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "read operationStatuses", + "operation": "read_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/read" + }, + { + "display": { + "description": "write operationStatuses", + "operation": "write_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/write" + }, + { + "display": { + "description": "Returns list of Linkers which connects to the resource.", + "operation": "Linker_List", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Returns Linker resource for a given name.", + "operation": "Linker_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Create or update linker resource.", + "operation": "Linker_CreateOrUpdate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Delete a link.", + "operation": "Linker_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/delete" + }, + { + "display": { + "description": "Operation to update an existing link.", + "operation": "Linker_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Validate a link.", + "operation": "Linker_Validate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/validateLinker/action" + }, + { + "display": { + "description": "list source configurations for a linker.", + "operation": "Linker_ListConfigurations", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/listConfigurations/action" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PutLinkWithServiceEndpoint.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PutLinkWithServiceEndpoint.json new file mode 100644 index 000000000000..f520df9d86b2 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/examples/PutLinkWithServiceEndpoint.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db", + "authInfo": { + "authType": "secret", + "name": "name", + "secret": "secret" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json index 0afe99975fac..7dc2a1da01bb 100644 --- a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json @@ -116,6 +116,9 @@ "x-ms-examples": { "PutLink": { "$ref": "./examples/PutLink.json" + }, + "PutLinkWithServiceEndpoint": { + "$ref": "./examples/PutLinkWithServiceEndpoint.json" } }, "parameters": [ @@ -355,6 +358,11 @@ ], "operationId": "Operations_List", "description": "Lists the available ServiceLinker REST API operations.", + "x-ms-examples": { + "GetConfiguration": { + "$ref": "./examples/OperationsList.json" + } + }, "parameters": [ { "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" @@ -615,6 +623,14 @@ "readOnly": true, "type": "string", "description": "The provisioning state. " + }, + "vNetSolution": { + "description": "The VNet solution.", + "$ref": "#/definitions/VNetSolution" + }, + "secretStore": { + "description": "An option to store secret value in secure place", + "$ref": "#/definitions/SecretStore" } } }, @@ -641,7 +657,10 @@ "type": "array", "items": { "$ref": "#/definitions/SourceConfiguration" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -688,6 +707,34 @@ "$ref": "#/definitions/AuthType" } } + }, + "VNetSolution": { + "type": "object", + "description": "The VNet solution for linker", + "properties": { + "type": { + "description": "Type of VNet solution.", + "type": "string", + "enum": [ + "serviceEndpoint", + "privateLink" + ], + "x-ms-enum": { + "name": "vNetSolutionType", + "modelAsString": true + } + } + } + }, + "SecretStore": { + "type": "object", + "description": "An option to store secret value in secure place", + "properties": { + "keyVaultId": { + "type": "string", + "description": "The key vault id to store secret" + } + } } }, "parameters": { diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/DeleteLink.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/DeleteLink.json new file mode 100644 index 000000000000..4e1d4c01980d --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/DeleteLink.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": {}, + "204": {}, + "202": {} + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/GetConfigurations.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/GetConfigurations.json new file mode 100644 index 000000000000..8b4f86ee4cc7 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/GetConfigurations.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "configurations": [ + { + "name": "ASL_DocumentDb_ConnectionString", + "value": "ConnectionString" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/Link.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/Link.json new file mode 100644 index 000000000000..9bf63336ae0b --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/Link.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/links", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/LinkList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/LinkList.json new file mode 100644 index 000000000000..26ee63f354f2 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/LinkList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.ServiceLinker/links/linkName", + "name": "linkName", + "type": "Microsoft.ServiceLinker/links", + "properties": { + "authInfo": { + "authType": "secret", + "name": "username" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + }, + "systemData": { + "createdAt": "2020-07-12T22:05:09Z" + } + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/OperationsList.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..1d4524d466f0 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/OperationsList.json @@ -0,0 +1,185 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "display": { + "description": "Register the subscription for Microsoft.ServiceLinker", + "operation": "Register the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/register/action" + }, + { + "display": { + "description": "Unregister the subscription for Microsoft.ServiceLinker", + "operation": "Unregister the Microsoft.ServiceLinker", + "provider": "Microsoft.ServiceLinker", + "resource": "Microsoft.ServiceLinker" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/unregister/action" + }, + { + "display": { + "description": "read operations", + "operation": "read_operations", + "provider": "Microsoft.ServiceLinker", + "resource": "operations" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/operations/read" + }, + { + "display": { + "description": "list dryrun jobs", + "operation": "Dryrun_List", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "get a dryrun job", + "operation": "Dryrun_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/read" + }, + { + "display": { + "description": "create a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Create", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "delete a dryrun job", + "operation": "Dryrun_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/delete" + }, + { + "display": { + "description": "add a dryrun job to do necessary check before actual creation", + "operation": "Dryrun_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "dryruns" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/dryruns/write" + }, + { + "display": { + "description": "read operationStatuses", + "operation": "read_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/read" + }, + { + "display": { + "description": "write operationStatuses", + "operation": "write_operationStatuses", + "provider": "Microsoft.ServiceLinker", + "resource": "locations/operationStatuses" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/locations/operationStatuses/write" + }, + { + "display": { + "description": "Returns list of Linkers which connects to the resource.", + "operation": "Linker_List", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Returns Linker resource for a given name.", + "operation": "Linker_Get", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/read" + }, + { + "display": { + "description": "Create or update linker resource.", + "operation": "Linker_CreateOrUpdate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Delete a link.", + "operation": "Linker_Delete", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/delete" + }, + { + "display": { + "description": "Operation to update an existing link.", + "operation": "Linker_Update", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/write" + }, + { + "display": { + "description": "Validate a link.", + "operation": "Linker_Validate", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/validateLinker/action" + }, + { + "display": { + "description": "list source configurations for a linker.", + "operation": "Linker_ListConfigurations", + "provider": "Microsoft.ServiceLinker", + "resource": "linkers" + }, + "isDataAction": false, + "name": "Microsoft.ServiceLinker/linkers/listConfigurations/action" + } + ] + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PatchLink.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PatchLink.json new file mode 100644 index 000000000000..90b26adc38a7 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PatchLink.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id", + "secret": "secret" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "servicePrincipalSecret", + "clientId": "name", + "principalId": "id" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLink.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLink.json new file mode 100644 index 000000000000..dad77c53f384 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLink.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "rawValue", + "value": "secret" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + }, + "201": { + "body": { + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithSecretStore.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithSecretStore.json new file mode 100644 index 000000000000..fa04c55a2f6d --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithSecretStore.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + }, + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret" + }, + "secretStore": { + "keyVaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.KeyVault/vaults/test-kv" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithServiceEndpoint.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithServiceEndpoint.json new file mode 100644 index 000000000000..9293c626e714 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/PutLinkWithServiceEndpoint.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName", + "parameters": { + "properties": { + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + }, + "authInfo": { + "authType": "secret", + "name": "name", + "secretInfo": { + "secretType": "keyVaultSecretUri", + "value": "https://vault-name.vault.azure.net/secrets/secret-name/00000000000000000000000000000000" + } + }, + "vNetSolution": { + "type": "serviceEndpoint" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app/providers/Microsoft.ServiceLinker/links/linkName", + "type": "Microsoft.ServiceLinker/links", + "name": "linkName", + "properties": { + "authInfo": { + "authType": "secret", + "name": "name" + }, + "vNetSolution": { + "type": "serviceEndpoint" + }, + "targetService": { + "type": "AzureResource", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DBforPostgreSQL/servers/test-pg/databases/test-db" + } + } + } + } + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/ValidateLinkSuccess.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/ValidateLinkSuccess.json new file mode 100644 index 000000000000..4207a6fe4244 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/examples/ValidateLinkSuccess.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Web/sites/test-app", + "linkerName": "linkName" + }, + "responses": { + "200": { + "body": { + "linkerName": "linkName", + "isConnectionAvailable": true, + "reportStartTimeUtc": "2020-07-12T22:05:09Z", + "reportEndTimeUtc": "2020-07-12T22:06:09Z", + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db", + "targetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DocumentDb/databaseAccounts/test-acc/mongodbDatabases/test-db", + "authType": "secret", + "validationDetail": [ + { + "name": "TargetExistence", + "description": "The target existence is validated", + "result": "success" + }, + { + "name": "TargetNetworkAccess", + "description": "Deny public network access is set to yes. Please confirm you are using private endpoint connection to access target resource.", + "result": "warning" + } + ] + } + }, + "202": {} + } +} diff --git a/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/servicelinker.json b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/servicelinker.json new file mode 100644 index 000000000000..5352ee03eef0 --- /dev/null +++ b/specification/servicelinker/resource-manager/Microsoft.ServiceLinker/preview/2022-01-01-preview/servicelinker.json @@ -0,0 +1,995 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.ServiceLinker", + "description": "Microsoft.ServiceLinker provider", + "version": "2022-01-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": { + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers": { + "get": { + "deprecated": false, + "description": "Returns list of Linkers which connects to the resource.", + "operationId": "Linker_List", + "x-ms-examples": { + "LinkList": { + "$ref": "./examples/LinkList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "linker details.", + "schema": { + "$ref": "#/definitions/LinkerList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}": { + "get": { + "description": "Returns Linker resource for a given name.", + "operationId": "Linker_Get", + "x-ms-examples": { + "Link": { + "$ref": "./examples/Link.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "Linker details.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "description": "Create or update linker resource.", + "operationId": "Linker_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PutLink": { + "$ref": "./examples/PutLink.json" + }, + "PutLinkWithServiceEndpoint": { + "$ref": "./examples/PutLinkWithServiceEndpoint.json" + }, + "PutLinkWithSecretStore": { + "$ref": "./examples/PutLinkWithSecretStore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + }, + { + "name": "parameters", + "description": "Linker details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerResource" + } + } + ], + "responses": { + "200": { + "description": "Successful.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "201": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Links" + ], + "operationId": "Linker_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Delete a link.", + "x-ms-examples": { + "DeleteLink": { + "$ref": "./examples/DeleteLink.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The link is deleted." + }, + "204": { + "description": "Deleted. The link is not found." + }, + "202": { + "description": "Long running operation." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Links" + ], + "operationId": "Linker_Update", + "description": "Operation to update an existing link.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "PatchLink": { + "$ref": "./examples/PatchLink.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + }, + { + "name": "parameters", + "description": "Linker details.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkerPatch" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a link.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "201": { + "description": "Long running operation.", + "schema": { + "$ref": "#/definitions/LinkerResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/validateLinker": { + "post": { + "tags": [ + "Links" + ], + "operationId": "Linker_Validate", + "description": "Validate a link.", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ValidateLinkSuccess": { + "$ref": "./examples/ValidateLinkSuccess.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateResult" + } + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ServiceLinker/linkers/{linkerName}/listConfigurations": { + "post": { + "tags": [ + "Links" + ], + "operationId": "Linker_ListConfigurations", + "description": "list source configurations for a linker.", + "x-ms-examples": { + "GetConfiguration": { + "$ref": "./examples/GetConfigurations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceUriParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LinkerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SourceConfigurationResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.ServiceLinker/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available ServiceLinker REST API operations.", + "x-ms-examples": { + "GetConfiguration": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "TargetServiceType": { + "description": "The target service type.", + "type": "string", + "enum": [ + "AzureResource", + "ConfluentBootstrapServer", + "ConfluentSchemaRegistry" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + }, + "TargetServiceBase": { + "description": "The target service properties", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "description": "The target service type.", + "$ref": "#/definitions/TargetServiceType" + } + }, + "required": [ + "type" + ] + }, + "AzureResourceType": { + "description": "The azure resource type.", + "type": "string", + "enum": [ + "KeyVault" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true + } + }, + "AzureResourcePropertiesBase": { + "description": "The azure resource properties", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "description": "The azure resource type.", + "$ref": "#/definitions/AzureResourceType" + } + }, + "required": [ + "type" + ] + }, + "AzureResource": { + "x-ms-discriminator-value": "AzureResource", + "type": "object", + "description": "The azure resource info when target service type is AzureResource", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "id": { + "description": "The Id of azure resource.", + "type": "string" + }, + "resourceProperties": { + "description": "The azure resource connection related properties.", + "$ref": "#/definitions/AzureResourcePropertiesBase" + } + } + }, + "AzureKeyVaultProperties": { + "x-ms-discriminator-value": "KeyVault", + "type": "object", + "description": "The resource properties when type is Azure Key Vault", + "allOf": [ + { + "$ref": "#/definitions/AzureResourcePropertiesBase" + } + ], + "properties": { + "connectAsKubernetesCsiDriver": { + "description": "True if connect via Kubernetes CSI Driver.", + "type": "boolean" + } + } + }, + "ConfluentBootstrapServer": { + "x-ms-discriminator-value": "ConfluentBootstrapServer", + "type": "object", + "description": "The service properties when target service type is ConfluentBootstrapServer", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "endpoint": { + "description": "The endpoint of service.", + "type": "string" + } + } + }, + "ConfluentSchemaRegistry": { + "x-ms-discriminator-value": "ConfluentSchemaRegistry", + "type": "object", + "description": "The service properties when target service type is ConfluentSchemaRegistry", + "allOf": [ + { + "$ref": "#/definitions/TargetServiceBase" + } + ], + "properties": { + "endpoint": { + "description": "The endpoint of service.", + "type": "string" + } + } + }, + "AuthType": { + "description": "The authentication type.", + "type": "string", + "enum": [ + "systemAssignedIdentity", + "userAssignedIdentity", + "servicePrincipalSecret", + "servicePrincipalCertificate", + "secret" + ], + "x-ms-enum": { + "name": "AuthType", + "modelAsString": true + } + }, + "SecretType": { + "description": "The secret type.", + "type": "string", + "enum": [ + "rawValue", + "keyVaultSecretUri", + "keyVaultSecretReference" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true + } + }, + "SecretInfoBase": { + "description": "The secret info", + "discriminator": "secretType", + "type": "object", + "properties": { + "secretType": { + "description": "The secret type.", + "$ref": "#/definitions/SecretType" + } + }, + "required": [ + "secretType" + ] + }, + "ValueSecretInfo": { + "x-ms-discriminator-value": "rawValue", + "type": "object", + "description": "The secret info when type is rawValue. It's for scenarios that user input the secret.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "value": { + "description": "The actual value of the secret.", + "type": "string", + "x-ms-secret": true + } + } + }, + "KeyVaultSecretReferenceSecretInfo": { + "x-ms-discriminator-value": "keyVaultSecretReference", + "type": "object", + "description": "The secret info when type is keyVaultSecretReference. It's for scenario that user provides a secret stored in user's keyvault and source is Azure Kubernetes. The key Vault's resource id is linked to secretStore.keyVaultId.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "name": { + "description": "Name of the Key Vault secret.", + "type": "string" + }, + "version": { + "description": "Version of the Key Vault secret.", + "type": "string" + } + } + }, + "KeyVaultSecretUriSecretInfo": { + "x-ms-discriminator-value": "keyVaultSecretUri", + "type": "object", + "description": "The secret info when type is keyVaultSecretUri. It's for scenario that user provides a secret stored in user's keyvault and source is Web App, Spring Cloud or Container App.", + "allOf": [ + { + "$ref": "#/definitions/SecretInfoBase" + } + ], + "properties": { + "value": { + "description": "URI to the keyvault secret", + "type": "string" + } + } + }, + "AuthInfoBase": { + "description": "The authentication info", + "discriminator": "authType", + "type": "object", + "properties": { + "authType": { + "description": "The authentication type.", + "$ref": "#/definitions/AuthType" + } + }, + "required": [ + "authType" + ] + }, + "SecretAuthInfo": { + "x-ms-discriminator-value": "secret", + "type": "object", + "description": "The authentication info when authType is secret", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "name": { + "description": "Username or account name for secret auth.", + "type": "string" + }, + "secretInfo": { + "description": "Password or key vault secret for secret auth.", + "$ref": "#/definitions/SecretInfoBase" + } + } + }, + "UserAssignedIdentityAuthInfo": { + "x-ms-discriminator-value": "userAssignedIdentity", + "type": "object", + "description": "The authentication info when authType is userAssignedIdentity", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "clientId": { + "description": "Client Id for userAssignedIdentity.", + "type": "string" + }, + "subscriptionId": { + "description": "Subscription id for userAssignedIdentity.", + "type": "string" + } + } + }, + "SystemAssignedIdentityAuthInfo": { + "x-ms-discriminator-value": "systemAssignedIdentity", + "type": "object", + "description": "The authentication info when authType is systemAssignedIdentity", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ] + }, + "ServicePrincipalSecretAuthInfo": { + "x-ms-discriminator-value": "servicePrincipalSecret", + "type": "object", + "description": "The authentication info when authType is servicePrincipal secret", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "clientId": { + "description": "ServicePrincipal application clientId for servicePrincipal auth.", + "type": "string" + }, + "principalId": { + "description": "Principal Id for servicePrincipal auth.", + "type": "string" + }, + "secret": { + "description": "Secret for servicePrincipal auth.", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "clientId", + "principalId", + "secret" + ] + }, + "ServicePrincipalCertificateAuthInfo": { + "x-ms-discriminator-value": "servicePrincipalCertificate", + "type": "object", + "description": "The authentication info when authType is servicePrincipal certificate", + "allOf": [ + { + "$ref": "#/definitions/AuthInfoBase" + } + ], + "properties": { + "clientId": { + "description": "Application clientId for servicePrincipal auth.", + "type": "string" + }, + "principalId": { + "description": "Principal Id for servicePrincipal auth.", + "type": "string" + }, + "certificate": { + "description": "ServicePrincipal certificate for servicePrincipal auth.", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "clientId", + "principalId", + "certificate" + ] + }, + "LinkerResource": { + "type": "object", + "description": "Linker of source and target resource", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource", + "description": "The resource model definition for an Azure Resource Manager proxy resource." + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "The properties of the linker.", + "$ref": "#/definitions/LinkerProperties", + "x-ms-client-flatten": true + }, + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system data." + } + } + }, + "LinkerPatch": { + "description": "A linker to be updated.", + "type": "object", + "properties": { + "properties": { + "description": "Linker properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/LinkerProperties" + } + } + }, + "LinkerList": { + "description": "The list of Linker.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of Linker list.", + "type": "string" + }, + "value": { + "description": "The list of Linkers.", + "type": "array", + "items": { + "$ref": "#/definitions/LinkerResource" + } + } + } + }, + "LinkerProperties": { + "description": "The properties of the linker.", + "type": "object", + "properties": { + "targetService": { + "$ref": "#/definitions/TargetServiceBase", + "description": "The target service properties" + }, + "authInfo": { + "description": "The authentication type.", + "$ref": "#/definitions/AuthInfoBase" + }, + "clientType": { + "description": "The application client type", + "type": "string", + "enum": [ + "none", + "dotnet", + "java", + "python", + "go", + "php", + "ruby", + "django", + "nodejs", + "springBoot" + ], + "x-ms-enum": { + "name": "clientType", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state. " + }, + "vNetSolution": { + "description": "The VNet solution.", + "$ref": "#/definitions/VNetSolution" + }, + "secretStore": { + "description": "An option to store secret value in secure place", + "$ref": "#/definitions/SecretStore" + }, + "scope": { + "type": "string", + "description": "connection scope in source service." + } + } + }, + "SourceConfiguration": { + "description": "A configuration item for source resource", + "type": "object", + "properties": { + "name": { + "description": "The name of setting.", + "type": "string" + }, + "value": { + "description": "The value of setting", + "type": "string" + } + } + }, + "SourceConfigurationResult": { + "description": "Configurations for source resource, include appSettings, connectionString and serviceBindings", + "type": "object", + "properties": { + "configurations": { + "description": "The configuration properties for source resource.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceConfiguration" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ValidateResult": { + "description": "The validation result for a linker.", + "type": "object", + "properties": { + "linkerName": { + "description": "The linker name.", + "type": "string" + }, + "isConnectionAvailable": { + "description": "A boolean value indicating whether the connection is available or not", + "type": "boolean" + }, + "reportStartTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The start time of the validation report." + }, + "reportEndTimeUtc": { + "type": "string", + "format": "date-time", + "description": "The end time of the validation report." + }, + "sourceId": { + "description": "The resource id of the linker source application.", + "type": "string" + }, + "targetId": { + "description": "The resource Id of target service.", + "type": "string" + }, + "authType": { + "description": "The authentication type.", + "$ref": "#/definitions/AuthType" + }, + "validationDetail": { + "description": "The detail of validation result", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationResultItem" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ValidationResultItem": { + "description": "The validation item for a linker.", + "type": "object", + "properties": { + "name": { + "description": "The validation item name.", + "type": "string" + }, + "description": { + "description": "The display name of validation item", + "type": "string" + }, + "result": { + "description": "The result of validation", + "type": "string", + "enum": [ + "success", + "failed", + "warning" + ], + "x-ms-enum": { + "name": "validationItemResult", + "modelAsString": true + } + }, + "errorMessage": { + "description": "The error message of validation result", + "type": "string" + }, + "errorCode": { + "description": "The error code of validation result", + "type": "string" + } + } + }, + "VNetSolution": { + "type": "object", + "description": "The VNet solution for linker", + "properties": { + "type": { + "description": "Type of VNet solution.", + "type": "string", + "enum": [ + "serviceEndpoint", + "privateLink" + ], + "x-ms-enum": { + "name": "vNetSolutionType", + "modelAsString": true + } + } + } + }, + "SecretStore": { + "type": "object", + "description": "An option to store secret value in secure place", + "properties": { + "keyVaultId": { + "type": "string", + "description": "The key vault id to store secret" + } + } + } + }, + "parameters": { + "LinkerNameParameter": { + "name": "linkerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name Linker resource.", + "x-ms-parameter-location": "method" + }, + "ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified Azure Resource manager identifier of the resource to be connected.", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/servicelinker/resource-manager/readme.md b/specification/servicelinker/resource-manager/readme.md index 7e7e11f5fe1d..32e0c3f8cdce 100644 --- a/specification/servicelinker/resource-manager/readme.md +++ b/specification/servicelinker/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the servicelinker. ```yaml openapi-type: arm openapi-subtype : rpaas -tag: package-2021-11-01-preview +tag: package-2022-01-01-preview ``` ### Tag: package-2021-11-01-preview @@ -39,6 +39,15 @@ input-file: - Microsoft.ServiceLinker/preview/2021-11-01-preview/servicelinker.json ``` +### Tag: package-2022-01-01-preview + +These settings apply only when `--tag=package-2022-01-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2022-01-01-preview' +input-file: + - Microsoft.ServiceLinker/preview/2022-01-01-preview/servicelinker.json +``` + ## Suppression ``` yaml @@ -50,6 +59,7 @@ directive: ``` --- + # Code Generation ## Swagger to SDK diff --git a/specification/servicelinker/resource-manager/readme.python.md b/specification/servicelinker/resource-manager/readme.python.md index 3302a43185d0..07d5dae67222 100644 --- a/specification/servicelinker/resource-manager/readme.python.md +++ b/specification/servicelinker/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-servicelinker -no-namespace-folders: true +namespace: azure.mgmt.servicelinker package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/servicelinker/azure-mgmt-servicelinker/azure/mgmt/servicelinker -``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/servicelinker/azure-mgmt-servicelinker -``` +``` \ No newline at end of file diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Operations_List.json new file mode 100644 index 000000000000..f5ed5a435079 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SignalRService/SignalR/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.SignalRService", + "resource": "SignalR", + "operation": "Manage SignalR (read-only)", + "description": "View the resource settings and configurations in the management portal or through API" + }, + "properties": {} + } + ], + "nextLink": "providers/Microsoft.SignalRService?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_CreateOrUpdate.json new file mode 100644 index 000000000000..939e821cef60 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_CreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "parameters": { + "properties": { + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Delete.json new file mode 100644 index 000000000000..724a322a329a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Get.json new file mode 100644 index 000000000000..e461153a2ab4 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_List.json new file mode 100644 index 000000000000..cab0c1e902a2 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomCertificates_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..47529fb392f7 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "parameters": { + "properties": { + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "myDomain" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Delete.json new file mode 100644 index 000000000000..d12a97577f20 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "example" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Get.json new file mode 100644 index 000000000000..793a34e8510d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "example" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_List.json new file mode 100644 index 000000000000..1a690a58570e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRCustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "myDomain" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..b404bc9f383f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..40f3fc17e039 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..b2146df562a0 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..2bb1a55e63fd --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateEndpointConnections_Update.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..64d7b1934d7c --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "signalr", + "requiredMembers": [ + "signalr" + ], + "requiredZoneNames": [ + "privatelink.service.signalr.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "site", + "properties": { + "description": "Azure App Service can be used as an upstream", + "groupId": "sites", + "type": "Microsoft.Web/sites" + } + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateLinkResources/myPrivateLink", + "name": "myPrivateLink", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..c584fae51d13 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Delete.json new file mode 100644 index 000000000000..21fac42bdbf7 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..434c1c65738d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..63a83804e51d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalRSharedPrivateLinkResources_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..401f3e532739 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "mySignalRService" + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already taken. Please try a different name." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..6a8ca248c88f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,388 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "201": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Delete.json new file mode 100644 index 000000000000..05f22c488dcb --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Get.json new file mode 100644 index 000000000000..f20a7d604554 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Get.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..0b9f6b26044f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..a6b11b60e9cc --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListBySubscription.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..43e4ce843f3b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListKeys.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListSkus.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListSkus.json new file mode 100644 index 000000000000..ce2a3cd098f8 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_ListSkus.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 0, + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 0, + 1, + 2, + 5, + 10, + 20, + 50, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..8bb1bb929657 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_RegenerateKey.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "body": {}, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Restart.json new file mode 100644 index 000000000000..f7b7e9541598 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Update.json new file mode 100644 index 000000000000..a39924732efe --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/SignalR_Update.json @@ -0,0 +1,246 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Standard_S1", + "tier": "Standard", + "size": "S1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Usages_List.json new file mode 100644 index 000000000000..39ce86686349 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2022-02-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage1", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage1", + "localizedValue": "Usage1" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage2", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage2", + "localizedValue": "Usage2" + }, + "unit": "Count" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/signalr.json new file mode 100644 index 000000000000..6f6537fd915e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/stable/2022-02-01/signalr.json @@ -0,0 +1,3076 @@ +{ + "swagger": "2.0", + "info": { + "title": "SignalRManagementClient", + "description": "REST API for Azure SignalR Service", + "version": "2022-02-01" + }, + "paths": { + "/providers/Microsoft.SignalRService/operations": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Lists all of the available REST API operations of the Microsoft.SignalRService provider.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "SignalR_CheckNameAvailability", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the region", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List resource usage quotas by location.", + "operationId": "Usages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRUsageList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "SignalR_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in the subscription.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalR_ListBySubscription": { + "$ref": "./examples/SignalR_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "SignalR_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of resources in a resourceGroup.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalR_ListByResourceGroup": { + "$ref": "./examples/SignalR_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the resource and its properties.", + "operationId": "SignalR_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a resource.", + "operationId": "SignalR_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "201": { + "description": "Created. The response describes the new resource and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a resource.", + "operationId": "SignalR_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting resource.", + "operationId": "SignalR_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all custom certificates.", + "operationId": "SignalRCustomCertificates_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom certificates of the resource.", + "schema": { + "$ref": "#/definitions/CustomCertificateList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRCustomCertificates_List": { + "$ref": "./examples/SignalRCustomCertificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get a custom certificate.", + "operationId": "SignalRCustomCertificates_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRCustomCertificates_Get": { + "$ref": "./examples/SignalRCustomCertificates_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a custom certificate.", + "operationId": "SignalRCustomCertificates_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "201": { + "description": "Created. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRCustomCertificates_CreateOrUpdate": { + "$ref": "./examples/SignalRCustomCertificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete a custom certificate.", + "operationId": "SignalRCustomCertificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "204": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRCustomCertificates_Delete": { + "$ref": "./examples/SignalRCustomCertificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all custom domains.", + "operationId": "SignalRCustomDomains_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom domains of the resource.", + "schema": { + "$ref": "#/definitions/CustomDomainList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRCustomDomains_List": { + "$ref": "./examples/SignalRCustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get a custom domain.", + "operationId": "SignalRCustomDomains_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRCustomDomains_Get": { + "$ref": "./examples/SignalRCustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a custom domain.", + "operationId": "SignalRCustomDomains_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the custom domain and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRCustomDomains_CreateOrUpdate": { + "$ref": "./examples/SignalRCustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete a custom domain.", + "operationId": "SignalRCustomDomains_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "202": { + "description": "Accepted. The response indicates the operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRCustomDomains_Delete": { + "$ref": "./examples/SignalRCustomDomains_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/listKeys": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Get the access keys of the resource.", + "operationId": "SignalR_ListKeys", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes access keys of the resource.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List private endpoint connections", + "operationId": "SignalRPrivateEndpointConnections_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_List": { + "$ref": "./examples/SignalRPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Get": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Update the state of specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Update": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Delete", + "parameters": [ + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Delete": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the private link resources that need to be created for a resource.", + "operationId": "SignalRPrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRPrivateLinkResources_List": { + "$ref": "./examples/SignalRPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "SignalR_RegenerateKey", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted and an async operation is executing in background to make the new key to take effect. The response contains new access keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a resource.", + "operationId": "SignalR_Restart", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List shared private link resources", + "operationId": "SignalRSharedPrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_List": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "sharedPrivateLinkResourceName", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Get": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "sharedPrivateLinkResourceName", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Delete", + "parameters": [ + { + "in": "path", + "name": "sharedPrivateLinkResourceName", + "description": "The name of the shared private link resource", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Delete": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/skus": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all available skus of the resource.", + "operationId": "SignalR_ListSkus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListSkus": { + "$ref": "./examples/SignalR_ListSkus.json" + } + } + } + } + }, + "definitions": { + "ACLAction": { + "description": "Azure Networking ACL Action.", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "modelAsString": true + } + }, + "CustomCertificate": { + "description": "A custom certificate.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomCertificateProperties" + } + } + }, + "CustomCertificateList": { + "description": "Custom certificates list.", + "type": "object", + "properties": { + "value": { + "description": "List of custom certificates of this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomCertificate" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomCertificateProperties": { + "description": "Custom certificate properties.", + "required": [ + "keyVaultBaseUri", + "keyVaultSecretName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "keyVaultBaseUri": { + "description": "Base uri of the KeyVault that stores certificate.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretName": { + "description": "Certificate secret name.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretVersion": { + "description": "Certificate secret version.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "CustomDomain": { + "description": "A custom domain", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainProperties" + } + } + }, + "CustomDomainList": { + "description": "Custom domains list", + "type": "object", + "properties": { + "value": { + "description": "List of custom domains that bind to this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomDomainProperties": { + "description": "Properties of a custom domain.", + "required": [ + "customCertificate", + "domainName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "domainName": { + "description": "The custom domain name.", + "type": "string" + }, + "customCertificate": { + "$ref": "#/definitions/ResourceReference" + } + } + }, + "Dimension": { + "description": "Specifications of the Dimension of metrics.", + "type": "object", + "properties": { + "name": { + "description": "The public facing name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.", + "type": "boolean" + } + } + }, + "FeatureFlags": { + "description": "FeatureFlags is the supported features of Azure SignalR service.\r\n- ServiceMode: Flag for backend server for SignalR service. Values allowed: \"Default\": have your own backend server; \"Serverless\": your application doesn't have a backend server; \"Classic\": for backward compatibility. Support both Default and Serverless mode but not recommended; \"PredefinedOnly\": for future use.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.", + "enum": [ + "ServiceMode", + "EnableConnectivityLogs", + "EnableMessagingLogs", + "EnableLiveTrace" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureFlags", + "modelAsString": true + } + }, + "KeyType": { + "description": "The type of access key.", + "enum": [ + "Primary", + "Secondary", + "Salt" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "LiveTraceCategory": { + "description": "Live trace category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "LiveTraceConfiguration": { + "description": "Live trace configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "enabled": { + "description": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive.", + "default": "false", + "type": "string" + }, + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/LiveTraceCategory" + }, + "x-ms-identifiers": [] + } + } + }, + "LogSpecification": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log.", + "type": "string" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType" + }, + "userAssignedIdentities": { + "description": "Get or set the user assigned identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperty" + } + }, + "principalId": { + "description": "Get the principal id for the system assigned identity.\r\nOnly be used in response.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Get the tenant id for the system assigned identity.\r\nOnly be used in response", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentitySettings": { + "description": "Managed identity settings for upstream.", + "type": "object", + "properties": { + "resource": { + "description": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token.", + "type": "string" + } + } + }, + "ManagedIdentityType": { + "description": "Represents the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string" + }, + "unit": { + "description": "The unit that makes sense for the metric.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.", + "type": "string" + }, + "category": { + "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "x-ms-identifiers": [] + } + } + }, + "NameAvailability": { + "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available or not.", + "type": "boolean" + }, + "reason": { + "description": "The reason of the availability. Required if name is not available.", + "type": "string" + }, + "message": { + "description": "The message of the operation.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Can be \"Microsoft.SignalRService/SignalR\" or \"Microsoft.SignalRService/webPubSub\"", + "type": "string" + }, + "name": { + "description": "The resource name to validate. e.g.\"my-resource-name\"", + "type": "string" + } + } + }, + "NetworkACL": { + "description": "Network ACL", + "type": "object", + "properties": { + "allow": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + }, + "x-ms-identifiers": [] + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + }, + "x-ms-identifiers": [] + } + } + }, + "Operation": { + "description": "REST API operation supported by resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "If the operation is a data action. (for data plane rbac)", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationDisplay": { + "description": "The object that describes a operation.", + "type": "object", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationList": { + "description": "Result of the request to list REST API operations. It contains a list of operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateEndpointACL": { + "description": "ACL for a private endpoint", + "required": [ + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkACL" + } + ], + "properties": { + "name": { + "description": "Name of the private endpoint connection", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to an azure resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + } + }, + "PrivateEndpointConnectionList": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "description": "The list of the private endpoint connections", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "groupIds": { + "description": "Group IDs", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties" + } + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Private link resource properties", + "type": "object", + "properties": { + "groupId": { + "description": "Group Id of the private link resource", + "type": "string" + }, + "requiredMembers": { + "description": "Required members of the private link resource", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "shareablePrivateLinkResourceTypes": { + "description": "The list of resources that are onboarded to private link service", + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "x-ms-identifiers": [] + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus" + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStatus": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType" + } + } + }, + "Resource": { + "description": "The core properties of ARM resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified resource Id for the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource - e.g. \"Microsoft.SignalRService/SignalR\"", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ResourceLogCategory": { + "description": "Resource log category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "ResourceLogConfiguration": { + "description": "Resource log configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceLogCategory" + }, + "x-ms-identifiers": [] + } + } + }, + "ResourceReference": { + "description": "Reference to a resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "The billing information of the resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/SignalRSkuTier" + }, + "size": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of the resource. 1 by default.\r\n\r\nIf present, following values are allowed:\r\n Free: 1\r\n Standard: 1,2,5,10,20,50,100", + "type": "integer" + } + } + }, + "ScaleType": { + "description": "The scale type applicable to the sku.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "ServerlessUpstreamSettings": { + "description": "The settings for the Upstream when the service is in server-less mode.", + "type": "object", + "properties": { + "templates": { + "description": "Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.", + "type": "array", + "items": { + "$ref": "#/definitions/UpstreamTemplate" + }, + "x-ms-identifiers": [] + } + } + }, + "ServiceKind": { + "description": "The kind of the service, it can be SignalR or RawWebSockets", + "enum": [ + "SignalR", + "RawWebSockets" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "ServiceSpecification": { + "description": "An object that describes a specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [] + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "ShareablePrivateLinkResourceProperties": { + "description": "Describes the properties of a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "description": { + "description": "The description of the resource type that has been onboarded to private link service", + "type": "string" + }, + "groupId": { + "description": "The resource provider group id for the resource that has been onboarded to private link service", + "type": "string" + }, + "type": { + "description": "The resource provider type for the resource that has been onboarded to private link service", + "type": "string" + } + } + }, + "ShareablePrivateLinkResourceType": { + "description": "Describes a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource type that has been onboarded to private link service", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResource": { + "description": "Describes a Shared Private Link Resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResourceList": { + "description": "A list of shared private link resources", + "type": "object", + "properties": { + "value": { + "description": "The list of the shared private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource", + "required": [ + "groupId", + "privateLinkResourceId" + ], + "type": "object", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The resource id of the resource the shared private link resource is for", + "type": "string" + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource", + "type": "string" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/SharedPrivateLinkResourceStatus" + } + } + }, + "SharedPrivateLinkResourceStatus": { + "description": "Status of the shared private link resource", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true + } + }, + "SignalRCorsSettings": { + "description": "Cross-Origin Resource Sharing (CORS) settings.", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use \"*\" to allow all. If omitted, allow all by default.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "SignalRFeature": { + "description": "Feature of a resource, which controls the runtime behavior.", + "required": [ + "flag", + "value" + ], + "type": "object", + "properties": { + "flag": { + "$ref": "#/definitions/FeatureFlags" + }, + "value": { + "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "properties": { + "description": "Optional properties related to this feature.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignalRKeys": { + "description": "A class represents the access keys of the resource.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string", + "x-ms-secret": true + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string", + "x-ms-secret": true + }, + "primaryConnectionString": { + "description": "Connection string constructed via the primaryKey", + "type": "string", + "x-ms-secret": true + }, + "secondaryConnectionString": { + "description": "Connection string constructed via the secondaryKey", + "type": "string", + "x-ms-secret": true + } + } + }, + "SignalRNetworkACLs": { + "description": "Network ACLs for the resource", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + }, + "x-ms-identifiers": [] + } + } + }, + "SignalRProperties": { + "description": "A class that describes the properties of the resource", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "externalIP": { + "description": "The publicly accessible IP of the resource.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the service instance.", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "sharedPrivateLinkResources": { + "description": "The list of shared private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "tls": { + "$ref": "#/definitions/SignalRTlsSettings" + }, + "hostNamePrefix": { + "description": "Deprecated.", + "type": "string", + "readOnly": true + }, + "features": { + "description": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRFeature" + }, + "x-ms-identifiers": [] + }, + "liveTraceConfiguration": { + "$ref": "#/definitions/LiveTraceConfiguration" + }, + "resourceLogConfiguration": { + "$ref": "#/definitions/ResourceLogConfiguration" + }, + "cors": { + "$ref": "#/definitions/SignalRCorsSettings" + }, + "upstream": { + "$ref": "#/definitions/ServerlessUpstreamSettings" + }, + "networkACLs": { + "$ref": "#/definitions/SignalRNetworkACLs" + }, + "publicNetworkAccess": { + "description": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.", + "default": "Enabled", + "type": "string" + }, + "disableLocalAuth": { + "description": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work.", + "default": false, + "type": "boolean" + }, + "disableAadAuth": { + "description": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work.", + "default": false, + "type": "boolean" + } + } + }, + "SignalRRequestType": { + "description": "The incoming request type to the service", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI", + "Trace" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRRequestType", + "modelAsString": true + } + }, + "SignalRResource": { + "description": "A class represent a resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SignalRProperties" + }, + "kind": { + "x-ms-mutability": [ + "read", + "create" + ], + "$ref": "#/definitions/ServiceKind" + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity" + }, + "systemData": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "SignalRResourceList": { + "description": "Object that includes an array of resources and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resources", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRSkuTier": { + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead.", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRSkuTier", + "modelAsString": true + } + }, + "SignalRTlsSettings": { + "description": "TLS settings for the resource", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled", + "default": true, + "type": "boolean" + } + } + }, + "SignalRUsage": { + "description": "Object that describes a specific usage of the resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ARM resource id", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value for the usage quota.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The maximum permitted value for the usage quota. If there is no limit, this value will be -1.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/SignalRUsageName" + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "type": "string" + } + } + }, + "SignalRUsageList": { + "description": "Object that includes an array of the resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resource usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRUsage" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRUsageName": { + "description": "Localizable String object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "The identifier of the usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name of the usage.", + "type": "string" + } + } + }, + "Sku": { + "description": "Describes an available sku.\"", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type that this object applies to", + "type": "string", + "readOnly": true + }, + "sku": { + "readOnly": true, + "$ref": "#/definitions/ResourceSku" + }, + "capacity": { + "readOnly": true, + "$ref": "#/definitions/SkuCapacity" + } + } + }, + "SkuCapacity": { + "description": "Describes scaling information of a sku.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "The lowest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "maximum": { + "format": "int32", + "description": "The highest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int32", + "description": "The default capacity.", + "type": "integer", + "readOnly": true + }, + "allowedValues": { + "description": "Allows capacity value list.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "scaleType": { + "readOnly": true, + "$ref": "#/definitions/ScaleType" + } + } + }, + "SkuList": { + "description": "The list skus operation response", + "type": "object", + "properties": { + "value": { + "description": "The list of skus available for the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/Sku" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "The GEO location of the resource. e.g. West US | East US | North Central US | South Central US.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Tags of the service which is a list of key value pairs that describe the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings. If not set, no auth is used for upstream messages.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType" + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings" + } + } + }, + "UpstreamAuthType": { + "description": "Upstream auth type enum.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": true + } + }, + "UpstreamTemplate": { + "description": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.", + "required": [ + "urlTemplate" + ], + "type": "object", + "properties": { + "hubPattern": { + "description": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any hub name.\r\n 2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n 3. The single hub name, for example, \"hub1\", it matches \"hub1\".", + "type": "string" + }, + "eventPattern": { + "description": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any event name.\r\n 2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n 3. The single event name, for example, \"connect\", it matches \"connect\".", + "type": "string" + }, + "categoryPattern": { + "description": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any category name.\r\n 2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n 3. The single category name, for example, \"connections\", it matches the category \"connections\".", + "type": "string" + }, + "urlTemplate": { + "description": "Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.\r\nFor example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.", + "type": "string" + }, + "auth": { + "$ref": "#/definitions/UpstreamAuthSettings" + } + } + }, + "UserAssignedIdentityProperty": { + "description": "Properties of user assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Get the principal id for the user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Get the client id for the user assigned identity", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ApiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "Client Api Version.", + "required": true, + "type": "string" + }, + "SubscriptionIdParameter": { + "in": "path", + "name": "subscriptionId", + "description": "Gets subscription Id which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "required": true, + "type": "string" + }, + "ResourceGroupParameter": { + "in": "path", + "name": "resourceGroupName", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ResourceName": { + "in": "path", + "name": "resourceName", + "description": "The name of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/signalr/resource-manager/readme.go.md b/specification/signalr/resource-manager/readme.go.md index 8dbcb0ce9648..414acbc5f8ab 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -36,6 +36,7 @@ batch: - tag: package-2021-06-01-preview - tag: package-2021-09-01-preview - tag: package-2021-10-01 + - tag: package-2022-02-01 ``` ### Tag: package-2018-03-01-preview and go @@ -100,6 +101,7 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-02-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-02-01/$(namespace) +``` diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index 11f31227ecff..499e59a6ce4e 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -23,6 +23,22 @@ batch: - tag: package-2021-04-01-preview - tag: package-2021-06-01-preview - tag: package-2021-09-01-preview + - tag: package-2021-09-01-preview + - tag: package-2021-10-01 + - tag: package-2022-02-01 +``` + +### Tag: package-2022-02-01 and java + +These settings apply only when `--tag=package-2022-02-01 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2022-02-01' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2022_02_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2022_02_01 +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2021-10-01 and java @@ -30,7 +46,7 @@ batch: These settings apply only when `--tag=package-2021-10-01 --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-2021-04-01-preview' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-2021-10-01' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.signalr.v2021_10_01 output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_10_01 @@ -38,12 +54,25 @@ regenerate-manager: true generate-interface: true ``` +### Tag: package-2021-09-01-preview and java + +These settings apply only when `--tag=package-2021-09-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-09-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2021_09_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_09_01_preview +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06-01-preview and java These settings apply only when `--tag=package-2021-06-01-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(tag) == 'package-2021-04-01-preview' && $(java) && $(multiapi) +``` yaml $(tag) == 'package-2021-06-01-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.signalr.v2021_06_01_preview output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2021_06_01_preview @@ -115,4 +144,4 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2018_03_01_preview regenerate-manager: true generate-interface: true -``` \ No newline at end of file +``` diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index adc5b6cc2b89..977d67ee1c26 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the SignalR API. ``` yaml openapi-type: arm -tag: package-2021-10-01 +tag: package-2022-02-01 ``` ### Suppression @@ -71,6 +71,15 @@ directive: reason: It can introduce a breaking change when updating parameter order, since SignalR service has already shipped public versions. ``` +### Tag: package-2022-02-01 + +These settings apply only when `--tag=package-2022-02-01` is specified on the command line. + +``` yaml $(tag) == 'package-2022-02-01' +input-file: +- Microsoft.SignalRService/stable/2022-02-01/signalr.json +``` + ### Tag: package-2021-09-01-preview These settings apply only when `--tag=package-2021-09-01-preview` is specified on the command line. diff --git a/specification/signalr/resource-manager/readme.python.md b/specification/signalr/resource-manager/readme.python.md index 993cebf285ce..820d72b0a36b 100644 --- a/specification/signalr/resource-manager/readme.python.md +++ b/specification/signalr/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.signalr @@ -14,13 +13,9 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr/azure/mgmt/signalr ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/signalr/azure-mgmt-signalr -``` diff --git a/specification/signalr/resource-manager/readme.ruby.md b/specification/signalr/resource-manager/readme.ruby.md index 8e4903a35627..904baefddac6 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -20,6 +20,17 @@ batch: - tag: package-2021-06-01-preview - tag: package-2021-09-01-preview - tag: package-2021-10-01 + - tag: package-2022-02-01 +``` + +### Tag: package-2022-02-01 and ruby + +These settings apply only when `--tag=package-2022-02-01 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2022-02-01' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2022_02_01" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` ### Tag: package-2021-10-01 and ruby @@ -32,6 +43,16 @@ namespace: "Azure::Signalr::Mgmt::V2021_10_01" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` +### Tag: package-2021-09-01-preview and ruby + +These settings apply only when `--tag=package-2021-09-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09-01-preview' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2021_09_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib +``` + ### Tag: package-2021-06-01-preview and ruby These settings apply only when `--tag=package-2021-06-01-preview --ruby` is specified on the command line. diff --git a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json index dc407928a5e5..cf98b130300b 100644 --- a/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json +++ b/specification/softwareplan/resource-manager/Microsoft.SoftwarePlan/stable/2019-12-01/softwareplan.json @@ -481,7 +481,10 @@ "description": "List of all operations", "items": { "$ref": "#/definitions/OperationResponse" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "type": "string", diff --git a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json index 67bae8f35a19..f0cd114d62ae 100644 --- a/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json +++ b/specification/solutions/resource-manager/Microsoft.Solutions/stable/2021-07-01/managedapplications.json @@ -1097,6 +1097,10 @@ "items": { "$ref": "#/definitions/ApplicationAuthorization" }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ], "readOnly": true }, "managementMode": { @@ -1120,6 +1124,10 @@ "items": { "$ref": "#/definitions/ApplicationArtifact" }, + "x-ms-identifiers": [ + "name", + "uri" + ], "readOnly": true }, "createdBy": { @@ -1183,14 +1191,22 @@ "type": "array", "items": { "$ref": "#/definitions/ApplicationAuthorization" - } + }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ] }, "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" - } + }, + "x-ms-identifiers": [ + "name", + "uri" + ] }, "provisioningState": { "readOnly": true, @@ -1238,7 +1254,11 @@ "type": "array", "items": { "$ref": "#/definitions/ApplicationPolicy" - } + }, + "x-ms-identifiers": [ + "name", + "policyDefinitionId" + ] } }, "required": [ @@ -1622,6 +1642,9 @@ "items": { "$ref": "#/definitions/ApplicationNotificationEndpoint" }, + "x-ms-identifiers": [ + "uri" + ], "description": "The managed application notification endpoint." } }, @@ -1859,7 +1882,11 @@ "type": "array", "items": { "$ref": "#/definitions/JitAuthorizationPolicies" - } + }, + "x-ms-identifiers": [ + "principalId", + "roleDefinitionId" + ] }, "jitSchedulingPolicy": { "$ref": "#/definitions/JitSchedulingPolicy", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json index 1a3a82038457..133dca9a29fc 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/databases.json @@ -25,16 +25,16 @@ "operationId": "Databases_ListByServer", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -67,7 +67,7 @@ "operationId": "Databases_Get", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -76,10 +76,10 @@ "$ref": "#/parameters/DatabaseNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -107,7 +107,7 @@ "operationId": "Databases_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -125,10 +125,10 @@ } }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -139,7 +139,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tired to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Creating or updating the database is in progress." @@ -185,6 +185,15 @@ }, "Creates a database from recoverableDatabaseId.": { "$ref": "./examples/CreateDatabaseRecoveryMode.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a restore point of an existing database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionPITR.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a geo-backup.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRecovery.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a backup of a dropped database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRestore.json" } } }, @@ -196,7 +205,7 @@ "operationId": "Databases_Delete", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -205,10 +214,10 @@ "$ref": "#/parameters/DatabaseNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -216,7 +225,7 @@ "description": "Successfully deleted the database." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." + "description": "*** Error Responses: ***\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources." }, "202": { "description": "Deleting the database is in progress." @@ -240,7 +249,7 @@ "operationId": "Databases_Update", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -258,10 +267,10 @@ } }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -272,7 +281,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tired to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Updating the database is in progress." @@ -280,57 +289,125 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { + "Updates a VCore database.": { + "$ref": "./examples/PatchVCoreDatabase.json" + }, "Updates a database.": { "$ref": "./examples/PatchDatabase.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover": { + "post": { "tags": [ "Databases" ], - "description": "Gets a list of databases in an elastic pool.", - "operationId": "Databases_ListByElasticPool", + "description": "Failovers a database.", + "operationId": "Databases_Failover", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "name": "elasticPoolName", + "name": "databaseName", "in": "path", - "description": "The name of the elastic pool.", + "description": "The name of the database to failover.", "required": true, "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "replicaType", + "in": "query", + "description": "The type of replica to be failed over.", + "required": false, + "type": "string", + "enum": [ + "Primary", + "ReadableSecondary" + ], + "x-ms-enum": { + "name": "ReplicaType", + "modelAsString": true + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "Successfully retrieved a list of databases in an elastic pool.", + "description": "Successfully completed database failover." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 DatabaseFailoverThrottled - There was a recent failover on the database or pool if database belongs in an elastic pool.\n\n * 400 DatabaseFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 DatabaseNotInStateToFailover - The database is currently in a state such that failover cannot be issued." + }, + "202": { + "description": "Database failover is in progress." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Failover an database": { + "$ref": "./examples/FailoverDatabase.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { + "post": { + "tags": [ + "Databases" + ], + "description": "Renames a database.", + "operationId": "Databases_Rename", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to rename.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource move definition for renaming this database.", + "required": true, "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/ResourceMoveDefinition" } }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully renamed the database." + }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets a list of databases in an elastic pool.": { - "$ref": "./examples/ListDatabasesByElasticPool.json" + "Renames a database.": { + "$ref": "./examples/RenameDatabase.json" } } } @@ -344,7 +421,7 @@ "operationId": "Databases_Pause", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -357,10 +434,10 @@ "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -394,7 +471,7 @@ "operationId": "Databases_Resume", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -407,10 +484,10 @@ "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -444,7 +521,7 @@ "operationId": "Databases_UpgradeDataWarehouse", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -457,10 +534,10 @@ "type": "string" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -468,7 +545,7 @@ "description": "Successfully upgraded the data warehouse." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tired to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultMismatchError - Unexpected Key Vault region found in the http response.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 401 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 401 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 401 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Upgrading the data warehouse is in progress." @@ -482,54 +559,51 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { + "get": { "tags": [ "Databases" ], - "description": "Renames a database.", - "operationId": "Databases_Rename", + "description": "Gets a list of databases in an elastic pool.", + "operationId": "Databases_ListByElasticPool", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "name": "databaseName", + "name": "elasticPoolName", "in": "path", - "description": "The name of the database to rename.", + "description": "The name of the elastic pool.", "required": true, "type": "string" }, { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this database.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "Successfully renamed the database." + "description": "Successfully retrieved a list of databases in an elastic pool.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Renames a database.": { - "$ref": "./examples/RenameDatabase.json" + "Gets a list of databases in an elastic pool.": { + "$ref": "./examples/ListDatabasesByElasticPool.json" } } } @@ -543,16 +617,16 @@ "operationId": "Databases_ListInaccessibleByServer", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -575,71 +649,42 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover": { - "post": { - "tags": [ - "Databases" - ], - "description": "Failovers a database.", - "operationId": "Databases_Failover", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "databaseName", - "in": "path", - "description": "The name of the database to failover.", - "required": true, - "type": "string" - }, - { - "name": "replicaType", - "in": "query", - "description": "The type of replica to be failed over.", - "required": false, - "type": "string", - "enum": [ - "Primary", - "ReadableSecondary" - ], - "x-ms-enum": { - "name": "ReplicaType", - "modelAsString": true - } - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully completed database failover." - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 ManagementServiceFeatureDisabled - User attempted to use a feature which is disabled.\n\n * 400 DatabaseFailoverThrottled - There was a recent failover on the database or pool if database belongs in an elastic pool.\n\n * 400 DatabaseFailoverNotSupportedOnSKU - This type of customer initiated failover is not supported on the given SKU.\n\n * 409 ManagementServiceDatabaseBusy - Database '{0}' is busy with another operation. Please try your operation later.\n\n * 409 DatabaseNotInStateToFailover - The database is currently in a state such that failover cannot be issued." - }, - "202": { - "description": "Database failover is in progress." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Failover an database": { - "$ref": "./examples/FailoverDatabase.json" - } - } - } } }, "definitions": { + "Database": { + "description": "A database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" + }, + "kind": { + "description": "Kind of database. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "managedBy": { + "description": "Resource that manages the database.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, "DatabaseListResult": { "description": "A list of databases.", "type": "object", @@ -659,36 +704,6 @@ } } }, - "Sku": { - "description": "An ARM Resource SKU.", - "required": [ - "name" - ], - "type": "object", - "properties": { - "name": { - "description": "The name of the SKU, typically, a letter + Number code, e.g. P3.", - "type": "string" - }, - "tier": { - "description": "The tier or edition of the particular SKU, e.g. Basic, Premium.", - "type": "string" - }, - "size": { - "description": "Size of the particular SKU", - "type": "string" - }, - "family": { - "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here.", - "type": "string" - }, - "capacity": { - "format": "int32", - "description": "Capacity of the particular SKU.", - "type": "integer" - } - } - }, "DatabaseProperties": { "description": "The database's properties.", "type": "object", @@ -930,7 +945,7 @@ "type": "integer" }, "currentSku": { - "$ref": "#/definitions/Sku", + "$ref": "../../../common/v1/types.json#/definitions/Sku", "description": "The name and tier of the SKU.", "readOnly": true }, @@ -968,50 +983,28 @@ "description": "The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.", "type": "string", "readOnly": true + }, + "sourceResourceId": { + "description": "The resource identifier of the source associated with the create operation of this database.\r\n\r\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\r\n\r\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of an existing database or existing sql pool, and restorePointInTime must be specified.\r\n\r\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\r\n\r\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\r\n\r\nThis property allows to restore across subscriptions which is only supported for DataWarehouse edition.\r\n\r\nWhen source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant ", + "type": "string", + "x-ms-mutability": [ + "create" + ] } } }, - "Resource": { - "description": "ARM resource.", + "DatabaseUpdate": { + "description": "A database update resource.", "type": "object", "properties": { - "id": { - "description": "Resource ID.", - "type": "string", - "readOnly": true + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU." }, - "name": { - "description": "Resource name.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Resource type.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "TrackedResource": { - "description": "ARM tracked top level resource.", - "required": [ - "location" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "location": { - "description": "Resource location.", - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ] + "properties": { + "$ref": "#/definitions/DatabaseUpdateProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true }, "tags": { "description": "Resource tags.", @@ -1022,58 +1015,285 @@ } } }, - "Database": { - "description": "A database resource.", - "required": [ - "location" - ], + "DatabaseUpdateProperties": { + "description": "A database update properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" + "createMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.", + "enum": [ + "Default", + "Copy", + "Secondary", + "PointInTimeRestore", + "Restore", + "Recovery", + "RestoreExternalBackup", + "RestoreExternalBackupSecondary", + "RestoreLongTermRetentionBackup", + "OnlineSecondary" + ], + "type": "string", + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] }, - "kind": { - "description": "Kind of database. This is metadata used for the Azure portal experience.", + "collation": { + "description": "The collation of the database.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "maxSizeBytes": { + "format": "int64", + "description": "The max size of the database expressed in bytes.", + "type": "integer" + }, + "sampleName": { + "description": "The name of the sample schema to apply when creating this database.", + "enum": [ + "AdventureWorksLT", + "WideWorldImportersStd", + "WideWorldImportersFull" + ], + "type": "string", + "x-ms-enum": { + "name": "SampleName", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "elasticPoolId": { + "description": "The resource identifier of the elastic pool containing this database.", + "type": "string" + }, + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "status": { + "description": "The status of the database.", + "enum": [ + "Online", + "Restoring", + "RecoveryPending", + "Recovering", + "Suspect", + "Offline", + "Standby", + "Shutdown", + "EmergencyMode", + "AutoClosed", + "Copying", + "Creating", + "Inaccessible", + "OfflineSecondary", + "Pausing", + "Paused", + "Resuming", + "Scaling", + "OfflineChangingDwPerformanceTiers", + "OnlineChangingDwPerformanceTiers", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DatabaseStatus", + "modelAsString": true + } + }, + "databaseId": { + "format": "uuid", + "description": "The ID of the database.", "type": "string", "readOnly": true }, - "managedBy": { - "description": "Resource that manages the database.", + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", "type": "string", "readOnly": true }, - "properties": { - "$ref": "#/definitions/DatabaseProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, - "DatabaseUpdate": { - "description": "A database resource.", - "type": "object", - "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The name and tier of the SKU." + "currentServiceObjectiveName": { + "description": "The current service level objective name of the database.", + "type": "string", + "readOnly": true }, - "properties": { - "$ref": "#/definitions/DatabaseProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true + "requestedServiceObjectiveName": { + "description": "The requested service level objective name of the database.", + "type": "string", + "readOnly": true }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" + "defaultSecondaryLocation": { + "description": "The default secondary region for this database.", + "type": "string", + "readOnly": true + }, + "failoverGroupId": { + "description": "Failover Group resource identifier that this database belongs to.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sourceDatabaseDeletionDate": { + "format": "date-time", + "description": "Specifies the time that the database was deleted.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoveryServicesRecoveryPointId": { + "description": "The resource identifier of the recovery point associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "longTermRetentionBackupResourceId": { + "description": "The resource identifier of the long term retention backup associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorableDroppedDatabaseId": { + "description": "The resource identifier of the restorable dropped database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneRedundant": { + "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseLicenseType", + "modelAsString": true } + }, + "maxLogSizeBytes": { + "format": "int64", + "description": "The max log size for this database.", + "type": "integer", + "readOnly": true + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "This records the earliest start date and time that restore is available for this database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "readScale": { + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseReadScale", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "readReplicaCount": { + "format": "int32", + "description": "The number of readonly secondary replicas associated with the database.", + "type": "integer" + }, + "currentSku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU.", + "readOnly": true + }, + "autoPauseDelay": { + "format": "int32", + "description": "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + "type": "integer" + }, + "storageAccountType": { + "description": "The storage account type used to store backups for this database.", + "enum": [ + "GRS", + "LRS", + "ZRS" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageAccountType", + "modelAsString": true + } + }, + "minCapacity": { + "format": "double", + "description": "Minimal capacity that database will always have allocated, if not paused", + "type": "number" + }, + "pausedDate": { + "format": "date-time", + "description": "The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.", + "type": "string", + "readOnly": true + }, + "resumedDate": { + "format": "date-time", + "description": "The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.", + "type": "string", + "readOnly": true } } }, @@ -1092,26 +1312,10 @@ } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "The subscription ID that identifies an Azure subscription.", - "required": true, - "type": "string", - "x-ms-parameter-location": "client" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "The API version to use for the request.", - "required": true, - "type": "string", - "x-ms-parameter-location": "client" - }, - "ResourceGroupParameter": { - "name": "resourceGroupName", + "DatabaseNameParameter": { + "name": "databaseName", "in": "path", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "description": "The name of the database.", "required": true, "type": "string", "x-ms-parameter-location": "method" @@ -1132,14 +1336,6 @@ "type": "string", "x-ms-parameter-location": "method" }, - "DatabaseNameParameter": { - "name": "databaseName", - "in": "path", - "description": "The name of the database.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "BlobAuditingPolicyNameParameter": { "name": "blobAuditingPolicyName", "in": "path", diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json new file mode 100644 index 000000000000..a1a14b505344 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2019-06-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw", + "restorePointInTime": "2022-01-22T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json new file mode 100644 index 000000000000..1f4932b5e52f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-WestUS", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2019-06-01-preview", + "parameters": { + "location": "westus", + "properties": { + "createMode": "Recovery", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json new file mode 100644 index 000000000000..ffaa5b44570d --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2019-06-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "Restore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "storageAccountType": "Standard_LRS" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/PatchVCoreDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/PatchVCoreDatabase.json new file mode 100644 index 000000000000..37841c0785f0 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2019-06-01-preview/examples/PatchVCoreDatabase.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdb", + "api-version": "2019-06-01-preview", + "parameters": { + "sku": { + "name": "BC_Gen4_4" + }, + "properties": { + "maxSizeBytes": 1073741824, + "licenseType": "LicenseIncluded" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "BC_Gen4_4", + "tier": "BusinessCritical", + "capacity": 4 + }, + "kind": "v12.0,user,vcore", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 1073741824, + "status": "Online", + "databaseId": "6c764297-577b-470f-9af4-96d3d41e2ba3", + "creationDate": "2017-06-07T04:41:33.937Z", + "currentServiceObjectiveName": "BC_Gen4_4", + "defaultSecondaryLocation": "North Europe", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "licenseType": "LicenseIncluded", + "maxLogSizeBytes": 104857600 + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb", + "name": "testdb", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json index fed2cb201f7a..3ca805d1763f 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/Databases.json @@ -145,7 +145,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Creating or updating the database is in progress." @@ -191,6 +191,15 @@ }, "Creates a database with ledger on.": { "$ref": "./examples/CreateDatabaseLedger.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a restore point of an existing database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionPITR.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a geo-backup.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRecovery.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a backup of a dropped database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRestore.json" } } }, @@ -278,7 +287,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Updating the database is in progress." @@ -298,13 +307,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { + "post": { "tags": [ "Databases" ], - "description": "Gets a list of databases in an elastic pool.", - "operationId": "Databases_ListByElasticPool", + "description": "Exports a database.", + "operationId": "Databases_Export", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -313,11 +322,16 @@ "$ref": "#/parameters/ServerNameParameter" }, { - "name": "elasticPoolName", - "in": "path", - "description": "The name of the elastic pool.", + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database export request parameters.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ExportDatabaseDefinition" + } }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" @@ -328,21 +342,25 @@ ], "responses": { "200": { - "description": "Successfully retrieved a list of databases in an elastic pool.", + "description": "Successfully exported the database.", "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/ImportExportOperationResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 InvalidImportExportInputParameter - The import/export request failed due to an invalid input parameter.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Exporting the database is in progress." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a list of databases in an elastic pool.": { - "$ref": "./examples/ListDatabasesByElasticPool.json" + "Exports a database.": { + "$ref": "./examples/ExportDatabase.json" + }, + "Exports a database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" } } } @@ -409,13 +427,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { + "post": { "tags": [ "Databases" ], - "description": "Gets a list of inaccessible databases in a logical server", - "operationId": "Databases_ListInaccessibleByServer", + "description": "Imports a bacpac into a new database.", + "operationId": "Databases_Import", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -423,6 +441,18 @@ { "$ref": "#/parameters/ServerNameParameter" }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportExistingDatabaseDefinition" + } + }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -432,21 +462,77 @@ ], "responses": { "200": { - "description": "Successfully retrieved the list of inaccessible databases in a logical server", + "description": "Successfully imported the database.", "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/ImportExportOperationResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 InvalidImportExportInputParameter - The import/export request failed due to an invalid input parameter.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to an existing empty database.": { + "$ref": "./examples/ImportDatabase.json" + }, + "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { + "post": { + "tags": [ + "Databases" + ], + "description": "Renames a database.", + "operationId": "Databases_Rename", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to rename.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource move definition for renaming this database.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceMoveDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully renamed the database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + } }, "x-ms-examples": { - "Gets a list of inaccessible databases in a logical server": { - "$ref": "./examples/ListVCoreInaccessibleDatabasesByServer.json" + "Renames a database.": { + "$ref": "./examples/RenameDatabase.json" } } } @@ -584,7 +670,7 @@ "description": "Successfully upgraded the data warehouse." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Upgrading the data warehouse is in progress." @@ -598,13 +684,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { + "get": { "tags": [ "Databases" ], - "description": "Renames a database.", - "operationId": "Databases_Rename", + "description": "Gets a list of databases in an elastic pool.", + "operationId": "Databases_ListByElasticPool", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -613,21 +699,12 @@ "$ref": "#/parameters/ServerNameParameter" }, { - "name": "databaseName", + "name": "elasticPoolName", "in": "path", - "description": "The name of the database to rename.", + "description": "The name of the elastic pool.", "required": true, "type": "string" }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this database.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -637,26 +714,32 @@ ], "responses": { "200": { - "description": "Successfully renamed the database." + "description": "Successfully retrieved a list of databases in an elastic pool.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Renames a database.": { - "$ref": "./examples/RenameDatabase.json" + "Gets a list of databases in an elastic pool.": { + "$ref": "./examples/ListDatabasesByElasticPool.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases": { + "get": { "tags": [ "Databases" ], - "description": "Imports a bacpac into a new database.", - "operationId": "Databases_Import", + "description": "Gets a list of inaccessible databases in a logical server", + "operationId": "Databases_ListInaccessibleByServer", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -664,18 +747,6 @@ { "$ref": "#/parameters/ServerNameParameter" }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "description": "The database import request parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/ImportExistingDatabaseDefinition" - } - }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -685,105 +756,65 @@ ], "responses": { "200": { - "description": "Successfully imported the database.", + "description": "Successfully retrieved the list of inaccessible databases in a logical server", "schema": { - "$ref": "#/definitions/ImportExportOperationResult" + "$ref": "#/definitions/DatabaseListResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." - }, - "202": { - "description": "Importing the database is in progress." + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Imports to an existing empty database.": { - "$ref": "./examples/ImportDatabase.json" - }, - "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { - "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + "Gets a list of inaccessible databases in a logical server": { + "$ref": "./examples/ListVCoreInaccessibleDatabasesByServer.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { - "post": { - "tags": [ - "Databases" - ], - "description": "Exports a database.", - "operationId": "Databases_Export", - "parameters": [ - { - "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "description": "The database export request parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/ExportDatabaseDefinition" - } - }, - { - "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully exported the database.", - "schema": { - "$ref": "#/definitions/ImportExportOperationResult" - } - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." - }, - "202": { - "description": "Exporting the database is in progress." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Exports a database.": { - "$ref": "./examples/ExportDatabase.json" - }, - "Exports a database, using private link to communicate with SQL server and storage account.": { - "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" - } - } - } - } - }, - "definitions": { - "DatabaseListResult": { - "description": "A list of databases.", - "type": "object", - "properties": { - "value": { - "description": "Array of results.", - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "readOnly": true - }, - "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true + } + } + } + }, + "definitions": { + "Database": { + "description": "A database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" + }, + "kind": { + "description": "Kind of database. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "managedBy": { + "description": "Resource that manages the database.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/DatabaseIdentity", + "description": "The Azure Active Directory identity of the database.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true } } }, @@ -815,13 +846,25 @@ "additionalProperties": { "$ref": "#/definitions/DatabaseUserIdentity" } + } + } + }, + "DatabaseListResult": { + "description": "A list of databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "readOnly": true }, - "delegatedResources": { - "description": "Resources delegated to the database - Internal Use Only", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Delegation" - } + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true } } }, @@ -1048,7 +1091,7 @@ "readOnly": true }, "readScale": { - "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region.", + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.", "enum": [ "Enabled", "Disabled" @@ -1065,7 +1108,7 @@ }, "highAvailabilityReplicaCount": { "format": "int32", - "description": "The number of secondary replicas associated with the database that are used to provide high availability.", + "description": "The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.", "type": "integer" }, "secondaryType": { @@ -1154,90 +1197,17 @@ "description": "The Client id used for cross tenant per database CMK scenario", "type": "string" }, - "primaryDelegatedIdentityClientId": { - "format": "uuid", - "description": "The Primary Delegated Identity Client id used for per database CMK - for internal use only", - "type": "string" - } - } - }, - "DatabaseUserIdentity": { - "description": "Azure Active Directory identity configuration for a resource.", - "type": "object", - "properties": { - "principalId": { - "format": "uuid", - "description": "The Azure Active Directory principal id.", - "type": "string", - "readOnly": true - }, - "clientId": { - "format": "uuid", - "description": "The Azure Active Directory client id.", - "type": "string", - "readOnly": true - } - } - }, - "Delegation": { - "description": "Delegated Resource Properties - Internal Use Only", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource id of the source resource - Internal Use Only", - "type": "string" - }, - "tenantId": { - "format": "uuid", - "description": "AAD tenant guid of the source resource identity - Internal Use Only.", - "type": "string", - "readOnly": true - } - } - }, - "Database": { - "description": "A database resource.", - "required": [ - "location" - ], - "type": "object", - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" - } - ], - "properties": { - "sku": { - "$ref": "../../../common/v1/types.json#/definitions/Sku", - "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" - }, - "kind": { - "description": "Kind of database. This is metadata used for the Azure portal experience.", - "type": "string", - "readOnly": true - }, - "managedBy": { - "description": "Resource that manages the database.", + "sourceResourceId": { + "description": "The resource identifier of the source associated with the create operation of this database.\r\n\r\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\r\n\r\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of an existing database or existing sql pool, and restorePointInTime must be specified.\r\n\r\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\r\n\r\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\r\n\r\nThis property allows to restore across subscriptions which is only supported for DataWarehouse edition.\r\n\r\nWhen source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant ", "type": "string", - "readOnly": true - }, - "identity": { - "$ref": "#/definitions/DatabaseIdentity", - "description": "The Azure Active Directory identity of the database.", "x-ms-mutability": [ - "read", "create" ] - }, - "properties": { - "$ref": "#/definitions/DatabaseProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true } } }, "DatabaseUpdate": { - "description": "A database resource.", + "description": "A database update resource.", "type": "object", "properties": { "sku": { @@ -1249,7 +1219,7 @@ "description": "Database identity" }, "properties": { - "$ref": "#/definitions/DatabaseProperties", + "$ref": "#/definitions/DatabaseUpdateProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, @@ -1262,208 +1232,427 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, - "ImportExistingDatabaseDefinition": { - "description": "Contains the information necessary to perform import operation for existing database.", - "required": [ - "storageKeyType", - "storageKey", - "storageUri", - "administratorLogin", - "administratorLoginPassword" - ], + "DatabaseUpdateProperties": { + "description": "A database update properties.", "type": "object", "properties": { - "storageKeyType": { - "description": "Storage key type.", + "createMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.", "enum": [ - "SharedAccessKey", - "StorageAccessKey" + "Default", + "Copy", + "Secondary", + "PointInTimeRestore", + "Restore", + "Recovery", + "RestoreExternalBackup", + "RestoreExternalBackupSecondary", + "RestoreLongTermRetentionBackup", + "OnlineSecondary" ], "type": "string", "x-ms-enum": { - "name": "StorageKeyType", + "name": "CreateMode", "modelAsString": true }, "x-ms-mutability": [ "create" ] }, - "storageKey": { - "description": "Storage key.", + "collation": { + "description": "The collation of the database.", "type": "string", "x-ms-mutability": [ + "read", "create" ] }, - "storageUri": { - "description": "Storage Uri.", - "type": "string", - "x-ms-mutability": [ - "create" - ] + "maxSizeBytes": { + "format": "int64", + "description": "The max size of the database expressed in bytes.", + "type": "integer" }, - "administratorLogin": { - "description": "Administrator login name.", + "sampleName": { + "description": "The name of the sample schema to apply when creating this database.", + "enum": [ + "AdventureWorksLT", + "WideWorldImportersStd", + "WideWorldImportersFull" + ], "type": "string", + "x-ms-enum": { + "name": "SampleName", + "modelAsString": true + }, "x-ms-mutability": [ "create" ] }, - "administratorLoginPassword": { - "description": "Administrator login password.", - "type": "string", - "x-ms-mutability": [ - "create" - ] + "elasticPoolId": { + "description": "The resource identifier of the elastic pool containing this database.", + "type": "string" }, - "authenticationType": { - "description": "Authentication type.", + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", "type": "string", "x-ms-mutability": [ "create" ] }, - "networkIsolation": { - "$ref": "#/definitions/NetworkIsolationSettings", - "description": "Optional resource information to enable network isolation for request.", - "x-ms-mutability": [ - "create" - ] - } - } - }, - "NetworkIsolationSettings": { - "description": "Contains the ARM resources for which to create private endpoint connection.", - "type": "object", - "properties": { - "storageAccountResourceId": { - "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "status": { + "description": "The status of the database.", + "enum": [ + "Online", + "Restoring", + "RecoveryPending", + "Recovering", + "Suspect", + "Offline", + "Standby", + "Shutdown", + "EmergencyMode", + "AutoClosed", + "Copying", + "Creating", + "Inaccessible", + "OfflineSecondary", + "Pausing", + "Paused", + "Resuming", + "Scaling", + "OfflineChangingDwPerformanceTiers", + "OnlineChangingDwPerformanceTiers", + "Disabled", + "Stopping", + "Stopped", + "Starting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DatabaseStatus", + "modelAsString": true + } + }, + "databaseId": { + "format": "uuid", + "description": "The ID of the database.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "currentServiceObjectiveName": { + "description": "The current service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "requestedServiceObjectiveName": { + "description": "The requested service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "defaultSecondaryLocation": { + "description": "The default secondary region for this database.", + "type": "string", + "readOnly": true + }, + "failoverGroupId": { + "description": "Failover Group resource identifier that this database belongs to.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", "type": "string", "x-ms-mutability": [ "create" ] }, - "sqlServerResourceId": { - "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "sourceDatabaseDeletionDate": { + "format": "date-time", + "description": "Specifies the time that the database was deleted.", "type": "string", "x-ms-mutability": [ "create" ] - } - } - }, - "ImportExportOperationResultProperties": { - "description": "Contains the operation result properties for import/export operation.", - "type": "object", - "properties": { - "requestId": { - "format": "uuid", - "description": "Request Id.", + }, + "recoveryServicesRecoveryPointId": { + "description": "The resource identifier of the recovery point associated with create operation of this database.", "type": "string", - "readOnly": true + "x-ms-mutability": [ + "create" + ] }, - "requestType": { - "description": "Request type.", + "longTermRetentionBackupResourceId": { + "description": "The resource identifier of the long term retention backup associated with create operation of this database.", "type": "string", - "readOnly": true + "x-ms-mutability": [ + "create" + ] }, - "queuedTime": { - "description": "Queued time.", + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", "type": "string", - "readOnly": true + "x-ms-mutability": [ + "create" + ] }, - "lastModifiedTime": { - "description": "Last modified time.", + "restorableDroppedDatabaseId": { + "description": "The resource identifier of the restorable dropped database associated with create operation of this database.", "type": "string", - "readOnly": true + "x-ms-mutability": [ + "create" + ] }, - "blobUri": { - "description": "Blob Uri.", + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneRedundant": { + "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseLicenseType", + "modelAsString": true + } + }, + "maxLogSizeBytes": { + "format": "int64", + "description": "The max log size for this database.", + "type": "integer", "readOnly": true }, - "serverName": { - "description": "Server name.", + "earliestRestoreDate": { + "format": "date-time", + "description": "This records the earliest start date and time that restore is available for this database (ISO8601 format).", "type": "string", "readOnly": true }, - "databaseName": { - "description": "Database name.", + "readScale": { + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.", + "enum": [ + "Enabled", + "Disabled" + ], "type": "string", + "x-ms-enum": { + "name": "DatabaseReadScale", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "highAvailabilityReplicaCount": { + "format": "int32", + "description": "The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.", + "type": "integer" + }, + "secondaryType": { + "description": "The secondary type of the database if it is a secondary. Valid values are Geo and Named.", + "enum": [ + "Geo", + "Named" + ], + "type": "string", + "x-ms-enum": { + "name": "SecondaryType", + "modelAsString": true + } + }, + "currentSku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU.", "readOnly": true }, - "status": { - "description": "Operation status.", + "autoPauseDelay": { + "format": "int32", + "description": "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + "type": "integer" + }, + "currentBackupStorageRedundancy": { + "description": "The storage account type used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "requestedBackupStorageRedundancy": { + "description": "The storage account type to be used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "minCapacity": { + "format": "double", + "description": "Minimal capacity that database will always have allocated, if not paused", + "type": "number" + }, + "pausedDate": { + "format": "date-time", + "description": "The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.", "type": "string", "readOnly": true }, - "errorMessage": { - "description": "Error message.", + "resumedDate": { + "format": "date-time", + "description": "The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.", "type": "string", "readOnly": true }, - "privateEndpointConnections": { - "description": "Gets the status of private endpoints associated with this request.", - "type": "array", - "items": { - "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" - }, + "maintenanceConfigurationId": { + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.", + "type": "string" + }, + "isLedgerOn": { + "description": "Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.", + "type": "boolean" + }, + "isInfraEncryptionEnabled": { + "description": "Infra encryption is enabled for this database.", + "type": "boolean", "readOnly": true + }, + "federatedClientId": { + "format": "uuid", + "description": "The Client id used for cross tenant per database CMK scenario", + "type": "string" } } }, - "PrivateEndpointConnectionRequestStatus": { - "description": "Contains the private endpoint connection requests status.", + "DatabaseUserIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", "type": "object", "properties": { - "privateLinkServiceId": { - "description": "Resource id for which the private endpoint is created.", - "type": "string", - "readOnly": true - }, - "privateEndpointConnectionName": { - "description": "The connection name for the private endpoint.", + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", "type": "string", "readOnly": true }, - "status": { - "description": "Status of this private endpoint connection.", + "clientId": { + "format": "uuid", + "description": "The Azure Active Directory client id.", "type": "string", "readOnly": true } } }, - "ImportExportOperationResult": { - "description": "An ImportExport operation result resource.", - "type": "object", - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" - } + "ExportDatabaseDefinition": { + "description": "Contains the information necessary to perform export database operation.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" ], + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/ImportExportOperationResultProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] } } }, - "ExportDatabaseDefinition": { - "description": "Contains the information necessary to perform export database operation.", + "ImportExistingDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for existing database.", "required": [ "storageKeyType", "storageKey", @@ -1531,21 +1720,151 @@ ] } } + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "ImportExportOperationResultProperties": { + "description": "Contains the operation result properties for import/export operation.", + "type": "object", + "properties": { + "requestId": { + "format": "uuid", + "description": "Request Id.", + "type": "string", + "readOnly": true + }, + "requestType": { + "description": "Request type.", + "type": "string", + "readOnly": true + }, + "queuedTime": { + "description": "Queued time.", + "type": "string", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Last modified time.", + "type": "string", + "readOnly": true + }, + "blobUri": { + "description": "Blob Uri.", + "type": "string", + "readOnly": true + }, + "serverName": { + "description": "Server name.", + "type": "string", + "readOnly": true + }, + "databaseName": { + "description": "Database name.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Operation status.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "Error message.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Gets the status of private endpoints associated with this request.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionRequestStatus" + }, + "readOnly": true + } + } + }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "PrivateEndpointConnectionRequestStatus": { + "description": "Contains the private endpoint connection requests status.", + "type": "object", + "properties": { + "privateLinkServiceId": { + "description": "Resource id for which the private endpoint is created.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnectionName": { + "description": "The connection name for the private endpoint.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of this private endpoint connection.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceMoveDefinition": { + "description": "Contains the information necessary to perform a resource move (rename).", + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "description": "The target ID for the resource", + "type": "string" + } + } } }, "parameters": { - "ServerNameParameter": { - "name": "serverName", + "DatabaseNameParameter": { + "name": "databaseName", "in": "path", - "description": "The name of the server.", + "description": "The name of the database.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, - "DatabaseNameParameter": { - "name": "databaseName", + "ServerNameParameter": { + "name": "serverName", "in": "path", - "description": "The name of the database.", + "description": "The name of the server.", "required": true, "type": "string", "x-ms-parameter-location": "method" diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json new file mode 100644 index 000000000000..1645b2b5fc46 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw", + "restorePointInTime": "2022-01-22T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json new file mode 100644 index 000000000000..4ee8092543fc --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-WestUS", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "westus", + "properties": { + "createMode": "Recovery", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json new file mode 100644 index 000000000000..d1d7a118186f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-05-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-05-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "Restore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/Databases.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/Databases.json index 8a885be548af..c45479105c9a 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/Databases.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/Databases.json @@ -145,7 +145,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Creating or updating the database is in progress." @@ -191,6 +191,15 @@ }, "Creates a database with ledger on.": { "$ref": "./examples/CreateDatabaseLedger.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a restore point of an existing database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionPITR.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a geo-backup.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRecovery.json" + }, + "Creates a data warehouse database as a cross-subscription restore from a backup of a dropped database.": { + "$ref": "./examples/CreateDwDatabaseCrossSubscriptionRestore.json" } } }, @@ -278,7 +287,7 @@ } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidDatabaseCreateOrUpdateRequest - The request body for the create or update database operation is invalid.\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 InvalidSourceDatabaseId - Invalid source database identifier.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MissingCollation - Collation is required.\n\n * 400 MissingMaxSizeBytes - MaxSizeBytes is required.\n\n * 400 MissingSkuName - Sku name is required.\n\n * 400 MissingSourceDatabaseId - Missing source database identifier.\n\n * 400 InvalidLicenseType - The specified license type is invalid.\n\n * 400 InvalidSkuName - Invalid SKU name.\n\n * 400 MismatchedSkuNameAndCapacity - Mismatch between SKU name and capacity.\n\n * 400 MismatchedSkuNameAndTier - Mismatch between SKU name and tier.\n\n * 400 MismatchedSkuNameAndFamily - Mismatch between SKU name and family.\n\n * 400 LedgerNotAllowedWithSpecifiedCreateMode - IsLedgerOn is not allowed with the specified create mode.\n\n * 400 LedgerNotAllowedOnSampleDatabase - Database creation is not allowed with IsLedgerOn for a sample database.\n\n * 400 DatabaseNameDoesNotMatchSourceDatabaseId - The database name specified doesn’t match the database name in sourceDatabaseId.\n\n * 400 ElasticPoolNotSupportedForExternalBackupRestore - Elastic pool is not supported for external backup restore\n\n * 400 InvalidRecoverableDatabaseId - Invalid recoverable database identifier.\n\n * 400 InvalidRecoveryServicesRecoveryPointId - Invalid recovery services recovery point identifier.\n\n * 400 InvalidRestorableDroppedDatabaseDeletionDate - The restorable dropped database deletion date given is invalid\n\n * 400 InvalidRestorableDroppedDatabaseId - Invalid restorable dropped database identifier\n\n * 400 MissingRecoverableDatabaseId - Missing recoverable database identifier.\n\n * 400 MissingRecoveryServicesRecoveryPointId - Missing recovery services recovery point Id.\n\n * 400 MissingRestorableDroppedDatabaseId - Missing restorableDroppedDatabaseId\n\n * 400 MissingRestorePointInTime - Missing restore point in time\n\n * 400 MissingSourceDatabaseDeletionDate - Missing source database deletion date\n\n * 400 MissingStorageContainerSasToken - Missing storage container SAS token\n\n * 400 MissingStorageContainerUri - Missing storage container URI\n\n * 400 RestorableDroppedDatabaseIdGivenForRestoreWithSourceDatabaseId - Cannot specify restorableDroppedDatabaseId when sourceDatabaseId is already given in restore create mode\n\n * 400 MultipleIdentitiesOnDatabase - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 MultipleIdentityDelegationsOnDatabase - Only one identity delegation is supported at the Database Level.\n\n * 400 MissingPrimaryDelegatedIdentityClientId - In order to use delegated identities please provide a primary delegated identity client id.\n\n * 400 LongTermRetentionMigrationRequestNotSupported - Subscription is not allowed LTR backup Migration feature.\n\n * 400 LongTermRetentionMigrationCrossClusterRequestNotSupported - Source and target subscriptions are not allowed to communicate for LTR backup copy feature.\n\n * 400 LongTermRetentionMigrationParameterMissing - Required parameter missing for the operation.\n\n * 400 LongTermRetentionMigrationSameServerNotSupported - LTR Copy feature is not supported to copy LTR backups within same server.\n\n * 400 LongTermRetentionMigrationTargetServerNotFound - Target server does not exists or is not ready for LTR backup copy operation.\n\n * 400 LongTermRetentionMigrationTargetDatabaseNotFound - Target Database does not exists on the server.\n\n * 400 LongTermRetentionMigrationStorageTypeNotSupported - Specified Backup Storage Redundancy is not supported in target region.\n\n * 400 LongTermRetentionMigrationStorageMismatch - Active backup redundancy of database does not match backup redundancy requested by customer.\n\n * 400 LongTermRetentionMigrationDatabaseTypeNotSupported - LTR migration is only supported for managed instance and Azure SQL DB LTR backups.\n\n * 400 LongTermRetentionMigrationBackupStorageRedundancyNotAllowed - Changing backup storage redundancy is not allowed for LTR Copy operations.\n\n * 400 LongTermRetentionMigrationSubscriptionNotFound - The subscription could not be found.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 LongTermRetentionMigrationBackupNotFound - LTR backup specified does not exists.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 LongTermRetentionMigrationRequestConflict - A conflict operation on this LTR backup is still in progress.\n\n * 409 LongTermRetentionMigrationBackupConflict - Another LTR backup with same backup time for target database exists.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 LongTermRetentionMigrationRequestFailedToStartOnTarget - Failed to start LTR backup copy request in target region.\n\n * 500 LongTermRetentionMigrationRequestCopyFailed - Copy operation failed for LTR backup blobs.\n\n * 500 LongTermRetentionMigrationRestoreVerExceeded - Restore verification failed after max attempts were reached.\n\n * 500 LongTermRetentionMigrationRestoreVerFailed - Restore verification failed.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Updating the database is in progress." @@ -298,13 +307,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { + "post": { "tags": [ "Databases" ], - "description": "Gets a list of databases in an elastic pool.", - "operationId": "Databases_ListByElasticPool", + "description": "Exports a database.", + "operationId": "Databases_Export", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -313,11 +322,16 @@ "$ref": "#/parameters/ServerNameParameter" }, { - "name": "elasticPoolName", - "in": "path", - "description": "The name of the elastic pool.", + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database export request parameters.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ExportDatabaseDefinition" + } }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" @@ -328,21 +342,25 @@ ], "responses": { "200": { - "description": "Successfully retrieved a list of databases in an elastic pool.", + "description": "Successfully exported the database.", "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/ImportExportOperationResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 InvalidImportExportInputParameter - The import/export request failed due to an invalid input parameter.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Exporting the database is in progress." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a list of databases in an elastic pool.": { - "$ref": "./examples/ListDatabasesByElasticPool.json" + "Exports a database.": { + "$ref": "./examples/ExportDatabase.json" + }, + "Exports a database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" } } } @@ -409,13 +427,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { + "post": { "tags": [ "Databases" ], - "description": "Gets a list of inaccessible databases in a logical server", - "operationId": "Databases_ListInaccessibleByServer", + "description": "Imports a bacpac into a new database.", + "operationId": "Databases_Import", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -423,6 +441,18 @@ { "$ref": "#/parameters/ServerNameParameter" }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "description": "The database import request parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/ImportExistingDatabaseDefinition" + } + }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -432,21 +462,77 @@ ], "responses": { "200": { - "description": "Successfully retrieved the list of inaccessible databases in a logical server", + "description": "Successfully imported the database.", "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/ImportExportOperationResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." + "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 InvalidImportExportInputParameter - The import/export request failed due to an invalid input parameter.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." + }, + "202": { + "description": "Importing the database is in progress." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Imports to an existing empty database.": { + "$ref": "./examples/ImportDatabase.json" + }, + "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { + "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { + "post": { + "tags": [ + "Databases" + ], + "description": "Renames a database.", + "operationId": "Databases_Rename", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "databaseName", + "in": "path", + "description": "The name of the database to rename.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The resource move definition for renaming this database.", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceMoveDefinition" + } + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully renamed the database." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + } }, "x-ms-examples": { - "Gets a list of inaccessible databases in a logical server": { - "$ref": "./examples/ListVCoreInaccessibleDatabasesByServer.json" + "Renames a database.": { + "$ref": "./examples/RenameDatabase.json" } } } @@ -584,7 +670,7 @@ "description": "Successfully upgraded the data warehouse." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." + "description": "*** Error Responses: ***\n\n * 400 InvalidCollation - Collation is not recognized by the server.\n\n * 400 ProvisioningDisabled - Displays error message from resources operation authorizer as is, without changes\n\n * 400 CannotUpdateIsLedgerDatabase - The ledger property of an existing database cannot be updated.\n\n * 400 UnableToResolveRemoteServer - The remote partner server name could not be resolved due to an invalid server name or DNS connectivity issues.\n\n * 400 ElasticPoolOverStorageUsage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 RemoteDatabaseCopyPermission - User does not have sufficient permission to create a database copy on the specified server.\n\n * 400 UpdateNotAllowedInCurrentReplicationState - The operation is disallowed on the database in its current replication state.\n\n * 400 SourceDatabaseNotFound - The source database does not exist.\n\n * 400 InvalidPublicMaintenanceConfiguration - User tried to specify public maintenance configuration which cannot be converted to internal id (malformed or wrong region).\n\n * 400 GeoReplicaLimitReached - The per-replica replication limit was reached.\n\n * 400 MaintenanceWindowNotSupportedForNamedReplica - User tried to create or update named replica with non-default maintenance window which is not supported.\n\n * 400 ReplicationSourceAndTargetMustHaveSameName - The replication source and target databases must have the same name.\n\n * 400 ReplicationSourceAndTargetMustBeInDifferentServers - The replication source and target databases must be in different logical servers.\n\n * 400 ChangeUnsupportedOnEntity - User attempted an unsupported create/update/delete operation on a given entity.\n\n * 400 TierChangeUnsupportedDueToCDCEnabledDatabase - The database cannot update its sku because it is enabled for CDC.\n\n * 400 PartnerDBNotCompatibleForSGXEnclave - Attempt to set GeoDR link or update SLO for enclave enabled database is only supported when both database are running on DC-series hardware.\n\n * 400 TierChangeUnsupportedDueToMemoryOptimizedObject - The database cannot update its sku because it has memory-optimized objects.\n\n * 400 SourceServerNotFound - The server part of a source database id provided in a CreateDatabaseAsCopy API call doesn't map to an existing server.\n\n * 400 InvalidDatabaseCreateMode - Invalid request to create a database.\n\n * 400 MissingAsymmetricKeyOnTargetServer - Target server does not have access to an asymmetric key.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 InvalidAddSecondaryPermission - User does not have sufficient permission to add secondary on the specified server.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CurrentDatabaseLogSizeExceedsMaxSize - User attempted to change the database to a sku with lower max log size than the current usage.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 IsLedgerDatabaseIsNotSupportedOnResourceType - Changing the ledger property is not supported for this resource type.\n\n * 400 InvalidSku - The user specified an invalid sku.\n\n * 400 InvalidTierSkuCombination - The specified tier does not support the specified sku.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 OfferDisabledOnSubscription - Subscription offer type is restricted from provisioning the requested resource.\n\n * 400 InvalidTargetSubregion - The target server of a non-readable secondary is not in a DR paired Azure region.\n\n * 400 UnableToCreateGeoChain - User attempted to create secondary database (chaining) even though automatic upload of ledger digests has been configured\n\n * 400 PartnerServerNotCompatible - The user is attempting to copy a database from a SAWA V1 server to a Sterling server or vice versa.\n\n * 400 IncorrectReplicationLinkState - The operation expects the database to be in an expected state on the replication link.\n\n * 400 TargetElasticPoolDoesNotExist - The elastic pool does not exist on a server.\n\n * 400 CurrentDatabaseSizeExceedsMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 ElasticPoolSkuCombinationInvalid - Elastic pool and sku can be specified together only if sku is specified as 'ElasticPool'.\n\n * 400 ElasticPoolTierCombinationInvalid - The database tier is different than the elastic pool service tier.\n\n * 400 ElasticPoolNameRequired - User tried to create or update database to elastic pool service objective without specifying the name of the elastic pool.\n\n * 400 AzureKeyVaultKeyDisabled - The operation could not be completed on the server because the Azure Key Vault key is disabled.\n\n * 400 AzureKeyVaultInvalidExpirationDate - The operation could not be completed because the Azure Key Vault key expiration date is invalid.\n\n * 400 SecurityAzureKeyVaultUrlNullOrEmpty - The operation could not be completed because the Azure Key Vault Uri is null or empty.\n\n * 400 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured.\n\n * 400 AzureKeyVaultInvalidUri - An invalid response from Azure Key Vault. Please use a valid Azure Key Vault URI.\n\n * 400 ElasticPoolInconsistentDtuGuaranteeSettings - Attempting to provide DTU min for databases in the elastic pool that exceeds requested DTUs of the elastic pool.\n\n * 400 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault. \n\n * 400 InvalidReadScaleEdition - User attempted to enable read scale on a database type that does not support it.\n\n * 400 InvalidReadScaleUnits - User attempted to provide a read scale value that is not supported.\n\n * 400 SecurityAzureKeyVaultInvalidKeyName - The operation could not be completed because of an invalid Server Key name.\n\n * 400 ElasticPoolDatabaseCountOverLimit - Attempting to create or add database to elastic pool when the database count limit of the elastic pool has been reached.\n\n * 400 CannotChangeToOrFromDataWarehouseTier - User attempted to change the sku of a database from DataWarehouse tier to non DataWarehouse tiers or vice versa.\n\n * 400 GeoSecondaryMaxSizeUpdateFailed - The geo-secondary database is of a SLO that does not support the requested maxsize value or the geo-secondary is in an unsupported region or an update operation is already in progress on the geo-secondary database.\n\n * 400 AdalGenericError - The operation could not be completed because an Azure Active Directory error was encountered.\n\n * 400 AdalServicePrincipalNotFound - The operation could not be completed because an Azure Active Directory library Service Principal not found error was encountered.\n\n * 400 AzureKeyVaultMalformedVaultUri - The provided Key Vault uri is not valid.\n\n * 400 ElasticPoolDecreaseStorageLimitBelowUsage - Attempting to decrease the storage limit of the elastic pool below its storage usage.\n\n * 400 UpdateNotAllowedOnPausedDatabase - User attempted to perform an update on a paused database.\n\n * 400 RequestedDatabaseSizeRequiresShrink - User attempted to ALTER DATABASE MODIFY MAXSIZE to modify the MAXSIZE for a database to a smaller size then the current size.\n\n * 400 CurrentDatabaseSizeExceedsDbMaxSize - User attempted to reduce the max size for a database to a size smaller than the current usage.\n\n * 400 CannotAssignIdentityToMaster - Cannot assign an identity to a system database. Database identity cannot be assigned to 'master', 'model', 'tempdb', 'msdb', or 'resource' databases.\n\n * 400 CannotUseTrailingWhitespacesInDatabaseName - The database name validation failed.\n\n * 400 RegionDoesNotSupportVersion - A user attempted to create a server of a specified version in a location where that server version isn't supported.\n\n * 400 SecurityAdalPrincipalCertExpiredError - The operation could not be completed because the Azure Key Vault principal certificate has expired.\n\n * 400 SecurityInvalidAzureKeyVaultRecoveryLevel - The provided Key Vault uri is not valid.\n\n * 400 KeyMaterialNotFoundOnRemoteServer - Remote server does not have access to key material used as a TDE protector.\n\n * 400 SourceDatabaseEditionCouldNotBeUpgraded - The source database cannot have higher edition than the target database.\n\n * 400 AzureKeyVaultRsaKeyNotSupported - The provided key vault uses unsupported RSA Key Size or Key Type. The supported RSA key size is 2048 or 3072 and Key Type is RSA or RSA-HSM.\n\n * 400 TargetDatabaseEditionCouldNotBeDowngraded - The target database cannot have lower edition than the source database.\n\n * 400 UpdateNotAllowedIfGeoDrOperationInProgress - The operation is disallowed because copy or failover operation for database '{0}' on server '{1}' is currently in progress.\n\n * 400 ElasticPoolOverFileSpace - Insufficient file space in the elastic pool.\n\n * 400 SecurityAzureKeyVaultGeoChainError - Creating secondary of secondary (a process known as chaining) is not supported when enabling Transparent Data Encryption using Azure Key Vault (BYOK).\n\n * 400 InvalidLicenseType - User tried to create or update a database or elastic pool with unsupported license type.\n\n * 400 UnsupportedCapacity - User tried to create or update database with capacity which is not supported.\n\n * 400 RestoreToFreeEditionNotSupported - Restore and GeoRestore target cannot be free database.\n\n * 400 RestoreNotSupportedForFreeEdition - Restore and GeoRestore are not supported for free database.\n\n * 400 InvalidDroppedDatabase - Source database dropped does not exist on server within the supported recovery period.\n\n * 400 InvalidLiveDatabase - Source database does not exist on server within the supported recovery period. If restoring a dropped database, please specify its deletion date.\n\n * 400 InvalidVldbRecoverySlo - The Hyperscale edition recovery requires both source and target databases to use Hyperscale service level objective.\n\n * 400 InvalidVldbRestoreSlo - The Hyperscale edition Point-In-Time restore requires both source and target databases to use Hyperscale service level objective.\n\n * 400 CannotSpecifyPoolOrSlo - Specifying an elastic pool and/or changing the service level objective or edition is not supported for edition.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 400 JobAgentDatabaseEditionUnsupported - The specified database's service level objective is not supported for use as a job agent database.\n\n * 400 CannotUpdateToFreeDatabase - Updating a database to the free sku is not supported.\n\n * 400 InvalidBackupStorageAccountType - User passed zrs/lrs during create/update of a database but it failed either because the customer is not whitelisted or because zrs is not available in the specified region.\n\n * 400 DatabaseInvalidSkuPropertyCombination - The properties of the requested sku are inconsistent. Please check that a valid combination is specified. See https://docs.microsoft.com/en-us/rest/api/sql/capabilities/listbylocation#serviceobjectivecapability for more details.\n\n * 400 DatabaseNamedReplicaPerDatabaseLimitExceeded - User tried create a named replica that would exceed the allowed number per primary database\n\n * 400 DatabaseIsCurrentlyPinned - Microsoft has pinned your database SQL Server engine version. To ensure your database does not hit production issues, any future scale operations on your database will be blocked until it has been un-pinned. Please contact Microsoft support for assistance with scaling.\n\n * 400 RestoreTargetEditionSizeInsufficient - User attempted to restore a database to an edition that is a smaller size than the current allocated size of the source.\n\n * 400 InvalidIdentityId - One or more identity id(s) provided are not valid ARM resource id(s). Please input valid id(s) and try again.\n\n * 400 DatabaseCreationBlockedForNonActivatedCMKServer - SQL Pool creations are blocked for CMK enabled workspaces until the workspace is activated. First, enable purge protection and grant the workspace Managed Identity the required permissions (Get, Wrap Key, Unwrap Key) on the Azure Key Vault of the workspace key. Next, activate your workspace after you have granted access.\n\n * 400 InvalidNumberOfIdentities - Only one user assigned managed identity is supported at the Database Level.\n\n * 400 DatabaseNamedReplicaChainingNotAllowed - User tried to create a named replica of a named replica which is not allowed.\n\n * 400 DatabaseNamedReplicaInvalidOperation - User attempted an unsupported operation on a named replica.\n\n * 400 ServerNotFound - The requested server was not found.\n\n * 400 DatabaseNamedReplicaInvalidSourceDatabase - User attempted to create a named replica in a different subscription or region than the source database.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 MissingThumbprintCrm - The restore operation of a CRM database failed because a required TDE certificate was missing. Please retry the restore operation to an existing elastic pool.\n\n * 400 ElasticPoolOverStorage - Attempting to write data to a database when the storage limit of the elastic pool has been reached.\n\n * 400 ElasticPoolInconsistentVcoreGuaranteeSettings - The number of databases and VCore min per database cannot exceed requested VCores of the elastic pool.\n\n * 400 InvalidMaxSizeTierCombination - The specified tier does not support the specified database max size.\n\n * 400 InvalidTier - The user specified an invalid tier.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 InvalidServerName - Invalid server name specified.\n\n * 400 UpgradeOnlyAllowedOnDataWarehouseInstances - User attempted to upgrade non-datawarehouse instance.\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 405 UnsupportedReplicationOperation - An unsupported replication operation was initiated on the database.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 409 InvalidOperationForDatabaseNotInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship.\n\n * 409 RemoteDatabaseExists - The destination database name already exists on the destination server.\n\n * 409 DuplicateGeoDrRelation - The databases are already in a replication relation. This is a duplicate request.\n\n * 409 FreeDbAlreadyExists - Only one free database can exist for a subscription per region.\n\n * 409 ConflictingServerOperation - An operation is currently in progress for the server.\n\n * 409 SubscriptionDisabled - Subscription is disabled.\n\n * 409 ConflictingSystemOperationInProgress - A system maintenance operation is in progress on the database and further operations need to wait until it is completed.\n\n * 409 SkuAssignmentInProgress - The current assignment request cannot be processed because a previous request has not completed.\n\n * 409 CurrentMemoryUsageExceedsSkuQuota - User attempted an sku update operation that cannot be completed due to the higher resource consumption.\n\n * 409 ServerDtuQuotaExceeded - Could not perform the operation because server would exceed the allowed Database Throughput Unit quota.\n\n * 409 ServerKeyNameAlreadyExists - The server key already exists on the server.\n\n * 409 ServerKeyUriAlreadyExists - The server key URI already exists on the server.\n\n * 409 UnableToAlterDatabaseInReplication - User altered edition on a database in a replication relationship.\n\n * 409 ServerKeyDoesNotExists - The server key does not exist.\n\n * 409 UpdateSloInProgress - User tried to initiate an incompatible operation while a SLO update was in progress.\n\n * 409 UpdateSloFailedDatabaseTooBusy - Update SLO operation could not complete because database was too busy.\n\n * 409 AzureKeyVaultKeyNameNotFound - The operation could not be completed because the Azure Key Vault Key name does not exist.\n\n * 409 AzureKeyVaultKeyInUse - The key is currently being used by the server.\n\n * 409 ElasticPoolBusy - A management operation was attempted on an elastic pool which is busy.\n\n * 409 SimultaneousSkuChangeNotAllowed - Service objective change operations cannot run on both databases of a replication relationship at the same time.\n\n * 409 TargetElasticPoolBeingUpdated - The update of elastic pool cannot be started because there is copy operation in progress for one of the databases in this elastic pool\n\n * 409 DatabaseCopyLimitPerReplicaReached - User reached the limit of concurrent database copies.\n\n * 409 ConflictRequestToUpdateBackupRedundancy - A conflict request to change backup storage redundancy is still in progress.\n\n * 409 DatabaseElasticPoolMaintenanceConflict - User tried to create or update a database with a specified maintenance configuration that conflicted with that of the elastic pool of the database.\n\n * 409 ServerDisabled - Server is disabled.\n\n * 409 ConflictingDatabaseOperation - There is already some operation on the database and the current operation should wait till it is done.\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation.\n\n * 500 ActivateOrDeactivateWorkflowThrottling - Activation or deactivation workflow failed because there are too many concurrent workflows\n\n * 503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed\n\n * 503 AzureKeyVaultGenericConnectionError - The operation could not be completed because an error was encountered when attempting to retrieve Key Vault information .\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." }, "202": { "description": "Upgrading the data warehouse is in progress." @@ -598,13 +684,13 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/move": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/databases": { + "get": { "tags": [ "Databases" ], - "description": "Renames a database.", - "operationId": "Databases_Rename", + "description": "Gets a list of databases in an elastic pool.", + "operationId": "Databases_ListByElasticPool", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -613,21 +699,12 @@ "$ref": "#/parameters/ServerNameParameter" }, { - "name": "databaseName", + "name": "elasticPoolName", "in": "path", - "description": "The name of the database to rename.", + "description": "The name of the elastic pool.", "required": true, "type": "string" }, - { - "name": "parameters", - "in": "body", - "description": "The resource move definition for renaming this database.", - "required": true, - "schema": { - "$ref": "#/definitions/ResourceMoveDefinition" - } - }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -637,26 +714,32 @@ ], "responses": { "200": { - "description": "Successfully renamed the database." + "description": "Successfully retrieved a list of databases in an elastic pool.", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceMoveRequest - The resource move request is invalid.\n\n * 400 InvalidMoveTargetResourceId - The target resource identifier in move request is invalid.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 InvalidIdentifier - The identifier contains NULL or an invalid unicode character.\n\n * 400 DatabaseNameInUse - Database already exists. Choose a different database name.\n\n * 400 TokenTooLong - The provided token is too long.\n\n * 400 CannotMoveOrDropSyncMetadataDatabase - Cannot drop database used as sync metadata database.\n\n * 400 UnsupportedServiceName - The specified name is an invalid name because it contains one or more unsupported unicode characters.\n\n * 400 CannotUseReservedDatabaseName - Cannot use reserved database name in this operation.\n\n * 400 CannotMoveOrDropJobAccountDatabase - Cannot drop database associated with job account.\n\n * 404 SourceDatabaseNotFound - The source database does not exist.\n\n * 409 InvalidOperationForDatabaseInReplicationRelationship - A replication seeding operation was performed on a database that is already in a replication relationship." + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Renames a database.": { - "$ref": "./examples/RenameDatabase.json" + "Gets a list of databases in an elastic pool.": { + "$ref": "./examples/ListDatabasesByElasticPool.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/import": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/inaccessibleDatabases": { + "get": { "tags": [ "Databases" ], - "description": "Imports a bacpac into a new database.", - "operationId": "Databases_Import", + "description": "Gets a list of inaccessible databases in a logical server", + "operationId": "Databases_ListInaccessibleByServer", "parameters": [ { "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" @@ -664,18 +747,6 @@ { "$ref": "#/parameters/ServerNameParameter" }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "description": "The database import request parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/ImportExistingDatabaseDefinition" - } - }, { "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" }, @@ -685,105 +756,65 @@ ], "responses": { "200": { - "description": "Successfully imported the database.", + "description": "Successfully retrieved the list of inaccessible databases in a logical server", "schema": { - "$ref": "#/definitions/ImportExportOperationResult" + "$ref": "#/definitions/DatabaseListResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." - }, - "202": { - "description": "Importing the database is in progress." + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription." } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Imports to an existing empty database.": { - "$ref": "./examples/ImportDatabase.json" - }, - "Imports to an existing empty database, using private link to communicate with SQL server and storage account.": { - "$ref": "./examples/ImportDatabaseWithNetworkIsolation.json" + "Gets a list of inaccessible databases in a logical server": { + "$ref": "./examples/ListVCoreInaccessibleDatabasesByServer.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/export": { - "post": { - "tags": [ - "Databases" - ], - "description": "Exports a database.", - "operationId": "Databases_Export", - "parameters": [ - { - "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - }, - { - "name": "parameters", - "in": "body", - "description": "The database export request parameters.", - "required": true, - "schema": { - "$ref": "#/definitions/ExportDatabaseDefinition" - } - }, - { - "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully exported the database.", - "schema": { - "$ref": "#/definitions/ImportExportOperationResult" - } - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 MissingImportExportInputParameters - Missing ImportExport input parameters.\n\n * 400 PolybaseImportAuthenticationTypeNotSupported - Authentication type parameter is not support for PolybaseImport operation.\n\n * 400 DatabaseExtensionsInvalidOperationMode - Invalid operationMode parameter for database extension.\n\n * 400 DatabaseExtensionsInvalidStorageKeyType - The storage key type must by 'StorageAccessKey'.\n\n * 400 DatabaseExtensionsMissingStorageUri - Storage URI cannot be empty.\n\n * 400 FeatureDisabledOnSelectedEdition - User attempted to use a feature which is disabled on current database edition.\n\n * 400 InvalidOperationType - Provide a valid operation type.\n\n * 400 ImportExportJobError - The ImportExport operation has failed.\n\n * 400 BlockedByOutboundFirewall - The outbound firewall rules blocked the request.\n\n * 404 ResourceNotFound - Invalid request specifying a non-existent resource.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 404 ImportExportOperationIdNotFound - The operation Id for import or export cannot be found.\n\n * 404 ServerNotInSubscription - Specified server does not exist on the specified subscription.\n\n * 409 ImportExportOperationInProgress - There is an import or export operation in progress on the database." - }, - "202": { - "description": "Exporting the database is in progress." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Exports a database.": { - "$ref": "./examples/ExportDatabase.json" - }, - "Exports a database, using private link to communicate with SQL server and storage account.": { - "$ref": "./examples/ExportDatabaseWithNetworkIsolation.json" - } - } - } - } - }, - "definitions": { - "DatabaseListResult": { - "description": "A list of databases.", - "type": "object", - "properties": { - "value": { - "description": "Array of results.", - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "readOnly": true - }, - "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true + } + } + } + }, + "definitions": { + "Database": { + "description": "A database resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" + }, + "kind": { + "description": "Kind of database. This is metadata used for the Azure portal experience.", + "type": "string", + "readOnly": true + }, + "managedBy": { + "description": "Resource that manages the database.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/DatabaseIdentity", + "description": "The Azure Active Directory identity of the database.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true } } }, @@ -825,6 +856,25 @@ } } }, + "DatabaseListResult": { + "description": "A list of databases.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, "DatabaseProperties": { "description": "The database's properties.", "type": "object", @@ -1158,86 +1208,18 @@ "format": "uuid", "description": "The Primary Delegated Identity Client id used for per database CMK - for internal use only", "type": "string" - } - } - }, - "DatabaseUserIdentity": { - "description": "Azure Active Directory identity configuration for a resource.", - "type": "object", - "properties": { - "principalId": { - "format": "uuid", - "description": "The Azure Active Directory principal id.", - "type": "string", - "readOnly": true - }, - "clientId": { - "format": "uuid", - "description": "The Azure Active Directory client id.", - "type": "string", - "readOnly": true - } - } - }, - "Delegation": { - "description": "Delegated Resource Properties - Internal Use Only", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource id of the source resource - Internal Use Only", - "type": "string" - }, - "tenantId": { - "format": "uuid", - "description": "AAD tenant guid of the source resource identity - Internal Use Only.", - "type": "string", - "readOnly": true - } - } - }, - "Database": { - "description": "A database resource.", - "required": [ - "location" - ], - "type": "object", - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/TrackedResource" - } - ], - "properties": { - "sku": { - "$ref": "../../../common/v1/types.json#/definitions/Sku", - "description": "The database SKU.\r\n\r\nThe list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands:\r\n\r\n```azurecli\r\naz sql db list-editions -l -o table\r\n````\r\n\r\n```powershell\r\nGet-AzSqlServerServiceObjective -Location \r\n````\r\n" - }, - "kind": { - "description": "Kind of database. This is metadata used for the Azure portal experience.", - "type": "string", - "readOnly": true }, - "managedBy": { - "description": "Resource that manages the database.", + "sourceResourceId": { + "description": "The resource identifier of the source associated with the create operation of this database.\r\n\r\nWhen sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.\r\n\r\nWhen createMode is PointInTimeRestore, sourceResourceId must be the resource ID of an existing database or existing sql pool, and restorePointInTime must be specified.\r\n\r\nWhen createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.\r\n\r\nWhen createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.\r\n\r\nThis property allows to restore across subscriptions which is only supported for DataWarehouse edition.\r\n\r\nWhen source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant ", "type": "string", - "readOnly": true - }, - "identity": { - "$ref": "#/definitions/DatabaseIdentity", - "description": "The Azure Active Directory identity of the database.", "x-ms-mutability": [ - "read", "create" ] - }, - "properties": { - "$ref": "#/definitions/DatabaseProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true } } }, "DatabaseUpdate": { - "description": "A database resource.", + "description": "A database update resource.", "type": "object", "properties": { "sku": { @@ -1249,7 +1231,7 @@ "description": "Database identity" }, "properties": { - "$ref": "#/definitions/DatabaseProperties", + "$ref": "#/definitions/DatabaseUpdateProperties", "description": "Resource properties.", "x-ms-client-flatten": true }, @@ -1262,106 +1244,529 @@ } } }, - "ResourceMoveDefinition": { - "description": "Contains the information necessary to perform a resource move (rename).", - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "description": "The target ID for the resource", - "type": "string" - } - } - }, - "ImportExistingDatabaseDefinition": { - "description": "Contains the information necessary to perform import operation for existing database.", - "required": [ - "storageKeyType", - "storageKey", - "storageUri", - "administratorLogin", - "administratorLoginPassword" - ], + "DatabaseUpdateProperties": { + "description": "A database update properties.", "type": "object", "properties": { - "storageKeyType": { - "description": "Storage key type.", + "createMode": { + "description": "Specifies the mode of database creation.\r\n\r\nDefault: regular database creation.\r\n\r\nCopy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.\r\n\r\nSecondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.\r\n\r\nPointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.\r\n\r\nRecovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.\r\n\r\nRestore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.\r\n\r\nRestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.\r\n\r\nCopy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.", "enum": [ - "SharedAccessKey", - "StorageAccessKey" + "Default", + "Copy", + "Secondary", + "PointInTimeRestore", + "Restore", + "Recovery", + "RestoreExternalBackup", + "RestoreExternalBackupSecondary", + "RestoreLongTermRetentionBackup", + "OnlineSecondary" ], "type": "string", "x-ms-enum": { - "name": "StorageKeyType", + "name": "CreateMode", "modelAsString": true }, "x-ms-mutability": [ "create" ] }, - "storageKey": { - "description": "Storage key.", + "collation": { + "description": "The collation of the database.", "type": "string", "x-ms-mutability": [ + "read", "create" ] }, - "storageUri": { - "description": "Storage Uri.", - "type": "string", - "x-ms-mutability": [ - "create" - ] + "maxSizeBytes": { + "format": "int64", + "description": "The max size of the database expressed in bytes.", + "type": "integer" }, - "administratorLogin": { - "description": "Administrator login name.", + "sampleName": { + "description": "The name of the sample schema to apply when creating this database.", + "enum": [ + "AdventureWorksLT", + "WideWorldImportersStd", + "WideWorldImportersFull" + ], "type": "string", + "x-ms-enum": { + "name": "SampleName", + "modelAsString": true + }, "x-ms-mutability": [ "create" ] }, - "administratorLoginPassword": { - "description": "Administrator login password.", - "type": "string", - "x-ms-mutability": [ - "create" - ] + "elasticPoolId": { + "description": "The resource identifier of the elastic pool containing this database.", + "type": "string" }, - "authenticationType": { - "description": "Authentication type.", + "sourceDatabaseId": { + "description": "The resource identifier of the source database associated with create operation of this database.", "type": "string", "x-ms-mutability": [ "create" ] }, - "networkIsolation": { - "$ref": "#/definitions/NetworkIsolationSettings", - "description": "Optional resource information to enable network isolation for request.", - "x-ms-mutability": [ - "create" - ] - } - } - }, - "NetworkIsolationSettings": { - "description": "Contains the ARM resources for which to create private endpoint connection.", - "type": "object", - "properties": { - "storageAccountResourceId": { - "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "status": { + "description": "The status of the database.", + "enum": [ + "Online", + "Restoring", + "RecoveryPending", + "Recovering", + "Suspect", + "Offline", + "Standby", + "Shutdown", + "EmergencyMode", + "AutoClosed", + "Copying", + "Creating", + "Inaccessible", + "OfflineSecondary", + "Pausing", + "Paused", + "Resuming", + "Scaling", + "OfflineChangingDwPerformanceTiers", + "OnlineChangingDwPerformanceTiers", + "Disabled", + "Stopping", + "Stopped", + "Starting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DatabaseStatus", + "modelAsString": true + } + }, + "databaseId": { + "format": "uuid", + "description": "The ID of the database.", + "type": "string", + "readOnly": true + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "currentServiceObjectiveName": { + "description": "The current service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "requestedServiceObjectiveName": { + "description": "The requested service level objective name of the database.", + "type": "string", + "readOnly": true + }, + "defaultSecondaryLocation": { + "description": "The default secondary region for this database.", + "type": "string", + "readOnly": true + }, + "failoverGroupId": { + "description": "Failover Group resource identifier that this database belongs to.", + "type": "string", + "readOnly": true + }, + "restorePointInTime": { + "format": "date-time", + "description": "Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sourceDatabaseDeletionDate": { + "format": "date-time", + "description": "Specifies the time that the database was deleted.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoveryServicesRecoveryPointId": { + "description": "The resource identifier of the recovery point associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "longTermRetentionBackupResourceId": { + "description": "The resource identifier of the long term retention backup associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "recoverableDatabaseId": { + "description": "The resource identifier of the recoverable database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "restorableDroppedDatabaseId": { + "description": "The resource identifier of the restorable dropped database associated with create operation of this database.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "catalogCollation": { + "description": "Collation of the metadata catalog.", + "enum": [ + "DATABASE_DEFAULT", + "SQL_Latin1_General_CP1_CI_AS" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogCollationType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneRedundant": { + "description": "Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.", + "type": "boolean" + }, + "licenseType": { + "description": "The license type to apply for this database. `LicenseIncluded` if you need a license, or `BasePrice` if you have a license and are eligible for the Azure Hybrid Benefit.", + "enum": [ + "LicenseIncluded", + "BasePrice" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseLicenseType", + "modelAsString": true + } + }, + "maxLogSizeBytes": { + "format": "int64", + "description": "The max log size for this database.", + "type": "integer", + "readOnly": true + }, + "earliestRestoreDate": { + "format": "date-time", + "description": "This records the earliest start date and time that restore is available for this database (ISO8601 format).", + "type": "string", + "readOnly": true + }, + "readScale": { + "description": "The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DatabaseReadScale", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "highAvailabilityReplicaCount": { + "format": "int32", + "description": "The number of secondary replicas associated with the database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.", + "type": "integer" + }, + "secondaryType": { + "description": "The secondary type of the database if it is a secondary. Valid values are Geo and Named.", + "enum": [ + "Geo", + "Named" + ], + "type": "string", + "x-ms-enum": { + "name": "SecondaryType", + "modelAsString": true + } + }, + "currentSku": { + "$ref": "../../../common/v1/types.json#/definitions/Sku", + "description": "The name and tier of the SKU.", + "readOnly": true + }, + "autoPauseDelay": { + "format": "int32", + "description": "Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled", + "type": "integer" + }, + "currentBackupStorageRedundancy": { + "description": "The storage account type used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "requestedBackupStorageRedundancy": { + "description": "The storage account type to be used to store backups for this database.", + "enum": [ + "Geo", + "Local", + "Zone", + "GeoZone" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupStorageRedundancy", + "modelAsString": true + } + }, + "minCapacity": { + "format": "double", + "description": "Minimal capacity that database will always have allocated, if not paused", + "type": "number" + }, + "pausedDate": { + "format": "date-time", + "description": "The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.", + "type": "string", + "readOnly": true + }, + "resumedDate": { + "format": "date-time", + "description": "The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.", + "type": "string", + "readOnly": true + }, + "maintenanceConfigurationId": { + "description": "Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.", + "type": "string" + }, + "isLedgerOn": { + "description": "Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.", + "type": "boolean" + }, + "isInfraEncryptionEnabled": { + "description": "Infra encryption is enabled for this database.", + "type": "boolean", + "readOnly": true + }, + "federatedClientId": { + "format": "uuid", + "description": "The Client id used for cross tenant per database CMK scenario", + "type": "string" + }, + "primaryDelegatedIdentityClientId": { + "format": "uuid", + "description": "The Primary Delegated Identity Client id used for per database CMK - for internal use only", + "type": "string" + } + } + }, + "DatabaseUserIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "clientId": { + "format": "uuid", + "description": "The Azure Active Directory client id.", + "type": "string", + "readOnly": true + } + } + }, + "Delegation": { + "description": "Delegated Resource Properties - Internal Use Only", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource id of the source resource - Internal Use Only", + "type": "string" + }, + "tenantId": { + "format": "uuid", + "description": "AAD tenant guid of the source resource identity - Internal Use Only.", + "type": "string", + "readOnly": true + } + } + }, + "ExportDatabaseDefinition": { + "description": "Contains the information necessary to perform export database operation.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, "x-ms-mutability": [ "create" ] }, - "sqlServerResourceId": { - "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ImportExistingDatabaseDefinition": { + "description": "Contains the information necessary to perform import operation for existing database.", + "required": [ + "storageKeyType", + "storageKey", + "storageUri", + "administratorLogin", + "administratorLoginPassword" + ], + "type": "object", + "properties": { + "storageKeyType": { + "description": "Storage key type.", + "enum": [ + "SharedAccessKey", + "StorageAccessKey" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageKeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create" + ] + }, + "storageKey": { + "description": "Storage key.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "storageUri": { + "description": "Storage Uri.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLogin": { + "description": "Administrator login name.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "administratorLoginPassword": { + "description": "Administrator login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "authenticationType": { + "description": "Authentication type.", "type": "string", "x-ms-mutability": [ "create" ] + }, + "networkIsolation": { + "$ref": "#/definitions/NetworkIsolationSettings", + "description": "Optional resource information to enable network isolation for request.", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "ImportExportOperationResult": { + "description": "An ImportExport operation result resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ImportExportOperationResultProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true } } }, @@ -1425,6 +1830,26 @@ } } }, + "NetworkIsolationSettings": { + "description": "Contains the ARM resources for which to create private endpoint connection.", + "type": "object", + "properties": { + "storageAccountResourceId": { + "description": "The resource id for the storage account used to store BACPAC file. If set, private endpoint connection will be created for the storage account. Must match storage account used for StorageUri parameter.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlServerResourceId": { + "description": "The resource id for the SQL server which is the target of this request. If set, private endpoint connection will be created for the SQL server. Must match server which is target of the operation.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, "PrivateEndpointConnectionRequestStatus": { "description": "Contains the private endpoint connection requests status.", "type": "object", @@ -1446,106 +1871,33 @@ } } }, - "ImportExportOperationResult": { - "description": "An ImportExport operation result resource.", - "type": "object", - "allOf": [ - { - "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ImportExportOperationResultProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, - "ExportDatabaseDefinition": { - "description": "Contains the information necessary to perform export database operation.", + "ResourceMoveDefinition": { + "description": "Contains the information necessary to perform a resource move (rename).", "required": [ - "storageKeyType", - "storageKey", - "storageUri", - "administratorLogin", - "administratorLoginPassword" + "id" ], "type": "object", "properties": { - "storageKeyType": { - "description": "Storage key type.", - "enum": [ - "SharedAccessKey", - "StorageAccessKey" - ], - "type": "string", - "x-ms-enum": { - "name": "StorageKeyType", - "modelAsString": true - }, - "x-ms-mutability": [ - "create" - ] - }, - "storageKey": { - "description": "Storage key.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, - "storageUri": { - "description": "Storage Uri.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, - "administratorLogin": { - "description": "Administrator login name.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, - "administratorLoginPassword": { - "description": "Administrator login password.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, - "authenticationType": { - "description": "Authentication type.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, - "networkIsolation": { - "$ref": "#/definitions/NetworkIsolationSettings", - "description": "Optional resource information to enable network isolation for request.", - "x-ms-mutability": [ - "create" - ] + "id": { + "description": "The target ID for the resource", + "type": "string" } } } }, "parameters": { - "ServerNameParameter": { - "name": "serverName", + "DatabaseNameParameter": { + "name": "databaseName", "in": "path", - "description": "The name of the server.", + "description": "The name of the database.", "required": true, "type": "string", "x-ms-parameter-location": "method" }, - "DatabaseNameParameter": { - "name": "databaseName", + "ServerNameParameter": { + "name": "serverName", "in": "path", - "description": "The name of the database.", + "description": "The name of the server.", "required": true, "type": "string", "x-ms-parameter-location": "method" diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/ManagedDatabaseSensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/ManagedDatabaseSensitivityLabels.json index 6c3cfee19120..9ca9ed1b68ce 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/ManagedDatabaseSensitivityLabels.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/ManagedDatabaseSensitivityLabels.json @@ -335,7 +335,7 @@ "description": "Successfully disabled the sensitivity recommendations on the given column." }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, "x-ms-examples": { @@ -412,7 +412,7 @@ "description": "Successfully enabled the sensitivity recommendations on the given column." }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + "description": "*** Error Responses: ***\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, "x-ms-examples": { @@ -422,6 +422,59 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/sensitivityLabels": { + "get": { + "tags": [ + "ManagedDatabaseSensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "ManagedDatabaseSensitivityLabels_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ManagedInstanceNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the current and recommended sensitivity labels of a given database": { + "$ref": "./examples/ManagedDatabaseSensitivityLabelsListByDatabase.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels": { "get": { "tags": [ diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/SensitivityLabels.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/SensitivityLabels.json index 0737b117fae6..89b931ff1a0a 100644 --- a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/SensitivityLabels.json +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/SensitivityLabels.json @@ -300,7 +300,7 @@ "description": "Successfully enabled the sensitivity recommendations on the given column." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, "x-ms-examples": { @@ -373,7 +373,7 @@ "description": "Successfully disabled the sensitivity recommendation on the given column." }, "default": { - "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance." + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 404 SensitivityLabelsColumnNotFound - The column {0} could not be found in table {2}.{1}\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 404 SubscriptionNotFound - The requested subscription was not found.\n\n * 404 CannotFindObject - Cannot find the object because it does not exist or you do not have permissions\n\n * 429 SubscriptionTooManyCreateUpdateRequests - Requests beyond max requests that can be processed by available resources.\n\n * 429 SubscriptionTooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 503 TooManyRequests - Requests beyond max requests that can be processed by available resources.\n\n * 504 RequestTimeout - Service request exceeded the allowed timeout." } }, "x-ms-examples": { @@ -383,6 +383,59 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/sensitivityLabels": { + "get": { + "tags": [ + "SensitivityLabels" + ], + "description": "Gets the sensitivity labels of a given database", + "operationId": "SensitivityLabels_ListByDatabase", + "parameters": [ + { + "$ref": "../../../common/v1/types.json#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "An OData filter expression that filters elements in the collection.", + "required": false, + "type": "string" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../common/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the sensitivity labels.", + "schema": { + "$ref": "#/definitions/SensitivityLabelListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 DatawarehouseDatabaseIsDeactivated - Could not execute Data Classification operation because the database is paused. Please resume it.\n\n * 400 SensitivityLabelsInvalidODataQuery - The specified OData query is either not valid or not supported\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 DatabaseDoesNotExist - User has specified a database name that does not exist on this server instance.\n\n * 503 DatabaseUnavailable - The operation failed because the database is unavailable." + } + }, + "x-ms-odata": "#/definitions/SensitivityLabel", + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the current and recommended sensitivity labels of a given database": { + "$ref": "./examples/SensitivityLabelsListByDatabase.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}": { "get": { "tags": [ diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json new file mode 100644 index 000000000000..b24762e56b1f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionPITR.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-08-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "PointInTimeRestore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw", + "restorePointInTime": "2022-01-22T05:35:31.503Z" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json new file mode 100644 index 000000000000..18ce7e3ccb81 --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRecovery.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-WestUS", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-08-01-preview", + "parameters": { + "location": "westus", + "properties": { + "createMode": "Recovery", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "westus", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-WestUS/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json new file mode 100644 index 000000000000..fbe5cf2f409b --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/CreateDwDatabaseCrossSubscriptionRestore.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "Default-SQL-SouthEastAsia", + "serverName": "testsvr", + "databaseName": "testdw", + "api-version": "2021-08-01-preview", + "parameters": { + "location": "southeastasia", + "properties": { + "createMode": "Restore", + "sourceResourceId": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000" + } + } + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "201": { + "body": { + "sku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "kind": "v12.0,user,datawarehouse,gen2", + "properties": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxSizeBytes": 263882790666240, + "status": "Online", + "databaseId": "188784c9-d602-4684-86cf-e67b6f03551a", + "creationDate": "2022-01-24T06:46:14.99Z", + "currentServiceObjectiveName": "DW1000c", + "requestedServiceObjectiveName": "DW1000c", + "defaultSecondaryLocation": "eastus", + "catalogCollation": "SQL_Latin1_General_CP1_CI_AS", + "readScale": "Disabled", + "currentSku": { + "name": "DataWarehouse", + "tier": "DataWarehouse", + "capacity": 9000 + }, + "currentBackupStorageRedundancy": "Geo" + }, + "location": "southeastasia", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdw", + "name": "testdw", + "type": "Microsoft.Sql/servers/databases" + } + }, + "202": {} + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabase.json new file mode 100644 index 000000000000..80c3410eac0e --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/ManagedDatabaseSensitivityLabelsListByDatabase.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "managedInstanceName": "myManagedInstanceName", + "databaseName": "myDatabase", + "api-version": "2021-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive", + "rank": "Critical" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/myManagedInstanceName/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/managedInstances/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn2", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII", + "rank": "Medium" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/SensitivityLabelsListByDatabase.json b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/SensitivityLabelsListByDatabase.json new file mode 100644 index 000000000000..f5345eee915f --- /dev/null +++ b/specification/sql/resource-manager/Microsoft.Sql/preview/2021-08-01-preview/examples/SensitivityLabelsListByDatabase.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "myRG", + "serverName": "myServer", + "databaseName": "myDatabase", + "api-version": "2021-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn/sensitivityLabels/current", + "name": "current", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn", + "informationType": "Financial", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "05e6eaa1-075a-4fb4-a732-a92215a2444a", + "labelName": "Sensitive" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myRG/providers/Microsoft.Sql/servers/myServer/databases/myDatabase/schemas/dbo/tables/myTable/columns/myColumn2/sensitivityLabels/recommended", + "name": "recommended", + "type": "Microsoft.Sql/servers/databases/schemas/tables/columns/sensitivityLabels", + "properties": { + "schemaName": "dbo", + "tableName": "myTable", + "columnName": "myColumn2", + "informationType": "Email", + "informationTypeId": "d22fa6e9-5ee4-3bde-4c2b-a409604c4646", + "labelId": "bf91e08c-f4f0-478a-b016-25164b2a65ff", + "labelName": "PII" + } + } + ] + } + } + } +} diff --git a/specification/sql/resource-manager/readme.python.md b/specification/sql/resource-manager/readme.python.md index adf8abfbdd1e..fd378b460964 100644 --- a/specification/sql/resource-manager/readme.python.md +++ b/specification/sql/resource-manager/readme.python.md @@ -5,8 +5,7 @@ Please also specify `--python-sdks-folder=" + }, + "sqlStorageUpdateSettings": { + "diskCount": 1, + "startingDeviceId": 2, + "diskConfigurationType": "NEW" + }, + "sqlWorkloadTypeUpdateSettings": { + "sqlWorkloadType": "OLTP" + }, + "additionalFeaturesServerConfigurations": { + "isRServicesEnabled": false + } + }, + "keyVaultCredentialSettings": { + "enable": false + }, + "autoPatchingSettings": { + "enable": true, + "dayOfWeek": "Sunday", + "maintenanceWindowStartingHour": 2, + "maintenanceWindowDuration": 60 + }, + "autoBackupSettings": { + "enable": true, + "retentionPeriod": 17, + "enableEncryption": true, + "password": "", + "backupScheduleType": "Manual", + "backupSystemDbs": true, + "storageAccountUrl": "https://teststorage.blob.core.windows.net/", + "storageContainerName": "testcontainer", + "storageAccessKey": "", + "fullBackupFrequency": "Weekly", + "daysOfWeek": [ + "Monday", + "Friday" + ], + "fullBackupStartTime": 6, + "fullBackupWindowHours": 11, + "logBackupFrequency": 10 + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown", + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..059113c4a573 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "properties": { + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/", + "storageAccountPrimaryKey": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "UpdatingDomainful", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "ProvisioningDomainful", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json new file mode 100644 index 000000000000..345aac7c665f --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMAX.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full", + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "serverConfigurationsManagementSettings": { + "sqlConnectivityUpdateSettings": { + "connectivityType": "PRIVATE", + "port": 1433, + "sqlAuthUpdateUserName": "sqllogin", + "sqlAuthUpdatePassword": "" + }, + "sqlStorageUpdateSettings": { + "diskCount": 1, + "startingDeviceId": 2, + "diskConfigurationType": "NEW" + }, + "sqlWorkloadTypeUpdateSettings": { + "sqlWorkloadType": "OLTP" + }, + "additionalFeaturesServerConfigurations": { + "isRServicesEnabled": false + }, + "sqlInstanceSettings": { + "collation": "SQL_Latin1_General_CP1_CI_AS", + "maxDop": 8, + "isOptimizeForAdHocWorkloadsEnabled": true, + "minServerMemoryMB": 0, + "maxServerMemoryMB": 128 + } + }, + "keyVaultCredentialSettings": { + "enable": false + }, + "autoPatchingSettings": { + "enable": true, + "dayOfWeek": "Sunday", + "maintenanceWindowStartingHour": 2, + "maintenanceWindowDuration": 60 + }, + "autoBackupSettings": { + "enable": true, + "retentionPeriod": 17, + "enableEncryption": true, + "password": "", + "backupScheduleType": "Manual", + "backupSystemDbs": true, + "storageAccountUrl": "https://teststorage.blob.core.windows.net/", + "storageContainerName": "testcontainer", + "storageAccessKey": "", + "fullBackupFrequency": "Daily", + "fullBackupStartTime": 6, + "fullBackupWindowHours": 11, + "logBackupFrequency": 10 + }, + "assessmentSettings": { + "enable": true, + "runImmediately": true, + "schedule": { + "enable": true, + "weeklyInterval": 1, + "monthlyOccurrence": null, + "dayOfWeek": "Sunday", + "startTime": "23:17" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise", + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown", + "sqlManagement": "Full" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json new file mode 100644 index 000000000000..2abd09e8d26d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineMIN.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json new file mode 100644 index 000000000000..b4d1a734fdc9 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "storageConfigurationSettings": { + "diskConfigurationType": "EXTEND", + "sqlDataSettings": { + "luns": [ + 2 + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json new file mode 100644 index 000000000000..f59ce61c8288 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "storageConfigurationSettings": { + "diskConfigurationType": "NEW", + "storageWorkloadType": "OLTP", + "sqlDataSettings": { + "defaultFilePath": "F:\\folderpath\\", + "luns": [ + 0 + ] + }, + "sqlLogSettings": { + "defaultFilePath": "G:\\folderpath\\", + "luns": [ + 1 + ] + }, + "sqlTempDbSettings": { + "defaultFilePath": "D:\\TEMP", + "dataFileSize": 256, + "dataGrowth": 512, + "logFileSize": 256, + "logGrowth": 512, + "dataFileCount": 8 + }, + "sqlSystemDbOnDataDisk": true + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Provisioning", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Unknown" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json new file mode 100644 index 000000000000..90127b27c750 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/CreateOrUpdateVirtualMachineWithVMGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "location": "northeurope", + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "wsfcDomainCredentials": { + "clusterBootstrapAccountPassword": "", + "clusterOperatorAccountPassword": "", + "sqlServiceAccountPassword": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Updating", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + }, + "201": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Provisioning", + "sqlImageSku": "Unknown", + "sqlServerLicenseType": "PAYG", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json new file mode 100644 index 000000000000..9e42f6380e49 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteAvailabilityGroupListener.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json new file mode 100644 index 000000000000..e8b68c4a6a4d --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachine.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm1", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..e692c47e0fdb --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/DeleteSqlVirtualMachineGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetAvailabilityGroupListener.json new file mode 100644 index 000000000000..96c9bab71ee0 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetAvailabilityGroupListener.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "availabilityGroupListenerName": "agl-test", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "availabilityGroupName": "ag-test", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test", + "probePort": 59983, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachine.json new file mode 100644 index 000000000000..46ab88954ba7 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachine.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": {} + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..99bd91119b0e --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/GetSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json new file mode 100644 index 000000000000..e95327d6bde3 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByGroupAvailabilityGroupListener.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "availabilityGroupName": "ag-test", + "loadBalancerConfigurations": [ + { + "privateIpAddress": { + "ipAddress": "10.1.0.112", + "subnetResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default" + }, + "loadBalancerResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Network/loadBalancers/lb-test", + "probePort": 59983, + "sqlVirtualMachineInstances": [ + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm3", + "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2" + ] + } + ], + "port": 1433 + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup/availabilityGroupListeners/agl-test", + "name": "agl-test", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..eecd06841701 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachine.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1", + "name": "testvm1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..8c291cfd39cc --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListByResourceGroupSqlVirtualMachineGroup.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup1", + "name": "testvmgroup1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup2", + "name": "testvmgroup2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json new file mode 100644 index 000000000000..4da4ad4f3d07 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvm", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2014-WS2012R2", + "sqlImageSku": "Enterprise", + "sqlManagement": "LightWeight", + "sqlServerLicenseType": "PAYG", + "sqlVirtualMachineGroupResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/testvmgroup" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListOperation.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListOperation.json new file mode 100644 index 000000000000..8eeabbe70746 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListOperation.json @@ -0,0 +1,153 @@ +{ + "parameters": { + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/read", + "display": { + "resource": "SQL virtual machine group", + "operation": "Get SQL virtual machine group details", + "description": "Retrive details of SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/write", + "display": { + "resource": "SQL virtual machine group", + "operation": "Create a new or update existing SQL virtual machine group", + "description": "Create a new or change properties of existing SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/delete", + "display": { + "resource": "SQL virtual machine group", + "operation": "Delete existing SQL virtual machine group", + "description": "Delete existing SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/read", + "display": { + "resource": "SQL availability group listener", + "operation": "Get availability group listener details", + "description": "Retrieve details of SQL availability group listener on a given SQL virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/write", + "display": { + "resource": "SQL availability group listener", + "operation": "Create new or update existing availability group listener", + "description": "Create a new or changes properties of existing SQL availability group listener" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/availabilityGroupListeners/delete", + "display": { + "resource": "SQL availability group listener", + "operation": "Delete existing availability group listener", + "description": "Delete existing availability group listener" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/sqlVirtualMachines/read", + "display": { + "operation": "List Sql virtual machines by a particular sql virtual virtual machine group", + "description": "List Sql virtual machines by a particular sql virtual virtual machine group" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/redeploy/action", + "display": { + "operation": "Redeploy existing SQL virtual machine", + "description": "Redeploy existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/registerSqlVmCandidate/action", + "display": { + "operation": "Register SQL Vm Candidate", + "description": "Register SQL Vm Candidate" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/availabilityGroupListenerOperationResults/read", + "display": { + "resource": "SQL availability group listener", + "operation": "Get availability group listener operation result", + "description": "Get result of an availability group listener operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/register/action", + "display": { + "resource": "Microsoft SQL Virtual Machine", + "operation": "Register subscription for SQL Virtual Machine", + "description": "Register subscription with Microsoft.SqlVirtualMachine resource provider" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/unregister/action", + "display": { + "resource": "Microsoft SQL Virtual Machine", + "operation": "Unregister subscription for SQL Virtual Machine", + "description": "Unregister subscription with Microsoft.SqlVirtualMachine resource provider" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/operations/read", + "display": { + "resource": "Available REST operations" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineGroupOperationResults/read", + "display": { + "resource": "SQL virtual machine group", + "operation": "Get SQL virtual machine group operation result", + "description": "Get result of a SQL virtual machine group operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/read", + "display": { + "operation": "Get SQL virtual machine instance details", + "description": "Retrieve details of SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/write", + "display": { + "operation": "Create new or update existing SQL virtual machine", + "description": "Create a new or change properties of existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/delete", + "display": { + "operation": "Delete existing SQL virtual machine", + "description": "Delete existing SQL virtual machine" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/locations/sqlVirtualMachineOperationResults/read", + "display": { + "resource": "SQL virtual machine", + "operation": "Get SQL virtual machine operation result", + "description": "Get result of SQL virtual machine operation" + } + }, + { + "name": "Microsoft.SqlVirtualMachine/sqlVirtualMachines/startAssessment/action", + "display": {} + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json new file mode 100644 index 000000000000..d6d36ea40068 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachine.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm1", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm1", + "name": "testvm1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + }, + { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.Compute/virtualMachines/testvm2", + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "sqlServerLicenseType": "PAYG" + }, + "location": "northeurope", + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm2", + "name": "testvm2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..3e50449068cc --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/ListSubscriptionSqlVirtualMachineGroup.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg1/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup1", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + }, + { + "properties": { + "provisioningState": "Succeeded", + "sqlImageOffer": "SQL2016-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "domainFqdn": "testdomain.com", + "ouPath": "OU=WSCluster,DC=testdomain,DC=com", + "clusterBootstrapAccount": "testrpadmin", + "clusterOperatorAccount": "testrp@testdomain.com", + "sqlServiceAccount": "sqlservice@testdomain.com", + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg2/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/", + "name": "testvmgroup2", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + ] + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json new file mode 100644 index 000000000000..d0efa5a06870 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/RedeploySqlVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json new file mode 100644 index 000000000000..d0efa5a06870 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/StartAssessmentOnSqlVirtualMachine.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json new file mode 100644 index 000000000000..731f14999348 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachine.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineName": "testvm", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "virtualMachineResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Compute/virtualMachines/testvm", + "provisioningState": "Updating", + "sqlServerLicenseType": "PAYG", + "sqlImageSku": "Enterprise" + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvm", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json new file mode 100644 index 000000000000..8e8d23c2fe52 --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/examples/UpdateSqlVirtualMachineGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "testrg", + "sqlVirtualMachineGroupName": "testvmgroup", + "api-version": "2021-11-01-preview", + "parameters": { + "tags": { + "mytag": "myval" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "UpdatingDomainful", + "sqlImageOffer": "SQL2017-WS2016", + "sqlImageSku": "Enterprise", + "wsfcDomainProfile": { + "storageAccountUrl": "https://storgact.blob.core.windows.net/" + } + }, + "location": "northeurope", + "tags": { + "mytag": "myval" + }, + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/testvm", + "name": "testvmgroup", + "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json new file mode 100644 index 000000000000..ab8583f07bfa --- /dev/null +++ b/specification/sqlvirtualmachine/resource-manager/Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json @@ -0,0 +1,2287 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-11-01-preview", + "title": "SqlVirtualMachineManagementClient", + "description": "The SQL virtual machine management API provides a RESTful set of web APIs that interact with Azure Compute, Network & Storage services to manage your SQL Server virtual machine. The API enables users to create, delete and retrieve a SQL virtual machine, SQL virtual machine group or availability group listener." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners/{availabilityGroupListenerName}": { + "get": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Gets an availability group listener.", + "operationId": "AvailabilityGroupListeners_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + } + }, + "x-ms-examples": { + "Gets an availability group listener.": { + "$ref": "./examples/GetAvailabilityGroupListener.json" + } + } + }, + "put": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Creates or updates an availability group listener.", + "operationId": "AvailabilityGroupListeners_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The availability group listener.", + "required": true, + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "201": { + "description": "Successfully created the availability group listener.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListener" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates an availability group listener.": { + "$ref": "./examples/CreateOrUpdateAvailabilityGroupListener.json" + } + } + }, + "delete": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Deletes an availability group listener.", + "operationId": "AvailabilityGroupListeners_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "availabilityGroupListenerName", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the availability group listener." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "202": { + "description": "Deleting the availability group listener." + }, + "204": { + "description": "The availability group listener does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes an availability group listener.": { + "$ref": "./examples/DeleteAvailabilityGroupListener.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/availabilityGroupListeners": { + "get": { + "tags": [ + "AvailabilityGroupListeners" + ], + "description": "Lists all availability group listeners in a SQL virtual machine group.", + "operationId": "AvailabilityGroupListeners_ListByGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all availability group listeners in a SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/AvailabilityGroupListenerListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 NoIpAvailable - No available IP.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all availability group listeners in a SQL virtual machine group.": { + "$ref": "./examples/ListByGroupAvailabilityGroupListener.json" + } + } + } + }, + "/providers/Microsoft.SqlVirtualMachine/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available SQL Virtual Machine Rest API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists all of the available SQL Virtual Machine Rest API operations.": { + "$ref": "./examples/ListOperation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-examples": { + "Gets a SQL virtual machine group.": { + "$ref": "./examples/GetSqlVirtualMachineGroup.json" + } + } + }, + "put": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Creates or updates a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine group.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "201": { + "description": "Successfully created the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a SQL virtual machine group.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineGroup.json" + } + } + }, + "delete": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Deletes a SQL virtual machine group.", + "operationId": "SqlVirtualMachineGroups_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL virtual machine group." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 AgDoesNotExist - Availability group does not exist.\n\n * 400 AgListDoesNotMatch - SQL Availability group list does not match the list of virtual machines in SQL Virtual machine group.\n\n * 400 NoIpProvided - At least one IP needs to be provided.\n\n * 400 MoreIpProvided - Only one IP needs to be provided.\n\n * 400 SqlVmGroupDoesNotHaveAGListener - SQL virtual machine group does not have the AG listener.\n\n * 400 AgListenerUpdateNotAllowed - Only handful properties of availability group listener can be updated.\n\n * 400 SqlVmNotInGroup - SQL virtual machine is not part of the group.\n\n * 400 SqlVmListCannotBeEmpty - SQL virtual machines list cannot be empty.\n\n * 400 PublicIpNotIPv4 - Public IP must be IPv4 address.\n\n * 400 PublicIPDynamicAllocation - Public IP allocation mode must be static\n\n * 400 PublicLBInvalid - Load balancer specified is not public.\n\n * 400 SubnetMissingFromPrivateIP - Subnet must be provided with private IP.\n\n * 400 IPNotInSubnet - IP not part of subnet.\n\n * 400 NoActivePrimaryInAG - None of the nodes in AvailabilityGroup are Primary\n\n * 400 MultipleListenerSameAG - Multiple availability group listeners for same availability group are not allowed.\n\n * 400 AgListenerNotEmpty - Availability group listener not empty.\n\n * 400 AgListenerVnetMismatch - Provided VNet for Availability group listener does not match Vnet of internal load balancer.\n\n * 400 InternalLBInvalid - Load balancer specified is not internal.\n\n * 400 InvalidSqlVmResourceIdParameterValue - SQL virtual machine resource id provided is invalid.\n\n * 400 DifferentSubSqlVmList - All SQL virtual machines should be under same subscription.\n\n * 400 OnlyStandardPublicIp - Every virtual machine should have standard public IP.\n\n * 400 ListenerNameTooLong - Listener name should not exceed 15 characters.\n\n * 400 InvalidListenerName - Invalid listener name.\n\n * 400 InvalidLBResourceIdParameterValue - Load balancer resource id is invalid.\n\n * 400 InvalidPublicIpResourceIdParameterValue - Public IP resource id is invalid.\n\n * 400 InvalidSubnetIdParameterValue - Invalid resource id provided for subnet parameter.\n\n * 400 InvalidPrivateIpParameterValue - Invalid address given for private IP address.\n\n * 400 ExtVersionNotSupported - The virtual machine: {0} is running older version of SqlIaasExtension which is not supported by this operation. Please update the extension and retry the operation.\n\n * 400 InvalidReplicaRole - Invalid replica role: {0} specified for SQL VM: {1}.\n\n * 400 InvalidReplicaFailover - Invalid replica Failover: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaReadableSecondary - Invalid replica readable secondary: {0} for SQL VM: {1}.\n\n * 400 InvalidReplicaCommit - Invalid replica commit mode: {0} for SQL VM: {1}.\n\n * 400 ExpectedSynchronousCommitForAutomaticFailover - Invalid replica commit mode: {0} for SQL VM: {1}. {2} is expected for failover mode: {3}.\n\n * 400 NoPrimaryInAg - There are no replicas with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanOnePrimaryInAg - There are more than one replica with primary role. There should be exactly one replica with role as primary.\n\n * 400 MoreThanThreeSynchronousCommitInAg - There are more than three replica with commit mode as: {0}. There should be at most three replica with commit mode as: {0}\n\n * 400 MoreThanEightSecondariesInAg - There are more than eight secondary replica with secondary role. There should be at most eight replica with role as secondary.\n\n * 400 AlwaysOnNotEnabled - Always on feature is not enabled on Virtual machine: {0}.\n\n * 400 ExpectedReplicaNotPrimary - The VM: {0} does not host the primary replica.\n\n * 400 LoadBalancerSqlvmsMismatchWithReplicaSqlvms - List of SQL VMs specified in Availability group does not match list of SQL VMs in load balancer configuration.\n\n * 400 ReplicaSqlvmHasDuplicateEntries - Replica configuration should be unique for each SQL virtual machine. We have found one or more configuration for the same SQL virtual machine resource.\n\n * 400 ReplicaDeleteNotAllowed - Replica deletion through SQL VM RP is not supported yet.\n\n * 400 OnlyBasicPublicIP - All VM specified should contain only Basic Public IP, when providing Loadbalancer Basic Sku.\n\n * 400 NICCannotUseMultipleLBsOfSameType - NIC: {0} cannot reference more than one load balancer of INTERNAL or PUBLIC type\n\n * 400 AGReplicaSQLStartupAccount - NT service account cannot be used as SQL startup account for AG setup. You should use a domain account.\n\n * 400 AgListenerMultiSubnetUpdateNotAllowed - Update of multi subnet AG listener is not allowed.\n\n * 400 ListenerIpSubnetVmSubnetMismatch - Listener static ip address subnet and VM subnet should be same\n\n * 400 VmNicVnetMismatch - Virtual machine NIC VNet mismatch.\n\n * 400 NoAvailabilitySet - Vm is not associated with any availability set.\n\n * 400 AvailabilitySetMismatch - Availability set of virtual machines does not match.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 NoIpAvailable - No available IP.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 ReplicasWithDifferentSqlStartupAccounts - Please make sure all your SQL server startup accounts in the specified replicas are the same. This is one of our prerequisites for setting up availability groups.\n\n * 409 ReplicasJoinedToMoreThanOneCluster - AG replicas are joined to more than one failover cluster. Please make sure all your replicas are joined to same failover cluster.\n\n * 409 IPNotAvailable - IP {0} is not available{1}. Consider using one from ({2})\n\n * 409 IpAddressAlreadyReserved - IP address reserved for this listener already exists. Please use the IP address\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.\n\n * 500 SqlVmGroupIsBusy - SQL virtual machine group is busy." + }, + "202": { + "description": "Deleting the SQL virtual machine group." + }, + "204": { + "description": "The specified SQL virtual machine group does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a SQL virtual machine group.": { + "$ref": "./examples/DeleteSqlVirtualMachineGroup.json" + } + } + }, + "patch": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Updates SQL virtual machine group tags.", + "operationId": "SqlVirtualMachineGroups_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine group.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a SQL virtual machine group tags.": { + "$ref": "./examples/UpdateSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets all SQL virtual machine groups in a resource group.", + "operationId": "SqlVirtualMachineGroups_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machine groups in the resource group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machine groups in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups": { + "get": { + "tags": [ + "SqlVirtualMachineGroups" + ], + "description": "Gets all SQL virtual machine groups in a subscription.", + "operationId": "SqlVirtualMachineGroups_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machine groups in the subscription.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineGroupListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machine groups in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlVirtualMachineGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets the list of sql virtual machines in a SQL virtual machine group.", + "operationId": "SqlVirtualMachines_ListBySqlVmGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineGroupName", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of sql virtual machines in a SQL virtual machine group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SqlVmGroupUpdateFailVmAttached - SQL virtual machine group cannot be updated as it has attached a SQL virtual machine.\n\n * 400 InvalidSqlImageOffer - Provided SQL image offer is invalid.\n\n * 400 InvalidSqlSku - Provided SQL sku is invalid.\n\n * 400 OuPathAndDomainMismatch - OU path is not within the domain provided.\n\n * 400 InvalidAccountNameFormat - Account name format is invalid.\n\n * 400 CloudWitnessUnsupported - For Windows Server 2012R2 setup cloud witness is not allowed.\n\n * 400 FileShareWitnessDisAllowed - For Windows Server 2016 and beyond setup, file share witness is not allowed.\n\n * 400 InvalidStorageAccountUrl - Invalid storage account url.\n\n * 400 SqlVmGroupNameTooLong - SQL virtual machine group name cannot exceed 15 characters.\n\n * 400 InvalidSqlVmGroupName - Invalid SQL virtual machine group name.\n\n * 400 InvalidStorageAccountCredentials - The storage account credentials provided are incorrect.\n\n * 400 InvalidStorageAccountType - Only storage account of type 'General-Purpose V2' is allowed for this operation.\n\n * 400 SqlVmGroupNotEmpty - SQL virtual machine group is not empty.\n\n * 400 SqlVmGroupUpdateNotAllowed - Update to SQL virtual machine group is not allowed.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of sql virtual machines in a SQL virtual machine group.": { + "$ref": "./examples/ListBySqlVirtualMachineGroupSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets all SQL virtual machines in a subscription.", + "operationId": "SqlVirtualMachines_List", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machines in the subscription.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machines in a subscription.": { + "$ref": "./examples/ListSubscriptionSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/redeploy": { + "post": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Uninstalls and reinstalls the SQL Iaas Extension.", + "operationId": "SqlVirtualMachines_Redeploy", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully redeployed the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Accepted redeploying the SQL virtual machine." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Uninstalls and reinstalls the SQL Iaas Extension.": { + "$ref": "./examples/RedeploySqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "The child resources to include in the response.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-examples": { + "Gets a SQL virtual machine.": { + "$ref": "./examples/GetSqlVirtualMachine.json" + } + } + }, + "put": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Creates or updates a SQL virtual machine.", + "operationId": "SqlVirtualMachines_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 409 Ext_CancelError - The operation was canceled\n\n * 409 Ext_VMAgentStatusCommunicationError - SQLIaaSExtension installation failed because azure guest agent service is not running or it is not able to establish outbound connection to storage account.\n\n * 409 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 409 Ext_ComputeError - Compute returned error on current operation.\n\n * 409 Ext_OperationPreempted - SQL VM operation has been preempted by a more recent operation like ResourceGroup drop, Resource move, VM drop or VM shutdown or VM redeploy.\n\n * 409 Ext_VMExtensionProvisioningError - There was an error while installing SqlIaasExtension on the virtual machine.\n\n * 409 Ext_VMExtensionProvisioningTimeout - SQL VM resource provisioning operation timed out.\n\n * 409 Ext_VMExtensionHandlerNonTransientError - SQLIaaSExtension installation failed due to an internal error. Please retry the installation.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "201": { + "description": "Successfully created the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates or updates a SQL virtual machine with min parameters.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineMIN.json" + }, + "Creates or updates a SQL virtual machine with max parameters.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineMAX.json" + }, + "Creates or updates a SQL virtual machine and joins it to a SQL virtual machine group.": { + "$ref": "./examples/CreateOrUpdateVirtualMachineWithVMGroup.json" + }, + "Creates or updates a SQL virtual machine for Storage Configuration Settings to NEW Data, Log and TempDB storage pool.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationNEW.json" + }, + "Creates or updates a SQL virtual machine for Storage Configuration Settings to EXTEND Data, Log or TempDB storage pool.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineStorageConfigurationEXTEND.json" + }, + "Creates or updates a SQL virtual machine for Automated Back up Settings with Weekly and Days of the week to run the back up.": { + "$ref": "./examples/CreateOrUpdateSqlVirtualMachineAutomatedBackupWeekly.json" + } + } + }, + "delete": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Deletes a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Deleting the SQL virtual machine." + }, + "204": { + "description": "The specified SQL virtual machine does not exist." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes a SQL virtual machine.": { + "$ref": "./examples/DeleteSqlVirtualMachine.json" + } + } + }, + "patch": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Updates a SQL virtual machine.", + "operationId": "SqlVirtualMachines_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "description": "The SQL virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/SqlVirtualMachineUpdate" + } + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the SQL virtual machine.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachine" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates a SQL virtual machine tags.": { + "$ref": "./examples/UpdateSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines": { + "get": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Gets all SQL virtual machines in a resource group.", + "operationId": "SqlVirtualMachines_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved all SQL virtual machines in the resource group.", + "schema": { + "$ref": "#/definitions/SqlVirtualMachineListResult" + } + }, + "default": { + "description": "*** Error Responses: ***" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all SQL virtual machines in a resource group.": { + "$ref": "./examples/ListByResourceGroupSqlVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachines/{sqlVirtualMachineName}/startAssessment": { + "post": { + "tags": [ + "SqlVirtualMachines" + ], + "description": "Starts Assessment on SQL virtual machine.", + "operationId": "SqlVirtualMachines_StartAssessment", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started assessment on the SQL virtual machine." + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 RestoreJobIdsMismatch - Restore Job Id mismatch, current restore job id is {0} while input is {1}.\n\n * 400 RestoreJobSetToAutoCutover - Restore Job is set to AutoCutover. No Operation will be accept except Cancel.\n\n * 400 AutoBackupEncryptionPasswordNotSpecified - Password not provided when enabling encryption as auto backup setting.\n\n * 400 BackupScheduleTypeNotSet - Backup schedule type needs to be set.\n\n * 400 BackupStorageCredentialsNotSpecified - Backup storage credentials are not specified.\n\n * 400 KeyVaultCredentialsNotSpecified - Key vault credentials not specified.\n\n * 400 SqlCredentialsNotSpecified - SQL Server credentials are not specified.\n\n * 400 IncompleteAutoPatchingSettings - Incomplete auto patching settings specified.\n\n * 400 IncompleteAutoBackupSettings - Incomplete auto backup settings specified.\n\n * 400 IncompleteSqlStorageSettings - Incomplete SQL storage settings specified.\n\n * 400 InvalidVmResourceIdChange - Virtual machine resource id property cannot be updated.\n\n * 400 SqlVmAlreadyIncludedInGroup - SQL virtual machine cannot be moved from one group to another in same operation.\n\n * 400 SqlVmCannotRemoveFromGroup - SQL virtual machine cannot be removed from group.\n\n * 400 VmLocationMismatch - VM location does not match that of SQL virtual machine.\n\n * 400 VmInsufficientPermission - Insufficient permission to Vm.\n\n * 400 SingleNicOnVmAllowed - Only Single NIC virtual machines are allowed in a SQL VM Group.\n\n * 400 InvalidSqlVmGroupResourceIdParameterValue - SQL virtual machine group resource id is not in correct format.\n\n * 400 MismatchVmGroupSubscription - Subscription id for SQL virtual machine and SQL virtual machine group are different.\n\n * 400 IncompleteDomainCredentialsProperty - Incomplete input provided for domain credentials property.\n\n * 400 BYOLChangeToPAYGNotSupported - The conversion from AHUB to PAYG is not supported for BYOL images\n\n * 400 InvalidVmResourceIdParameterValue - Provided virtual machine resource id is not valid.\n\n * 400 MismatchInSqlVmAndVmResourceIdSubscription - Mismatch in subscription id for SQL virtual machine and virtual machine resource id property.\n\n * 400 MismatchSqlVmAndVmName - SQL virtual machine name is not same as the virtual machine name provided on VirtualMachineResourceId property.\n\n * 400 MismatchSqlVmAndVmRgName - SQL virtual machine resource group name is not same as the virtual machine resource group name provided on VirtualMachineResourceId property.\n\n * 400 NotSupportedSqlVmOSVersion - Virtual machine OS type is not Windows. Only Windows OS versions are supported\n\n * 400 VmNotRunning - The VM is not in running state.\n\n * 400 VmAgentNotRunning - The VM agent is not installed or in running state.\n\n * 400 PAYGNotSupportedForNonGalleryVM - License type PAYG is invalid for this Virtual Machine as this was not created from Azure marketplace image.\n\n * 400 CannotDetermineSqlVersionAndEditionFromVm - Sql IaaS Extension cannot determine the SQL version and edition from the vm.\n\n * 400 MismatchSqlVmSku - Sql virtual machine sku mismatch.\n\n * 400 CannotConvertToFreeBenefit - Cannot convert Free SQL editions to {0}. \n\n * 400 SqlEvaluationSkuNotSupported - SQL Evaluation version does not support licensing changes.\n\n * 400 IncompleteStorageConfigurationSettings - Incomplete Storage Configuration Settings\n\n * 400 InvalidDefaultFilePath - Invalid Default File Path \n\n * 400 InvalidLUNSpecified - Invalid Logical Unit number specified, Logical Unit number should be a non-negative number.\n\n * 400 BothStorageV1V2Specified - Invalid Request. Only one of SQL Storage Storage Setting or Storage Configuration Settings should be specified\n\n * 400 InvalidLUNsSpecifiedForSameDrive - Invalid Logical Unit numbers specified. Logical Unit number used for the same drive need to be the same.\n\n * 400 InvalidLUNsSpecifiedForDifferentDrives - Invalid Logical Unit numbers specified. Different drive could not reuse the same Logical Unit number.\n\n * 400 InvalidExtendPayload - Invalid Sql Storage Settings Extend Payload. Only support extend one drive at a time.\n\n * 400 SqlLicenseTypeMissing - Please specify license type for Sql Virtual Machine. The property is 'SqlServerLicenceType' and allowed values are PAYG, AHUB and DR.\n\n * 400 VmAgentIsRunningForNoAgent - Cannot create or update as NoAgent model while the Guest Agent is running.\n\n * 400 InvalidSqlManagementMode - Cannot update the SQL management mode to {0}, the current mode is {1}. Please specify the value of property 'SqlManagement' as {1}.\n\n * 400 CannotDetermineSqlEditionFromRequest - Cannot determine the SQL edition.\n\n * 400 SqlManagementMissing - Please specify the Management Mode for Sql Virtual Machine. The property is 'SqlManagement' and allowed values are LightWeight or Full.\n\n * 400 SqlImageSkuMissingNoAgent - Please specify the Sql Server Edition for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageSku' and allowed values are Developer, Express, Web, Standard, or Enterprise.\n\n * 400 SqlImageOfferMissingNoAgent - Please specify the Sql Server Version and OS Version for Sql Virtual Machine in NoAgent Mode. The property is 'SqlImageOffer' and allowed values are SQL2008-WS2008 and SQL2008R2-WS2008.\n\n * 400 InvalidSqlImageOfferChange - SqlImageOffer property cannot be updated.\n\n * 400 SqlLicenseTypeNotSupported - SqlLicenseType NotSet incorrectly provided\n\n * 400 UnsupportedSqlManagementMode - Cannot update the SQL management mode to {0}, only {1} mode is supported for {2}.\n\n * 400 SqlVmInValidState - Cannot delete SqlVm since it's provisioned.\n\n * 400 ClusterOperatorAccountIsEmpty - Cannot add a VM to a SQLVM Group when cluster operator account is null or empty. Please update the group resource: {0} with the cluster operator account.\n\n * 400 SqlServiceAccountIsEmpty - Cannot add a VM to a SQLVM Group when SQL service account is null or empty. Please update the group resource: {0} with the SQL service account.\n\n * 400 UnknownSqlManagementMode - Cannot update the SQL management mode to {0}, please use one of the supported values.\n\n * 400 CandidateCurrentTimeIsAfterRegEndTime - Cannot register candidate entity as current time {0} is after allowed end time {1}.\n\n * 400 CandidateRegStartTimeIsAfterRegEndTime - Cannot register candidate entity as allowed start time {0} is after allowed end time {1}.\n\n * 400 VmOsTypeNotFound - OS type is not found.\n\n * 400 SqlLicenseManagementNotAllowed - Please set the License type of sql vm resource to null. License type manageability is currently not supported in this cloud.\n\n * 400 InvalidSqlSkuUpdate - SqlImageSku property cannot be updated when license type management is blocked.\n\n * 400 VmOsVersionIsUnsupported - OS version is unsupported.\n\n * 400 RedeployIsNotSupported - Redeploy is not supported when SqlVm is not provisioned.\n\n * 400 InvalidLightweightMode - Invalid SQL VM Management mode. Please change SQL VM property 'SqlManagement' to FULL\n\n * 400 InvalidAssessmentSettingsEnableIsFalse - Invalid assessment settings specified. Enable must be set to true to use other assessment settings.\n\n * 400 SqlInstanceSettingsSet1NotAllowed - SQL Instance Settings MAXDOP, and Collation are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidAssessmentScheduleSettings - Invalid assessment schedule settings specified.\n\n * 400 LinuxDistroIsNotSupported - Linux distro is unsupported\n\n * 400 SqlServerSettingMinMemoryGreaterThanMaxMemory - SQL Server Min Server Memory (MB) cannot be greater than Max Server Memory (MB)\n\n * 400 SqlInstanceSettingsSet2NotAllowed - SQL Instance Settings Optimize for adhoc workloads, Min server memory (MB) and Max server memory (MB) are not allowed to be configured if the Feature Switch is disabled\n\n * 400 InvalidFileSizeSpecified - Invalid Request. File Size cannot be negative\n\n * 400 InvalidFileCountSpecified - Invalid Request. File Count cannot be negative \n\n * 400 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 400 SubscriptionNotReady - Subscription not ready\n\n * 400 SqlVersionMismatchWithGroup - SQL version mismatch with SQL virtual machine group.\n\n * 400 VmOSVersionMismatchWithGroup - OS version mismatch with group.\n\n * 400 SqlSkuMismatchWithGroup - SQL sku set on the SQL virtual machine group does not match that of the SQL virtual machine.\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 RPResponseMissingAsyncOperationHeader - Response is missing Async operation header information\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 CRPNotAllowedOperation - Operation cannot be completed due to the following error: {0}\n\n * 400 AadAppDisabled - Microsoft AAD app SQLVMResourceProviderAuth ({0}) is disabled in your tenant.\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 400 InternalAPIAccessDenied - Internal API Access denied. App Id {0} is not valid to use this API.\n\n * 403 AccessDenied - Access denied.\n\n * 404 SubscriptionDoesNotHaveSqlVMInResourceGroup - Subscription does not have SQL virtual machine Instance in resource group.\n\n * 404 SubscriptionDoesNotHaveSqlVMGroupInResourceGroup - Subscription does not have SQL virtual machine group in resource group.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 RPOperationNotFound - Operation not found\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 LBGenericErrors - LB operation failed\n\n * 409 NICGenericError - NIC operation failed\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 RPPluginSubstatusMissing - RP plugin substatus missing\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 ResourceExists - There was an internal error in cleaning up of resources.\n\n * 409 SubscriptionOperationInProgress - An operation on subscription is already in progress\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 429 TooManyRequestsReceived - \n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out." + }, + "202": { + "description": "Accepted request to start assessment on SQL virtual machine." + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Starts Assessment on SQL virtual machine": { + "$ref": "./examples/StartAssessmentOnSqlVirtualMachine.json" + } + } + } + } + }, + "definitions": { + "AvailabilityGroupListenerProperties": { + "description": "The properties of an availability group listener.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "availabilityGroupName": { + "description": "Name of the availability group.", + "type": "string" + }, + "loadBalancerConfigurations": { + "description": "List of load balancer configurations for an availability group listener.", + "type": "array", + "items": { + "$ref": "#/definitions/LoadBalancerConfiguration" + } + }, + "createDefaultAvailabilityGroupIfNotExist": { + "description": "Create a default availability group if it does not exist.", + "type": "boolean" + }, + "port": { + "format": "int32", + "description": "Listener port.", + "type": "integer" + }, + "availabilityGroupConfiguration": { + "$ref": "#/definitions/AgConfiguration", + "description": "Availability Group configuration." + } + } + }, + "LoadBalancerConfiguration": { + "description": "A load balancer configuration for an availability group listener.", + "type": "object", + "properties": { + "privateIpAddress": { + "$ref": "#/definitions/PrivateIPAddress", + "description": "Private IP address." + }, + "publicIpAddressResourceId": { + "description": "Resource id of the public IP.", + "type": "string" + }, + "loadBalancerResourceId": { + "description": "Resource id of the load balancer.", + "type": "string" + }, + "probePort": { + "format": "int32", + "description": "Probe port.", + "type": "integer" + }, + "sqlVirtualMachineInstances": { + "description": "List of the SQL virtual machine instance resource id's that are enrolled into the availability group listener.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AgConfiguration": { + "description": "Availability group configuration.", + "type": "object", + "properties": { + "replicas": { + "description": "Replica configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/AgReplica" + }, + "x-ms-identifiers": [ + "sqlVirtualMachineInstanceId" + ], + "readOnly": true + } + } + }, + "Resource": { + "description": "ARM resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource name.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateIPAddress": { + "description": "A private IP address bound to the availability group listener.", + "type": "object", + "properties": { + "ipAddress": { + "description": "Private IP address bound to the availability group listener.", + "type": "string" + }, + "subnetResourceId": { + "description": "Subnet used to include private IP.", + "type": "string" + } + } + }, + "AgReplica": { + "description": "Availability group replica configuration.", + "type": "object", + "properties": { + "sqlVirtualMachineInstanceId": { + "description": "Sql VirtualMachine Instance Id.", + "type": "string" + }, + "role": { + "description": "Replica Role in availability group.", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "type": "string", + "x-ms-enum": { + "name": "Role", + "modelAsString": true + } + }, + "commit": { + "description": "Replica commit mode in availability group.", + "enum": [ + "SYNCHRONOUS_COMMIT", + "ASYNCHRONOUS_COMMIT" + ], + "type": "string", + "x-ms-enum": { + "name": "Commit", + "modelAsString": true + } + }, + "failover": { + "description": "Replica failover mode in availability group.", + "enum": [ + "AUTOMATIC", + "MANUAL" + ], + "type": "string", + "x-ms-enum": { + "name": "Failover", + "modelAsString": true + } + }, + "readableSecondary": { + "description": "Replica readable secondary mode in availability group.", + "enum": [ + "NO", + "ALL", + "READ_ONLY" + ], + "type": "string", + "x-ms-enum": { + "name": "ReadableSecondary", + "modelAsString": true + } + } + } + }, + "ProxyResource": { + "description": "ARM proxy resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "AvailabilityGroupListener": { + "description": "A SQL Server availability group listener.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AvailabilityGroupListenerProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "AvailabilityGroupListenerListResult": { + "description": "A list of availability group listeners.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/AvailabilityGroupListener" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of the request to list SQL operations.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "SQL REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation / action.", + "readOnly": true + }, + "origin": { + "description": "The intended executor of the operation.", + "enum": [ + "user", + "system" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "OperationOrigin", + "modelAsString": true + } + }, + "properties": { + "description": "Additional descriptions for the operation.", + "type": "object", + "additionalProperties": { + "type": "object" + }, + "readOnly": true, + "x-ms-client-flatten": false + } + } + }, + "OperationDisplay": { + "description": "Display metadata associated with the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineGroupProperties": { + "description": "The properties of a SQL virtual machine group.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "sqlImageOffer": { + "description": "SQL image offer. Examples may include SQL2016-WS2016, SQL2017-WS2016.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sqlImageSku": { + "description": "SQL image sku.", + "enum": [ + "Developer", + "Enterprise" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlVmGroupImageSku", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "scaleType": { + "description": "Scale type.", + "enum": [ + "HA" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "clusterManagerType": { + "description": "Type of cluster manager: Windows Server Failover Cluster (WSFC), implied by the scale type of the group and the OS type.", + "enum": [ + "WSFC" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClusterManagerType", + "modelAsString": true + } + }, + "clusterConfiguration": { + "description": "Cluster type.", + "enum": [ + "Domainful" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ClusterConfiguration", + "modelAsString": true + } + }, + "wsfcDomainProfile": { + "$ref": "#/definitions/WsfcDomainProfile", + "description": "Cluster Active Directory domain profile.", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "WsfcDomainProfile": { + "description": "Active Directory account details to operate Windows Server Failover Cluster.", + "type": "object", + "properties": { + "domainFqdn": { + "description": "Fully qualified name of the domain.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ouPath": { + "description": "Organizational Unit path in which the nodes and cluster will be present.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterBootstrapAccount": { + "description": "Account name used for creating cluster (at minimum needs permissions to 'Create Computer Objects' in domain).", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "clusterOperatorAccount": { + "description": "Account name used for operating cluster i.e. will be part of administrators group on all the participating virtual machines in the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "sqlServiceAccount": { + "description": "Account name under which SQL service will run on all participating SQL virtual machines in the cluster.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "fileShareWitnessPath": { + "description": "Optional path for fileshare witness.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "storageAccountUrl": { + "description": "Fully qualified ARM resource id of the witness storage account.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "storageAccountPrimaryKey": { + "description": "Primary key of the witness storage account.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "TrackedResource": { + "description": "ARM tracked top level resource.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlVirtualMachineGroup": { + "description": "A SQL virtual machine group.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SqlVirtualMachineGroupProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "SqlVirtualMachineGroupUpdate": { + "description": "An update to a SQL virtual machine group.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SqlVirtualMachineGroupListResult": { + "description": "A list of SQL virtual machine groups.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlVirtualMachineGroup" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineListResult": { + "description": "A list of SQL virtual machines.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/SqlVirtualMachine" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ResourceIdentity": { + "description": "Azure Active Directory identity configuration for a resource.", + "type": "object", + "properties": { + "principalId": { + "format": "uuid", + "description": "The Azure Active Directory principal id.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource.", + "enum": [ + "None", + "SystemAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "tenantId": { + "format": "uuid", + "description": "The Azure Active Directory tenant id.", + "type": "string", + "readOnly": true + } + } + }, + "SqlVirtualMachineProperties": { + "description": "The SQL virtual machine properties.", + "type": "object", + "properties": { + "virtualMachineResourceId": { + "description": "ARM Resource id of underlying virtual machine created from SQL marketplace image.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "Provisioning state to track the async operation status.", + "type": "string", + "readOnly": true + }, + "sqlImageOffer": { + "description": "SQL image offer. Examples include SQL2016-WS2016, SQL2017-WS2016.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sqlServerLicenseType": { + "description": "SQL Server license type.", + "enum": [ + "PAYG", + "AHUB", + "DR" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "sqlManagement": { + "description": "SQL Server Management type.", + "enum": [ + "Full", + "LightWeight", + "NoAgent" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlManagementMode", + "modelAsString": true + } + }, + "sqlImageSku": { + "description": "SQL Server edition type.", + "enum": [ + "Developer", + "Express", + "Standard", + "Enterprise", + "Web" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlImageSku", + "modelAsString": true + } + }, + "sqlVirtualMachineGroupResourceId": { + "description": "ARM resource id of the SQL virtual machine group this SQL virtual machine is or will be part of.", + "type": "string", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "wsfcDomainCredentials": { + "$ref": "#/definitions/WsfcDomainCredentials", + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group." + }, + "autoPatchingSettings": { + "$ref": "#/definitions/AutoPatchingSettings", + "description": "Auto patching settings for applying critical security updates to SQL virtual machine." + }, + "autoBackupSettings": { + "$ref": "#/definitions/AutoBackupSettings", + "description": "Auto backup settings for SQL Server." + }, + "keyVaultCredentialSettings": { + "$ref": "#/definitions/KeyVaultCredentialSettings", + "description": "Key vault credential settings." + }, + "serverConfigurationsManagementSettings": { + "$ref": "#/definitions/ServerConfigurationsManagementSettings", + "description": "SQL Server configuration management settings." + }, + "storageConfigurationSettings": { + "$ref": "#/definitions/StorageConfigurationSettings", + "description": "Storage Configuration Settings." + }, + "assessmentSettings": { + "$ref": "#/definitions/AssessmentSettings", + "description": "Assessment Settings." + } + } + }, + "WsfcDomainCredentials": { + "description": "Domain credentials for setting up Windows Server Failover Cluster for SQL availability group.", + "type": "object", + "properties": { + "clusterBootstrapAccountPassword": { + "description": "Cluster bootstrap account password.", + "type": "string" + }, + "clusterOperatorAccountPassword": { + "description": "Cluster operator account password.", + "type": "string" + }, + "sqlServiceAccountPassword": { + "description": "SQL service account password.", + "type": "string" + } + } + }, + "AutoPatchingSettings": { + "description": "Set a patching window during which Windows and SQL patches will be applied.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable autopatching on SQL virtual machine.", + "type": "boolean" + }, + "dayOfWeek": { + "description": "Day of week to apply the patch on.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "maintenanceWindowStartingHour": { + "format": "int32", + "description": "Hour of the day when patching is initiated. Local VM time.", + "type": "integer" + }, + "maintenanceWindowDuration": { + "format": "int32", + "description": "Duration of patching.", + "type": "integer" + } + } + }, + "AutoBackupSettings": { + "description": "Configure backups for databases in your SQL virtual machine.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable autobackup on SQL virtual machine.", + "type": "boolean" + }, + "enableEncryption": { + "description": "Enable or disable encryption for backup on SQL virtual machine.", + "type": "boolean" + }, + "retentionPeriod": { + "format": "int32", + "description": "Retention period of backup: 1-90 days.", + "type": "integer" + }, + "storageAccountUrl": { + "description": "Storage account url where backup will be taken to.", + "type": "string" + }, + "storageContainerName": { + "description": "Storage container name where backup will be taken to.", + "type": "string" + }, + "storageAccessKey": { + "description": "Storage account key where backup will be taken to.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "password": { + "description": "Password for encryption on backup.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "backupSystemDbs": { + "description": "Include or exclude system databases from auto backup.", + "type": "boolean" + }, + "backupScheduleType": { + "description": "Backup schedule type.", + "enum": [ + "Manual", + "Automated" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupScheduleType", + "modelAsString": true + } + }, + "fullBackupFrequency": { + "description": "Frequency of full backups. In both cases, full backups begin during the next scheduled time window.", + "enum": [ + "Daily", + "Weekly" + ], + "type": "string", + "x-ms-enum": { + "name": "FullBackupFrequencyType", + "modelAsString": true + } + }, + "daysOfWeek": { + "description": "Days of the week for the backups when FullBackupFrequency is set to Weekly.", + "type": "array", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": true + } + } + }, + "fullBackupStartTime": { + "format": "int32", + "description": "Start time of a given day during which full backups can take place. 0-23 hours.", + "type": "integer" + }, + "fullBackupWindowHours": { + "format": "int32", + "description": "Duration of the time window of a given day during which full backups can take place. 1-23 hours.", + "type": "integer" + }, + "logBackupFrequency": { + "format": "int32", + "description": "Frequency of log backups. 5-60 minutes.", + "type": "integer" + } + } + }, + "KeyVaultCredentialSettings": { + "description": "Configure your SQL virtual machine to be able to connect to the Azure Key Vault service.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable key vault credential setting.", + "type": "boolean" + }, + "credentialName": { + "description": "Credential name.", + "type": "string" + }, + "azureKeyVaultUrl": { + "description": "Azure Key Vault url.", + "type": "string" + }, + "servicePrincipalName": { + "description": "Service principal name to access key vault.", + "type": "string" + }, + "servicePrincipalSecret": { + "description": "Service principal name secret to access key vault.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ] + } + } + }, + "ServerConfigurationsManagementSettings": { + "description": "Set the connectivity, storage and workload settings.", + "type": "object", + "properties": { + "sqlConnectivityUpdateSettings": { + "$ref": "#/definitions/SqlConnectivityUpdateSettings", + "description": "SQL connectivity type settings." + }, + "sqlWorkloadTypeUpdateSettings": { + "$ref": "#/definitions/SqlWorkloadTypeUpdateSettings", + "description": "SQL workload type settings." + }, + "sqlStorageUpdateSettings": { + "$ref": "#/definitions/SqlStorageUpdateSettings", + "description": "SQL storage update settings." + }, + "additionalFeaturesServerConfigurations": { + "$ref": "#/definitions/AdditionalFeaturesServerConfigurations", + "description": "Additional SQL feature settings." + }, + "sqlInstanceSettings": { + "$ref": "#/definitions/SQLInstanceSettings", + "description": "SQL Instance settings." + } + } + }, + "StorageConfigurationSettings": { + "description": "Storage Configurations for SQL Data, Log and TempDb.", + "type": "object", + "properties": { + "sqlDataSettings": { + "$ref": "#/definitions/SQLStorageSettings", + "description": "SQL Server Data Storage Settings." + }, + "sqlLogSettings": { + "$ref": "#/definitions/SQLStorageSettings", + "description": "SQL Server Log Storage Settings." + }, + "sqlTempDbSettings": { + "$ref": "#/definitions/SQLTempDbSettings", + "description": "SQL Server TempDb Storage Settings." + }, + "sqlSystemDbOnDataDisk": { + "description": "SQL Server SystemDb Storage on DataPool if true.", + "type": "boolean" + }, + "diskConfigurationType": { + "description": "Disk configuration to apply to SQL Server.", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskConfigurationType", + "modelAsString": true + } + }, + "storageWorkloadType": { + "description": "Storage workload type.", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageWorkloadType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "AssessmentSettings": { + "description": "Configure assessment for databases in your SQL virtual machine.", + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable assessment feature on SQL virtual machine.", + "type": "boolean" + }, + "runImmediately": { + "description": "Run assessment immediately on SQL virtual machine.", + "type": "boolean" + }, + "schedule": { + "$ref": "#/definitions/Schedule", + "description": "Schedule for Assessment." + } + } + }, + "SqlConnectivityUpdateSettings": { + "description": "Set the access level and network port settings for SQL Server.", + "type": "object", + "properties": { + "connectivityType": { + "description": "SQL Server connectivity option.", + "enum": [ + "LOCAL", + "PRIVATE", + "PUBLIC" + ], + "type": "string", + "x-ms-enum": { + "name": "ConnectivityType", + "modelAsString": true + } + }, + "port": { + "format": "int32", + "description": "SQL Server port.", + "type": "integer" + }, + "sqlAuthUpdateUserName": { + "description": "SQL Server sysadmin login to create.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "sqlAuthUpdatePassword": { + "description": "SQL Server sysadmin login password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + } + } + }, + "SqlWorkloadTypeUpdateSettings": { + "description": "Set workload type to optimize storage for SQL Server.", + "type": "object", + "properties": { + "sqlWorkloadType": { + "description": "SQL Server workload type.", + "enum": [ + "GENERAL", + "OLTP", + "DW" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlWorkloadType", + "modelAsString": true + }, + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "SqlStorageUpdateSettings": { + "description": "Set disk storage settings for SQL Server.", + "type": "object", + "properties": { + "diskCount": { + "format": "int32", + "description": "Virtual machine disk count.", + "type": "integer" + }, + "startingDeviceId": { + "format": "int32", + "description": "Device id of the first disk to be updated.", + "type": "integer" + }, + "diskConfigurationType": { + "description": "Disk configuration to apply to SQL Server.", + "enum": [ + "NEW", + "EXTEND", + "ADD" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskConfigurationType", + "modelAsString": true + } + } + } + }, + "AdditionalFeaturesServerConfigurations": { + "description": "Additional SQL Server feature settings.", + "type": "object", + "properties": { + "isRServicesEnabled": { + "description": "Enable or disable R services (SQL 2016 onwards).", + "type": "boolean" + } + } + }, + "SQLInstanceSettings": { + "description": "Set the server/instance-level settings for SQL Server.", + "type": "object", + "properties": { + "collation": { + "description": "SQL Server Collation.", + "type": "string" + }, + "maxDop": { + "format": "int32", + "description": "SQL Server MAXDOP.", + "type": "integer" + }, + "isOptimizeForAdHocWorkloadsEnabled": { + "description": "SQL Server Optimize for Adhoc workloads.", + "type": "boolean" + }, + "minServerMemoryMB": { + "format": "int32", + "description": "SQL Server minimum memory.", + "type": "integer" + }, + "maxServerMemoryMB": { + "format": "int32", + "description": "SQL Server maximum memory.", + "type": "integer" + } + } + }, + "SQLStorageSettings": { + "description": "Set disk storage settings for SQL Server.", + "type": "object", + "properties": { + "luns": { + "description": "Logical Unit Numbers for the disks.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "defaultFilePath": { + "description": "SQL Server default file path", + "type": "string" + } + } + }, + "SQLTempDbSettings": { + "type": "object", + "properties": { + "dataFileSize": { + "format": "int32", + "description": "SQL Server default file size", + "type": "integer" + }, + "dataGrowth": { + "format": "int32", + "description": "SQL Server default file autoGrowth size", + "type": "integer" + }, + "logFileSize": { + "format": "int32", + "description": "SQL Server default file size", + "type": "integer" + }, + "logGrowth": { + "format": "int32", + "description": "SQL Server default file autoGrowth size", + "type": "integer" + }, + "dataFileCount": { + "format": "int32", + "description": "SQL Server default file count", + "type": "integer" + }, + "luns": { + "description": "Logical Unit Numbers for the disks.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + } + }, + "defaultFilePath": { + "description": "SQL Server default file path", + "type": "string" + } + } + }, + "Schedule": { + "type": "object", + "properties": { + "enable": { + "description": "Enable or disable assessment schedule on SQL virtual machine.", + "type": "boolean" + }, + "weeklyInterval": { + "format": "int32", + "description": "Number of weeks to schedule between 2 assessment runs. Takes value from 1-6", + "type": "integer" + }, + "monthlyOccurrence": { + "format": "int32", + "description": "Occurrence of the DayOfWeek day within a month to schedule assessment. Takes values: 1,2,3,4 and -1. Use -1 for last DayOfWeek day of the month", + "type": "integer" + }, + "dayOfWeek": { + "description": "Day of the week to run assessment.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "startTime": { + "description": "Time of the day in HH:mm format. Eg. 17:30", + "type": "string" + } + } + }, + "SqlVirtualMachine": { + "description": "A SQL virtual machine.", + "required": [ + "location" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "Azure Active Directory identity of the server.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "properties": { + "$ref": "#/definitions/SqlVirtualMachineProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "SqlVirtualMachineUpdate": { + "description": "An update to a SQL virtual machine.", + "type": "object", + "properties": { + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Subscription ID that identifies an Azure subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API version to use for the request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "client" + }, + "ResourceGroupParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineNameParameter": { + "name": "sqlVirtualMachineName", + "in": "path", + "description": "Name of the SQL virtual machine.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineGroupNameParameter": { + "name": "sqlVirtualMachineGroupNameParameter", + "in": "path", + "description": "Name of the SQL virtual machine group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "AvailabilityGroupListenerNameParameter": { + "name": "availabilityGroupListenerNameParameter", + "in": "path", + "description": "Name of the availability group listener.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + } +} diff --git a/specification/sqlvirtualmachine/resource-manager/readme.go.md b/specification/sqlvirtualmachine/resource-manager/readme.go.md index 733e9c333aed..248f089dab7b 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.go.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.go.md @@ -21,9 +21,19 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-preview-2021-11 - tag: package-2017-03-01-preview ``` +### Tag: package-preview-2021-11 and go + +These settings apply only when `--tag=package-preview-2021-11 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-preview-2021-11' && $(go) +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-11-01-preview/$(namespace) +``` + ### Tag: package-2017-03-01-preview and go These settings apply only when `--tag=package-2017-03-01-preview --go` is specified on the command line. diff --git a/specification/sqlvirtualmachine/resource-manager/readme.md b/specification/sqlvirtualmachine/resource-manager/readme.md index daa022755363..d0c66eb1c010 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for SQL virtual machine. - - --- + ## Getting Started + To build the SDK for SQL virtual machine, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,22 +15,31 @@ To build the SDK for SQL virtual machine, simply [Install AutoRest](https://aka. To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the SQL virtual machine API. ``` yaml title: SqlVirtualMachineManagementClient -description: The SQL virtual machine management API provides a RESTful set of web APIs that interact with Azure Compute, Network & Storage services to manage your SQL Server virtual machine. The API enables users to create, delete and retrieve a SQL virtual machine, SQL virtual machine group or availability group listener. +description: 'The SQL virtual machine management API provides a RESTful set of web APIs that interact with Azure Compute, Network & Storage services to manage your SQL Server virtual machine. The API enables users to create, delete and retrieve a SQL virtual machine, SQL virtual machine group or availability group listener.' openapi-type: arm -tag: package-2017-03-01-preview +tag: package-preview-2021-11 ``` + +### Tag: package-preview-2021-11 + +These settings apply only when `--tag=package-preview-2021-11` is specified on the command line. + +```yaml $(tag) == 'package-preview-2021-11' +input-file: + - Microsoft.SqlVirtualMachine/preview/2021-11-01-preview/sqlvm.json +``` ### Tag: package-2017-03-01-preview These settings apply only when `--tag=package-2017-03-01-preview` is specified on the command line. @@ -40,10 +49,9 @@ input-file: - Microsoft.SqlVirtualMachine/preview/2017-03-01-preview/sqlvm.json ``` - --- -# Code Generation +# Code Generation ## Swagger to SDK @@ -60,7 +68,6 @@ swagger-to-sdk: - repo: azure-resource-manager-schemas ``` - ### C# These settings apply only when `--csharp` is specified on the command line. @@ -75,7 +82,6 @@ csharp: clear-output-folder: true ``` - ## Python See configuration in [readme.python.md](./readme.python.md) @@ -87,6 +93,3 @@ See configuration in [readme.go.md](./readme.go.md) ### Java See configuration in [readme.java.md](./readme.java.md) - - - diff --git a/specification/sqlvirtualmachine/resource-manager/readme.python.md b/specification/sqlvirtualmachine/resource-manager/readme.python.md index 41109e916a5a..2bd52fce8803 100644 --- a/specification/sqlvirtualmachine/resource-manager/readme.python.md +++ b/specification/sqlvirtualmachine/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION @@ -14,12 +14,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/sql/azure-mgmt-sqlvirtualmachine/azure/mgmt/sqlvirtualmachine -``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/sql/azure-mgmt-sqlvirtualmachine ``` \ No newline at end of file diff --git a/specification/storSimple1200Series/resource-manager/Microsoft.StorSimple/stable/2016-10-01/StorSimple.json b/specification/storSimple1200Series/resource-manager/Microsoft.StorSimple/stable/2016-10-01/StorSimple.json index 932f6b905cae..4c2d0da4abbe 100644 --- a/specification/storSimple1200Series/resource-manager/Microsoft.StorSimple/stable/2016-10-01/StorSimple.json +++ b/specification/storSimple1200Series/resource-manager/Microsoft.StorSimple/stable/2016-10-01/StorSimple.json @@ -6266,7 +6266,10 @@ "type": "array", "items": { "$ref": "#/definitions/AvailableProviderOperation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The NextLink.", @@ -6922,7 +6925,10 @@ "type": "array", "items": { "$ref": "#/definitions/Item" - } + }, + "x-ms-identifiers": [ + "key" + ] } } }, @@ -7406,7 +7412,8 @@ "type": "array", "items": { "$ref": "#/definitions/JobErrorItem" - } + }, + "x-ms-identifiers": [] }, "code": { "description": "The code intended for programmatic access", @@ -7549,7 +7556,8 @@ "type": "array", "items": { "$ref": "#/definitions/JobStage" - } + }, + "x-ms-identifiers": [] }, "deviceId": { "description": "The device id in which the job is currently running", @@ -7950,14 +7958,20 @@ "type": "array", "items": { "$ref": "#/definitions/MetricAvailablity" - } + }, + "x-ms-identifiers": [ + "timeGrain" + ] }, "dimensions": { "description": "The supported dimensions", "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "type": { "description": "The metric definition type", @@ -7977,7 +7991,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDefinition" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -8035,7 +8052,8 @@ "type": "array", "items": { "$ref": "#/definitions/Metrics" - } + }, + "x-ms-identifiers": [] } } }, @@ -8126,7 +8144,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "unit": { "description": "The unit of the metric data", @@ -8153,7 +8174,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricData" - } + }, + "x-ms-identifiers": [ + "timeStamp" + ] } } }, @@ -8236,7 +8260,8 @@ "type": "array", "items": { "$ref": "#/definitions/NodeNetwork" - } + }, + "x-ms-identifiers": [] } } }, @@ -8252,7 +8277,10 @@ "type": "array", "items": { "$ref": "#/definitions/NetworkAdapter" - } + }, + "x-ms-identifiers": [ + "networkAdapterName" + ] } } }, diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2018-06-17/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2018-06-17/DataLakeStorage.json new file mode 100644 index 000000000000..347cb3949da6 --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2018-06-17/DataLakeStorage.json @@ -0,0 +1,1837 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2018-06-17", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient" + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{accountName}.{dnsSuffix}", + "parameters": [ + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/dnsSuffix" + } + ] + }, + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "tags": [ + { + "name": "Account Operations" + }, + { + "name": "Filesystem Operations" + }, + { + "name": "File and Directory Operations" + } + ], + "parameters": { + "Version": { + "description": "Specifies the version of the REST protocol used for processing the request. This is required when using shared key authorization.", + "in": "header", + "name": "x-ms-version", + "required": false, + "type": "string", + "x-ms-parameter-location": "client" + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + } + }, + "definitions": { + "DataLakeStorageError": { + "properties": { + "error": { + "description": "The service error response object.", + "properties": { + "code": { + "description": "The service error code.", + "type": "string" + }, + "message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + }, + "Path": { + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + } + } + }, + "PathList": { + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "Filesystem": { + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "FilesystemList": { + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/Filesystem" + } + } + } + } + }, + "responses": { + "ErrorResponse": { + "description": "An error occurred. The possible HTTP status, code, and message strings are listed below:\n* 400 Bad Request, ContentLengthMustBeZero, \"The Content-Length request header must be zero.\"\n* 400 Bad Request, InvalidAuthenticationInfo, \"Authentication information is not given in the correct format. Check the value of Authorization header.\"\n* 400 Bad Request, InvalidFlushPosition, \"The uploaded data is not contiguous or the position query parameter value is not equal to the length of the file after appending the uploaded data.\"\n* 400 Bad Request, InvalidHeaderValue, \"The value for one of the HTTP headers is not in the correct format.\"\n* 400 Bad Request, InvalidHttpVerb, \"The HTTP verb specified is invalid - it is not recognized by the server.\"\n* 400 Bad Request, InvalidInput, \"One of the request inputs is not valid.\"\n* 400 Bad Request, InvalidPropertyName, \"A property name cannot be empty.\"\n* 400 Bad Request, InvalidPropertyName, \"The property name contains invalid characters.\"\n* 400 Bad Request, InvalidQueryParameterValue, \"Value for one of the query parameters specified in the request URI is invalid.\"\n* 400 Bad Request, InvalidResourceName, \"The specified resource name contains invalid characters.\"\n* 400 Bad Request, InvalidSourceUri, \"The source URI is invalid.\"\n* 400 Bad Request, InvalidUri, \"The request URI is invalid.\"\n* 400 Bad Request, MissingRequiredHeader, \"An HTTP header that's mandatory for this request is not specified.\"\n* 400 Bad Request, MissingRequiredQueryParameter, \"A query parameter that's mandatory for this request is not specified.\"\n* 400 Bad Request, MultipleConditionHeadersNotSupported, \"Multiple condition headers are not supported.\"\n* 400 Bad Request, OutOfRangeInput, \"One of the request inputs is out of range.\"\n* 400 Bad Request, OutOfRangeQueryParameterValue, \"One of the query parameters specified in the request URI is outside the permissible range.\"\n* 400 Bad Request, UnsupportedHeader, \"One of the headers specified in the request is not supported.\"\n* 400 Bad Request, UnsupportedQueryParameter, \"One of the query parameters specified in the request URI is not supported.\"\n* 400 Bad Request, UnsupportedRestVersion, \"The specified Rest Version is Unsupported.\"\n* 403 Forbidden, AccountIsDisabled, \"The specified account is disabled.\"\n* 403 Forbidden, AuthorizationFailure, \"This request is not authorized to perform this operation.\"\n* 403 Forbidden, InsufficientAccountPermissions, \"The account being accessed does not have sufficient permissions to execute this operation.\"\n* 404 Not Found, FilesystemNotFound, \"The specified filesystem does not exist.\"\n* 404 Not Found, PathNotFound, \"The specified path does not exist.\"\n* 404 Not Found, RenameDestinationParentPathNotFound, \"The parent directory of the destination path does not exist.\"\n* 404 Not Found, ResourceNotFound, \"The specified resource does not exist.\"\n* 404 Not Found, SourcePathNotFound, \"The source path for a rename operation does not exist.\"\n* 405 Method Not Allowed, UnsupportedHttpVerb, \"The resource doesn't support the specified HTTP verb.\"\n* 409 Conflict, DestinationPathIsBeingDeleted, \"The specified destination path is marked to be deleted.\"\n* 409 Conflict, DirectoryNotEmpty, \"The recursive query parameter value must be true to delete a non-empty directory.\"\n* 409 Conflict, FilesystemAlreadyExists, \"The specified filesystem already exists.\"\n* 409 Conflict, FilesystemBeingDeleted, \"The specified filesystem is being deleted.\"\n* 409 Conflict, InvalidDestinationPath, \"The specified path, or an element of the path, exists and its resource type is invalid for this operation.\"* 409 Conflict, InvalidFlushOperation, \"The resource was created or modified by the Blob Service API and cannot be written to by the Data Lake Storage Service API.\"\n* 409 Conflict, InvalidRenameSourcePath, \"The source directory cannot be the same as the destination directory, nor can the destination be a subdirectory of the source directory.\"\n* 409 Conflict, InvalidSourceOrDestinationResourceType, \"The source and destination resource type must be identical.\"\n* 409 Conflict, LeaseAlreadyPresent, \"There is already a lease present.\"\n* 409 Conflict, LeaseIdMismatchWithLeaseOperation, \"The lease ID specified did not match the lease ID for the resource with the specified lease operation.\"\n* 409 Conflict, LeaseIsAlreadyBroken, \"The lease has already been broken and cannot be broken again.\"\n* 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, \"The lease ID matched, but the lease is currently in breaking state and cannot be acquired until it is broken.\"\n* 409 Conflict, LeaseIsBreakingAndCannotBeChanged, \"The lease ID matched, but the lease is currently in breaking state and cannot be changed.\"\n* 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, \"The lease ID matched, but the lease has been broken explicitly and cannot be renewed.\"\n* 409 Conflict, LeaseNameMismatch, \"The lease name specified did not match the existing lease name.\"\n* 409 Conflict, LeaseNotPresentWithLeaseOperation, \"The lease ID is not present with the specified lease operation.\"\n* 409 Conflict, PathAlreadyExists, \"The specified path already exists.\"\n* 409 Conflict, PathConflict, \"The specified path, or an element of the path, exists and its resource type is invalid for this operation.\"\n* 409 Conflict, SourcePathIsBeingDeleted, \"The specified source path is marked to be deleted.\"\n* 409 Conflict, ResourceTypeMismatch, \"The resource type specified in the request does not match the type of the resource.\"\n* 412 Precondition Failed, ConditionNotMet, \"The condition specified using HTTP conditional header(s) is not met.\"\n* 412 Precondition Failed, LeaseIdMismatch, \"The lease ID specified did not match the lease ID for the resource.\"\n* 412 Precondition Failed, LeaseIdMissing, \"There is currently a lease on the resource and no lease ID was specified in the request.\"\n* 412 Precondition Failed, LeaseNotPresent, \"There is currently no lease on the resource.\"\n* 412 Precondition Failed, LeaseLost, \"A lease ID was specified, but the lease for the resource has expired.\"\n* 412 Precondition Failed, SourceConditionNotMet, \"The source condition specified using HTTP conditional header(s) is not met.\"\n* 413 Request Entity Too Large, RequestBodyTooLarge, \"The request body is too large and exceeds the maximum permissible limit.\"\n* 416 Requested Range Not Satisfiable, InvalidRange, \"The range specified is invalid for the current size of the resource.\"\n* 500 Internal Server Error, InternalError, \"The server encountered an internal error. Please retry the request.\"\n* 500 Internal Server Error, OperationTimedOut, \"The operation could not be completed within the permitted time.\"\n* 503 Service Unavailable, ServerBusy, \"Egress is over the account limit.\"\n* 503 Service Unavailable, ServerBusy, \"Ingress is over the account limit.\"\n* 503 Service Unavailable, ServerBusy, \"Operations per second is over the account limit.\"\n* 503 Service Unavailable, ServerBusy, \"The server is currently unable to receive requests. Please retry your request.\"", + "headers": { + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/DataLakeStorageError" + } + } + }, + "paths": { + "/": { + "get": { + "operationId": "Filesystem_List", + "summary": "List Filesystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FilesystemList" + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string" + }, + { + "name": "continuation", + "in": "query", + "description": "The number of filesystems returned with each invocation is limited. If the number of filesystems to be returned exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "required": false, + "type": "string" + }, + { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "x-ms-client-request-id", + "description": "A UUID recorded in the analytics logs for troubleshooting and correlation.", + "in": "header", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string", + "x-ms-client-request-id": true + }, + { + "name": "timeout", + "in": "query", + "description": "An optional operation timeout value in seconds. The period begins when the request is received by the service. If the timeout value elapses before the operation completes, the operation fails.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "x-ms-date", + "in": "header", + "description": "Specifies the Coordinated Universal Time (UTC) for the request. This is required when using shared key authorization.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/Version" + } + ] + } + }, + "/{filesystem}": { + "put": { + "operationId": "Filesystem_Create", + "summary": "Create Filesystem", + "description": "Create a filesystem rooted at the specified location. If the filesystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "Filesystem Operations" + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem. ", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "x-ms-properties", + "description": "User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "patch": { + "operationId": "Filesystem_SetProperties", + "summary": "Set Filesystem Properties", + "description": "Set properties for the filesystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "Filesystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "x-ms-properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "get": { + "operationId": "Path_List", + "summary": "List Paths", + "description": "List filesystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "Filesystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "directory", + "in": "query", + "description": "Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + { + "name": "recursive", + "in": "query", + "description": "If \"true\", all paths are listed; otherwise, only paths at the root of the filesystem are listed. If \"directory\" is specified, the list will only include paths that share the same root.", + "required": true, + "type": "boolean" + }, + { + "name": "continuation", + "in": "query", + "description": "The number of paths returned with each invocation is limited. If the number of paths to be returned exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "required": false, + "type": "string" + }, + { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + } + ] + }, + "head": { + "operationId": "Filesystem_GetProperties", + "summary": "Get Filesystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "Filesystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem. ", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + } + }, + "delete": { + "operationId": "Filesystem_Delete", + "summary": "Delete Filesystem", + "description": "Marks the filesystem for deletion. When a filesystem is deleted, a filesystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "Filesystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "parameters": [ + { + "name": "filesystem", + "in": "path", + "description": "The filesystem identifier. The value must start and end with a letter or number and must contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All letters must be lowercase. The value must have between 3 and 63 characters.", + "required": true, + "type": "string" + }, + { + "name": "resource", + "in": "query", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FilesystemResourceType", + "modelAsString": false + } + }, + { + "name": "x-ms-client-request-id", + "description": "A UUID recorded in the analytics logs for troubleshooting and correlation.", + "in": "header", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string", + "x-ms-client-request-id": true + }, + { + "name": "timeout", + "in": "query", + "description": "An optional operation timeout value in seconds. The period begins when the request is received by the service. If the timeout value elapses before the operation completes, the operation fails.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "x-ms-date", + "in": "header", + "description": "Specifies the Coordinated Universal Time (UTC) for the request. This is required when using shared key authorization.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/Version" + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "required": false, + "type": "string" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\". ", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Cache-Control\" response header for \"Read File\" operations for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "Content-Encoding", + "in": "header", + "description": "Optional. Specifies which content encodings have been applied to the file. This value is returned to the client when the \"Read File\" operation is performed.", + "required": false, + "type": "string" + }, + { + "name": "Content-Language", + "in": "header", + "description": "Optional. Specifies the natural language used by the intended audience for the file.", + "required": false, + "type": "string" + }, + { + "name": "Content-Disposition", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Content-Disposition\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-cache-control", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Cache-Control\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-type", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Content-Type\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-encoding", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Content-Encoding\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-language", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Content-Language\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-disposition", + "in": "header", + "description": "Optional. The service stores this value and includes it in the \"Content-Disposition\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-rename-source", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-lease-id", + "in": "header", + "description": "Optional. A lease ID for the path specified in the URI. The path to be overwritten must have an active lease and the lease ID must match.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "x-ms-proposed-lease-id", + "in": "header", + "description": "Optional for create operations. Required when \"x-ms-lease-action\" is used. A lease will be acquired using the proposed ID when the resource is created.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "x-ms-source-lease-id", + "in": "header", + "description": "Optional for rename operations. A lease ID for the source path. The source path must have an active lease and the lease ID must match.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "x-ms-properties", + "description": "Optional. User-defined properties to be stored with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Match", + "description": "Optional. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-source-if-match", + "description": "Optional. An ETag value. Specify this header to perform the rename operation only if the source's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-source-if-none-match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the rename operation only if the source's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-source-if-modified-since", + "description": "Optional. A date and time value. Specify this header to perform the rename operation only if the source has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-source-if-unmodified-since", + "description": "Optional. A date and time value. Specify this header to perform the rename operation only if the source has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream", + "text/plain" + ], + "tags": [ + "File and Directory Operations" + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "string" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "x-ms-properties": { + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, or \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer" + }, + { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean" + }, + { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "string" + }, + { + "name": "x-ms-lease-action", + "in": "header", + "description": "Optional. The lease action can be \"renew\" to renew an existing lease or \"release\" to release a lease.", + "type": "string", + "enum": [ + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathUpdateLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-id", + "in": "header", + "description": "The lease ID must be specified if there is an active lease.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "x-ms-cache-control", + "in": "header", + "description": "Optional and only valid for flush and set properties operations. The service stores this value and includes it in the \"Cache-Control\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-type", + "in": "header", + "description": "Optional and only valid for flush and set properties operations. The service stores this value and includes it in the \"Content-Type\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-disposition", + "in": "header", + "description": "Optional and only valid for flush and set properties operations. The service stores this value and includes it in the \"Content-Disposition\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-encoding", + "in": "header", + "description": "Optional and only valid for flush and set properties operations. The service stores this value and includes it in the \"Content-Encoding\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-content-language", + "in": "header", + "description": "Optional and only valid for flush and set properties operations. The service stores this value and includes it in the \"Content-Language\" response header for \"Read File\" operations.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-properties", + "description": "Optional. User-defined properties to be stored with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded. Valid only for the setProperties operation. If the file or directory exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-owner", + "description": "Optional and valid only for the setAccessControl operation. Sets the owner of the file or directory.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-group", + "description": "Optional and valid only for the setAccessControl operation. Sets the owning group of the file or directory.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. Invalid in conjunction with x-ms-acl.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "x-ms-acl", + "description": "Optional and valid only for the setAccessControl operation. Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries that fully replaces the existing access control list (ACL). Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\". The scope must be \"default\" to indicate the ACE belongs to the default ACL for a directory; otherwise scope is implicit and the ACE belongs to the access ACL. There are four ACE types: \"user\" grants rights to the owner or a named user, \"group\" grants rights to the owning group or a named group, \"mask\" restricts rights granted to named users and the members of groups, and \"other\" grants rights to all users not found in any of the other entries. The user or group identifier is omitted for entries of type \"mask\" and \"other\". The user or group identifier is also omitted for the owner and owning group. The permission field is a 3-character sequence where the first character is 'r' to grant read access, the second character is 'w' to grant write access, and the third character is 'x' to grant execute permission. If access is not granted, the '-' character is used to denote that the permission is denied. For example, the following ACL grants read, write, and execute rights to the file owner and john.doe@contoso, the read right to the owning group, and nothing to everyone else: \"user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx\". Invalid in conjunction with x-ms-permissions.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Match", + "description": "Optional for Flush Data and Set Properties, but invalid for Append Data. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional for Flush Data and Set Properties, but invalid for Append Data. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional for Flush Data and Set Properties, but invalid for Append Data. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional for Flush Data and Set Properties, but invalid for Append Data. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "requestBody", + "description": "Valid only for append operations. The data to be uploaded and appended to the file.", + "in": "body", + "required": false, + "schema": { + "type": "object", + "format": "file" + } + } + ] + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-id", + "in": "header", + "description": "Required when \"x-ms-lease-action\" is \"renew\", \"change\" or \"release\". For the renew and release actions, this must match the current lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "x-ms-proposed-lease-id", + "in": "header", + "description": "Required when \"x-ms-lease-action\" is \"acquire\" or \"change\". A lease will be acquired with this lease ID if the operation is successful.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "If-Match", + "description": "Optional. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "produces": [ + "application/json", + "application/octet-stream", + "text/plain" + ], + "tags": [ + "File and Directory Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "string" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "type": "string" + }, + "x-ms-lease-duration": { + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "string" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "type": "string" + }, + "x-ms-lease-duration": { + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "file" + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "name": "If-Match", + "description": "Optional. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Access Control List", + "description": "Get the properties for a file or directory, and optionally include the access control list. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "string" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.", + "type": "string" + }, + "x-ms-owner": { + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account).", + "required": false, + "type": "string", + "enum": [ + "getAccessControl" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "name": "If-Match", + "description": "Optional. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string" + }, + "x-ms-request-id": { + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + } + } + }, + "default": { + "$ref": "#/responses/ErrorResponse" + } + }, + "parameters": [ + { + "name": "recursive", + "in": "query", + "description": "Required and valid only when the resource is a directory. If \"true\", all paths beneath the directory will be deleted. If \"false\" and the directory is non-empty, an error occurs.", + "required": false, + "type": "boolean" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + { + "name": "x-ms-lease-id", + "in": "header", + "description": "The lease ID must be specified if there is an active lease.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string" + }, + { + "name": "If-Match", + "description": "Optional. An ETag value. Specify this header to perform the operation only if the resource's ETag matches the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-None-Match", + "description": "Optional. An ETag value or the special wildcard (\"*\") value. Specify this header to perform the operation only if the resource's ETag does not match the value specified. The ETag must be specified in quotes.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Modified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + }, + { + "name": "If-Unmodified-Since", + "description": "Optional. A date and time value. Specify this header to perform the operation only if the resource has not been modified since the specified date and time.", + "in": "header", + "required": false, + "type": "string" + } + ] + }, + "parameters": [ + { + "name": "filesystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + { + "name": "path", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-client-request-id", + "description": "A UUID recorded in the analytics logs for troubleshooting and correlation.", + "in": "header", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "required": false, + "type": "string", + "x-ms-client-request-id": true + }, + { + "name": "timeout", + "in": "query", + "description": "An optional operation timeout value in seconds. The period begins when the request is received by the service. If the timeout value elapses before the operation completes, the operation fails.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "x-ms-date", + "in": "header", + "description": "Specifies the Coordinated Universal Time (UTC) for the request. This is required when using shared key authorization.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/Version" + } + ] + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-06-12/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-06-12/DataLakeStorage.json new file mode 100644 index 000000000000..076f90ceb4d7 --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-06-12/DataLakeStorage.json @@ -0,0 +1,3357 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2020-06-12", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2020-06-12" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-10-02/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-10-02/DataLakeStorage.json new file mode 100644 index 000000000000..67c02837657e --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2020-10-02/DataLakeStorage.json @@ -0,0 +1,3485 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2020-10-02", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2020-10-02" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-04-10/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-04-10/DataLakeStorage.json new file mode 100644 index 000000000000..8e15d3e76be6 --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-04-10/DataLakeStorage.json @@ -0,0 +1,3485 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2021-04-10", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-04-10" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json new file mode 100644 index 000000000000..ef0093e1fe83 --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/preview/2021-06-08/DataLakeStorage.json @@ -0,0 +1,3485 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2021-06-08", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-06-08" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md b/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md new file mode 100644 index 000000000000..2b515504ee51 --- /dev/null +++ b/specification/storage/data-plane/Azure.Storage.Files.DataLake/readme.md @@ -0,0 +1,90 @@ +# StorageDataLake + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for StorageDataLake. + + +--- +## Getting Started +To build the SDK for StorageDataLake, 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 StorageDataLake API. + +``` yaml +openapi-type: data-plane +tag: package-2021-06 +use-internal-constructors: true +add-credentials: true +``` + +### Tag: package-2018-06-preview + +These settings apply only when `--tag=package-2018-06-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2018-06-preview' +input-file: +- preview/2018-06-17/DataLakeStorage.json +``` + +### Tag: package-2020-06 + +These settings apply only when `--tag=package-2020-06` is specified on the command line. + +``` yaml $(tag) == 'package-2020-06' +input-file: +- preview/2020-06-12/DataLakeStorage.json +``` + +### Tag: package-2020-10 + +These settings apply only when `--tag=package-2020-10` is specified on the command line. + +``` yaml $(tag) == 'package-2020-10' +input-file: +- preview/2020-10-02/DataLakeStorage.json +``` + +### Tag: package-2021-04 + +These settings apply only when `--tag=package-2021-04` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04' +input-file: +- preview/2021-04-10/DataLakeStorage.json +``` + +### Tag: package-2021-06 + +These settings apply only when `--tag=package-2021-06` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06' +input-file: +- preview/2021-06-08/DataLakeStorage.json +``` + +### Suppression +``` yaml +directive: + - suppress: DefinitionsPropertiesNamesCamelCase + reason: These parameters are predfined by storage specifications + - suppress: XmsPathsMustOverloadPaths + - suppress: XmsExamplesRequired + - suppress: OperationIdNounConflictingModelNames + reason: This is only a warning. Changing these definitions would be a massive breaking change to our clients + - suppress: LongRunningOperationsWithLongRunningExtension + - suppress: OAV107 +``` +--- \ No newline at end of file diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json index f172d2591f8d..9618654984a1 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-10-02/blob.json @@ -7655,6 +7655,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7713,6 +7719,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -7780,6 +7789,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7838,6 +7853,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -10606,6 +10624,9 @@ "items": { "$ref": "#/definitions/ClearRange" } + }, + "NextMarker": { + "type": "string" } } }, diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json index 75eea78333d6..b7f79f372b27 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2020-12-06/blob.json @@ -7663,6 +7663,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7721,6 +7727,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -7788,6 +7797,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7846,6 +7861,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -10614,6 +10632,9 @@ "items": { "$ref": "#/definitions/ClearRange" } + }, + "NextMarker": { + "type": "string" } } }, diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json index cb1a30e686d1..88766268d325 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-02-12/blob.json @@ -7663,6 +7663,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7721,6 +7727,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -7788,6 +7797,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7846,6 +7861,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -10634,6 +10652,9 @@ "items": { "$ref": "#/definitions/ClearRange" } + }, + "NextMarker": { + "type": "string" } } }, diff --git a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json index 7fa06362c85b..f70312c464ab 100644 --- a/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json +++ b/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-04-10/blob.json @@ -4380,6 +4380,9 @@ }, { "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/CopySourceTags" } ], "responses": { @@ -6162,6 +6165,9 @@ }, { "$ref": "#/parameters/EncryptionScope" + }, + { + "$ref": "#/parameters/CopySourceTags" } ], "responses": { @@ -7759,6 +7765,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7817,6 +7829,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -7884,6 +7899,12 @@ }, { "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" } ], "responses": { @@ -7942,6 +7963,9 @@ "$ref": "#/definitions/StorageError" } } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" } }, "parameters": [ @@ -10730,6 +10754,9 @@ "items": { "$ref": "#/definitions/ClearRange" } + }, + "NextMarker": { + "type": "string" } } }, @@ -11492,6 +11519,23 @@ "x-ms-parameter-location": "method", "description": "Optional, default is true. Indicates if properties from the source blob should be copied." }, + "CopySourceTags": { + "name": "x-ms-copy-source-tag-option", + "x-ms-client-name": "copySourceTags", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "REPLACE", + "COPY" + ], + "x-ms-enum": { + "name": "BlobCopySourceTags", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Optional, default 'replace'. Indicates if source tags should be copied or replaced with the tags specified by x-ms-tags." + }, "DeleteSnapshots": { "name": "x-ms-delete-snapshots", "x-ms-client-name": "deleteSnapshots", diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2020-10-02/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2020-10-02/file.json index cd4fd0e10157..73d394b4e995 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/preview/2020-10-02/file.json +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2020-10-02/file.json @@ -6075,7 +6075,7 @@ "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." }, "FileCopyIgnoreReadOnly": { - "name": "x-ms-file-copy-ignore-read-only", + "name": "x-ms-file-copy-ignore-readonly", "x-ms-client-name": "ignoreReadOnly", "in": "header", "required": false, diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json index eee63928f1af..8e6701d63bba 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-02-12/file.json @@ -6083,7 +6083,7 @@ "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." }, "FileCopyIgnoreReadOnly": { - "name": "x-ms-file-copy-ignore-read-only", + "name": "x-ms-file-copy-ignore-readonly", "x-ms-client-name": "ignoreReadOnly", "in": "header", "required": false, diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json index 27e56fe6cdfd..b083922f9da9 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-04-10/file.json @@ -5336,6 +5336,9 @@ }, { "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FileContentType" } ], "responses": { @@ -6404,7 +6407,7 @@ "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." }, "FileCopyIgnoreReadOnly": { - "name": "x-ms-file-copy-ignore-read-only", + "name": "x-ms-file-copy-ignore-readonly", "x-ms-client-name": "ignoreReadOnly", "in": "header", "required": false, diff --git a/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-06-08/file.json b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-06-08/file.json new file mode 100644 index 000000000000..f1ab02d07c9c --- /dev/null +++ b/specification/storage/data-plane/Microsoft.FileStorage/preview/2021-06-08/file.json @@ -0,0 +1,7163 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure File Storage", + "version": "2021-06-08", + "x-ms-code-generation-settings": { + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "securityDefinitions": { + "File_shared_key": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/xml" + ], + "produces": [ + "application/xml" + ], + "paths": {}, + "x-ms-paths": { + "/?restype=service&comp=properties": { + "put": { + "tags": [ + "service" + ], + "operationId": "Service_SetProperties", + "description": "Sets properties for a storage account's File service endpoint, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/StorageServiceProperties" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted)", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "service" + ], + "operationId": "Service_GetProperties", + "description": "Gets the properties of a storage account's File service, including properties for Storage Analytics metrics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "service" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/?comp=list": { + "get": { + "tags": [ + "service" + ], + "operationId": "Service_ListSharesSegment", + "description": "The List Shares Segment operation returns a list of the shares and share snapshots under the specified account.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListSharesInclude" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + } + }, + "schema": { + "$ref": "#/definitions/ListSharesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}?restype=share": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Create", + "description": "Creates a new share under the specified account. If the share with the same name already exists, the operation fails.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareEnabledProtocols" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "201": { + "description": "Success, Share created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetProperties", + "description": "Returns all user-defined metadata and system properties for the specified share or share snapshot. The data returned does not include the share's list of files.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain the user-defined metadata of the share.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-share-quota": { + "x-ms-client-name": "Quota", + "type": "integer", + "description": "Returns the current share quota in GB." + }, + "x-ms-share-provisioned-iops": { + "x-ms-client-name": "ProvisionedIops", + "type": "integer", + "description": "Returns the current share provisioned ipos." + }, + "x-ms-share-provisioned-ingress-mbps": { + "x-ms-client-name": "ProvisionedIngressMBps", + "type": "integer", + "description": "Returns the current share provisioned ingress in megabytes per second." + }, + "x-ms-share-provisioned-egress-mbps": { + "x-ms-client-name": "ProvisionedEgressMBps", + "type": "integer", + "description": "Returns the current share provisioned egress in megabytes per second." + }, + "x-ms-share-next-allowed-quota-downgrade-time": { + "x-ms-client-name": "NextAllowedQuotaDowngradeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + }, + "x-ms-share-provisioned-bandwidth-mibps": { + "x-ms-client-name": "ProvisionedBandwidthMibps", + "type": "integer", + "description": "Returns the current share provisioned bandwidth in megabits per second." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "x-ms-access-tier": { + "x-ms-client-name": "AccessTier", + "type": "string", + "description": "Returns the access tier set on the share." + }, + "x-ms-access-tier-change-time": { + "x-ms-client-name": "AccessTierChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the last modified time (in UTC) of the access tier of the share." + }, + "x-ms-access-tier-transition-state": { + "x-ms-client-name": "AccessTierTransitionState", + "type": "string", + "description": "Returns the transition state between access tiers, when present." + }, + "x-ms-enabled-protocols": { + "x-ms-client-name": "EnabledProtocols", + "description": "The protocols that have been enabled on the share.", + "type": "string" + }, + "x-ms-root-squash": { + "x-ms-client-name": "RootSquash", + "description": "Valid for NFS shares only.", + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "share" + ], + "operationId": "Share_Delete", + "description": "Operation marks the specified share or share snapshot for deletion. The share or share snapshot and any files contained within it are later deleted during garbage collection.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/DeleteSnapshots" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&acquire": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_AcquireLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&release": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ReleaseLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&change": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_ChangeLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&renew": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_RenewLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Renew operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the current share next allowed quota downgrade time." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "renew" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=lease&break": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_BreakLease", + "description": "The Lease Share operation establishes and manages a lock on a share, or the specified snapshot for set and delete share operations.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseBreakPeriod" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ShareSnapshot" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "type": "integer", + "description": "Approximate time remaining in the lease period, in seconds." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a share's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + } + ] + }, + "/{shareName}?restype=share&comp=snapshot": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreateSnapshot", + "description": "Creates a read-only snapshot of a share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Success, Share snapshot created.", + "headers": { + "x-ms-snapshot": { + "x-ms-client-name": "Snapshot", + "type": "string", + "description": "This header is a DateTime value that uniquely identifies the share snapshot. The value of this header may be used in subsequent requests to access the share snapshot. This value is opaque." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the share snapshot, in quotes. A share snapshot cannot be modified, so the ETag of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the ETag of the share snapshot differs from that of the base share. If no metadata was specified with the request, the ETag of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. A share snapshot cannot be modified, so the last modified time of a given share snapshot never changes. However, if new metadata was supplied with the Snapshot Share request then the last modified time of the share snapshot differs from that of the base share. If no metadata was specified with the request, the last modified time of the share snapshot is identical to that of the base share at the time the share snapshot was taken." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "snapshot" + ] + } + ] + }, + "/{shareName}?restype=share&comp=filepermission": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_CreatePermission", + "description": "Create a permission (a security descriptor).", + "consumes": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SharePermission" + } + ], + "responses": { + "201": { + "description": "Success, Share level permission created.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory/file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetPermission", + "description": "Returns the permission (security descriptor) for a given key", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/FilePermissionKeyRequired" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SharePermission" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "filepermission" + ] + } + ] + }, + "/{shareName}?restype=share&comp=properties": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetProperties", + "description": "Sets properties for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ShareQuota" + }, + { + "$ref": "#/parameters/AccessTierOptional" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ShareRootSquash" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}?restype=share&comp=metadata": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetMetadata", + "description": "Sets one or more user-defined name-value pairs for the specified share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}?restype=share&comp=acl": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetAccessPolicy", + "description": "Returns information about stored access policies specified on the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "put": { + "tags": [ + "share" + ], + "operationId": "Share_SetAccessPolicy", + "description": "Sets a stored access policy for use with shared access signatures.", + "parameters": [ + { + "$ref": "#/parameters/ShareAcl" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "acl" + ] + } + ] + }, + "/{shareName}?restype=share&comp=stats": { + "get": { + "tags": [ + "share" + ], + "operationId": "Share_GetStatistics", + "description": "Retrieves statistics related to the share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareStats" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "stats" + ] + } + ] + }, + "/{shareName}?restype=share&comp=undelete": { + "put": { + "tags": [ + "share" + ], + "operationId": "Share_Restore", + "description": "Restores a previously deleted Share.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/DeletedShareName" + }, + { + "$ref": "#/parameters/DeletedShareVersion" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the share or its properties updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "share" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Create", + "description": "Creates a new directory under the specified share or parent directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + } + ], + "responses": { + "201": { + "description": "Success, Directory created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_GetProperties", + "description": "Returns all system properties for the specified directory, and can also be used to check the existence of a directory. The data returned does not include the files in the directory or any subdirectories.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs that contain metadata for the directory.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the Directory was last modified. Operations on files within the directory do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the directory metadata is completely encrypted using the specified algorithm. Otherwise, the value is set to false." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "directory" + ], + "operationId": "Directory_Delete", + "description": "Removes the specified empty directory. Note that the directory must be empty before it can be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=properties": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetProperties", + "description": "Sets properties on the directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the directory." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the directory." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the directory." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the directory." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the directory." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=metadata": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_SetMetadata", + "description": "Updates user defined metadata for the specified directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the directory, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=list": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListFilesAndDirectoriesSegment", + "description": "Returns a list of files or directories under the specified share or directory. It lists the contents only for a single level of the directory hierarchy.", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListFilesInclude" + }, + { + "$ref": "#/parameters/ListFilesExtendedInfo" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListFilesAndDirectoriesSegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{shareName}/{directory}?comp=listhandles": { + "get": { + "tags": [ + "directory" + ], + "operationId": "Directory_ListHandles", + "description": "Lists handles for directory.", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}?comp=forceclosehandles": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_ForceCloseHandles", + "description": "Closes all handles open for given directory.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/Recursive" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}?restype=directory&comp=rename": { + "put": { + "tags": [ + "directory" + ], + "operationId": "Directory_Rename", + "description": "Renames a directory", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/Metadata" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "directory" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Create", + "description": "Creates a new file or replaces a file. Note it only initializes the file with no content.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Specifies the maximum size for the file, up to 4 TB.", + "required": true, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileType" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "201": { + "description": "Success, File created.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "tags": [ + "file" + ], + "operationId": "File_Download", + "description": "Reads or downloads a file from the system, including its metadata and properties.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Range" + }, + { + "$ref": "#/parameters/GetRangeContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Succeeded to read the entire file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Succeeded to read a specified range of the file.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The number of bytes present in the response body." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "Content-Range": { + "type": "string", + "description": "Indicates the range of bytes returned if the client requested a subset of the file by setting the Range request header." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the file has an MD5 hash and the request is to read the full file, this response header is returned so that the client can check for message content integrity. If the request is to read a specified range and the 'x-ms-range-get-content-md5' is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB. If neither of these sets of conditions is true, then no value is returned for the 'Content-MD5' header." + }, + "Content-Encoding": { + "type": "string", + "description": "Returns the value that was specified for the Content-Encoding request header." + }, + "Cache-Control": { + "type": "string", + "description": "Returned if it was previously specified for the file." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Accept-Ranges": { + "type": "string", + "description": "Indicates that the service supports requests for partial file content." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-content-md5": { + "x-ms-client-name": "FileContentMD5", + "type": "string", + "format": "byte", + "description": "If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range." + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "tags": [ + "file" + ], + "operationId": "File_GetProperties", + "description": "Returns all user-defined metadata, standard HTTP properties, and system properties for the file. It does not return the content of the file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. The date format follows RFC 1123. Any operation that modifies the file or its properties updates the last modified time." + }, + "x-ms-meta": { + "type": "string", + "description": "A set of name-value pairs associated with this file as user-defined metadata.", + "x-ms-client-name": "Metadata", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "x-ms-type": { + "x-ms-client-name": "FileType", + "description": "Returns the type File. Reserved for future use.", + "type": "string", + "enum": [ + "File" + ] + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes. This header returns the value of the 'x-ms-content-length' header that is stored with the file." + }, + "Content-Type": { + "type": "string", + "description": "The content type specified for the file. The default content type is 'application/octet-stream'" + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally, in quotes." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the Content-MD5 header has been set for the file, the Content-MD5 response header is returned so that the client can check for message content integrity." + }, + "Content-Encoding": { + "type": "string", + "description": "If the Content-Encoding request header has previously been set for the file, the Content-Encoding value is returned in this header." + }, + "Cache-Control": { + "type": "string", + "description": "If the Cache-Control request header has previously been set for the file, the Cache-Control value is returned in this header." + }, + "Content-Disposition": { + "type": "string", + "description": "Returns the value that was specified for the 'x-ms-content-disposition' header and specifies how to process the response." + }, + "Content-Language": { + "type": "string", + "description": "Returns the value that was specified for the Content-Language request header." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-completion-time": { + "x-ms-client-name": "CopyCompletionTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Conclusion time of the last attempted Copy File operation where this file was the destination file. This value can specify the time of a completed, aborted, or failed copy attempt." + }, + "x-ms-copy-status-description": { + "x-ms-client-name": "CopyStatusDescription", + "type": "string", + "description": "Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal or non-fatal copy operation failure." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-progress": { + "x-ms-client-name": "CopyProgress", + "type": "string", + "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy File operation where this file was the destination file. Can show between 0 and Content-Length bytes copied." + }, + "x-ms-copy-source": { + "x-ms-client-name": "CopySource", + "type": "string", + "description": "URL up to 2KB in length that specifies the source file used in the last attempted Copy File operation where this file was the destination file." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by 'x-ms-copy-id'.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + }, + "x-ms-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the file data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the file is unencrypted, or if only parts of the file/application metadata are encrypted)." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the file." + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a file is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the file.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The current lease status of the file.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "tags": [ + "file" + ], + "operationId": "File_Delete", + "description": "removes the file from the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "Success (Accepted).", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=properties": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetHTTPHeaders", + "description": "Sets HTTP headers on the file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-content-length", + "x-ms-client-name": "fileContentLength", + "in": "header", + "description": "Resizes a file to the specified size. If the specified byte value is less than the current size of the file, then all ranges above the specified byte value are cleared.", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "$ref": "#/parameters/FileContentType" + }, + { + "$ref": "#/parameters/FileContentEncoding" + }, + { + "$ref": "#/parameters/FileContentLanguage" + }, + { + "$ref": "#/parameters/FileCacheControl" + }, + { + "$ref": "#/parameters/FileContentMD5" + }, + { + "$ref": "#/parameters/FileContentDisposition" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileAttributes" + }, + { + "$ref": "#/parameters/FileCreationTime" + }, + { + "$ref": "#/parameters/FileLastWriteTime" + }, + { + "$ref": "#/parameters/FileChangeTime" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the directory." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "properties" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=metadata": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_SetMetadata", + "description": "Updates user-defined metadata for the specified file.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success (OK).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "metadata" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&acquire": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AcquireLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseDuration" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "201": { + "description": "The Acquire operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "acquire" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&release": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ReleaseLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Release operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "release" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&change": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ChangeLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdRequired" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The Change operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "change" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=lease&break": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_BreakLease", + "description": "[Update] The Lease File operation establishes and manages a lock on a file for write and delete operations", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "202": { + "description": "The Break operation completed successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the last-modified time of the file." + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "type": "string", + "description": "Uniquely identifies a file's lease" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "lease" + ] + }, + { + "name": "x-ms-lease-action", + "x-ms-client-name": "action", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "break" + ], + "x-ms-enum": { + "name": "LeaseAction", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Describes what lease action to take." + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRange", + "description": "Upload a range of bytes to a file.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/OptionalBody" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes to be written. Both the start and end of the range must be specified. For an update operation, the range can be up to 4 MB in size. For a clear operation, the range can be up to the value of the file's full size. The File service accepts only a single byte range for the Range and 'x-ms-range' headers, and the byte range must be specified in the following format: bytes=startByte-endByte.", + "required": true, + "type": "string" + }, + { + "name": "x-ms-write", + "x-ms-client-name": "FileRangeWrite", + "in": "header", + "description": "Specify one of the following options: - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update. - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and set the Range header to a value that indicates the range to clear, up to maximum file size.", + "required": true, + "type": "string", + "enum": [ + "update", + "clear" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/FileLastWriteTimeMode" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=range&fromURL": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_UploadRangeFromURL", + "description": "Upload a range of bytes to a file where the contents are read from a URL.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/TargetRange" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/SourceRange" + }, + { + "$ref": "#/parameters/FileRangeWriteFromUrl" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/SourceContentCrc64" + }, + { + "$ref": "#/parameters/SourceIfMatchCrc64" + }, + { + "$ref": "#/parameters/SourceIfNoneMatchCrc64" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CopySourceAuthorization" + }, + { + "$ref": "#/parameters/FileLastWriteTimeMode" + } + ], + "responses": { + "201": { + "description": "Success (Created).", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the directory was last modified. Any operation that modifies the share or its properties or metadata updates the last modified time. Operations on files do not affect the last modified time of the share." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the File service; it is not necessarily the same value as may have been specified in the request headers." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "range" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rangelist": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_GetRangeList", + "description": "Returns the list of valid ranges for a file.", + "parameters": [ + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/PrevShareSnapshot" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Specifies the range of bytes over which to list ranges, inclusively.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The date/time that the file was last modified. Any operation that modifies the file, including an update of the file's metadata or properties, changes the file's last modified time." + }, + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "x-ms-content-length": { + "x-ms-client-name": "FileContentLength", + "type": "integer", + "format": "int64", + "description": "The size of the file in bytes." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ShareFileRangeList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rangelist" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_StartCopy", + "description": "Copies a blob or file to a destination file within the storage account.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/CopySource" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/FileCopyPermissionCopyMode" + }, + { + "$ref": "#/parameters/FileCopyIgnoreReadOnly" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FileCopySetArchiveAttribute" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "202": { + "description": "The copy file has been accepted with the specified copy status.", + "headers": { + "ETag": { + "type": "string", + "description": "If the copy is completed, contains the ETag of the destination file. If the copy is not complete, contains the ETag of the empty file created at the start of the copy." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date/time that the copy operation to the destination file completed." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-copy-id": { + "x-ms-client-name": "CopyId", + "type": "string", + "description": "String identifier for this copy operation. Use with Get File or Get File Properties to check the status of this copy operation, or pass to Abort Copy File to abort a pending copy." + }, + "x-ms-copy-status": { + "x-ms-client-name": "CopyStatus", + "description": "State of the copy operation identified by x-ms-copy-id.", + "type": "string", + "enum": [ + "pending", + "success", + "aborted", + "failed" + ], + "x-ms-enum": { + "name": "CopyStatusType", + "modelAsString": false + } + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=copy©id": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_AbortCopy", + "description": "Aborts a pending Copy File operation, and leaves a destination file with zero length and full metadata.", + "parameters": [ + { + "$ref": "#/parameters/CopyId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/CopyActionAbort" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + } + ], + "responses": { + "204": { + "description": "The delete request was accepted and the file will be deleted.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "copy" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=listhandles": { + "get": { + "tags": [ + "file" + ], + "operationId": "File_ListHandles", + "description": "Lists handles for file", + "parameters": [ + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "Specifies the format in which the results are returned. Currently this value is 'application/xml'." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + }, + "schema": { + "$ref": "#/definitions/ListHandlesResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "listhandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=forceclosehandles": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_ForceCloseHandles", + "description": "Closes all handles open for given file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/ShareSnapshot" + }, + { + "$ref": "#/parameters/HandleId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-marker": { + "x-ms-client-name": "marker", + "type": "string", + "description": "A string describing next handle to be closed. It is returned when more handles need to be closed to complete the request." + }, + "x-ms-number-of-handles-closed": { + "x-ms-client-name": "numberOfHandlesClosed", + "type": "integer", + "description": "Contains count of number of handles closed." + }, + "x-ms-number-of-handles-failed": { + "x-ms-client-name": "numberOfHandlesFailedToClose", + "type": "integer", + "description": "Contains count of number of handles that failed to close." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "forceclosehandles" + ] + } + ] + }, + "/{shareName}/{directory}/{fileName}?comp=rename": { + "put": { + "tags": [ + "file" + ], + "operationId": "File_Rename", + "description": "Renames a file", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/RenameReplaceIfExists" + }, + { + "$ref": "#/parameters/RenameIgnoreReadOnly" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/DestinationLeaseId" + }, + { + "$ref": "#/parameters/FileCopyFileAttributes" + }, + { + "$ref": "#/parameters/FileCopyFileCreationTime" + }, + { + "$ref": "#/parameters/FileCopyFileLastWriteTime" + }, + { + "$ref": "#/parameters/FileCopyFileChangeTime" + }, + { + "$ref": "#/parameters/FilePermission" + }, + { + "$ref": "#/parameters/FilePermissionKey" + }, + { + "$ref": "#/parameters/Metadata" + }, + { + "$ref": "#/parameters/FileContentType" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value which represents the version of the file, in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the share was last modified. Any operation that modifies the directory or its properties updates the last modified time. Operations on files do not affect the last modified time of the directory." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the File service used to execute the request." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-file-permission-key": { + "x-ms-client-name": "FilePermissionKey", + "type": "string", + "description": "Key of the permission set for the file." + }, + "x-ms-file-attributes": { + "x-ms-client-name": "FileAttributes", + "type": "string", + "description": "Attributes set for the file." + }, + "x-ms-file-creation-time": { + "x-ms-client-name": "FileCreationTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Creation time for the file." + }, + "x-ms-file-last-write-time": { + "x-ms-client-name": "FileLastWriteTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Last write time for the file." + }, + "x-ms-file-change-time": { + "x-ms-client-name": "FileChangeTime", + "type": "string", + "format": "date-time-rfc1123", + "description": "Change time for the file." + }, + "x-ms-file-id": { + "x-ms-client-name": "FileId", + "type": "string", + "description": "The fileId of the file." + }, + "x-ms-file-parent-id": { + "x-ms-client-name": "FileParentId", + "type": "string", + "description": "The parent fileId of the directory." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "#/parameters/DirectoryPath" + }, + { + "$ref": "#/parameters/FilePath" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "rename" + ] + } + ] + } + }, + "definitions": { + "AccessPolicy": { + "description": "An Access policy.", + "type": "object", + "properties": { + "Start": { + "description": "The date-time the policy is active.", + "type": "string", + "format": "date-time" + }, + "Expiry": { + "description": "The date-time the policy expires.", + "type": "string", + "format": "date-time" + }, + "Permission": { + "description": "The permissions for the ACL policy.", + "type": "string" + } + } + }, + "CorsRule": { + "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain.", + "type": "object", + "required": [ + "AllowedOrigins", + "AllowedMethods", + "AllowedHeaders", + "ExposedHeaders", + "MaxAgeInSeconds" + ], + "properties": { + "AllowedOrigins": { + "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.", + "type": "string" + }, + "AllowedMethods": { + "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)", + "type": "string" + }, + "AllowedHeaders": { + "description": "The request headers that the origin domain may specify on the CORS request.", + "type": "string" + }, + "ExposedHeaders": { + "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer.", + "type": "string" + }, + "MaxAgeInSeconds": { + "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.", + "type": "integer", + "minimum": 0 + } + } + }, + "ErrorCode": { + "description": "Error codes returned by the service", + "type": "string", + "enum": [ + "AccountAlreadyExists", + "AccountBeingCreated", + "AccountIsDisabled", + "AuthenticationFailed", + "AuthorizationFailure", + "ConditionHeadersNotSupported", + "ConditionNotMet", + "EmptyMetadataKey", + "InsufficientAccountPermissions", + "InternalError", + "InvalidAuthenticationInfo", + "InvalidHeaderValue", + "InvalidHttpVerb", + "InvalidInput", + "InvalidMd5", + "InvalidMetadata", + "InvalidQueryParameterValue", + "InvalidRange", + "InvalidResourceName", + "InvalidUri", + "InvalidXmlDocument", + "InvalidXmlNodeValue", + "Md5Mismatch", + "MetadataTooLarge", + "MissingContentLengthHeader", + "MissingRequiredQueryParameter", + "MissingRequiredHeader", + "MissingRequiredXmlNode", + "MultipleConditionHeadersNotSupported", + "OperationTimedOut", + "OutOfRangeInput", + "OutOfRangeQueryParameterValue", + "RequestBodyTooLarge", + "ResourceTypeMismatch", + "RequestUrlFailedToParse", + "ResourceAlreadyExists", + "ResourceNotFound", + "ServerBusy", + "UnsupportedHeader", + "UnsupportedXmlNode", + "UnsupportedQueryParameter", + "UnsupportedHttpVerb", + "CannotDeleteFileOrDirectory", + "ClientCacheFlushDelay", + "DeletePending", + "DirectoryNotEmpty", + "FileLockConflict", + "InvalidFileOrDirectoryPathName", + "ParentNotFound", + "ReadOnlyAttribute", + "ShareAlreadyExists", + "ShareBeingDeleted", + "ShareDisabled", + "ShareNotFound", + "SharingViolation", + "ShareSnapshotInProgress", + "ShareSnapshotCountExceeded", + "ShareSnapshotOperationNotSupported", + "ShareHasSnapshots", + "ContainerQuotaDowngradeNotAllowed", + "AuthorizationSourceIPMismatch", + "AuthorizationProtocolMismatch", + "AuthorizationPermissionMismatch", + "AuthorizationServiceMismatch", + "AuthorizationResourceTypeMismatch", + "FeatureVersionMismatch" + ], + "x-ms-enum": { + "name": "StorageErrorCode", + "modelAsString": true + } + }, + "FilesAndDirectoriesListSegment": { + "description": "Abstract for entries that can be listed from Directory.", + "type": "object", + "required": [ + "DirectoryItems", + "FileItems" + ], + "properties": { + "DirectoryItems": { + "type": "array", + "items": { + "$ref": "#/definitions/DirectoryItem" + } + }, + "FileItems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileItem" + } + } + }, + "xml": { + "name": "Entries" + } + }, + "DirectoryItem": { + "xml": { + "name": "Directory" + }, + "description": "A listed directory item.", + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileItem": { + "xml": { + "name": "File" + }, + "description": "A listed file item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "FileId": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/FileProperty" + }, + "Attributes": { + "type": "string" + }, + "PermissionKey": { + "type": "string" + } + } + }, + "FileProperty": { + "description": "File properties.", + "type": "object", + "required": [ + "Content-Length" + ], + "properties": { + "Content-Length": { + "description": "Content length of the file. This value may not be up-to-date since an SMB client may have modified the file locally. The value of Content-Length may not reflect that fact until the handle is closed or the op-lock is broken. To retrieve current property values, call Get File Properties.", + "type": "integer", + "format": "int64" + }, + "CreationTime": { + "type": "string", + "format": "date-time" + }, + "LastAccessTime": { + "type": "string", + "format": "date-time" + }, + "LastWriteTime": { + "type": "string", + "format": "date-time" + }, + "ChangeTime": { + "type": "string", + "format": "date-time" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + } + } + }, + "HandleItem": { + "xml": { + "name": "Handle" + }, + "description": "A listed Azure Storage handle item.", + "type": "object", + "required": [ + "HandleId", + "Path", + "FileId", + "SessionId", + "ClientIp", + "OpenTime" + ], + "properties": { + "HandleId": { + "type": "string", + "description": "XSMB service handle ID" + }, + "Path": { + "type": "string", + "description": "File or directory name including full path starting from share root" + }, + "FileId": { + "type": "string", + "description": "FileId uniquely identifies the file or directory." + }, + "ParentId": { + "type": "string", + "description": "ParentId uniquely identifies the parent directory of the object." + }, + "SessionId": { + "type": "string", + "description": "SMB session ID in context of which the file handle was opened" + }, + "ClientIp": { + "type": "string", + "description": "Client IP that opened the handle" + }, + "OpenTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time when the session that previously opened the handle has last been reconnected. (UTC)" + }, + "LastReconnectTime": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Time handle was last connected to (UTC)" + } + } + }, + "LeaseDuration": { + "xml": { + "name": "LeaseDuration" + }, + "description": "When a share is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string", + "enum": [ + "infinite", + "fixed" + ], + "x-ms-enum": { + "name": "LeaseDurationType", + "modelAsString": false + } + }, + "LeaseState": { + "xml": { + "name": "LeaseState" + }, + "description": "Lease state of the share.", + "type": "string", + "enum": [ + "available", + "leased", + "expired", + "breaking", + "broken" + ], + "x-ms-enum": { + "name": "LeaseStateType", + "modelAsString": false + } + }, + "LeaseStatus": { + "xml": { + "name": "LeaseStatus" + }, + "description": "The current lease status of the share.", + "type": "string", + "enum": [ + "locked", + "unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatusType", + "modelAsString": false + } + }, + "ListFilesAndDirectoriesSegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of directories and files.", + "type": "object", + "required": [ + "ServiceEndpoint", + "ShareName", + "DirectoryPath", + "Prefix", + "NextMarker", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ShareSnapshot": { + "type": "string", + "xml": { + "attribute": true + } + }, + "DirectoryPath": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Segment": { + "$ref": "#/definitions/FilesAndDirectoriesListSegment" + }, + "NextMarker": { + "type": "string" + }, + "DirectoryId": { + "type": "string" + } + } + }, + "ListHandlesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of handles.", + "type": "object", + "required": [ + "NextMarker" + ], + "properties": { + "HandleList": { + "type": "array", + "items": { + "$ref": "#/definitions/HandleItem" + }, + "xml": { + "name": "Entries", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "ListSharesResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of shares.", + "type": "object", + "required": [ + "ServiceEndpoint", + "NextMarker" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "ShareItems": { + "type": "array", + "items": { + "$ref": "#/definitions/ShareItemInternal" + }, + "xml": { + "name": "Shares", + "wrapped": true + } + }, + "NextMarker": { + "type": "string" + } + } + }, + "Metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "Metrics": { + "description": "Storage Analytics metrics for file service.", + "required": [ + "Version", + "Enabled" + ], + "properties": { + "Version": { + "description": "The version of Storage Analytics to configure.", + "type": "string" + }, + "Enabled": { + "description": "Indicates whether metrics are enabled for the File service.", + "type": "boolean" + }, + "IncludeAPIs": { + "description": "Indicates whether metrics should generate summary statistics for called API operations.", + "type": "boolean" + }, + "RetentionPolicy": { + "$ref": "#/definitions/RetentionPolicy" + } + } + }, + "SmbMultichannel": { + "description": "Settings for SMB multichannel", + "type": "object", + "properties": { + "Enabled": { + "type": "boolean", + "description": "If SMB multichannel is enabled." + } + }, + "xml": { + "name": "Multichannel" + } + }, + "FileRange": { + "description": "An Azure Storage file range.", + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "description": "Start of the range." + }, + "End": { + "type": "integer", + "format": "int64", + "description": "End of the range." + } + }, + "xml": { + "name": "Range" + } + }, + "ClearRange": { + "type": "object", + "required": [ + "Start", + "End" + ], + "properties": { + "Start": { + "type": "integer", + "format": "int64", + "xml": { + "name": "Start" + } + }, + "End": { + "type": "integer", + "format": "int64", + "xml": { + "name": "End" + } + } + }, + "xml": { + "name": "ClearRange" + } + }, + "ShareProtocolSettings": { + "description": "Protocol settings", + "type": "object", + "xml": { + "name": "ProtocolSettings" + }, + "properties": { + "Smb": { + "description": "Settings for SMB protocol.", + "$ref": "#/definitions/ShareSmbSettings" + } + } + }, + "ShareFileRangeList": { + "description": "The list of file ranges", + "type": "object", + "properties": { + "Ranges": { + "type": "array", + "items": { + "$ref": "#/definitions/FileRange" + } + }, + "ClearRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/ClearRange" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "Message": { + "type": "string" + } + } + }, + "RetentionPolicy": { + "description": "The retention policy.", + "type": "object", + "required": [ + "Enabled" + ], + "properties": { + "Enabled": { + "description": "Indicates whether a retention policy is enabled for the File service. If false, metrics data is retained, and the user is responsible for deleting it.", + "type": "boolean" + }, + "Days": { + "description": "Indicates the number of days that metrics data should be retained. All data older than this value will be deleted. Metrics data is deleted on a best-effort basis after the retention period expires.", + "type": "integer", + "minimum": 1, + "maximum": 365 + } + } + }, + "ShareItemInternal": { + "xml": { + "name": "Share" + }, + "description": "A listed Azure Storage share item.", + "type": "object", + "required": [ + "Name", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Snapshot": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Version": { + "type": "string" + }, + "Properties": { + "$ref": "#/definitions/SharePropertiesInternal" + }, + "Metadata": { + "$ref": "#/definitions/Metadata" + } + } + }, + "SharePropertiesInternal": { + "description": "Properties of a share.", + "type": "object", + "required": [ + "Last-Modified", + "Etag", + "Quota" + ], + "properties": { + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Quota": { + "type": "integer" + }, + "ProvisionedIops": { + "type": "integer" + }, + "ProvisionedIngressMBps": { + "type": "integer" + }, + "ProvisionedEgressMBps": { + "type": "integer" + }, + "ProvisionedBandwidthMiBps": { + "type": "integer" + }, + "NextAllowedQuotaDowngradeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTier": { + "type": "string" + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "AccessTierTransitionState": { + "type": "string" + }, + "LeaseStatus": { + "$ref": "#/definitions/LeaseStatus" + }, + "LeaseState": { + "$ref": "#/definitions/LeaseState" + }, + "LeaseDuration": { + "$ref": "#/definitions/LeaseDuration" + }, + "EnabledProtocols": { + "$ref": "#/definitions/ShareEnabledProtocols" + }, + "RootSquash": { + "$ref": "#/definitions/ShareRootSquash" + } + } + }, + "ShareStats": { + "description": "Stats for the share.", + "type": "object", + "required": [ + "ShareUsageBytes" + ], + "properties": { + "ShareUsageBytes": { + "description": "The approximate size of the data stored in bytes. Note that this value may not include all recently created or recently resized files.", + "type": "integer" + } + } + }, + "SignedIdentifier": { + "description": "Signed identifier.", + "type": "object", + "required": [ + "Id" + ], + "properties": { + "Id": { + "type": "string", + "description": "A unique id." + }, + "AccessPolicy": { + "description": "The access policy.", + "$ref": "#/definitions/AccessPolicy" + } + } + }, + "SignedIdentifiers": { + "description": "A collection of signed identifiers.", + "type": "array", + "items": { + "$ref": "#/definitions/SignedIdentifier", + "xml": { + "name": "SignedIdentifier" + } + }, + "xml": { + "wrapped": true, + "name": "SignedIdentifiers" + } + }, + "ShareSmbSettings": { + "description": "Settings for SMB protocol.", + "type": "object", + "xml": { + "name": "SMB" + }, + "properties": { + "Multichannel": { + "description": "Settings for SMB Multichannel.", + "$ref": "#/definitions/SmbMultichannel" + } + } + }, + "StorageServiceProperties": { + "description": "Storage service properties.", + "type": "object", + "properties": { + "HourMetrics": { + "description": "A summary of request statistics grouped by API in hourly aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "MinuteMetrics": { + "description": "A summary of request statistics grouped by API in minute aggregates for files.", + "$ref": "#/definitions/Metrics" + }, + "Cors": { + "description": "The set of CORS rules.", + "type": "array", + "items": { + "$ref": "#/definitions/CorsRule" + }, + "xml": { + "wrapped": true + } + }, + "Protocol": { + "description": "Protocol settings", + "$ref": "#/definitions/ShareProtocolSettings" + } + } + }, + "SharePermission": { + "description": "A permission (a security descriptor) at the share level.", + "type": "object", + "required": [ + "permission" + ], + "properties": { + "permission": { + "type": "string", + "description": "The permission in the Security Descriptor Definition Language (SDDL)." + } + } + }, + "ShareEnabledProtocols": { + "type": "string" + }, + "ShareRootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + } + } + }, + "parameters": { + "AccessTierOptional": { + "name": "x-ms-access-tier", + "x-ms-client-name": "accessTier", + "in": "header", + "description": "Specifies the access tier of the share.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-client-name": "version", + "x-ms-parameter-location": "client", + "in": "header", + "description": "Specifies the version of the operation to use for this request.", + "required": true, + "type": "string", + "enum": [ + "2021-06-08" + ] + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "ContentLength": { + "name": "Content-Length", + "x-ms-client-name": "contentLength", + "in": "header", + "description": "Specifies the number of bytes being transmitted in the request body. When the x-ms-write header is set to clear, the value of this header must be set to zero.", + "required": true, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "ContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "contentMD5", + "in": "header", + "description": "An MD5 hash of the content. This hash is used to verify the integrity of the data during transport. When the Content-MD5 header is specified, the File service compares the hash of the content that has arrived with the header value that was sent. If the two hashes do not match, the operation will fail with error code 400 (Bad Request).", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method" + }, + "CopyActionAbort": { + "name": "x-ms-copy-action", + "x-ms-client-name": "copyActionAbortConstant", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "abort" + ], + "x-ms-parameter-location": "method", + "description": "Abort." + }, + "CopyId": { + "name": "copyid", + "x-ms-client-name": "copyId", + "in": "query", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy File operation." + }, + "CopySource": { + "name": "x-ms-copy-source", + "x-ms-client-name": "copySource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the URL of the source file or blob, up to 2 KB in length. To copy a file to another file within the same storage account, you may use Shared Key to authenticate the source file. If you are copying a file from another storage account, or if you are copying a blob from the same storage account or another storage account, then you must authenticate the source file or blob using a shared access signature. If the source is a public blob, no authentication is required to perform the copy operation. A file in a share snapshot can also be specified as a copy source." + }, + "CopySourceAuthorization": { + "name": "x-ms-copy-source-authorization", + "x-ms-client-name": "copySourceAuthorization", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only Bearer type is supported. Credentials should be a valid OAuth access token to copy source." + }, + "FileCopyPermissionCopyMode": { + "name": "x-ms-file-permission-copy-mode", + "x-ms-client-name": "filePermissionCopyMode", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "source", + "override" + ], + "x-ms-enum": { + "name": "PermissionCopyModeType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to copy file security descriptor from source file or to set it using the value which is defined by the header value of x-ms-file-permission or x-ms-file-permission-key." + }, + "FileCopyIgnoreReadOnly": { + "name": "x-ms-file-copy-ignore-readonly", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to overwrite the target file if it already exists and has read-only attribute set." + }, + "FileCopyFileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "fileAttributes", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file attributes from a source file(source) to a target file or a list of attributes to set on a target file." + }, + "FileCopyFileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "fileCreationTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file creation time from a source file(source) to a target file or a time value in ISO 8601 format to set as creation time on a target file." + }, + "FileCopyFileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "fileLastWriteTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopyFileChangeTime": { + "name": "x-ms-file-change-time", + "x-ms-client-name": "fileChangeTime", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies either the option to copy file last write time from a source file(source) to a target file or a time value in ISO 8601 format to set as last write time on a target file." + }, + "FileCopySetArchiveAttribute": { + "name": "x-ms-file-copy-set-archive", + "x-ms-client-name": "setArchiveAttribute", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "copy-file-smb-info" + }, + "description": "Specifies the option to set archive attribute on a target file. True means archive attribute will be set on a target file despite attribute overrides or a source file state." + }, + "DeletedShareName": { + "name": "x-ms-deleted-share-name", + "x-ms-client-name": "DeletedShareName", + "description": "Specifies the name of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DirectoryPath": { + "name": "directory", + "in": "path", + "description": "The path of the target directory.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "FilePath": { + "name": "fileName", + "in": "path", + "description": "The path of the target file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": false + }, + "ShareName": { + "name": "shareName", + "in": "path", + "description": "The name of the target share.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeletedShareVersion": { + "name": "x-ms-deleted-share-version", + "x-ms-client-name": "DeletedShareVersion", + "description": "Specifies the version of the previously-deleted share.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DeleteSnapshots": { + "name": "x-ms-delete-snapshots", + "x-ms-client-name": "deleteSnapshots", + "description": "Specifies the option include to delete the base share and all of its snapshots.", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "include", + "include-leased" + ], + "x-ms-enum": { + "name": "DeleteSnapshotsOptionType", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "DestinationLeaseId": { + "name": "x-ms-destination-lease-id", + "x-ms-client-name": "destinationLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "destination-lease-access-conditions" + }, + "description": "Required if the destination file has an active infinite lease. The lease ID specified for this header must match the lease ID of the destination file. If the request does not include the lease ID or it is not valid, the operation fails with status code 412 (Precondition Failed). If this header is specified and the destination file does not currently have an active lease, the operation will also fail with status code 412 (Precondition Failed)." + }, + "FileAttributes": { + "name": "x-ms-file-attributes", + "x-ms-client-name": "FileAttributes", + "in": "header", + "description": "If specified, the provided file attributes shall be set. Default value: ‘Archive’ for file and ‘Directory’ for directory. ‘None’ can also be specified as default.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileCacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "fileCacheControl", + "description": "Sets the file's cache control. The File service stores this value but does not use or modify it.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "fileContentDisposition", + "description": "Sets the file's Content-Disposition header.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "fileContentEncoding", + "in": "header", + "description": "Specifies which content encodings have been applied to the file.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "fileContentLanguage", + "in": "header", + "description": "Specifies the natural languages used by this resource.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "fileContentMD5", + "in": "header", + "description": "Sets the file's MD5 hash.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "fileContentType", + "in": "header", + "description": "Sets the MIME content type of the file. The default type is 'application/octet-stream'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "file-HTTP-headers" + } + }, + "FileCreationTime": { + "name": "x-ms-file-creation-time", + "x-ms-client-name": "FileCreationTime", + "in": "header", + "description": "Creation time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTime": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWriteTime", + "in": "header", + "description": "Last write time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileChangeTime": { + "name": "x-ms-file-change-time", + "x-ms-client-name": "FileChangeTime", + "in": "header", + "description": "Change time for the file/directory. Default value: Now.", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method" + }, + "FileLastWriteTimeMode": { + "name": "x-ms-file-last-write-time", + "x-ms-client-name": "FileLastWrittenMode", + "in": "header", + "description": "If the file last write time should be preserved or overwritten", + "required": false, + "x-ms-parameter-location": "method", + "type": "string", + "enum": [ + "Now", + "Preserve" + ], + "x-ms-enum": { + "name": "FileLastWrittenMode", + "modelAsString": false + } + }, + "FilePermission": { + "name": "x-ms-file-permission", + "x-ms-client-name": "FilePermission", + "in": "header", + "description": "If specified the permission (security descriptor) shall be set for the directory/file. This header can be used if Permission size is <= 8KB, else x-ms-file-permission-key header shall be used. Default value: Inherit. If SDDL is specified as input, it must have owner, group and dacl. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKey": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file. Note: Only one of the x-ms-file-permission or x-ms-file-permission-key should be specified.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FilePermissionKeyRequired": { + "name": "x-ms-file-permission-key", + "x-ms-client-name": "FilePermissionKey", + "in": "header", + "description": "Key of the permission to be set for the directory/file.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "FileRangeWriteFromUrl": { + "name": "x-ms-write", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileRangeWriteFromUrl", + "in": "header", + "description": "Only update is supported: - Update: Writes the bytes downloaded from the source url into the specified range.", + "required": true, + "type": "string", + "enum": [ + "update" + ], + "default": "update", + "x-ms-enum": { + "name": "FileRangeWriteFromUrlType", + "modelAsString": false + } + }, + "FileType": { + "name": "x-ms-type", + "x-ms-client-name": "fileTypeConstant", + "in": "header", + "required": true, + "description": "Dummy constant parameter, file type can only be file.", + "type": "string", + "enum": [ + "file" + ], + "x-ms-parameter-location": "method" + }, + "GetRangeContentMD5": { + "name": "x-ms-range-get-content-md5", + "x-ms-client-name": "rangeGetContentMD5", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "When this header is set to true and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size." + }, + "HandleId": { + "name": "x-ms-handle-id", + "x-ms-client-name": "handleId", + "in": "header", + "description": "Specifies handle ID opened on the file or directory to be closed. Asterisk (‘*’) is a wildcard that specifies all handles.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "LeaseBreakPeriod": { + "name": "x-ms-lease-break-period", + "x-ms-client-name": "breakPeriod", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately." + }, + "LeaseDuration": { + "name": "x-ms-lease-duration", + "x-ms-client-name": "duration", + "in": "header", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method", + "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change." + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ListFilesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "Timestamps", + "Etag", + "Attributes", + "PermissionKey" + ], + "x-ms-enum": { + "name": "ListFilesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "ListFilesExtendedInfo": { + "name": "x-ms-file-extended-info", + "x-ms-client-name": "includeExtendedInfo", + "x-ms-parameter-location": "method", + "in": "header", + "type": "boolean", + "required": false, + "description": "Include extended information." + }, + "ListSharesInclude": { + "name": "include", + "in": "query", + "description": "Include this parameter to specify one or more datasets to include in the response.", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "snapshots", + "metadata", + "deleted" + ], + "x-ms-enum": { + "name": "ListSharesIncludeType", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method" + }, + "Marker": { + "name": "marker", + "in": "query", + "description": "A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. The marker value may then be used in a subsequent call to request the next set of list items. The marker value is opaque to the client.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxresults", + "in": "query", + "description": "Specifies the maximum number of entries to return. If the request does not specify maxresults, or specifies a value greater than 5,000, the server will return up to 5,000 items.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "Metadata": { + "name": "x-ms-meta", + "x-ms-client-name": "metadata", + "in": "header", + "description": "A name-value pair to associate with a file storage object.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-header-collection-prefix": "x-ms-meta-" + }, + "OptionalBody": { + "name": "optionalbody", + "in": "body", + "description": "Initial data.", + "required": false, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method" + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters the results to return only entries whose name begins with the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrevShareSnapshot": { + "name": "prevsharesnapshot", + "in": "query", + "description": "The previous snapshot parameter is an opaque DateTime value that, when present, specifies the previous snapshot.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "ProposedLeaseIdRequired": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The File service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Range": { + "name": "x-ms-range", + "x-ms-client-name": "range", + "in": "header", + "description": "Return file data only from the specified byte range.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Recursive": { + "name": "x-ms-recursive", + "x-ms-client-name": "recursive", + "in": "header", + "description": "Specifies operation should apply to the directory specified in the URI, its files, its subdirectories and their files.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "RenameIgnoreReadOnly": { + "name": "x-ms-file-rename-ignore-readonly", + "x-ms-client-name": "ignoreReadOnly", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value that specifies whether the ReadOnly attribute on a preexisting destination file should be respected. If true, the rename will succeed, otherwise, a previous file at the destination with the ReadOnly attribute set will cause the rename to fail." + }, + "RenameReplaceIfExists": { + "name": "x-ms-file-rename-replace-if-exists", + "x-ms-client-name": "replaceIfExists", + "in": "header", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method", + "description": "Optional. A boolean value for if the destination file already exists, whether this request will overwrite the file or not. If true, the rename will succeed and will overwrite the destination file. If not provided or if false and the destination file does exist, the request will not overwrite the destination file. If provided and the destination file doesn’t exist, the rename will succeed. Note: This value does not override the x-ms-file-copy-ignore-read-only header value." + }, + "RenameSource": { + "name": "x-ms-file-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Required. Specifies the URI-style path of the source file, up to 2 KB in length." + }, + "Url": { + "name": "url", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The URL of the service account, share, directory or file that is the target of the desired operation.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true + }, + "ShareAcl": { + "name": "shareAcl", + "in": "body", + "description": "The ACL for the share.", + "schema": { + "$ref": "#/definitions/SignedIdentifiers" + }, + "x-ms-parameter-location": "method" + }, + "ShareQuota": { + "name": "x-ms-share-quota", + "x-ms-client-name": "quota", + "in": "header", + "description": "Specifies the maximum size of the share, in gigabytes.", + "required": false, + "type": "integer", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "ShareSnapshot": { + "name": "sharesnapshot", + "in": "query", + "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the share snapshot to query.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceContentCrc64": { + "name": "x-ms-source-content-crc64", + "x-ms-client-name": "sourceContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source." + }, + "SourceIfMatchCrc64": { + "name": "x-ms-source-if-match-crc64", + "x-ms-client-name": "sourceIfMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range with a matching crc64 checksum." + }, + "SourceIfNoneMatchCrc64": { + "name": "x-ms-source-if-none-match-crc64", + "x-ms-client-name": "sourceIfNoneMatchCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify the crc64 value to operate only on range without a matching crc64 checksum." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-lease-access-conditions" + }, + "description": "Required if the source file has an active infinite lease." + }, + "SourceRange": { + "name": "x-ms-source-range", + "x-ms-client-name": "sourceRange", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Bytes of source data in the specified range." + }, + "StorageServiceProperties": { + "name": "StorageServiceProperties", + "in": "body", + "description": "The StorageService properties.", + "required": true, + "schema": { + "$ref": "#/definitions/StorageServiceProperties" + }, + "x-ms-parameter-location": "method" + }, + "TargetRange": { + "name": "x-ms-range", + "x-ms-client-name": "Range", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Writes data to the specified byte range in the file." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for File Service Operations.", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SharePermission": { + "name": "sharePermission", + "in": "body", + "description": "A permission (a security descriptor) at the share level.", + "required": true, + "schema": { + "$ref": "#/definitions/SharePermission" + }, + "x-ms-parameter-location": "method" + }, + "ShareEnabledProtocols": { + "name": "x-ms-enabled-protocols", + "description": "Protocols to enable on the share.", + "x-ms-client-name": "enabledProtocols", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ShareRootSquash": { + "name": "x-ms-root-squash", + "description": "Root squash to set on the share. Only valid for NFS shares.", + "x-ms-client-name": "rootSquash", + "in": "header", + "required": false, + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "ShareRootSquash", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/data-plane/Microsoft.FileStorage/readme.md b/specification/storage/data-plane/Microsoft.FileStorage/readme.md index 21e66ebb03a2..656781613dad 100644 --- a/specification/storage/data-plane/Microsoft.FileStorage/readme.md +++ b/specification/storage/data-plane/Microsoft.FileStorage/readme.md @@ -25,7 +25,7 @@ These are the global settings for the FileStorage API. ``` yaml openapi-type: data-plane -tag: package-2021-04 +tag: package-2021-06 use-internal-constructors: true add-credentials: true ``` @@ -57,6 +57,15 @@ input-file: - preview/2021-04-10/file.json ``` +### Tag: package-2021-06 + +These settings apply only when `--tag=package-2021-06` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06' +input-file: +- preview/2021-06-08/file.json +``` + ### Suppression ``` yaml directive: diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-06-12/DataLakeStorage.json b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-06-12/DataLakeStorage.json index 0e2d27275fd8..076f90ceb4d7 100644 --- a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-06-12/DataLakeStorage.json +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-06-12/DataLakeStorage.json @@ -3055,6 +3055,12 @@ }, "permissions": { "type": "string" + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" } } }, diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json index 660f3de12830..67c02837657e 100644 --- a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2020-10-02/DataLakeStorage.json @@ -700,6 +700,15 @@ }, { "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" } ], "responses": { @@ -740,6 +749,16 @@ "description": "The size of the resource in bytes.", "type": "integer", "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." } } }, @@ -1205,6 +1224,15 @@ }, { "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" } ], "responses": { @@ -1297,6 +1325,16 @@ "x-ms-client-name": "LeaseStatus", "description": "The lease status of the resource.", "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." } }, "schema": { @@ -1397,6 +1435,16 @@ "x-ms-client-name": "LeaseStatus", "description": "The lease status of the resource.", "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." } }, "schema": { @@ -1983,6 +2031,15 @@ }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" } ], "responses": { @@ -2023,6 +2080,16 @@ "x-ms-client-name": "Version", "description": "The version of the REST protocol used to process the request.", "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." } } }, @@ -2104,6 +2171,15 @@ }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" } ], "responses": { @@ -2148,6 +2224,11 @@ "x-ms-client-name": "IsServerEncrypted", "type": "boolean", "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." } } }, @@ -2987,6 +3068,49 @@ "x-ms-parameter-location": "method", "in": "query", "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." } }, "definitions": { @@ -3059,6 +3183,12 @@ "EncryptionScope": { "type": "string", "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" } } }, diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-04-10/DataLakeStorage.json b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-04-10/DataLakeStorage.json new file mode 100644 index 000000000000..8e15d3e76be6 --- /dev/null +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-04-10/DataLakeStorage.json @@ -0,0 +1,3485 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2021-04-10", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-04-10" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-06-08/DataLakeStorage.json b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-06-08/DataLakeStorage.json new file mode 100644 index 000000000000..ef0093e1fe83 --- /dev/null +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/preview/2021-06-08/DataLakeStorage.json @@ -0,0 +1,3485 @@ +{ + "swagger": "2.0", + "info": { + "description": "Azure Data Lake Storage provides storage for Hadoop and other big data workloads.", + "title": "Azure Data Lake Storage REST API", + "version": "2021-06-08", + "x-ms-code-generation-settings": { + "internalConstructors": true, + "name": "DataLakeStorageClient", + "header": "MIT", + "strictSpecAdherence": false + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{url}", + "useSchemePrefix": false, + "positionInOperation": "first", + "parameters": [ + { + "$ref": "#/parameters/Url" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "x-ms-paths": { + "/": { + "get": { + "operationId": "Service_ListFileSystems", + "summary": "List FileSystems", + "description": "List filesystems and their properties in given account.", + "x-ms-pageable": { + "itemName": "filesystems", + "nextLinkName": null + }, + "tags": [ + "Account Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "The value must be \"account\" for all account operations.", + "required": true, + "type": "string", + "enum": [ + "account" + ], + "x-ms-enum": { + "name": "AccountResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of filesystems to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the filesystems.", + "type": "string" + }, + "Content-Type": { + "description": "The content type of list filesystem response. The default content type is application/json.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/FileSystemList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + } + }, + "/{filesystem}": { + "put": { + "operationId": "FileSystem_Create", + "summary": "Create FileSystem", + "description": "Create a FileSystem rooted at the specified location. If the FileSystem already exists, the operation fails. This operation does not support conditional HTTP requests.", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + } + ], + "responses": { + "201": { + "description": "Created", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the FileSystem.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Operations on files and directories do not affect the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "ClientRequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "FileSystem_SetProperties", + "summary": "Set FileSystem Properties", + "description": "Set properties for the FileSystem. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "FileSystem_GetProperties", + "summary": "Get FileSystem Properties.", + "description": "All system and user-defined filesystem properties are specified in the response headers.", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the filesystem. A comma-separated list of name and value pairs in the format \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-namespace-enabled": { + "x-ms-client-name": "NamespaceEnabled", + "description": "A bool string indicates whether the namespace feature is enabled. If \"true\", the namespace is enabled for the filesystem.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "FileSystem_Delete", + "summary": "Delete FileSystem", + "description": "Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem with the same identifier will fail with status code 409 (Conflict), with the service returning additional error information indicating that the filesystem is being deleted. All other operations, including operations on any files or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "FileSystem Operations" + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ] + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?resource=filesystem": { + "get": { + "operationId": "FileSystem_ListPaths", + "summary": "List Paths", + "description": "List FileSystem paths and their properties.", + "x-ms-pageable": { + "itemName": "paths", + "nextLinkName": null + }, + "tags": [ + "FileSystem Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/Directory" + }, + { + "$ref": "#/parameters/RecursiveRequired" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/Upn" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the filesystem. Changes to filesystem properties affect the entity tag, but operations on files and directories do not.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the filesystem was last modified. Changes to filesystem properties update the last modified time, but operations on files and directories do not.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "If the number of paths to be listed exceeds the maxResults limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the list operation to continue listing the paths.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PathList" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/FileSystemResource" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}?restype=container&comp=list&hierarchy": { + "get": { + "tags": [ + "containers" + ], + "produces": [ + "application/xml" + ], + "operationId": "FileSystem_ListBlobHierarchySegment", + "description": "The List Blobs operation returns a list of the blobs under the specified container", + "parameters": [ + { + "$ref": "#/parameters/Prefix" + }, + { + "$ref": "#/parameters/Delimiter" + }, + { + "$ref": "#/parameters/Marker" + }, + { + "$ref": "#/parameters/MaxResults" + }, + { + "$ref": "#/parameters/ListBlobsInclude" + }, + { + "$ref": "#/parameters/ListBlobsShowOnly" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "Success.", + "headers": { + "Content-Type": { + "type": "string", + "description": "The media type of the body of the response. For List Blobs this is 'application/xml'" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated" + } + }, + "schema": { + "$ref": "#/definitions/ListBlobsHierarchySegmentResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "NextMarker" + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "name": "restype", + "description": "restype", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "container" + ] + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "list" + ] + } + ] + }, + "/{filesystem}/{path}": { + "put": { + "operationId": "Path_Create", + "summary": "Create File | Create Directory | Rename File | Rename Directory", + "description": "Create or rename a file or directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "resource", + "in": "query", + "description": "Required only for Create File and Create Directory. The value must be \"file\" or \"directory\".", + "required": false, + "type": "string", + "enum": [ + "directory", + "file" + ], + "x-ms-enum": { + "name": "PathResourceType", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "name": "mode", + "in": "query", + "description": "Optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename operation. The value must be \"legacy\" or \"posix\", and the default value will be \"posix\".", + "required": false, + "type": "string", + "enum": [ + "legacy", + "posix" + ], + "x-ms-enum": { + "name": "PathRenameMode", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/RenameSource" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/SourceLeaseId" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Umask" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/SourceIfMatch" + }, + { + "$ref": "#/parameters/SourceIfNoneMatch" + }, + { + "$ref": "#/parameters/SourceIfModifiedSince" + }, + { + "$ref": "#/parameters/SourceIfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "201": { + "description": "The file or directory was created.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "patch": { + "operationId": "Path_Update", + "summary": "Append Data | Flush Data | Set Properties | Set Access Control", + "description": "Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. Concurrent writes to the same file using multiple clients are not supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "consumes": [ + "application/octet-stream" + ], + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "The action must be \"append\" to upload data to be appended to a file, \"flush\" to flush previously uploaded data to a file, \"setProperties\" to set the properties of a file or directory, \"setAccessControl\" to set the owner, group, permissions, or access control list for a file or directory, or \"setAccessControlRecursive\" to set the access control list for a directory recursively. Note that Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the Access Control List (ACL) includes permissions for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers are mutually exclusive.", + "required": true, + "type": "string", + "enum": [ + "append", + "flush", + "setProperties", + "setAccessControl", + "setAccessControlRecursive" + ], + "x-ms-enum": { + "name": "PathUpdateAction", + "modelAsString": false + } + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "name": "continuation", + "in": "query", + "description": "Optional. The number of paths processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When a continuation token is returned in the response, it must be percent-encoded and specified in a subsequent invocation of setAccessControlRecursive operation.", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/Properties" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/Body" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file or the properties were set successfully. Response body is optional and is valid only for \"SetAccessControlRecursive\"", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Flush\" operation. This header is returned so that the client can check for message content integrity. This header refers to the content of the request, not actual file content.", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "User-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-continuation": { + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "202": { + "description": "The uploaded data was accepted.", + "headers": { + "Content-MD5": { + "description": "An MD5 hash of the request content. This header is only returned for \"Append\" operation. This header is returned so that the client can check for message content integrity. The value of this header is computed by the service; it is not necessarily the same value specified in the request headers.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "post": { + "operationId": "Path_Lease", + "summary": "Lease Path", + "description": "Create and manage a lease to restrict write and delete access to the path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "x-ms-lease-action", + "in": "header", + "description": "There are five lease actions: \"acquire\", \"break\", \"change\", \"renew\", and \"release\". Use \"acquire\" and specify the \"x-ms-proposed-lease-id\" and \"x-ms-lease-duration\" to acquire a new lease. Use \"break\" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, during which time no lease operation except break and release can be performed on the file. When a lease is successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use \"change\" and specify the current lease ID in \"x-ms-lease-id\" and the new lease ID in \"x-ms-proposed-lease-id\" to change the lease ID of an active lease. Use \"renew\" and specify the \"x-ms-lease-id\" to renew an existing lease. Use \"release\" and specify the \"x-ms-lease-id\" to release a lease.", + "required": true, + "type": "string", + "enum": [ + "acquire", + "break", + "change", + "renew", + "release" + ], + "x-ms-enum": { + "name": "PathLeaseAction", + "modelAsString": false + } + }, + { + "name": "x-ms-lease-duration", + "in": "header", + "description": "The lease duration is required to acquire a lease, and specifies the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "name": "x-ms-lease-break-period", + "in": "header", + "description": "The lease break period duration is optional to break a lease, and specifies the break period of the lease in seconds. The lease break duration must be between 0 and 60 seconds.", + "format": "int32", + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/ProposedLeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The \"renew\", \"change\" or \"release\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file was last modified. Write operations on the file update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"renew\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "201": { + "description": "A new lease has been created. The \"acquire\" action was successful.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-id": { + "x-ms-client-name": "LeaseId", + "description": "A successful \"acquire\" action returns the lease ID.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + } + } + }, + "202": { + "description": "The \"break\" lease action was successful.", + "headers": { + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-lease-time": { + "x-ms-client-name": "LeaseTime", + "description": "The time remaining in the lease period in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "get": { + "operationId": "Path_Read", + "summary": "Read File", + "description": "Read the contents of a file. For read operations, range requests are supported. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "in": "header", + "description": "The HTTP Range request header specifies one or more byte ranges of the resource to be retrieved.", + "required": false, + "type": "string", + "name": "Range" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "name": "x-ms-range-get-content-md5", + "in": "header", + "description": "Optional. When this header is set to \"true\" and specified together with the Range header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in size. If this header is specified without the Range header, the service returns status code 400 (Bad Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code 400 (Bad Request).", + "required": false, + "type": "boolean" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "Ok", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file. If the file has an MD5 hash and this read operation is to read the complete file, this response header is returned so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "206": { + "description": "Partial content", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of read range. If the request is to read a specified range and the \"x-ms-range-get-content-md5\" is set to true, then the request returns an MD5 hash for the range, as long as the range size is less than or equal to 4 MB.", + "type": "string" + }, + "x-ms-content-md5": { + "description": "The MD5 hash of complete file stored in storage. If the file has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the complete file's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource. ", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + }, + "schema": { + "type": "object", + "format": "file" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "head": { + "operationId": "Path_GetProperties", + "summary": "Get Properties | Get Status | Get Access Control List", + "description": "Get Properties returns all system and user defined properties for a path. Get Status returns all system defined properties for a path. Get Access Control List returns the access control list for a path. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "name": "action", + "in": "query", + "description": "Optional. If the value is \"getStatus\" only the system defined properties for the path are returned. If the value is \"getAccessControl\" the access control list is returned in the response headers (Hierarchical Namespace must be enabled for the account), otherwise the properties are returned.", + "required": false, + "type": "string", + "enum": [ + "getAccessControl", + "getStatus" + ], + "x-ms-enum": { + "name": "PathGetPropertiesAction", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/Upn" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "Returns all properties for the file or directory.", + "headers": { + "Accept-Ranges": { + "description": "Indicates that the service supports requests for partial file content.", + "type": "string" + }, + "Cache-Control": { + "description": "If the Cache-Control request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Disposition": { + "description": "If the Content-Disposition request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Encoding": { + "description": "If the Content-Encoding request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Language": { + "description": "If the Content-Language request header has previously been set for the resource, that value is returned in this header.", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "Content-Range": { + "description": "Indicates the range of bytes returned in the event that the client requested a subset of the file by setting the Range request header.", + "type": "string" + }, + "Content-Type": { + "description": "The content type specified for the resource. If no content type was specified, the default content type is application/octet-stream.", + "type": "string" + }, + "Content-MD5": { + "description": "The MD5 hash of complete file stored in storage. This header is returned only for \"GetProperties\" operation. If the Content-MD5 header has been set for the file, this response header is returned for GetProperties call so that the client can check for message content integrity.", + "type": "string" + }, + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-properties": { + "x-ms-client-name": "Properties", + "description": "The user-defined properties associated with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "type": "string" + }, + "x-ms-owner": { + "x-ms-client-name": "Owner", + "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-group": { + "x-ms-client-name": "Group", + "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-permissions": { + "x-ms-client-name": "Permissions", + "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-acl": { + "x-ms-client-name": "ACL", + "description": "The POSIX access control list for the file or directory. Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.", + "type": "string" + }, + "x-ms-lease-duration": { + "x-ms-client-name": "LeaseDuration", + "description": "When a resource is leased, specifies whether the lease is of infinite or fixed duration.", + "type": "string" + }, + "x-ms-lease-state": { + "x-ms-client-name": "LeaseState", + "description": "Lease state of the resource.", + "type": "string" + }, + "x-ms-lease-status": { + "x-ms-client-name": "LeaseStatus", + "description": "The lease status of the resource.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "delete": { + "operationId": "Path_Delete", + "summary": "Delete File | Delete Directory", + "description": "Delete the file or directory. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).", + "tags": [ + "File and Directory Operations" + ], + "parameters": [ + { + "$ref": "#/parameters/RecursiveOptional" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + } + ], + "responses": { + "200": { + "description": "The file was deleted.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "type": "string" + }, + "x-ms-deletion-id": { + "x-ms-client-name": "DeletionId", + "description": "Returned only for hierarchical namespace space enabled accounts when soft delete is enabled. A unique identifier for the entity that can be used to restore it. See the Undelete REST API for more information.", + "type": "string" + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ] + }, + "/{filesystem}/{path}?action=setAccessControl": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControl", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Owner" + }, + { + "$ref": "#/parameters/Group" + }, + { + "$ref": "#/parameters/Permissions" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "ETag": { + "type": "string", + "description": "An HTTP entity tag associated with the file or directory." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControl" + ] + } + ] + }, + "/{filesystem}/{path}?action=setAccessControlRecursive": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_SetAccessControlRecursive", + "description": "Set the access control list for a path and sub-paths.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Continuation" + }, + { + "$ref": "#/parameters/PathSetAccessControlRecursiveMode" + }, + { + "$ref": "#/parameters/ForceFlag" + }, + { + "name": "maxRecords", + "in": "query", + "description": "Optional. It specifies the maximum number of files or directories on which the acl change will be applied. If omitted or greater than 2,000, the request will process up to 2,000 items", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer" + }, + { + "$ref": "#/parameters/Acl" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Set directory access control recursive response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-continuation": { + "x-ms-client-name": "Continuation", + "description": "When performing setAccessControlRecursive on a directory, the number of paths that are processed with each invocation is limited. If the number of paths to be processed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the setAccessControlRecursive operation to continue the setAccessControlRecursive operation on the directory.", + "type": "string" + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/SetAccessControlRecursiveResponse" + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "setAccessControlRecursive" + ] + } + ] + }, + "/{filesystem}/{path}?action=flush": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_FlushData", + "description": "Set the owner, group, permissions, or access control list for a path.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/RetainUncommittedData" + }, + { + "$ref": "#/parameters/Close" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/ContentMD5" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/CacheControl" + }, + { + "$ref": "#/parameters/ContentType" + }, + { + "$ref": "#/parameters/ContentDisposition" + }, + { + "$ref": "#/parameters/ContentEncoding" + }, + { + "$ref": "#/parameters/ContentLanguage" + }, + { + "$ref": "#/parameters/IfMatch" + }, + { + "$ref": "#/parameters/IfNoneMatch" + }, + { + "$ref": "#/parameters/IfModifiedSince" + }, + { + "$ref": "#/parameters/IfUnmodifiedSince" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "200": { + "description": "The data was flushed (written) to the file successfully.", + "headers": { + "Date": { + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated.", + "type": "string", + "format": "date-time-rfc1123" + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Last-Modified": { + "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time.", + "format": "date-time-rfc1123", + "type": "string" + }, + "Content-Length": { + "description": "The size of the resource in bytes.", + "type": "integer", + "format": "int64" + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation.", + "pattern": "^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "description": "The version of the REST protocol used to process the request.", + "type": "string" + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "flush" + ] + } + ] + }, + "/{filesystem}/{path}?action=append": { + "patch": { + "tags": [ + "directory" + ], + "operationId": "Path_AppendData", + "description": "Append data to the file.", + "parameters": [ + { + "$ref": "#/parameters/Position" + }, + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ContentLength" + }, + { + "$ref": "#/parameters/TransactionalContentMD5" + }, + { + "$ref": "#/parameters/ContentCrc64" + }, + { + "$ref": "#/parameters/LeaseIdOptional" + }, + { + "$ref": "#/parameters/Body" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/EncryptionKey" + }, + { + "$ref": "#/parameters/EncryptionKeySha256" + }, + { + "$ref": "#/parameters/EncryptionAlgorithm" + } + ], + "responses": { + "202": { + "description": "Append data to file control response.", + "headers": { + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + }, + "ETag": { + "description": "An HTTP entity tag associated with the file or directory.", + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte", + "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity." + }, + "x-ms-content-crc64": { + "type": "string", + "format": "byte", + "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers." + }, + "x-ms-request-server-encrypted": { + "x-ms-client-name": "IsServerEncrypted", + "type": "boolean", + "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise." + }, + "x-ms-encryption-key-sha256": { + "x-ms-client-name": "EncryptionKeySha256", + "type": "string", + "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "The version of the REST protocol used to process the request." + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "action", + "description": "action", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "append" + ] + } + ] + }, + "/{filesystem}/{path}?comp=expiry": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_SetExpiry", + "description": "Sets the time a blob will expire and be deleted.", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + }, + { + "$ref": "#/parameters/PathExpiryOptions" + }, + { + "$ref": "#/parameters/PathExpiryTime" + } + ], + "responses": { + "200": { + "description": "The blob expiry was set successfully.", + "headers": { + "ETag": { + "type": "string", + "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes." + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123", + "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob." + }, + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "expiry" + ] + } + ] + }, + "/{filesystem}/{path}?comp=undelete": { + "put": { + "tags": [ + "blob" + ], + "operationId": "Path_Undelete", + "description": "Undelete a path that was previously soft deleted", + "parameters": [ + { + "$ref": "#/parameters/Timeout" + }, + { + "$ref": "#/parameters/UndeleteSource" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ClientRequestId" + } + ], + "responses": { + "200": { + "description": "The blob was undeleted successfully.", + "headers": { + "x-ms-client-request-id": { + "x-ms-client-name": "ClientRequestId", + "type": "string", + "description": "If a client request id header is sent in the request, this header will be present in the response with the same value." + }, + "x-ms-request-id": { + "x-ms-client-name": "RequestId", + "type": "string", + "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request." + }, + "x-ms-resource-type": { + "x-ms-client-name": "ResourceType", + "description": "The type of the resource. The value may be \"file\" or \"directory\". If not set, the value is \"file\".", + "type": "string" + }, + "x-ms-version": { + "x-ms-client-name": "Version", + "type": "string", + "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above." + }, + "Date": { + "type": "string", + "format": "date-time-rfc1123", + "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated." + } + } + }, + "default": { + "description": "Failure", + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/StorageError" + } + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/FileSystem" + }, + { + "$ref": "#/parameters/Path" + }, + { + "name": "comp", + "description": "comp", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "undelete" + ] + } + ] + } + }, + "parameters": { + "Url": { + "name": "url", + "description": "The URL of the service account, container, or blob that is the target of the desired operation.", + "required": true, + "x-ms-parameter-location": "client", + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true + }, + "FileSystemResource": { + "name": "resource", + "in": "query", + "x-ms-parameter-location": "client", + "description": "The value must be \"filesystem\" for all filesystem operations.", + "required": true, + "type": "string", + "enum": [ + "filesystem" + ], + "x-ms-enum": { + "name": "FileSystemResourceType", + "modelAsString": false + } + }, + "ApiVersionParameter": { + "name": "x-ms-version", + "x-ms-parameter-location": "client", + "x-ms-client-name": "version", + "in": "header", + "required": true, + "type": "string", + "description": "Specifies the version of the operation to use for this request.", + "enum": [ + "2021-06-08" + ] + }, + "accountName": { + "description": "The Azure Storage account name.", + "in": "path", + "name": "accountName", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "dnsSuffix": { + "default": "dfs.core.windows.net", + "description": "The DNS suffix for the Azure Data Lake Storage endpoint.", + "in": "path", + "name": "dnsSuffix", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "method" + }, + "ClientRequestId": { + "name": "x-ms-client-request-id", + "x-ms-client-name": "requestId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled." + }, + "Timeout": { + "name": "timeout", + "in": "query", + "required": false, + "type": "integer", + "minimum": 0, + "x-ms-parameter-location": "method", + "description": "The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations." + }, + "IfMatch": { + "name": "If-Match", + "x-ms-client-name": "ifMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "IfModifiedSince": { + "name": "If-Modified-Since", + "x-ms-client-name": "ifModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "IfNoneMatch": { + "name": "If-None-Match", + "x-ms-client-name": "ifNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "IfUnmodifiedSince": { + "name": "If-Unmodified-Since", + "x-ms-client-name": "ifUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "RecursiveOptional": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": false, + "type": "boolean" + }, + "RecursiveRequired": { + "name": "recursive", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Required", + "required": true, + "type": "boolean" + }, + "Continuation": { + "name": "continuation", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. When deleting a directory, the number of paths that are deleted with each invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the delete operation to continue deleting the directory.", + "required": false, + "type": "string" + }, + "PathSetAccessControlRecursiveMode": { + "name": "mode", + "in": "query", + "x-ms-parameter-location": "method", + "description": "Mode \"set\" sets POSIX access control rights on files and directories, \"modify\" modifies one or more POSIX access control rights that pre-exist on files and directories, \"remove\" removes one or more POSIX access control rights that were present earlier on files and directories", + "required": true, + "type": "string", + "enum": [ + "set", + "modify", + "remove" + ], + "x-ms-enum": { + "name": "PathSetAccessControlRecursiveMode", + "modelAsString": false + } + }, + "ForceFlag": { + "name": "forceFlag", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Valid for \"SetAccessControlRecursive\" operation. If set to false, the operation will terminate quickly on encountering user errors (4XX). If true, the operation will ignore user errors and proceed with the operation on other sub-entities of the directory. Continuation token will only be returned when forceFlag is true in case of user errors. If not set the default value is false for this.", + "required": false, + "type": "boolean" + }, + "Directory": { + "name": "directory", + "x-ms-client-name": "Path", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Optional. Filters results to paths within the specified directory. An error occurs if the directory does not exist.", + "required": false, + "type": "string" + }, + "LeaseIdOptional": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "lease-access-conditions" + }, + "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID." + }, + "LeaseIdRequired": { + "name": "x-ms-lease-id", + "x-ms-client-name": "leaseId", + "in": "header", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Specifies the current lease ID on the resource." + }, + "ProposedLeaseIdOptional": { + "name": "x-ms-proposed-lease-id", + "x-ms-client-name": "proposedLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats." + }, + "Prefix": { + "name": "prefix", + "in": "query", + "description": "Filters results to filesystems within the specified prefix.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MaxResults": { + "name": "maxResults", + "in": "query", + "description": "An optional value that specifies the maximum number of items to return. If omitted or greater than 5,000, the response will include up to 5,000 items.", + "format": "int32", + "minimum": 1, + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "Properties": { + "name": "x-ms-properties", + "x-ms-client-name": "properties", + "description": "Optional. User-defined properties to be stored with the filesystem, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is a base64 encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the filesystem exists, any properties not included in the list will be removed. All properties are removed if the header is omitted. To merge new and existing properties, first get all existing properties and the current E-Tag, then make a conditional request with the E-Tag and include values for all properties.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SourceIfMatch": { + "name": "x-ms-source-if-match", + "x-ms-client-name": "sourceIfMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs with a matching value." + }, + "SourceIfModifiedSince": { + "name": "x-ms-source-if-modified-since", + "x-ms-client-name": "sourceIfModifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time." + }, + "SourceIfNoneMatch": { + "name": "x-ms-source-if-none-match", + "x-ms-client-name": "sourceIfNoneMatch", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify an ETag value to operate only on blobs without a matching value." + }, + "SourceIfUnmodifiedSince": { + "name": "x-ms-source-if-unmodified-since", + "x-ms-client-name": "sourceIfUnmodifiedSince", + "in": "header", + "required": false, + "type": "string", + "format": "date-time-rfc1123", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "source-modified-access-conditions" + }, + "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time." + }, + "SourceLeaseId": { + "name": "x-ms-source-lease-id", + "x-ms-client-name": "sourceLeaseId", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "A lease ID for the source path. If specified, the source path must have an active lease and the lease ID must match." + }, + "FileSystem": { + "name": "filesystem", + "x-ms-parameter-location": "client", + "x-ms-client-name": "fileSystem", + "in": "path", + "description": "The filesystem identifier.", + "pattern": "^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$", + "minLength": 3, + "maxLength": 63, + "required": true, + "type": "string" + }, + "Path": { + "name": "path", + "x-ms-parameter-location": "client", + "in": "path", + "description": "The file or directory path.", + "required": true, + "type": "string" + }, + "CacheControl": { + "name": "x-ms-cache-control", + "x-ms-client-name": "cacheControl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentDisposition": { + "name": "x-ms-content-disposition", + "x-ms-client-name": "contentDisposition", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's Content-Disposition header." + }, + "ContentEncoding": { + "name": "x-ms-content-encoding", + "x-ms-client-name": "contentEncoding", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentLanguage": { + "name": "x-ms-content-language", + "x-ms-client-name": "contentLanguage", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request." + }, + "ContentType": { + "name": "x-ms-content-type", + "x-ms-client-name": "contentType", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request." + }, + "TransactionalContentMD5": { + "name": "Content-MD5", + "x-ms-client-name": "transactionalContentHash", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentMD5": { + "name": "x-ms-content-md5", + "x-ms-client-name": "contentMD5", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "path-HTTP-headers" + }, + "description": "Specify the transactional md5 for the body, to be validated by the service." + }, + "ContentCrc64": { + "name": "x-ms-content-crc64", + "x-ms-client-name": "transactionalContentCrc64", + "in": "header", + "required": false, + "type": "string", + "format": "byte", + "x-ms-parameter-location": "method", + "description": "Specify the transactional crc64 for the body, to be validated by the service." + }, + "Umask": { + "name": "x-ms-umask", + "x-ms-client-name": "umask", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. When creating a file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of the file or directory to be created. The resulting permission is given by p bitwise and not u, where p is the permission and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must be specified in 4-digit octal notation (e.g. 0766).", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Permissions": { + "name": "x-ms-permissions", + "x-ms-client-name": "permissions", + "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "RenameSource": { + "name": "x-ms-rename-source", + "x-ms-client-name": "renameSource", + "in": "header", + "description": "An optional file or directory to be renamed. The value must have the following format: \"/{filesystem}/{path}\". If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Owner": { + "name": "x-ms-owner", + "x-ms-client-name": "owner", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owner of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Group": { + "name": "x-ms-group", + "x-ms-client-name": "group", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. The owning group of the blob or directory.", + "x-ms-parameter-location": "method" + }, + "Acl": { + "name": "x-ms-acl", + "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".", + "x-ms-client-name": "acl", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Body": { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "format": "file" + }, + "x-ms-parameter-location": "method", + "description": "Initial data" + }, + "Upn": { + "name": "upn", + "in": "query", + "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not translated because they do not have unique friendly names.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Position": { + "name": "position", + "in": "query", + "description": "This parameter allows the caller to upload data in parallel and control the order in which it is appended to the file. It is required when uploading data to be appended to the file and when flushing previously uploaded data to the file. The value must be the position where the data is to be appended. Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data must be contiguous, the position parameter must be specified and equal to the length of the file after all data has been written, and there must not be a request entity body included with the request.", + "format": "int64", + "required": false, + "type": "integer", + "x-ms-parameter-location": "method" + }, + "RetainUncommittedData": { + "name": "retainUncommittedData", + "in": "query", + "description": "Valid only for flush operations. If \"true\", uncommitted data is retained after the flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The default is false. Data at offsets less than the specified position are written to the file when flush succeeds, but this optional parameter allows data after the flush position to be retained for a future flush operation.", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "Close": { + "name": "close", + "in": "query", + "description": "Azure Storage Events allow applications to receive notifications when files change. When Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating whether this is the final change to distinguish the difference between an intermediate flush to a file stream and the final close of a file stream. The close query parameter is valid only when the action is \"flush\" and change notifications are enabled. If the value of close is \"true\" and the flush operation completes successfully, the service raises a file change notification with a property indicating that this is the final update (the file stream has been closed). If \"false\" a change notification is raised indicating the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to indicate that the file stream has been closed.\"", + "required": false, + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "ContentLength": { + "name": "Content-Length", + "in": "header", + "description": "Required for \"Append Data\" and \"Flush Data\". Must be 0 for \"Flush Data\". Must be the length of the request content in bytes for \"Append Data\".", + "minimum": 0, + "required": false, + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "PathExpiryOptions": { + "name": "x-ms-expiry-option", + "x-ms-client-name": "ExpiryOptions", + "in": "header", + "required": true, + "type": "string", + "enum": [ + "NeverExpire", + "RelativeToCreation", + "RelativeToNow", + "Absolute" + ], + "x-ms-enum": { + "name": "PathExpiryOptions", + "modelAsString": true + }, + "x-ms-parameter-location": "method", + "description": "Required. Indicates mode of the expiry time" + }, + "PathExpiryTime": { + "name": "x-ms-expiry-time", + "x-ms-client-name": "ExpiresOn", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The time to set the blob to expiry" + }, + "UndeleteSource": { + "name": "x-ms-undelete-source", + "x-ms-client-name": "UndeleteSource", + "in": "header", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Only for hierarchical namespace enabled accounts. Optional. The path of the soft deleted blob to undelete." + }, + "Marker": { + "name": "marker", + "in": "query", + "required": false, + "type": "string", + "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.", + "x-ms-parameter-location": "method" + }, + "ListBlobsInclude": { + "name": "include", + "in": "query", + "required": false, + "type": "array", + "collectionFormat": "csv", + "items": { + "type": "string", + "enum": [ + "copy", + "deleted", + "metadata", + "snapshots", + "uncommittedblobs", + "versions", + "tags" + ], + "x-ms-enum": { + "name": "ListBlobsIncludeItem", + "modelAsString": false + } + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "ListBlobsShowOnly": { + "name": "showonly", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListBlobsShowOnly", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "description": "Include this parameter to specify one or more datasets to include in the response." + }, + "Delimiter": { + "name": "delimiter", + "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.", + "type": "string", + "x-ms-parameter-location": "method", + "in": "query", + "required": false + }, + "EncryptionKey": { + "name": "x-ms-encryption-key", + "x-ms-client-name": "encryptionKey", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key. For more information, see Encryption at Rest for Azure Storage Services." + }, + "EncryptionKeySha256": { + "name": "x-ms-encryption-key-sha256", + "x-ms-client-name": "encryptionKeySha256", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided." + }, + "EncryptionAlgorithm": { + "name": "x-ms-encryption-algorithm", + "x-ms-client-name": "encryptionAlgorithm", + "type": "string", + "in": "header", + "required": false, + "enum": [ + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithmType", + "modelAsString": false + }, + "x-ms-parameter-location": "method", + "x-ms-parameter-grouping": { + "name": "cpk-info" + }, + "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided." + } + }, + "definitions": { + "AclFailedEntry": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "type": "string" + }, + "errorMessage": { + "type": "string" + } + } + }, + "SetAccessControlRecursiveResponse": { + "type": "object", + "properties": { + "directoriesSuccessful": { + "type": "integer", + "format": "int32" + }, + "filesSuccessful": { + "type": "integer", + "format": "int32" + }, + "failureCount": { + "type": "integer", + "format": "int32" + }, + "failedEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/AclFailedEntry" + } + } + } + }, + "Path": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "isDirectory": { + "default": false, + "type": "boolean" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + }, + "contentLength": { + "type": "integer", + "format": "int64" + }, + "owner": { + "type": "string" + }, + "group": { + "type": "string" + }, + "permissions": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "creationTime": { + "type": "string" + }, + "expiryTime": { + "type": "string" + } + } + }, + "PathList": { + "type": "object", + "properties": { + "paths": { + "type": "array", + "items": { + "$ref": "#/definitions/Path" + } + } + } + }, + "FileSystem": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "lastModified": { + "type": "string" + }, + "eTag": { + "type": "string" + } + } + }, + "ListBlobsHierarchySegmentResponse": { + "xml": { + "name": "EnumerationResults" + }, + "description": "An enumeration of blobs", + "type": "object", + "required": [ + "ServiceEndpoint", + "ContainerName", + "Segment" + ], + "properties": { + "ServiceEndpoint": { + "type": "string", + "xml": { + "attribute": true + } + }, + "ContainerName": { + "type": "string", + "xml": { + "attribute": true + } + }, + "Prefix": { + "type": "string" + }, + "Marker": { + "type": "string" + }, + "MaxResults": { + "type": "integer" + }, + "Delimiter": { + "type": "string" + }, + "Segment": { + "$ref": "#/definitions/BlobHierarchyListSegment" + }, + "NextMarker": { + "type": "string" + } + } + }, + "BlobHierarchyListSegment": { + "xml": { + "name": "Blobs" + }, + "type": "object", + "required": [ + "BlobItems" + ], + "properties": { + "BlobPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobPrefix" + } + }, + "BlobItems": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobItemInternal" + } + } + } + }, + "BlobPrefix": { + "type": "object", + "required": [ + "Name" + ], + "properties": { + "Name": { + "type": "string" + } + } + }, + "BlobItemInternal": { + "xml": { + "name": "Blob" + }, + "description": "An Azure Storage blob", + "type": "object", + "required": [ + "Name", + "Deleted", + "Snapshot", + "Properties" + ], + "properties": { + "Name": { + "type": "string" + }, + "Deleted": { + "type": "boolean" + }, + "Snapshot": { + "type": "string" + }, + "VersionId": { + "type": "string" + }, + "IsCurrentVersion": { + "type": "boolean" + }, + "Properties": { + "$ref": "#/definitions/BlobPropertiesInternal" + }, + "DeletionId": { + "type": "string" + } + } + }, + "BlobPropertiesInternal": { + "xml": { + "name": "Properties" + }, + "description": "Properties of a blob", + "type": "object", + "required": [ + "Etag", + "Last-Modified" + ], + "properties": { + "Creation-Time": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Last-Modified": { + "type": "string", + "format": "date-time-rfc1123" + }, + "Etag": { + "type": "string" + }, + "Content-Length": { + "type": "integer", + "format": "int64", + "description": "Size in bytes" + }, + "Content-Type": { + "type": "string" + }, + "Content-Encoding": { + "type": "string" + }, + "Content-Language": { + "type": "string" + }, + "Content-MD5": { + "type": "string", + "format": "byte" + }, + "Content-Disposition": { + "type": "string" + }, + "Cache-Control": { + "type": "string" + }, + "x-ms-blob-sequence-number": { + "x-ms-client-name": "blobSequenceNumber", + "type": "integer", + "format": "int64" + }, + "CopyId": { + "type": "string" + }, + "CopySource": { + "type": "string" + }, + "CopyProgress": { + "type": "string" + }, + "CopyCompletionTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "CopyStatusDescription": { + "type": "string" + }, + "ServerEncrypted": { + "type": "boolean" + }, + "IncrementalCopy": { + "type": "boolean" + }, + "DestinationSnapshot": { + "type": "string" + }, + "DeletedTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "RemainingRetentionDays": { + "type": "integer" + }, + "AccessTierInferred": { + "type": "boolean" + }, + "CustomerProvidedKeySha256": { + "type": "string" + }, + "EncryptionScope": { + "type": "string", + "description": "The name of the encryption scope under which the blob is encrypted." + }, + "AccessTierChangeTime": { + "type": "string", + "format": "date-time-rfc1123" + }, + "TagCount": { + "type": "integer" + }, + "Expiry-Time": { + "x-ms-client-name": "ExpiresOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "Sealed": { + "x-ms-client-name": "IsSealed", + "type": "boolean" + }, + "LastAccessTime": { + "x-ms-client-name": "LastAccessedOn", + "type": "string", + "format": "date-time-rfc1123" + }, + "DeleteTime": { + "type": "string", + "format": "date-time-rfc1123" + } + } + }, + "FileSystemList": { + "type": "object", + "properties": { + "filesystems": { + "type": "array", + "items": { + "$ref": "#/definitions/FileSystem" + } + } + } + }, + "StorageError": { + "type": "object", + "properties": { + "error": { + "type": "object", + "description": "The service error response object.", + "properties": { + "Code": { + "description": "The service error code.", + "type": "string" + }, + "Message": { + "description": "The service error message.", + "type": "string" + } + } + } + } + } + } +} diff --git a/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md b/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md index a7111d958e86..8f0de5a19c94 100644 --- a/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md +++ b/specification/storage/data-plane/Microsoft.StorageDataLake/readme.md @@ -25,7 +25,7 @@ These are the global settings for the StorageDataLake API. ``` yaml openapi-type: data-plane -tag: package-2020-06 +tag: package-2021-06 use-internal-constructors: true add-credentials: true ``` @@ -75,6 +75,24 @@ input-file: - preview/2020-10-02/DataLakeStorage.json ``` +### Tag: package-2021-04 + +These settings apply only when `--tag=package-2021-04` is specified on the command line. + +``` yaml $(tag) == 'package-2021-04' +input-file: +- preview/2021-04-10/DataLakeStorage.json +``` + +### Tag: package-2021-06 + +These settings apply only when `--tag=package-2021-06` is specified on the command line. + +``` yaml $(tag) == 'package-2021-06' +input-file: +- preview/2021-06-08/DataLakeStorage.json +``` + ### Suppression ``` yaml directive: diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/blob.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/blob.json new file mode 100644 index 000000000000..9f667e357dba --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/blob.json @@ -0,0 +1,1576 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices": { + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_List", + "x-ms-examples": { + "ListBlobServices": { + "$ref": "./examples/BlobServicesList.json" + } + }, + "description": "List blob services of storage account. It returns a collection of one object named default.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List blob services operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}": { + "put": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_SetServiceProperties", + "x-ms-examples": { + "PutBlobServices": { + "$ref": "./examples/BlobServicesPut.json" + }, + "BlobServicesPutLastAccessTimeBasedTracking": { + "$ref": "./examples/BlobServicesPutLastAccessTimeBasedTracking.json" + }, + "BlobServicesPutAllowPermanentDelete": { + "$ref": "./examples/BlobServicesPutAllowPermanentDelete.json" + } + }, + "description": "Sets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "The properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Blob service successfully.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + }, + "get": { + "tags": [ + "BlobService" + ], + "operationId": "BlobServices_GetServiceProperties", + "x-ms-examples": { + "GetBlobServices": { + "$ref": "./examples/BlobServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Blob service.", + "schema": { + "$ref": "#/definitions/BlobServiceProperties" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers": { + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_List", + "x-ms-examples": { + "ListContainers": { + "$ref": "./examples/BlobContainersList.json" + }, + "ListDeletedContainers": { + "$ref": "./examples/DeletedBlobContainersList.json" + } + }, + "description": "Lists all containers and does not support a prefix like data plane. Also SRP today does not return continuation token.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of containers that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only container names starting with the filter will be listed." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "deleted" + ], + "x-ms-enum": { + "name": "ListContainersInclude", + "modelAsString": true + }, + "description": "Optional, used to include the properties for soft deleted blob containers." + } + ], + "responses": { + "200": { + "description": "OK -- List Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/ListContainerItems" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Create", + "x-ms-examples": { + "PutContainers": { + "$ref": "./examples/BlobContainersPut.json" + }, + "PutContainerWithDefaultEncryptionScope": { + "$ref": "./examples/BlobContainersPutDefaultEncryptionScope.json" + }, + "PutContainerWithObjectLevelWorm": { + "$ref": "./examples/BlobContainersPutObjectLevelWorm.json" + } + }, + "description": "Creates a new container under the specified account as described by request body. The container resource includes metadata and properties for that container. It does not include a list of the blobs contained by the container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties of the blob container to create." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + }, + "200": { + "description": "OK -- The Container is already created.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "patch": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Update", + "x-ms-examples": { + "UpdateContainers": { + "$ref": "./examples/BlobContainersPatch.json" + } + }, + "description": "Updates container properties as specified in request body. Properties not mentioned in the request will be unchanged. Update fails if the specified container doesn't already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "name": "blobContainer", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobContainer" + }, + "description": "Properties to update for the blob container." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer", + "description": "Properties of the updated blob container." + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Get", + "x-ms-examples": { + "GetContainers": { + "$ref": "./examples/BlobContainersGet.json" + }, + "GetBlobContainersGetWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json" + } + }, + "description": "Gets properties of a specified container. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/BlobContainer" + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Delete", + "x-ms-examples": { + "DeleteContainers": { + "$ref": "./examples/BlobContainersDelete.json" + } + }, + "description": "Deletes specified container under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete Container operation completed successfully." + }, + "204": { + "description": "No Content -- The Container not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_SetLegalHold", + "x-ms-examples": { + "SetLegalHoldContainers": { + "$ref": "./examples/BlobContainersSetLegalHold.json" + }, + "SetLegalHoldContainersWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json" + } + }, + "description": "Sets legal hold tags. Setting the same tag results in an idempotent operation. SetLegalHold follows an append pattern and does not clear out the existing tags that are not specified in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be set to a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Set legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ClearLegalHold", + "x-ms-examples": { + "ClearLegalHoldContainers": { + "$ref": "./examples/BlobContainersClearLegalHold.json" + } + }, + "description": "Clears legal hold tags. Clearing the same or non-existent tag results in an idempotent operation. ClearLegalHold clears out only the specified tags in the request.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "LegalHold", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LegalHold" + }, + "description": "The LegalHold property that will be clear from a blob container." + } + ], + "responses": { + "200": { + "description": "OK -- Clear legal hold tags for Container completed successfully.", + "schema": { + "$ref": "#/definitions/LegalHold" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/{immutabilityPolicyName}": { + "put": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_CreateOrUpdateImmutabilityPolicy", + "x-ms-examples": { + "CreateOrUpdateImmutabilityPolicy": { + "$ref": "./examples/BlobContainersPutImmutabilityPolicy.json" + }, + "CreateOrUpdateImmutabilityPolicyWithAllowProtectedAppendWritesAll": { + "$ref": "./examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json" + } + }, + "description": "Creates or updates an unlocked immutability policy. ETag in If-Match is honored if given but not required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be created or updated to a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Creates or updates container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "get": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_GetImmutabilityPolicy", + "x-ms-examples": { + "GetImmutabilityPolicy": { + "$ref": "./examples/BlobContainersGetImmutabilityPolicy.json" + } + }, + "description": "Gets the existing immutability policy along with the corresponding ETag in response headers and body.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Gets container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + }, + "delete": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_DeleteImmutabilityPolicy", + "x-ms-examples": { + "DeleteImmutabilityPolicy": { + "$ref": "./examples/BlobContainersDeleteImmutabilityPolicy.json" + } + }, + "description": "Aborts an unlocked immutability policy. The response of delete has immutabilityPeriodSinceCreationInDays set to 0. ETag in If-Match is required for this operation. Deleting a locked immutability policy is not allowed, the only way is to delete the container after deleting all expired blobs inside the policy locked container.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "#/parameters/ImmutabilityPolicyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Deletes container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/lock": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_LockImmutabilityPolicy", + "x-ms-examples": { + "LockImmutabilityPolicy": { + "$ref": "./examples/BlobContainersLockImmutabilityPolicy.json" + } + }, + "description": "Sets the ImmutabilityPolicy to Locked state. The only action allowed on a Locked policy is ExtendImmutabilityPolicy action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Locks container ImmutabilityPolicy operation completed successfully.", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/immutabilityPolicies/default/extend": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ExtendImmutabilityPolicy", + "x-ms-examples": { + "ExtendImmutabilityPolicy": { + "$ref": "./examples/BlobContainersExtendImmutabilityPolicy.json" + } + }, + "description": "Extends the immutabilityPeriodSinceCreationInDays of a locked immutabilityPolicy. The only action allowed on a Locked policy will be this action. ETag in If-Match is required for this operation.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "description": "The ImmutabilityPolicy Properties that will be extended for a blob container." + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "The entity state (ETag) version of the immutability policy to update. A value of \"*\" can be used to apply the operation only if the immutability policy already exists. If omitted, this operation will always be applied." + } + ], + "responses": { + "200": { + "description": "OK -- Extends container ImmutabilityPolicy operation completed successfully..", + "schema": { + "$ref": "#/definitions/ImmutabilityPolicy" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/lease": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_Lease", + "x-ms-examples": { + "Acquire a lease on a container": { + "$ref": "./examples/BlobContainersLease_Acquire.json" + }, + "Break a lease on a container": { + "$ref": "./examples/BlobContainersLease_Break.json" + } + }, + "description": "The Lease Container operation establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LeaseContainerRequest" + }, + "description": "Lease Container request body." + } + ], + "responses": { + "200": { + "description": "OK -- Lease Container operation completed successfully.", + "schema": { + "$ref": "#/definitions/LeaseContainerResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/migrate": { + "post": { + "tags": [ + "BlobContainers" + ], + "operationId": "BlobContainers_ObjectLevelWorm", + "x-ms-examples": { + "VersionLevelWormContainerMigration": { + "$ref": "./examples/ObjectLevelWormContainerMigration.json" + } + }, + "description": "This operation migrates a blob container from container level WORM to object level immutability enabled container. Prerequisites require a container level immutability policy either in locked or unlocked state, Account level versioning must be enabled and there should be no Legal hold on the container.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ContainerName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the blob container migration to support object level immutability completes." + }, + "202": { + "description": "Accepted -- Blob Container migration to support object level immutability is accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ContainerProperties": { + "properties": { + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the deleted blob container." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the blob container was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Blob container deletion time." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for soft deleted blob container." + }, + "defaultEncryptionScope": { + "type": "string", + "description": "Default the container to use specified encryption scope for all writes." + }, + "denyEncryptionScopeOverride": { + "type": "boolean", + "description": "Block override of encryption scope from the container default." + }, + "publicAccess": { + "type": "string", + "enum": [ + "Container", + "Blob", + "None" + ], + "x-ms-enum": { + "name": "PublicAccess", + "modelAsString": false + }, + "description": "Specifies whether data in the container may be accessed publicly and the level of access." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the container was last modified." + }, + "leaseStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatus", + "modelAsString": true + }, + "description": "The lease status of the container." + }, + "leaseState": { + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Leased", + "Expired", + "Breaking", + "Broken" + ], + "x-ms-enum": { + "name": "LeaseState", + "modelAsString": true + }, + "description": "Lease state of the container." + }, + "leaseDuration": { + "type": "string", + "readOnly": true, + "enum": [ + "Infinite", + "Fixed" + ], + "x-ms-enum": { + "name": "LeaseDuration", + "modelAsString": true + }, + "description": "Specifies whether the lease on a container is of infinite or fixed duration, only when the container is leased." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the container as metadata." + }, + "immutabilityPolicy": { + "readOnly": true, + "$ref": "#/definitions/ImmutabilityPolicyProperties", + "x-ms-client-name": "ImmutabilityPolicy", + "description": "The ImmutabilityPolicy property of the container." + }, + "legalHold": { + "readOnly": true, + "$ref": "#/definitions/LegalHoldProperties", + "description": "The LegalHold property of the container." + }, + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "hasImmutabilityPolicy": { + "type": "boolean", + "readOnly": true, + "description": "The hasImmutabilityPolicy public property is set to true by SRP if ImmutabilityPolicy has been created for this container. The hasImmutabilityPolicy public property is set to false by SRP if ImmutabilityPolicy has not been created for this container." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageWithVersioning", + "description": "The object level immutability property of the container. The property is immutable and can only be set to true at the container creation time. Existing containers must undergo a migration process." + }, + "enableNfsV3RootSquash": { + "type": "boolean", + "description": "Enable NFSv3 root squash on blob container." + }, + "enableNfsV3AllSquash": { + "type": "boolean", + "description": "Enable NFSv3 all squash on blob container." + } + }, + "description": "The properties of a container." + }, + "BlobContainer": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "ContainerProperties", + "description": "Properties of the blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the blob container, including Id, resource name, resource type, Etag." + }, + "ImmutabilityPolicyProperty": { + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyState", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy state of a blob container, possible values include: Locked and Unlocked." + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive." + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicyProperties": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "ImmutabilityPolicy Etag." + }, + "updateHistory": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UpdateHistoryProperty" + }, + "description": "The ImmutabilityPolicy update history of the blob container." + } + }, + "description": "The properties of an ImmutabilityPolicy of a blob container." + }, + "ImmutabilityPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ImmutabilityPolicyProperty", + "x-ms-client-flatten": true, + "description": "The properties of an ImmutabilityPolicy of a blob container." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "required": [ + "properties" + ], + "description": "The ImmutabilityPolicy property of a blob container, including Id, resource name, resource type, Etag." + }, + "ImmutableStorageWithVersioning": { + "properties": { + "enabled": { + "type": "boolean", + "description": "This is an immutable property, when set to true it enables object level immutability at the container level." + }, + "timeStamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the object level immutability was enabled." + }, + "migrationState": { + "type": "string", + "readOnly": true, + "enum": [ + "InProgress", + "Completed" + ], + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + }, + "description": "This property denotes the container level immutability to object level immutability migration state." + } + }, + "description": "Object level immutability properties of the container." + }, + "UpdateHistoryProperty": { + "properties": { + "update": { + "type": "string", + "readOnly": true, + "enum": [ + "put", + "lock", + "extend" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyUpdateType", + "modelAsString": true + }, + "description": "The ImmutabilityPolicy update type of a blob container, possible values include: put, lock and extend." + }, + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "readOnly": true, + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the ImmutabilityPolicy was updated." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who updated the ImmutabilityPolicy." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who updated the ImmutabilityPolicy." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who updated the ImmutabilityPolicy." + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive." + } + }, + "description": "An update history of the ImmutabilityPolicy of a blob container." + }, + "LegalHoldProperties": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/definitions/TagProperty" + }, + "description": "The list of LegalHold tags of a blob container." + }, + "protectedAppendWritesHistory": { + "type": "object", + "$ref": "#/definitions/ProtectedAppendWritesHistory", + "description": "Protected append blob writes history." + } + }, + "description": "The LegalHold property of a blob container." + }, + "TagProperty": { + "properties": { + "tag": { + "type": "string", + "readOnly": true, + "description": "The tag value." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the tag was added." + }, + "objectIdentifier": { + "type": "string", + "readOnly": true, + "description": "Returns the Object ID of the user who added the tag." + }, + "tenantId": { + "type": "string", + "readOnly": true, + "description": "Returns the Tenant ID that issued the token for the user who added the tag." + }, + "upn": { + "type": "string", + "readOnly": true, + "description": "Returns the User Principal Name of the user who added the tag." + } + }, + "description": "A tag of the LegalHold of a blob container." + }, + "ProtectedAppendWritesHistory": { + "type": "object", + "properties": { + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + }, + "timestamp": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the tag was added." + } + }, + "description": "Protected append writes history setting for the blob container with Legal holds." + }, + "LegalHold": { + "properties": { + "hasLegalHold": { + "type": "boolean", + "readOnly": true, + "description": "The hasLegalHold public property is set to true by SRP if there are at least one existing tag. The hasLegalHold public property is set to false by SRP if all existing legal hold tags are cleared out. There can be a maximum of 1000 blob containers with hasLegalHold=true for a given account." + }, + "tags": { + "type": "array", + "items": { + "type": "string", + "maxLength": 23, + "minLength": 3 + }, + "description": "Each tag should be 3 to 23 alphanumeric characters and is normalized to lower case at SRP." + }, + "allowProtectedAppendWritesAll": { + "type": "boolean", + "description": "When enabled, new blocks can be written to both 'Append and Bock Blobs' while maintaining legal hold protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + } + }, + "required": [ + "tags" + ], + "description": "The LegalHold property of a blob container." + }, + "ListContainerItem": { + "properties": { + "properties": { + "$ref": "#/definitions/ContainerProperties", + "x-ms-client-flatten": true, + "description": "The blob container properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The blob container properties be listed out." + }, + "ListContainerItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListContainerItem" + }, + "description": "List of blobs containers returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of containers. Returned when total number of requested containers exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of blobs returned, and if paging is requested or required, a URL to next page of containers." + }, + "BlobServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service." + }, + "defaultServiceVersion": { + "type": "string", + "description": "DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions." + }, + "deleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for blob soft delete." + }, + "isVersioningEnabled": { + "type": "boolean", + "description": "Versioning is enabled if set to true." + }, + "automaticSnapshotPolicyEnabled": { + "type": "boolean", + "description": "Deprecated in favor of isVersioningEnabled property." + }, + "changeFeed": { + "$ref": "#/definitions/ChangeFeed", + "description": "The blob service properties for change feed events." + }, + "restorePolicy": { + "$ref": "#/definitions/RestorePolicyProperties", + "description": "The blob service properties for blob restore policy." + }, + "containerDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The blob service properties for container soft delete." + }, + "lastAccessTimeTrackingPolicy": { + "$ref": "#/definitions/LastAccessTimeTrackingPolicy", + "description": "The blob service property to configure last access time based tracking policy." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "BlobServiceProperties", + "description": "The properties of a storage account’s Blob service." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Blob service." + }, + "BlobServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobServiceProperties" + }, + "description": "List of blob services returned.", + "readOnly": true + } + } + }, + "ChangeFeed": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether change feed event logging is enabled for the Blob service." + }, + "retentionInDays": { + "type": "integer", + "minimum": 1, + "maximum": 146000, + "format": "int32", + "description": "Indicates the duration of changeFeed retention in days. Minimum value is 1 day and maximum value is 146000 days (400 years). A null value indicates an infinite retention of the change feed." + } + }, + "description": "The blob service properties for change feed events." + }, + "RestorePolicyProperties": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Blob restore is enabled if set to true." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "how long this blob can be restored. It should be great than zero and less than DeleteRetentionPolicy.days." + }, + "lastEnabledTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Deprecated in favor of minRestoreTime property." + }, + "minRestoreTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the minimum date and time that the restore can be started." + } + }, + "required": [ + "enabled" + ], + "description": "The blob service properties for blob restore policy" + }, + "LastAccessTimeTrackingPolicy": { + "properties": { + "enable": { + "type": "boolean", + "description": "When set to true last access time based tracking is enabled." + }, + "name": { + "type": "string", + "description": "Name of the policy. The valid value is AccessTimeTracking. This field is currently read only", + "enum": [ + "AccessTimeTracking" + ], + "x-ms-enum": { + "name": "name", + "modelAsString": true + } + }, + "trackingGranularityInDays": { + "type": "integer", + "format": "int32", + "description": "The field specifies blob object tracking granularity in days, typically how often the blob object should be tracked.This field is currently read only with value as 1" + }, + "blobType": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined supported blob types. Only blockBlob is the supported value. This field is currently read only" + } + }, + "required": [ + "enable" + ], + "description": "The blob service properties for Last access time based tracking policy." + }, + "LeaseContainerRequest": { + "properties": { + "action": { + "type": "string", + "enum": [ + "Acquire", + "Renew", + "Change", + "Release", + "Break" + ], + "description": "Specifies the lease action. Can be one of the available actions." + }, + "leaseId": { + "type": "string", + "description": "Identifies the lease. Can be specified in any valid GUID string format." + }, + "breakPeriod": { + "type": "integer", + "description": "Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60." + }, + "leaseDuration": { + "type": "integer", + "description": "Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires." + }, + "proposedLeaseId": { + "type": "string", + "description": "Optional for acquire, required for change. Proposed lease ID, in a GUID string format." + } + }, + "required": [ + "action" + ], + "description": "Lease Container request schema." + }, + "LeaseContainerResponse": { + "properties": { + "leaseId": { + "type": "string", + "description": "Returned unique lease ID that must be included with any request to delete the container, or to renew, change, or release the lease." + }, + "leaseTimeSeconds": { + "type": "string", + "description": "Approximate time remaining in the lease period, in seconds." + } + }, + "description": "Lease Container response schema." + } + }, + "parameters": { + "ContainerName": { + "name": "containerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container within the specified storage account. Blob container names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ImmutabilityPolicyName": { + "name": "immutabilityPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob container immutabilityPolicy within the specified storage account. ImmutabilityPolicy Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ImmutabilityPolicyName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "BlobServicesName": { + "name": "BlobServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the blob Service within the specified storage account. Blob Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobServicesName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/common.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/common.json new file mode 100644 index 000000000000..66add2f79c89 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/common.json @@ -0,0 +1,206 @@ +{ + "swagger": "2.0", + "info": { + "title": "Storage", + "description": "Storage Resource Provider API Common Types", + "version": "2021-09-01" + }, + "paths": {}, + "definitions": { + "CorsRules": { + "properties": { + "corsRules": { + "type": "array", + "items": { + "description": "Specifies a CORS rule for the Blob service. ", + "$ref": "#/definitions/CorsRule" + }, + "description": "The List of CORS rules. You can include up to five CorsRule elements in the request. " + } + }, + "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. " + }, + "CorsRule": { + "properties": { + "allowedOrigins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains" + }, + "allowedMethods": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "DELETE", + "GET", + "HEAD", + "MERGE", + "POST", + "OPTIONS", + "PUT", + "PATCH" + ] + }, + "description": "Required if CorsRule element is present. A list of HTTP methods that are allowed to be executed by the origin." + }, + "maxAgeInSeconds": { + "type": "integer", + "description": "Required if CorsRule element is present. The number of seconds that the client/browser should cache a preflight response." + }, + "exposedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of response headers to expose to CORS clients." + }, + "allowedHeaders": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required if CorsRule element is present. A list of headers allowed to be part of the cross-origin request." + } + }, + "required": [ + "allowedOrigins", + "allowedMethods", + "maxAgeInSeconds", + "exposedHeaders", + "allowedHeaders" + ], + "description": "Specifies a CORS rule for the Blob service." + }, + "DeleteRetentionPolicy": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether DeleteRetentionPolicy is enabled." + }, + "days": { + "type": "integer", + "minimum": 1, + "maximum": 365, + "description": "Indicates the number of days that the deleted item should be retained. The minimum specified value can be 1 and the maximum value can be 365." + }, + "allowPermanentDelete": { + "type": "boolean", + "description": "This property when set to true allows deletion of the soft deleted blob versions and snapshots. This property cannot be used blob restore policy. This property only applies to blob service and does not apply to containers or file share." + } + }, + "description": "The service properties for soft delete." + }, + "Sku": { + "properties": { + "name": { + "$ref": "#/definitions/SkuName" + }, + "tier": { + "$ref": "#/definitions/Tier" + } + }, + "required": [ + "name" + ], + "description": "The SKU of the storage account." + }, + "SkuName": { + "type": "string", + "description": "The SKU name. Required for account creation; optional for update. Note that in older versions, SKU name was called accountType.", + "enum": [ + "Standard_LRS", + "Standard_GRS", + "Standard_RAGRS", + "Standard_ZRS", + "Premium_LRS", + "Premium_ZRS", + "Standard_GZRS", + "Standard_RAGZRS" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + }, + "Tier": { + "readOnly": true, + "type": "string", + "description": "The SKU tier. This is based on the SKU name.", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuTier", + "modelAsString": false + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Storage 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 Storage service." + }, + "SignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "An unique identifier of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/AccessPolicy", + "description": "Access policy" + } + } + }, + "AccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "List of abbreviated permissions." + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersClearLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersClearLegalHold.json new file mode 100644 index 000000000000..10cb1f973985 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersClearLegalHold.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2020-08-01-preview", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": false, + "tags": [] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDelete.json new file mode 100644 index 000000000000..1b458fc42fbf --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "containerName": "container9689", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDeleteImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDeleteImmutabilityPolicy.json new file mode 100644 index 000000000000..8e3c544f52ce --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersDeleteImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1581", + "accountName": "sto9621", + "containerName": "container4910", + "immutabilityPolicyName": "default", + "If-Match": "\"8d59f81a7fa7be0\"", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1581/providers/Microsoft.Storage/storageAccounts/sto9621/blobServices/default/containers/container4910/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f81a87b40c0\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 0, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersExtendImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersExtendImmutabilityPolicy.json new file mode 100644 index 000000000000..012711dc8900 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersExtendImmutabilityPolicy.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6238", + "accountName": "sto232", + "containerName": "container5023", + "If-Match": "\"8d59f830d0c3bf9\"", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 100 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6238/providers/Microsoft.Storage/storageAccounts/sto232/blobServices/default/containers/container5023/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8b2ff50332\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGet.json new file mode 100644 index 000000000000..fcd31bb5b494 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGet.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "containerName": "container1634", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/blobServices/default/containers/container1634", + "name": "container1634", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-26T05:06:14Z", + "immutabilityPolicy": { + "etag": "\"8d592d74cb3011a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "state": "Locked" + }, + "updateHistory": [ + { + "update": "put", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:11.431403Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "lock", + "immutabilityPeriodSinceCreationInDays": 3, + "timestamp": "2018-03-26T05:06:13.0907641Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "extend", + "immutabilityPeriodSinceCreationInDays": 100, + "timestamp": "2018-03-26T05:06:14.7097716Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "legalHold": { + "hasLegalHold": true, + "tags": [ + { + "tag": "tag1", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag2", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag3", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "hasImmutabilityPolicy": true, + "hasLegalHold": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetImmutabilityPolicy.json new file mode 100644 index 000000000000..a252a1fab23b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetImmutabilityPolicy.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res5221", + "accountName": "sto9177", + "containerName": "container3489", + "immutabilityPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res5221/providers/Microsoft.Storage/storageAccounts/sto9177/blobServices/default/containers/container3489/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f828e64b75c\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 5, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..e92cf76f29bf --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersGetWithAllowProtectedAppendWritesAll.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "containerName": "container1634", + "api-version": "2021-06-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/blobServices/default/containers/container1634", + "name": "container1634", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-26T05:06:14Z", + "immutabilityPolicy": { + "etag": "\"8d592d74cb3011a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 100, + "allowProtectedAppendWritesAll": true, + "state": "Locked" + }, + "updateHistory": [ + { + "update": "put", + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:11.431403Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "lock", + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:13.0907641Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "update": "extend", + "immutabilityPeriodSinceCreationInDays": 100, + "allowProtectedAppendWritesAll": true, + "timestamp": "2018-03-26T05:06:14.7097716Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "legalHold": { + "hasLegalHold": true, + "protectedAppendWritesHistory": { + "allowProtectedAppendWritesAll": true, + "timestamp": "2021-09-01T01:58:44.5044483Z" + }, + "tags": [ + { + "tag": "tag1", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag2", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + }, + { + "tag": "tag3", + "timestamp": "2018-03-26T05:06:09.6964643Z", + "objectIdentifier": "ce7cd28a-fc25-4bf1-8fb9-e1b9833ffd4b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47" + } + ] + }, + "hasImmutabilityPolicy": true, + "hasLegalHold": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Acquire.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Acquire.json new file mode 100644 index 000000000000..06e750eed70a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Acquire.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "action": "Acquire", + "leaseId": null, + "breakPeriod": null, + "leaseDuration": -1, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Break.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Break.json new file mode 100644 index 000000000000..5478c1ddb953 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLease_Break.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "action": "Break", + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d", + "breakPeriod": null, + "leaseDuration": null, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseTimeSeconds": "0" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersList.json new file mode 100644 index 000000000000..f36181499495 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto1590/container5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLockImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLockImmutabilityPolicy.json new file mode 100644 index 000000000000..df3fe04ade92 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersLockImmutabilityPolicy.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res2702", + "accountName": "sto5009", + "containerName": "container1631", + "If-Match": "\"8d59f825b721dd3\"", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2702/providers/Microsoft.Storage/storageAccounts/sto5009/blobServices/default/containers/container1631/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d57a8a5edb084a\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "state": "Locked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPatch.json new file mode 100644 index 000000000000..c72b4b1035f9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPatch.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": { + "properties": { + "publicAccess": "Container", + "metadata": { + "metadata": "true" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "metadata": { + "metadata": "true" + }, + "publicAccess": "Container", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPut.json new file mode 100644 index 000000000000..f5b3a3d5794b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutDefaultEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutDefaultEncryptionScope.json new file mode 100644 index 000000000000..a59517407b49 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutDefaultEncryptionScope.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "blobContainer": { + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "defaultEncryptionScope": "encryptionscope185", + "denyEncryptionScopeOverride": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicy.json new file mode 100644 index 000000000000..27551892b1b6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicy.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f830cb130e5\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..b0a1e6228293 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutImmutabilityPolicyAllowProtectedAppendWritesAll.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2021-06-01", + "monitor": "true", + "parameters": { + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res1782/providers/Microsoft.Storage/storageAccounts/sto7069/blobServices/default/containers/container6397/immutabilityPolicies/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies", + "etag": "\"8d59f830cb130e5\"", + "properties": { + "immutabilityPeriodSinceCreationInDays": 3, + "allowProtectedAppendWritesAll": true, + "state": "Unlocked" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutObjectLevelWorm.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutObjectLevelWorm.json new file mode 100644 index 000000000000..f6851b9c491a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersPutObjectLevelWorm.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "containerName": "container6185", + "api-version": "2021-04-01", + "monitor": "true", + "blobContainer": { + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/blobServices/default/containers/container6185", + "name": "container6185", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "properties": { + "immutableStorageWithVersioning": { + "enabled": true + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHold.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHold.json new file mode 100644 index 000000000000..6b1ab8d4b261 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHold.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2020-08-01-preview", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": true, + "tags": [ + "tag1", + "tag2", + "tag3" + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json new file mode 100644 index 000000000000..b0b0d554862b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobContainersSetLegalHoldAllowProtectedAppendWritesAll.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4303", + "accountName": "sto7280", + "containerName": "container8723", + "api-version": "2021-06-01", + "monitor": "true", + "LegalHold": { + "tags": [ + "tag1", + "tag2", + "tag3" + ], + "allowProtectedAppendWritesAll": true + } + }, + "responses": { + "200": { + "body": { + "hasLegalHold": true, + "tags": [ + "tag1", + "tag2", + "tag3" + ], + "allowProtectedAppendWritesAll": true + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobRangesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobRangesRestore.json new file mode 100644 index 000000000000..4e9db09320e9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobRangesRestore.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2020-08-01", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + }, + "responses": { + "200": { + "body": { + "status": "Complete", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2020-08-01" + }, + "body": { + "status": "InProgress", + "restoreId": "{restore_id}", + "parameters": { + "timeToRestore": "2019-04-20T15:30:00.0000000Z", + "blobRanges": [ + { + "startRange": "container/blobpath1", + "endRange": "container/blobpath2" + }, + { + "startRange": "container2/blobpath3", + "endRange": "" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesGet.json new file mode 100644 index 000000000000..a87c766bde14 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesGet.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesList.json new file mode 100644 index 000000000000..b352a419bae4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesList.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPut.json new file mode 100644 index 000000000000..49d658e88e5e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPut.json @@ -0,0 +1,171 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x -ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + }, + "defaultServiceVersion": "2017-07-29", + "deleteRetentionPolicy": { + "enabled": true, + "days": 300 + }, + "isVersioningEnabled": true, + "changeFeed": { + "enabled": true, + "retentionInDays": 7 + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutAllowPermanentDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutAllowPermanentDelete.json new file mode 100644 index 000000000000..7fcd0a0cc5fa --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutAllowPermanentDelete.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "parameters": { + "properties": { + "deleteRetentionPolicy": { + "enabled": true, + "days": 300, + "allowPermanentDelete": true + }, + "isVersioningEnabled": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "deleteRetentionPolicy": { + "enabled": true, + "days": 300, + "allowPermanentDelete": true + }, + "isVersioningEnabled": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json new file mode 100644 index 000000000000..a412fc28b489 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/BlobServicesPutLastAccessTimeBasedTracking.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "BlobServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/blobServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/blobServices", + "properties": { + "lastAccessTimeTrackingPolicy": { + "enable": true, + "name": "AccessTimeTracking", + "trackingGranularityInDays": 1, + "blobType": [ + "blockBlob" + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountGet.json new file mode 100644 index 000000000000..ba101108e6a1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "deletedAccountName": "sto1125", + "location": "eastus", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountList.json new file mode 100644 index 000000000000..349a61b71f5f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedAccountList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1125", + "name": "sto1125", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1125", + "location": "eastus", + "restoreReference": "sto1125|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-17T03:35:37.4588848Z", + "deletionTime": "2020-08-17T04:41:37.3442475Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/providers/Microsoft.Storage/locations/eastus/deletedAccounts/sto1126", + "name": "sto1126", + "type": "Microsoft.Storage/deletedAccounts", + "properties": { + "storageAccountResourceId": "/subscriptions/{subscription-id}/resourceGroups/sto/providers/Microsoft.Storage/storageAccounts/sto1126", + "location": "eastus", + "restoreReference": "sto1126|2020-08-17T03:35:37.4588848Z", + "creationTime": "2020-08-19T15:10:21.5902165Z", + "deletionTime": "2020-08-20T06:11:55.1957302Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedBlobContainersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedBlobContainersList.json new file mode 100644 index 000000000000..07187362cf95 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedBlobContainersList.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$include": "deleted", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container1644", + "name": "container1644", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "publicAccess": "Container", + "leaseStatus": "Unlocked", + "leaseState": "Available", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/blobServices/default/containers/container4052", + "name": "container4052", + "type": "Microsoft.Storage/storageAccounts/blobServices/containers", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "publicAccess": "None", + "leaseStatus": "Unlocked", + "leaseState": "Expired", + "lastModifiedTime": "2018-03-14T08:20:47Z", + "hasImmutabilityPolicy": false, + "hasLegalHold": false, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedFileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedFileSharesList.json new file mode 100644 index 000000000000..367bdc496aef --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/DeletedFileSharesList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "deleted", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644_1234567890", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024, + "version": "1234567890", + "deleted": true, + "deletedTime": "2019-12-14T08:20:47Z", + "remainingRetentionDays": 30 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesGet.json new file mode 100644 index 000000000000..8eb74767f742 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesGet.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesList.json new file mode 100644 index 000000000000..35748bd6bbd9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut.json new file mode 100644 index 000000000000..4ec0318cbdb9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSMBMultichannel.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSMBMultichannel.json new file mode 100644 index 000000000000..4368652b23e3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSMBMultichannel.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "protocolSettings": { + "smb": { + "multichannel": { + "enabled": true + } + } + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSecureSmbFeatures.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSecureSmbFeatures.json new file mode 100644 index 000000000000..a7a3ae4eba80 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileServicesPut_EnableSecureSmbFeatures.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "FileServicesName": "default", + "api-version": "2021-02-01", + "monitor": "true", + "parameters": { + "properties": { + "protocolSettings": { + "smb": { + "versions": "SMB2.1;SMB3.0;SMB3.1.1", + "authenticationMethods": "NTLMv2;Kerberos", + "kerberosTicketEncryption": "RC4-HMAC;AES-256", + "channelEncryption": "AES-128-CCM;AES-128-GCM;AES-256-GCM" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/fileServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/fileServices", + "properties": { + "protocolSettings": { + "smb": { + "versions": "SMB2.1;SMB3.0;SMB3.1.1", + "authenticationMethods": "NTLMv2;Kerberos", + "kerberosTicketEncryption": "RC4-HMAC;AES-256", + "channelEncryption": "AES-128-CCM;AES-128-GCM;AES-256-GCM" + } + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareAclsPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareAclsPatch.json new file mode 100644 index 000000000000..852209e41ab0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareAclsPatch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2021-04-01", + "monitor": "true", + "fileShare": { + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2021-04-01T08:49:37.0000000Z", + "expiryTime": "2021-05-01T08:49:37.0000000Z", + "permission": "rwd" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2021-04-01T08:49:37.0000000Z", + "expiryTime": "2021-05-01T08:49:37.0000000Z", + "permission": "rwd" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareSnapshotsList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareSnapshotsList.json new file mode 100644 index 000000000000..9410c953b651 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileShareSnapshotsList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "$expand": "snapshots", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2020-10-26T05:47:05.0000000Z", + "shareQuota": 1024 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2020-10-26T05:47:05.0000000Z", + "shareQuota": 1024, + "snapshotTime": "2020-10-26T05:48:07.0000000Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesDelete.json new file mode 100644 index 000000000000..5c9c087b70bc --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4079", + "accountName": "sto4506", + "shareName": "share9689", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet.json new file mode 100644 index 000000000000..40249307aaa9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet_Stats.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet_Stats.json new file mode 100644 index 000000000000..1e1bcb64860f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesGet_Stats.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9871", + "accountName": "sto6217", + "shareName": "share1634", + "$expand": "stats", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9871/providers/Microsoft.Storage/storageAccounts/sto6217/fileServices/default/shares/share1634", + "name": "share1634", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D592D74CC20EBA\"", + "properties": { + "lastModifiedTime": "2019-05-26T05:06:14Z", + "shareQuota": 1024, + "shareUsageBytes": 652945 + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Acquire.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Acquire.json new file mode 100644 index 000000000000..4b3f8fd4c740 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Acquire.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share124", + "api-version": "2021-04-01", + "monitor": "true", + "parameters": { + "action": "Acquire", + "leaseId": null, + "breakPeriod": null, + "leaseDuration": -1, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Break.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Break.json new file mode 100644 index 000000000000..a14e60f37ba6 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesLease_Break.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share12", + "api-version": "2021-04-01", + "monitor": "true", + "parameters": { + "action": "Break", + "leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d", + "breakPeriod": null, + "leaseDuration": null, + "proposedLeaseId": null + } + }, + "responses": { + "200": { + "body": { + "leaseTimeSeconds": "0" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesList.json new file mode 100644 index 000000000000..c14b8688d0af --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share1644", + "name": "share1644", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847D51C7DE\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares/share4052", + "name": "share4052", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "etag": "\"0x8D589847DAB5AF9\"", + "properties": { + "lastModifiedTime": "2019-05-14T08:20:47Z", + "shareQuota": 1024 + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/fileServices/default/shares?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto1590/share5103" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPatch.json new file mode 100644 index 000000000000..874b847a9066 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPatch.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "metadata": { + "type": "image" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "metadata": { + "type": "image" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut.json new file mode 100644 index 000000000000..7e5874fbd6ec --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share6185", + "name": "share6185", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_AccessTier.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_AccessTier.json new file mode 100644 index 000000000000..60f4fcddcdbd --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_AccessTier.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "accessTier": "Hot" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "accessTier": "Hot" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_NFS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_NFS.json new file mode 100644 index 000000000000..911098c05a16 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesPut_NFS.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res346", + "accountName": "sto666", + "shareName": "share1235", + "api-version": "2020-08-01-preview", + "monitor": "true", + "fileShare": { + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res346/providers/Microsoft.Storage/storageAccounts/sto666/fileServices/default/shares/share1235", + "name": "share1235", + "type": "Microsoft.Storage/storageAccounts/fileServices/shares", + "properties": { + "enabledProtocols": "NFS" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesRestore.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesRestore.json new file mode 100644 index 000000000000..e7f3e769af29 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/FileSharesRestore.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "shareName": "share1249", + "deletedShare": { + "deletedShareName": "share1249", + "deletedShareVersion": "1234567890" + }, + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserCreate.json new file mode 100644 index 000000000000..367afe87cb14 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserCreate.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "properties": { + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "hasSshPassword": true, + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykey=" + } + ] + } + }, + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykey=" + } + ], + "sid": "S-1-2-0-125132-153423-36235-1000" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserDelete.json new file mode 100644 index 000000000000..f8befd237ea1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserGet.json new file mode 100644 index 000000000000..c1f66f8e5d0e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sid": "S-1-2-0-125132-153423-36235-1000", + "hasSharedKey": true, + "hasSshKey": true, + "hasSshPassword": true + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserListKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserListKeys.json new file mode 100644 index 000000000000..1ac4022cc314 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserListKeys.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "sshAuthorizedKeys": [ + { + "description": "key name", + "key": "ssh-rsa keykeykeykeykew=" + } + ], + "sharedKey": "" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserRegeneratePassword.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserRegeneratePassword.json new file mode 100644 index 000000000000..49ebdd754fc9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserRegeneratePassword.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "sshPassword": "" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserUpdate.json new file mode 100644 index 000000000000..ca25c7751de8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUserUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "username": "user1", + "api-version": "2021-08-01", + "properties": { + "properties": { + "homeDirectory": "homedirectory2", + "hasSharedKey": false, + "hasSshPassword": false, + "hasSshKey": false + } + }, + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "homeDirectory": "homedirectory2", + "sid": "S-1-2-0-3528686663-1788730862-2791910117-1000", + "hasSharedKey": false, + "hasSshPassword": false, + "hasSshKey": false + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUsersList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUsersList.json new file mode 100644 index 000000000000..5d98f38bc99c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/LocalUsersList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2021-08-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/loalUsers/user1", + "name": "user1", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rwd", + "service": "file", + "resourceName": "share1" + }, + { + "permissions": "rw", + "service": "file", + "resourceName": "share2" + } + ], + "homeDirectory": "homedirectory", + "sid": "S-1-2-0-125132-153423-36235-1000", + "hasSharedKey": true, + "hasSshKey": true, + "hasSshPassword": true + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/loalUsers/user2", + "name": "user2", + "type": "Microsoft.Storage/storageAccounts/localUsers", + "properties": { + "permissionScopes": [ + { + "permissions": "rw", + "service": "blob", + "resourceName": "resourcename" + } + ], + "sid": "S-1-2-0-533672-235636-66334-1001", + "hasSharedKey": true, + "hasSshKey": false, + "hasSshPassword": true + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/NfsV3AccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/NfsV3AccountCreate.json new file mode 100644 index 000000000000..c7cdc49c5b26 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/NfsV3AccountCreate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Premium_LRS" + }, + "kind": "BlockBlobStorage", + "location": "eastus", + "properties": { + "isHnsEnabled": true, + "isNfsV3Enabled": true, + "supportsHttpsTrafficOnly": false, + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "BlockBlobStorage", + "location": "eastus", + "name": "sto4445", + "properties": { + "isHnsEnabled": true, + "isNfsV3Enabled": true, + "supportsHttpsTrafficOnly": false, + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Network/virtualNetworks/net123/subnets/subnet12" + } + ] + } + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/ObjectLevelWormContainerMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/ObjectLevelWormContainerMigration.json new file mode 100644 index 000000000000..a22fd265b41d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/ObjectLevelWormContainerMigration.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res1782", + "accountName": "sto7069", + "containerName": "container6397", + "immutabilityPolicyName": "default", + "api-version": "2021-04-01", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/OperationsList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/OperationsList.json new file mode 100644 index 000000000000..0cae850d4c35 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/OperationsList.json @@ -0,0 +1,473 @@ +{ + "parameters": { + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Storage/storageAccounts/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Storage Account", + "description": "Creates a storage account with the specified parameters or update the properties or tags or adds custom domain for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/delete", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Delete Storage Account", + "description": "Deletes an existing storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listkeys/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List Storage Account Keys", + "description": "Returns the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/regeneratekey/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Regenerate Storage Account Keys", + "description": "Regenerates the access keys for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/checknameavailability/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that account name is valid and is not in use." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "List/Get Storage Account(s)", + "description": "Returns the list of storage accounts or gets the properties for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/usages/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Usage Metrics", + "operation": "Get Subscription Usages", + "description": "Returns the limit and the current usage count for resources in the specified subscription" + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listAccountSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Account SAS Token", + "operation": "Returns Storage Account SAS Token", + "description": "Returns the Account SAS token for the specified storage account." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/listServiceSas/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Returns the Service SAS token for the specified storage account.", + "operation": "Returns Storage Service SAS Token", + "description": "Storage Service SAS Token" + } + }, + { + "name": "Microsoft.Storage/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Location", + "operation": "Delete virtual network or subnets notifications", + "description": "Notifies Microsoft.Storage that virtual network or subnet is being deleted" + } + }, + { + "name": "Microsoft.Storage/operations/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Operations", + "operation": "Poll Asynchronous Operation", + "description": "Polls the status of an asynchronous operation." + } + }, + { + "name": "Microsoft.Storage/register/action", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Resource Provider", + "operation": "Registers the Storage Resource Provider", + "description": "Registers the subscription for the storage resource provider and enables the creation of storage accounts." + } + }, + { + "name": "Microsoft.Storage/skus/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Skus", + "operation": "List Skus", + "description": "Lists the Skus supported by Microsoft.Storage." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/services/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Create/Update Diagnostic Settings", + "description": "Create/Update storage account diagnostic settings." + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "UsedCapacity", + "displayName": "Used capacity", + "displayDescription": "Account used capacity", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity", + "resourceIdDimensionNameOverride": "AccountResourceId" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Storage Accounts", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "BlobCapacity", + "displayName": "Blob Capacity", + "displayDescription": "The amount of storage used by the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobCount", + "displayName": "Blob Count", + "displayDescription": "The number of Blob in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "ContainerCount", + "displayName": "Blob Container Count", + "displayDescription": "The number of containers in the storage account’s Blob service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "BlobProvisionedSize", + "displayName": "Blob Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s Blob service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "dimensions": [ + { + "name": "BlobType", + "displayName": "Blob type" + } + ], + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/blobServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Blob service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "TableCapacity", + "displayName": "Table Capacity", + "displayDescription": "The amount of storage used by the storage account’s Table service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableCount", + "displayName": "Table Count", + "displayDescription": "The number of table in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "TableEntityCount", + "displayName": "Table Entity Count", + "displayDescription": "The number of table entities in the storage account’s Table service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/tableServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Table service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "QueueCapacity", + "displayName": "Queue Capacity", + "displayDescription": "The amount of storage used by the storage account’s Queue service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueCount", + "displayName": "Queue Count", + "displayDescription": "The number of queue in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "QueueMessageCount", + "displayName": "Queue Message Count", + "displayDescription": "The approximate number of queue messages in the storage account’s Queue service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/queueServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "Queue service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Get list of Microsoft Storage Metrics definitions", + "description": "Get list of Microsoft Storage Metrics definitions." + }, + "origin": "system", + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "FileCapacity", + "displayName": "File Capacity", + "displayDescription": "The amount of storage used by the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileProvisionedSize", + "displayName": "File Provisioned Size", + "displayDescription": "The amount of storage provisioned in the storage account’s File service in bytes.", + "unit": "Bytes", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileCount", + "displayName": "File Count", + "displayDescription": "The number of file in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + }, + { + "name": "FileShareCount", + "displayName": "File Share Count", + "displayDescription": "The number of file shares in the storage account’s File service.", + "unit": "Count", + "aggregationType": "Average", + "fillGapWithZero": false, + "category": "Capacity" + } + ] + } + } + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/read", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource." + }, + "origin": "system" + }, + { + "name": "Microsoft.Storage/storageAccounts/fileServices/providers/Microsoft.Insights/diagnosticSettings/write", + "display": { + "provider": "Microsoft Storage", + "resource": "File service", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource." + }, + "origin": "system" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationDelete.json new file mode 100644 index 000000000000..a5bdc3c353a4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationGet.json new file mode 100644 index 000000000000..9bdc029019f2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationList.json new file mode 100644 index 000000000000..a4d26ef075b0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6186", + "name": "queue6186", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues?api-version=2020-08-01-preview&$maxpagesize=2&$skipToken=/sto328/queue6187" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPatch.json new file mode 100644 index 000000000000..b662a6e6fc0b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPatch.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPut.json new file mode 100644 index 000000000000..b662a6e6fc0b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPut.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPutWithMetadata.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPutWithMetadata.json new file mode 100644 index 000000000000..715f0a90e034 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueOperationPutWithMetadata.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "queueName": "queue6185", + "api-version": "2020-08-01-preview", + "monitor": "true", + "queue": { + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/queueServices/default/queues/queue6185", + "name": "queue6185", + "type": "Microsoft.Storage/storageAccounts/queueServices/queues", + "properties": { + "metadata": { + "sample1": "meta1", + "sample2": "meta2" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesGet.json new file mode 100644 index 000000000000..57674fe2aa55 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesList.json new file mode 100644 index 000000000000..9856b332de60 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesPut.json new file mode 100644 index 000000000000..19b5de24e288 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/QueueServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "queueServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/queueServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/queueServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/SKUList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/SKUList.json new file mode 100644 index 000000000000..47724c855202 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/SKUList.json @@ -0,0 +1,6454 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "true" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2(stage)" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southeastasia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japaneast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "japanwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "northeurope" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "brazilsouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "australiasoutheast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "southindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centralindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westindia" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadaeast" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "canadacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westus2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "westcentralus" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "true" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "ukwest" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreacentral" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "koreasouth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uknorth" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "uksouth2" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "false" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "eastus2euap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_ZRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "true" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Premium_LRS", + "tier": "Premium", + "kind": "Storage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_LRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportsarchivepreview", + "value": "false" + }, + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_GRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "true" + } + ], + "restrictions": [] + }, + { + "resourceType": "storageAccounts", + "name": "Standard_RAGRS", + "tier": "Standard", + "kind": "BlobStorage", + "locations": [ + "centraluseuap" + ], + "capabilities": [ + { + "name": "supportschangenotification", + "value": "true" + }, + { + "name": "supportsfileencryption", + "value": "false" + }, + { + "name": "supportshoeboxcapacitymetrics", + "value": "false" + }, + { + "name": "supportsnetworkacls", + "value": "false" + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json new file mode 100644 index 000000000000..350dfc9b6bd7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountAbortHierarchicalNamespaceMigration.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2021-06-01" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCheckNameAvailability.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCheckNameAvailability.json new file mode 100644 index 000000000000..14dea4e1e9f8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "accountName": { + "name": "sto3363", + "type": "Microsoft.Storage/storageAccounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreate.json new file mode 100644 index 000000000000..650265478d3d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreate.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json new file mode 100644 index 000000000000..47fb8e5f5e75 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToAAD.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "allowedCopyScope": "AAD", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "allowedCopyScope": "AAD" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json new file mode 100644 index 000000000000..f81b948ed125 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "allowedCopyScope": "PrivateLink", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "allowedCopyScope": "PrivateLink" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json new file mode 100644 index 000000000000..ccb24ca0c035 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDisallowPublicNetworkAccess.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "publicNetworkAccess": "Disabled", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "publicNetworkAccess": "Disabled" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json new file mode 100644 index 000000000000..631a8e15cd8e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-09-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "dnsEndpointType": "AzureDnsZone", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "dnsEndpointType": "AzureDnsZone", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.z24.web.storage.azure.net/", + "dfs": "https://sto4445.z24.dfs.storage.azure.net/", + "blob": "https://sto4445.z24.blob.storage.azure.net/", + "file": "https://sto4445.z24.file.storage.azure.net/", + "queue": "https://sto4445.z24.queue.storage.azure.net/", + "table": "https://sto4445.z24.table.storage.azure.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.z24.web.storage.azure.net/", + "dfs": "https://sto4445-microsoftrouting.z24.dfs.storage.azure.net/", + "blob": "https://sto4445-microsoftrouting.z24.blob.storage.azure.net/", + "file": "https://sto4445-microsoftrouting.z24.file.storage.azure.net/", + "queue": "https://sto4445-microsoftrouting.z24.queue.storage.azure.net/", + "table": "https://sto4445-microsoftrouting.z24.table.storage.azure.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.z24.web.storage.azure.net/", + "dfs": "https://sto4445-internetrouting.z24.dfs.storage.azure.net/", + "blob": "https://sto4445-internetrouting.z24.blob.storage.azure.net/", + "file": "https://sto4445-internetrouting.z24.file.storage.azure.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json new file mode 100644 index 000000000000..8b7407349923 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateDnsEndpointTypeToStandard.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-09-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "dnsEndpointType": "Standard", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "dnsEndpointType": "Standard", + "isHnsEnabled": true, + "isSftpEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json new file mode 100644 index 000000000000..13b2e2802c60 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateEnablePublicNetworkAccess.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "publicNetworkAccess": "Enabled", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto4445-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto4445-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto4445-microsoftrouting.blob.core.windows.net/", + "file": "https://sto4445-microsoftrouting.file.core.windows.net/", + "queue": "https://sto4445-microsoftrouting.queue.core.windows.net/", + "table": "https://sto4445-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto4445-internetrouting.web.core.windows.net/", + "dfs": "https://sto4445-internetrouting.dfs.core.windows.net/", + "blob": "https://sto4445-internetrouting.blob.core.windows.net/", + "file": "https://sto4445-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true, + "publicNetworkAccess": "Enabled" + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..921811358da9 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..c651efb45d70 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ], + "minCreationTime": "2020-02-19T16:05:00Z" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json new file mode 100644 index 000000000000..021cd55c8cd4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreatePremiumBlockBlobStorage.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-09-01", + "parameters": { + "sku": { + "name": "Premium_LRS" + }, + "kind": "BlockBlobStorage", + "location": "eastus", + "properties": { + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + } + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "blob": "https://sto4445.blob.core.windows.net/", + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/" + }, + "primaryLocation": "eastus2euap", + "accessTier": "Premium", + "provisioningState": "Succeeded", + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "requireInfrastructureEncryption": false, + "keySource": "Microsoft.Storage" + }, + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": true + }, + "sku": { + "name": "Premium_LRS", + "tier": "Premium" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json new file mode 100644 index 000000000000..3fe14762bba3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-09-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json new file mode 100644 index 000000000000..5f3b7f21dce0 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res131918", + "accountName": "sto131918", + "api-version": "2021-08-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "location": "eastus", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "f83c6b1b-4d34-47e4-bb34-9d83df58b540" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "f83c6b1b-4d34-47e4-bb34-9d83df58b540" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateWithImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateWithImmutabilityPolicy.json new file mode 100644 index 000000000000..cb92961ebcca --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountCreateWithImmutabilityPolicy.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-06-01", + "parameters": { + "sku": { + "name": "Standard_GRS" + }, + "kind": "Storage", + "location": "eastus", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + }, + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "kind": "Storage", + "location": "eastus", + "name": "sto4445", + "extendedLocation": { + "type": "EdgeZone", + "name": "losangeles001" + }, + "properties": { + "creationTime": "2017-05-24T13:25:33.4863236Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus2euap", + "provisioningState": "Succeeded", + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Unlocked" + }, + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "type": "Microsoft.Storage/storageAccounts" + } + }, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDelete.json new file mode 100644 index 000000000000..0231254b70e7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteBlobInventoryPolicy.json new file mode 100644 index 000000000000..257bd12d0eb4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteBlobInventoryPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "blobInventoryPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteManagementPolicy.json new file mode 100644 index 000000000000..bc6a3dbaee8b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteManagementPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteObjectReplicationPolicy.json new file mode 100644 index 000000000000..db976a80fec2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeleteObjectReplicationPolicy.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeletePrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..2cb4619cc9f1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableAD.json new file mode 100644 index 000000000000..5973fcf9b9a4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableAD.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012", + "samAccountName": "sam12498", + "accountType": "User" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "azureFilesIdentityBasedAuthentication": { + "directoryServiceOptions": "AD", + "activeDirectoryProperties": { + "domainName": "adtest.com", + "netBiosDomainName": "adtest.com", + "forestName": "adtest.com", + "domainGuid": "aebfc118-9fa9-4732-a21f-d98e41a77ae1", + "domainSid": "S-1-5-21-2400535526-2334094090-2402026252", + "azureStorageSid": "S-1-5-21-2400535526-2334094090-2402026252-0012", + "samAccountName": "sam12498", + "accountType": "User" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableCMK.json new file mode 100644 index 000000000000..cbc8b711edca --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEnableCMK.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "creationTime": "2017-06-01T02:42:41.7633306Z", + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/" + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEncryptionScopeList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEncryptionScopeList.json new file mode 100644 index 000000000000..6a71efff520e --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountEncryptionScopeList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-1", + "name": "scope-1", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/scope-2", + "name": "scope-2", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + }, + "creationTime": "2018-10-16T04:32:14.3355306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountFailover.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountFailover.json new file mode 100644 index 000000000000..d5633f6c53a5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountFailover.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetAsyncSkuConversionStatus.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetAsyncSkuConversionStatus.json new file mode 100644 index 000000000000..a54c2da76ea1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetAsyncSkuConversionStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-09-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "StorageV2", + "location": "eastus", + "name": "sto8596", + "properties": { + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "storageAccountSkuConversionStatus": { + "skuConversionStatus": "InProgress", + "targetSkuName": "Standard_GRS", + "startTime": "2021-09-01T02:53:39.0932539Z", + "endTime": "2021-09-02T02:53:39.0932539Z" + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetBlobInventoryPolicy.json new file mode 100644 index 000000000000..15064e789144 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetBlobInventoryPolicy.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2021-04-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetEncryptionScope.json new file mode 100644 index 000000000000..6ca8edf6f712 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetEncryptionScope.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encyrption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetManagementPolicy.json new file mode 100644 index 000000000000..59968b755c34 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetManagementPolicy.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T03:01:55.7168089Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetObjectReplicationPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetObjectReplicationPolicy.json new file mode 100644 index 000000000000..4418839a88e8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetObjectReplicationPolicy.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "objectReplicationPolicyId": "{objectReplicationPolicy-Id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/{objectReplicationPolicy-Id}", + "name": "{objectReplicationPolicy-Id}", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "{objectReplicationPolicy-Id}", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1", + "rules": [ + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobC", + "blobD" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..a75298ddc6a7 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetProperties.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetProperties.json new file mode 100644 index 000000000000..dab942526d74 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetProperties.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-02-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKEnabled.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKEnabled.json new file mode 100644 index 000000000000..8b8626bd2f10 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKEnabled.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json new file mode 100644 index 000000000000..5e06b6fe756f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2020-09-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [], + "resourceAccessRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z", + "currentVersionedKeyExpirationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountHierarchicalNamespaceMigration.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountHierarchicalNamespaceMigration.json new file mode 100644 index 000000000000..4debb0689c4d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountHierarchicalNamespaceMigration.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4228", + "accountName": "sto2434", + "api-version": "2021-06-01", + "requestType": "HnsOnValidationRequest" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountList.json new file mode 100644 index 000000000000..c0617cc2028f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountList.json @@ -0,0 +1,313 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res2627/providers/Microsoft.Storage/storageAccounts/sto1125", + "kind": "Storage", + "location": "eastus", + "name": "sto1125", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:28:53.4540398Z", + "primaryEndpoints": { + "web": "https://sto1125.web.core.windows.net/", + "dfs": "https://sto1125.dfs.core.windows.net/", + "blob": "https://sto1125.blob.core.windows.net/", + "file": "https://sto1125.file.core.windows.net/", + "queue": "https://sto1125.queue.core.windows.net/", + "table": "https://sto1125.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto1125-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto1125-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto1125-microsoftrouting.blob.core.windows.net/", + "file": "https://sto1125-microsoftrouting.file.core.windows.net/", + "queue": "https://sto1125-microsoftrouting.queue.core.windows.net/", + "table": "https://sto1125-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto1125-internetrouting.web.core.windows.net/", + "dfs": "https://sto1125-internetrouting.dfs.core.windows.net/", + "blob": "https://sto1125-internetrouting.blob.core.windows.net/", + "file": "https://sto1125-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto3699", + "identity": { + "principalId": "356d057d-cba5-44dd-8a30-b2e547bc416b", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto3699", + "properties": { + "creationTime": "2017-05-24T10:06:30.6093014Z", + "primaryEndpoints": { + "blob": "https://sto3699.blob.core.windows.net/", + "file": "https://sto3699.file.core.windows.net/", + "queue": "https://sto3699.queue.core.windows.net/", + "table": "https://sto3699.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "geoReplicationStats": { + "status": "Live", + "lastSyncTime": "2018-10-30T00:25:34Z", + "canFailover": true + }, + "isHnsEnabled": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Keyvault", + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + } + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto6637", + "identity": { + "principalId": "911871cc-ffd1-4fc4-ac11-7a316433ea66", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto6637", + "properties": { + "creationTime": "2017-05-24T10:09:39.5625175Z", + "primaryEndpoints": { + "blob": "https://sto6637.blob.core.windows.net/", + "file": "https://sto6637.file.core.windows.net/", + "queue": "https://sto6637.queue.core.windows.net/", + "table": "https://sto6637.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res8186/providers/Microsoft.Storage/storageAccounts/sto834", + "kind": "Storage", + "location": "eastus", + "name": "sto834", + "properties": { + "creationTime": "2017-05-24T13:28:20.8686541Z", + "primaryEndpoints": { + "blob": "https://sto834.blob.core.windows.net/", + "file": "https://sto834.file.core.windows.net/", + "queue": "https://sto834.queue.core.windows.net/", + "table": "https://sto834.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/testcmk3/providers/Microsoft.Storage/storageAccounts/sto9174", + "identity": { + "principalId": "933e3ddf-1802-4a51-9469-18a33b576f88", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + }, + "kind": "Storage", + "location": "eastus", + "name": "sto9174", + "properties": { + "creationTime": "2017-05-24T09:46:19.6556989Z", + "primaryEndpoints": { + "blob": "https://sto9174.blob.core.windows.net/", + "file": "https://sto9174.file.core.windows.net/", + "queue": "https://sto9174.queue.core.windows.net/", + "table": "https://sto9174.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListAccountSAS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListAccountSAS.json new file mode 100644 index 000000000000..eaa3cc5ab9de --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListAccountSAS.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7985", + "accountName": "sto8588", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "signedServices": "b", + "signedResourceTypes": "s", + "signedPermission": "r", + "signedProtocol": "https,http", + "signedStart": "2017-05-24T10:42:03.1567373Z", + "signedExpiry": "2017-05-24T11:42:03.1567373Z", + "keyToSign": "key1" + } + }, + "responses": { + "200": { + "body": { + "accountSasToken": "sv=2015-04-05&ss=b&srt=s&sp=r&st=2017-05-24T10%3A42%3A03Z&se=2017-05-24T11%3A42%3A03Z&spr=https,http&sig=Z0I%2BEpM%2BPPlTC8ApfUf%2BcffO2aahMgZim3U0iArqsS0%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListBlobInventoryPolicy.json new file mode 100644 index 000000000000..c55eac11b9a4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListBlobInventoryPolicy.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "api-version": "2020-04-01", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListByResourceGroup.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListByResourceGroup.json new file mode 100644 index 000000000000..0bda98930297 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListByResourceGroup.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6117", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4036", + "kind": "Storage", + "location": "eastus", + "name": "sto4036", + "properties": { + "isHnsEnabled": true, + "creationTime": "2017-05-24T13:24:47.818801Z", + "primaryEndpoints": { + "web": "https://sto4036.web.core.windows.net/", + "dfs": "https://sto4036.dfs.core.windows.net/", + "blob": "https://sto4036.blob.core.windows.net/", + "file": "https://sto4036.file.core.windows.net/", + "queue": "https://sto4036.queue.core.windows.net/", + "table": "https://sto4036.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6117/providers/Microsoft.Storage/storageAccounts/sto4452", + "kind": "Storage", + "location": "eastus", + "name": "sto4452", + "properties": { + "creationTime": "2017-05-24T13:24:15.7068366Z", + "primaryEndpoints": { + "blob": "https://sto4452.blob.core.windows.net/", + "file": "https://sto4452.file.core.windows.net/", + "queue": "https://sto4452.queue.core.windows.net/", + "table": "https://sto4452.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "provisioningState": "Succeeded", + "secondaryLocation": "centraluseuap", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListKeys.json new file mode 100644 index 000000000000..84ed6bf696cc --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListKeys.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res418", + "accountName": "sto2220", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListLocationUsage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListLocationUsage.json new file mode 100644 index 000000000000..9504459e58f4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListLocationUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "location": "eastus2(stage)", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 55, + "limit": 250, + "name": { + "value": "StorageAccounts", + "localizedValue": "Storage Accounts" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListObjectReplicationPolicies.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListObjectReplicationPolicies.json new file mode 100644 index 000000000000..8941162c69e2 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListObjectReplicationPolicies.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/objectReplicationPolicies/c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "name": "c6c23999-fd4e-433a-bcf9-1db69d27cd8a", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount1" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto1590/objectReplicationPolicies/141d23dc-8958-4b48-b6e6-5a40bf1af116", + "name": "141d23dc-8958-4b48-b6e6-5a40bf1af116", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "sourceAccount": "sto2527", + "destinationAccount": "destAccount2" + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateEndpointConnections.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateEndpointConnections.json new file mode 100644 index 000000000000..053af0095007 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateEndpointConnections.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest02" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateLinkResources.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateLinkResources.json new file mode 100644 index 000000000000..a44e440a5776 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListPrivateLinkResources.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res6977", + "accountName": "sto2527", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob", + "name": "blob", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob", + "requiredMembers": [ + "blob" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/blob_secondary", + "name": "blob_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "blob_secondary", + "requiredMembers": [ + "blob_secondary" + ], + "requiredZoneNames": [ + "privatelink.blob.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table", + "name": "table", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table", + "requiredMembers": [ + "table" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/table_secondary", + "name": "table_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "table_secondary", + "requiredMembers": [ + "table_secondary" + ], + "requiredZoneNames": [ + "privatelink.table.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs", + "name": "dfs", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs", + "requiredMembers": [ + "dfs" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res6977/providers/Microsoft.Storage/storageAccounts/sto2527/privateLinkResources/dfs_secondary", + "name": "dfs_secondary", + "type": "Microsoft.Storage/storageAccounts/privateLinkResources", + "properties": { + "groupId": "dfs_secondary", + "requiredMembers": [ + "dfs_secondary" + ], + "requiredZoneNames": [ + "privatelink.dfs.core.windows.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListServiceSAS.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListServiceSAS.json new file mode 100644 index 000000000000..d850c4c45187 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountListServiceSAS.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7439", + "accountName": "sto1299", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "canonicalizedResource": "/blob/sto1299/music", + "signedResource": "c", + "signedPermission": "l", + "signedExpiry": "2017-05-24T11:32:48.8457197Z" + } + }, + "responses": { + "200": { + "body": { + "serviceSasToken": "sv=2015-04-05&sr=c&se=2017-05-24T11%3A32%3A48Z&sp=l&sig=PoF8yBUGixsjzwroLmw7vG3VbGz4KB2woZC2D4C2oio%3D" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPatchEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPatchEncryptionScope.json new file mode 100644 index 000000000000..6afa10cded92 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPatchEncryptionScope.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "encryptionScope": { + "properties": { + "source": "Microsoft.KeyVault", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.KeyVault", + "state": "Enabled", + "keyVaultProperties": { + "keyUri": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c", + "currentVersionedKeyIdentifier": "https://testvault.vault.core.windows.net/keys/key1/863425f1358359c", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-17T06:23:14.4513306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScope.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScope.json new file mode 100644 index 000000000000..1dacabc55490 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScope.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "encryptionScope": {} + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json new file mode 100644 index 000000000000..7c51087c0d76 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "resource-group-name", + "accountName": "{storage-account-name}", + "encryptionScopeName": "{encryption-scope-name}", + "api-version": "2021-01-01", + "monitor": "true", + "encryptionScope": { + "properties": { + "requireInfrastructureEncryption": true + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "requireInfrastructureEncryption": true, + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/encryptionScopes/{encryption-scope-name}", + "name": "{encryption-scope-name}", + "type": "Microsoft.Storage/storageAccounts/encryptionScopes", + "properties": { + "requireInfrastructureEncryption": true, + "source": "Microsoft.Storage", + "state": "Enabled", + "creationTime": "2018-10-16T02:42:41.7633306Z", + "lastModifiedTime": "2018-10-16T02:42:41.7633306Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutPrivateEndpointConnection.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutPrivateEndpointConnection.json new file mode 100644 index 000000000000..92a5d349a020 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountPutPrivateEndpointConnection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "privateEndpointConnectionName": "{privateEndpointConnectionName}", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}", + "name": "{privateEndpointConnectionName}", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionRequired": "None" + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKerbKey.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKerbKey.json new file mode 100644 index 000000000000..7286ba5fa8c1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKerbKey.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview", + "monitor": "true", + "regenerateKey": { + "keyName": "kerb1" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + }, + { + "keyName": "kerb1", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKey.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKey.json new file mode 100644 index 000000000000..fe15cf2ab9c4 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRegenerateKey.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview", + "monitor": "true", + "regenerateKey": { + "keyName": "key2" + } + }, + "responses": { + "200": { + "body": { + "keys": [ + { + "keyName": "key1", + "permissions": "Full", + "value": "" + }, + { + "keyName": "key2", + "permissions": "Full", + "value": "" + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRevokeUserDelegationKeys.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRevokeUserDelegationKeys.json new file mode 100644 index 000000000000..0e5d655a4e97 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountRevokeUserDelegationKeys.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4167", + "accountName": "sto3539", + "api-version": "2020-08-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicy.json new file mode 100644 index 000000000000..f604a965898c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicy.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Metadata" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold" + ] + }, + "destination": "container2" + } + ] + }, + "lastModifiedTime": "2020-10-05T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json new file mode 100644 index 000000000000..95d2efb30f43 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json @@ -0,0 +1,197 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "DeletionId", + "Deleted", + "DeletedTime", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "DeletionId", + "Deleted", + "DeletedTime", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json new file mode 100644 index 000000000000..c580470ac708 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json @@ -0,0 +1,195 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "blobInventoryPolicyName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Tags", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "Deleted", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/sto9699/inventoryPolicies/default", + "name": "DefaultInventoryPolicy", + "type": "Microsoft.Storage/storageAccounts/inventoryPolicies", + "properties": { + "policy": { + "enabled": true, + "type": "Inventory", + "rules": [ + { + "enabled": true, + "name": "inventoryPolicyRule1", + "destination": "container1", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob", + "pageBlob" + ], + "prefixMatch": [ + "inventoryprefix1", + "inventoryprefix2" + ], + "excludePrefix": [ + "excludeprefix1", + "excludeprefix2" + ], + "includeSnapshots": true, + "includeBlobVersions": true, + "includeDeleted": true + }, + "format": "Csv", + "schedule": "Daily", + "objectType": "Blob", + "schemaFields": [ + "Name", + "Creation-Time", + "Last-Modified", + "Content-Length", + "Content-MD5", + "BlobType", + "AccessTier", + "AccessTierChangeTime", + "Snapshot", + "VersionId", + "IsCurrentVersion", + "Tags", + "ContentType", + "ContentEncoding", + "ContentLanguage", + "ContentCRC64", + "CacheControl", + "Metadata", + "Deleted", + "RemainingRetentionDays" + ] + } + }, + { + "enabled": true, + "name": "inventoryPolicyRule2", + "definition": { + "format": "Parquet", + "schedule": "Weekly", + "objectType": "Container", + "schemaFields": [ + "Name", + "Last-Modified", + "Metadata", + "LeaseStatus", + "LeaseState", + "LeaseDuration", + "PublicAccess", + "HasImmutabilityPolicy", + "HasLegalHold", + "Etag", + "DefaultEncryptionScope", + "DenyEncryptionScopeOverride", + "ImmutableStorageWithVersioningEnabled", + "Deleted", + "Version", + "DeletedTime", + "RemainingRetentionDays" + ] + }, + "destination": "container2" + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy.json new file mode 100644 index 000000000000..485abbb70d31 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + }, + { + "enabled": true, + "name": "olcmtest2", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer2" + ], + "blobIndexMatch": [ + { + "name": "tag1", + "op": "==", + "value": "val1" + }, + { + "name": "tag2", + "op": "==", + "value": "val2" + } + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json new file mode 100644 index 000000000000..6d52b949083c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "delete": { + "daysAfterModificationGreaterThan": 90 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + }, + "version": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob", + "appendBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "delete": { + "daysAfterModificationGreaterThan": 90 + } + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + }, + "version": { + "delete": { + "daysAfterCreationGreaterThan": 90 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json new file mode 100644 index 000000000000..e9f98b33ca1d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + }, + "version": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + }, + "version": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json new file mode 100644 index 000000000000..c7b55490f812 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest1", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer1" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterCreationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterCreationGreaterThan": 90 + }, + "delete": { + "daysAfterCreationGreaterThan": 1000 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2021-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json new file mode 100644 index 000000000000..52c40ceacc81 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterLastAccessTimeGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterLastAccessTimeGreaterThan": 90 + }, + "delete": { + "daysAfterLastAccessTimeGreaterThan": 1000 + }, + "enableAutoTierToHotFromCool": true + }, + "snapshot": { + "delete": { + "daysAfterCreationGreaterThan": 30 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json new file mode 100644 index 000000000000..62bfc99214e5 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "sto9699", + "managementPolicyName": "default", + "api-version": "2021-09-01", + "monitor": "true", + "properties": { + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90, + "daysAfterLastTierChangeGreaterThan": 120 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + }, + "version": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + } + } + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Storage/storageAccounts/sto288/managementPolicies/default", + "name": "DefaultManagementPolicy", + "type": "Microsoft.Storage/storageAccounts/managementPolicies", + "properties": { + "policy": { + "rules": [ + { + "enabled": true, + "name": "olcmtest", + "type": "Lifecycle", + "definition": { + "filters": { + "blobTypes": [ + "blockBlob" + ], + "prefixMatch": [ + "olcmtestcontainer" + ] + }, + "actions": { + "baseBlob": { + "tierToCool": { + "daysAfterModificationGreaterThan": 30 + }, + "tierToArchive": { + "daysAfterModificationGreaterThan": 90, + "daysAfterLastTierChangeGreaterThan": 120 + }, + "delete": { + "daysAfterModificationGreaterThan": 1000 + } + }, + "snapshot": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + }, + "version": { + "tierToArchive": { + "daysAfterCreationGreaterThan": 30, + "daysAfterLastTierChangeGreaterThan": 90 + } + } + } + } + } + ] + }, + "lastModifiedTime": "2018-06-08T02:53:39.0932539Z" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdate.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdate.json new file mode 100644 index 000000000000..45d5830d1704 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdate.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-02-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "isSftpEnabled": true, + "isLocalUserEnabled": true, + "defaultToOAuthAuthentication": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "isSftpEnabled": true, + "isLocalUserEnabled": true, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json new file mode 100644 index 000000000000..894df54c08de --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateAllowedCopyScopeToAAD.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-02-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + }, + "allowedCopyScope": "AAD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "allowedCopyScope": "AAD", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json new file mode 100644 index 000000000000..094b40a8dd1a --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateDisablePublicNetworkAccess.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-02-01", + "monitor": "true", + "parameters": { + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "defaultAction": "Allow" + }, + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keySource": "Microsoft.Storage" + }, + "publicNetworkAccess": "Disabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "keyPolicy": { + "keyExpirationPeriodInDays": 20 + }, + "sasPolicy": { + "sasExpirationPeriod": "1.15:59:59", + "expirationAction": "Log" + }, + "keyCreationTime": { + "key1": "2021-03-18T04:42:22.4322836Z", + "key2": "2021-03-18T04:42:22.4322836Z" + }, + "isHnsEnabled": true, + "allowBlobPublicAccess": false, + "minimumTlsVersion": "TLS1_2", + "allowSharedKeyAccess": true, + "creationTime": "2017-06-01T02:42:41.7633306Z", + "networkAcls": { + "resourceAccessRules": [ + { + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "resourceId": "/subscriptions/a7e99807-abbf-4642-bdec-2c809a96a8bc/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace" + } + ], + "bypass": "AzureServices", + "defaultAction": "Allow", + "ipRules": [], + "virtualNetworkRules": [] + }, + "primaryEndpoints": { + "web": "https://sto8596.web.core.windows.net/", + "dfs": "https://sto8596.dfs.core.windows.net/", + "blob": "https://sto8596.blob.core.windows.net/", + "file": "https://sto8596.file.core.windows.net/", + "queue": "https://sto8596.queue.core.windows.net/", + "table": "https://sto8596.table.core.windows.net/", + "microsoftEndpoints": { + "web": "https://sto8596-microsoftrouting.web.core.windows.net/", + "dfs": "https://sto8596-microsoftrouting.dfs.core.windows.net/", + "blob": "https://sto8596-microsoftrouting.blob.core.windows.net/", + "file": "https://sto8596-microsoftrouting.file.core.windows.net/", + "queue": "https://sto8596-microsoftrouting.queue.core.windows.net/", + "table": "https://sto8596-microsoftrouting.table.core.windows.net/" + }, + "internetEndpoints": { + "web": "https://sto8596-internetrouting.web.core.windows.net/", + "dfs": "https://sto8596-internetrouting.dfs.core.windows.net/", + "blob": "https://sto8596-internetrouting.blob.core.windows.net/", + "file": "https://sto8596-internetrouting.file.core.windows.net/" + } + }, + "primaryLocation": "eastus2(stage)", + "provisioningState": "Succeeded", + "routingPreference": { + "routingChoice": "MicrosoftRouting", + "publishMicrosoftEndpoints": true, + "publishInternetEndpoints": true + }, + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2019-12-11T20:49:31.7036140Z" + } + }, + "keySource": "Microsoft.Storage" + }, + "publicNetworkAccess": "Disabled", + "secondaryLocation": "northcentralus(stage)", + "statusOfPrimary": "available", + "statusOfSecondary": "available", + "supportsHttpsTrafficOnly": false + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json new file mode 100644 index 000000000000..f900fa375fe1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "dst112", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json new file mode 100644 index 000000000000..6ab1f1a9d4d1 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res7687", + "accountName": "src1122", + "objectReplicationPolicyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "api-version": "2020-08-01-preview", + "monitor": "true", + "properties": { + "properties": { + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "scont139", + "destinationContainer": "dcont139", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f", + "name": "2a20bb73-5717-4635-985a-5d4cf777438f", + "type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies", + "properties": { + "policyId": "2a20bb73-5717-4635-985a-5d4cf777438f", + "enabledTime": "2019-06-08T03:01:55.7168089Z", + "sourceAccount": "src1122", + "destinationAccount": "dst112", + "rules": [ + { + "ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9", + "sourceContainer": "sourceContainer1", + "destinationContainer": "destContainer1", + "filters": { + "prefixMatch": [ + "blobA", + "blobB" + ] + } + }, + { + "ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2", + "sourceContainer": "scont179", + "destinationContainer": "dcont179" + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json new file mode 100644 index 000000000000..1c35ea50b47b --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9101", + "accountName": "sto4445", + "api-version": "2021-02-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json new file mode 100644 index 000000000000..3a529cdabf1d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res131918", + "accountName": "sto131918", + "api-version": "2021-08-01", + "parameters": { + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": {} + } + }, + "sku": { + "name": "Standard_LRS" + }, + "kind": "Storage", + "properties": { + "encryption": { + "services": { + "file": { + "keyType": "Account", + "enabled": true + }, + "blob": { + "keyType": "Account", + "enabled": true + } + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "" + }, + "keySource": "Microsoft.Keyvault", + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "3109d1c4-a5de-4d84-8832-feabb916a4b6" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "identity": { + "userAssignedIdentities": { + "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}": { + "principalId": "8d823284-1060-42a5-9ec4-ed3d831e24d7", + "clientId": "fbaa6278-1ecc-415c-819f-6e2058d3acb5" + } + }, + "type": "UserAssigned" + }, + "sku": { + "name": "Standard_LRS", + "tier": "Standard" + }, + "kind": "StorageV2", + "id": "/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/storageAccounts/sto4445", + "name": "sto4445", + "type": "Microsoft.Storage/storageAccounts", + "location": "eastus", + "tags": {}, + "properties": { + "privateEndpointConnections": [], + "networkAcls": { + "bypass": "AzureServices", + "virtualNetworkRules": [], + "ipRules": [], + "defaultAction": "Allow" + }, + "supportsHttpsTrafficOnly": true, + "encryption": { + "identity": { + "userAssignedIdentity": "/subscriptions/{subscription-id}/resourcegroups/res9101/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{managed-identity-name}", + "federatedIdentityClientId": "3109d1c4-a5de-4d84-8832-feabb916a4b6" + }, + "keyvaultproperties": { + "keyvaulturi": "https://myvault8569.vault.azure.net", + "keyname": "wrappingKey", + "keyversion": "", + "currentVersionedKeyIdentifier": "https://myvault8569.vault.azure.net/keys/wrappingKey/0682afdd9c104f4285df20107e956cad", + "lastKeyRotationTimestamp": "2019-12-13T20:36:23.7023290Z" + }, + "services": { + "file": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + }, + "blob": { + "keyType": "Account", + "enabled": true, + "lastEnabledTime": "2020-12-15T00:43:14.1739587Z" + } + }, + "keySource": "Microsoft.Keyvault" + }, + "accessTier": "Hot", + "provisioningState": "Succeeded", + "creationTime": "2020-12-15T00:43:14.0839093Z", + "primaryEndpoints": { + "web": "https://sto4445.web.core.windows.net/", + "dfs": "https://sto4445.dfs.core.windows.net/", + "blob": "https://sto4445.blob.core.windows.net/", + "file": "https://sto4445.file.core.windows.net/", + "queue": "https://sto4445.queue.core.windows.net/", + "table": "https://sto4445.table.core.windows.net/" + }, + "primaryLocation": "eastus", + "statusOfPrimary": "available" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json new file mode 100644 index 000000000000..f3483267745d --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/StorageAccountUpdateWithImmutabilityPolicy.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9407", + "accountName": "sto8596", + "api-version": "2021-06-01", + "monitor": "true", + "parameters": { + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Locked" + }, + "enabled": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res9407/providers/Microsoft.Storage/storageAccounts/sto8596", + "kind": "Storage", + "location": "eastus2(stage)", + "name": "sto8596", + "properties": { + "immutableStorageWithVersioning": { + "immutabilityPolicy": { + "immutabilityPeriodSinceCreationInDays": 15, + "allowProtectedAppendWrites": true, + "state": "Locked" + }, + "enabled": true + } + }, + "sku": { + "name": "Standard_GRS", + "tier": "Standard" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "type": "Microsoft.Storage/storageAccounts" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationDelete.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationDelete.json new file mode 100644 index 000000000000..3349b784dd1c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "204": {} + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationGet.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationList.json new file mode 100644 index 000000000000..4e41c26c5639 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto328", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + }, + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6186", + "name": "table6186", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6186" + } + } + ], + "nextLink": "https://sto1590endpoint/subscriptions/{subscription-id}/resourceGroups/res9290/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables?api-version=2020-08-01-preview&NextTableName=1!40!bXl0YWJsZXNoYzU0OAEwMWQ2MTI5ZTJmYjVmODFh" + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPatch.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPatch.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPatch.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPut.json new file mode 100644 index 000000000000..438403979f30 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPut.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185" + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPutOrPatchAcls.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPutOrPatchAcls.json new file mode 100644 index 000000000000..900cfd049e01 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableOperationPutOrPatchAcls.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res3376", + "accountName": "sto328", + "tableName": "table6185", + "api-version": "2020-09-01", + "monitor": "true", + "parameters": { + "properties": { + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "raud" + } + }, + { + "id": "PTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODklMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "rad" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/tableServices/default/tables/table6185", + "name": "table6185", + "type": "Microsoft.Storage/storageAccounts/tableServices/tables", + "properties": { + "tableName": "table6185", + "signedIdentifiers": [ + { + "id": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "raud" + } + }, + { + "id": "PTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODklMTI", + "accessPolicy": { + "startTime": "2022-03-17T08:49:37.0000000Z", + "expiryTime": "2022-03-20T08:49:37.0000000Z", + "permission": "rad" + } + } + ] + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesGet.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesGet.json new file mode 100644 index 000000000000..1d3fd0c6657f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesList.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesList.json new file mode 100644 index 000000000000..16ea1333e941 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res9290", + "accountName": "sto1590", + "api-version": "2020-08-01-preview", + "monitor": "true" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesPut.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesPut.json new file mode 100644 index 000000000000..4a1f0d2c93a3 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/examples/TableServicesPut.json @@ -0,0 +1,147 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "res4410", + "accountName": "sto8607", + "tableServiceName": "default", + "api-version": "2020-08-01-preview", + "monitor": "true", + "parameters": { + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/{subscription-id}/resourceGroups/res4410/providers/Microsoft.Storage/storageAccounts/sto8607/tableServices/default", + "name": "default", + "type": "Microsoft.Storage/storageAccounts/tableServices", + "properties": { + "cors": { + "corsRules": [ + { + "allowedOrigins": [ + "http://www.contoso.com", + "http://www.fabrikam.com" + ], + "allowedMethods": [ + "GET", + "HEAD", + "POST", + "OPTIONS", + "MERGE", + "PUT" + ], + "maxAgeInSeconds": 100, + "exposedHeaders": [ + "x-ms-meta-*" + ], + "allowedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ] + }, + { + "allowedOrigins": [ + "*" + ], + "allowedMethods": [ + "GET" + ], + "maxAgeInSeconds": 2, + "exposedHeaders": [ + "*" + ], + "allowedHeaders": [ + "*" + ] + }, + { + "allowedOrigins": [ + "http://www.abc23.com", + "https://www.fabrikam.com/*" + ], + "allowedMethods": [ + "GET", + "PUT" + ], + "maxAgeInSeconds": 2000, + "exposedHeaders": [ + "x-ms-meta-abc", + "x-ms-meta-data*", + "x-ms-meta-target*" + ], + "allowedHeaders": [ + "x-ms-meta-12345675754564*" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/file.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/file.json new file mode 100644 index 000000000000..e20d50ea9c9c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/file.json @@ -0,0 +1,1046 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices": { + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_List", + "x-ms-examples": { + "ListFileServices": { + "$ref": "./examples/FileServicesList.json" + } + }, + "description": "List all file services in storage accounts", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List file services operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileServiceItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}": { + "put": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_SetServiceProperties", + "x-ms-examples": { + "PutFileServices": { + "$ref": "./examples/FileServicesPut.json" + }, + "PutFileServices_EnableSMBMultichannel": { + "$ref": "./examples/FileServicesPut_EnableSMBMultichannel.json" + }, + "PutFileServices_EnableSecureSmbFeatures": { + "$ref": "./examples/FileServicesPut_EnableSecureSmbFeatures.json" + } + }, + "description": "Sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "The properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s File service successfully.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileService" + ], + "operationId": "FileServices_GetServiceProperties", + "x-ms-examples": { + "GetFileServices": { + "$ref": "./examples/FileServicesGet.json" + } + }, + "description": "Gets the properties of file services in storage accounts, including CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/FileServicesName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s File service.", + "schema": { + "$ref": "#/definitions/FileServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares": { + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_List", + "x-ms-examples": { + "ListShares": { + "$ref": "./examples/FileSharesList.json" + }, + "ListDeletedShares": { + "$ref": "./examples/DeletedFileSharesList.json" + }, + "ListShareSnapshots": { + "$ref": "./examples/FileShareSnapshotsList.json" + } + }, + "description": "Lists all shares.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional. Specified maximum number of shares that can be included in the list." + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional. When specified, only share names starting with the filter will be listed." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: deleted, snapshots. Should be passed as a string with delimiter ','" + } + ], + "responses": { + "200": { + "description": "OK -- List Shares operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShareItems" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}": { + "put": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Create", + "x-ms-examples": { + "PutShares": { + "$ref": "./examples/FileSharesPut.json" + }, + "Create NFS Shares": { + "$ref": "./examples/FileSharesPut_NFS.json" + }, + "PutShares with Access Tier": { + "$ref": "./examples/FileSharesPut_AccessTier.json" + } + }, + "description": "Creates a new share under the specified account as described by request body. The share resource includes metadata and properties for that share. It does not include a list of the files contained by the share. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties of the file share to create." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: snapshots. Should be passed as a string with delimiter ','" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created -- Create Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "200": { + "description": "OK -- The Share is already created.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Update", + "x-ms-examples": { + "UpdateShares": { + "$ref": "./examples/FileSharesPatch.json" + }, + "UpdateShareAcls": { + "$ref": "./examples/FileShareAclsPatch.json" + } + }, + "description": "Updates share properties as specified in request body. Properties not mentioned in the request will not be changed. Update fails if the specified share does not already exist. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "fileShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FileShare" + }, + "description": "Properties to update for the file share." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Update Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare", + "description": "Properties of the updated file share." + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Get", + "x-ms-examples": { + "GetShares": { + "$ref": "./examples/FileSharesGet.json" + }, + "GetShareStats": { + "$ref": "./examples/FileSharesGet_Stats.json" + } + }, + "description": "Gets properties of a specified share.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Optional, used to expand the properties within share's properties. Valid values are: stats. Should be passed as a string with delimiter ','." + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional, used to retrieve properties of a snapshot." + } + ], + "responses": { + "200": { + "description": "OK -- Get Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/FileShare" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Delete", + "x-ms-examples": { + "DeleteShares": { + "$ref": "./examples/FileSharesDelete.json" + } + }, + "description": "Deletes specified share under its account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional, used to delete a snapshot." + }, + { + "name": "$include", + "in": "query", + "required": false, + "type": "string", + "description": "Optional. Valid values are: snapshots, leased-snapshots, none. The default value is snapshots. For 'snapshots', the file share is deleted including all of its file share snapshots. If the file share contains leased-snapshots, the deletion fails. For 'leased-snapshots', the file share is deleted included all of its file share snapshots (leased/unleased). For 'none', the file share is deleted if it has no share snapshots. If the file share contains any snapshots (leased or unleased), the deletion fails." + } + ], + "responses": { + "200": { + "description": "OK -- Delete Share operation completed successfully." + }, + "204": { + "description": "No Content -- The Share not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/restore": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Restore", + "x-ms-examples": { + "RestoreShares": { + "$ref": "./examples/FileSharesRestore.json" + } + }, + "description": "Restore a file share within a valid retention days if share soft delete is enabled", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "name": "deletedShare", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeletedShare" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- The Share is successfully restored." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease": { + "post": { + "tags": [ + "FileShares" + ], + "operationId": "FileShares_Lease", + "x-ms-examples": { + "Acquire a lease on a share": { + "$ref": "./examples/FileSharesLease_Acquire.json" + }, + "Break a lease on a share": { + "$ref": "./examples/FileSharesLease_Break.json" + } + }, + "description": "The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "#/parameters/ShareName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/LeaseShareRequest" + }, + "description": "Lease Share request body." + }, + { + "name": "x-ms-snapshot", + "in": "header", + "required": false, + "type": "string", + "description": "Optional. Specify the snapshot time to lease a snapshot." + } + ], + "responses": { + "200": { + "description": "OK -- Lease Share operation completed successfully.", + "schema": { + "$ref": "#/definitions/LeaseShareResponse" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "FileServiceItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileServiceProperties" + }, + "description": "List of file services returned.", + "readOnly": true + } + } + }, + "FileServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the File service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the File service." + }, + "shareDeleteRetentionPolicy": { + "$ref": "./common.json#/definitions/DeleteRetentionPolicy", + "description": "The file service properties for share soft delete." + }, + "protocolSettings": { + "$ref": "#/definitions/ProtocolSettings", + "description": "Protocol settings for file service" + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "FileServiceProperties", + "description": "The properties of File services in storage account." + }, + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Sku name and tier." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of File services in storage account." + }, + "ProtocolSettings": { + "properties": { + "smb": { + "$ref": "#/definitions/SmbSetting", + "description": "Setting for SMB protocol" + } + }, + "description": "Protocol settings for file service" + }, + "SmbSetting": { + "properties": { + "multichannel": { + "$ref": "#/definitions/Multichannel", + "description": "Multichannel setting. Applies to Premium FileStorage only." + }, + "versions": { + "type": "string", + "description": "SMB protocol versions supported by server. Valid values are SMB2.1, SMB3.0, SMB3.1.1. Should be passed as a string with delimiter ';'." + }, + "authenticationMethods": { + "type": "string", + "description": "SMB authentication methods supported by server. Valid values are NTLMv2, Kerberos. Should be passed as a string with delimiter ';'." + }, + "kerberosTicketEncryption": { + "type": "string", + "description": "Kerberos ticket encryption supported by server. Valid values are RC4-HMAC, AES-256. Should be passed as a string with delimiter ';'" + }, + "channelEncryption": { + "type": "string", + "description": "SMB channel encryption supported by server. Valid values are AES-128-CCM, AES-128-GCM, AES-256-GCM. Should be passed as a string with delimiter ';'." + } + }, + "description": "Setting for SMB protocol" + }, + "Multichannel": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates whether multichannel is enabled" + } + }, + "description": "Multichannel setting. Applies to Premium FileStorage only." + }, + "FileShare": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "FileShareProperties", + "description": "Properties of the file share." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "Properties of the file share, including Id, resource name, resource type, Etag." + }, + "DeletedShare": { + "properties": { + "deletedShareName": { + "type": "string", + "description": "Required. Identify the name of the deleted share that will be restored." + }, + "deletedShareVersion": { + "type": "string", + "description": "Required. Identify the version of the deleted share that will be restored." + } + }, + "required": [ + "deletedShareName", + "deletedShareVersion" + ], + "description": "The deleted share to be restored." + }, + "FileShareItem": { + "properties": { + "properties": { + "$ref": "#/definitions/FileShareProperties", + "x-ms-client-flatten": true, + "description": "The file share properties be listed out." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The file share properties be listed out." + }, + "FileShareItems": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FileShareItem" + }, + "description": "List of file shares returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of shares. Returned when total number of requested shares exceed maximum page size.", + "readOnly": true + } + }, + "description": "Response schema. Contains list of shares returned, and if paging is requested or required, a URL to next page of shares." + }, + "FileShareProperties": { + "properties": { + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Returns the date and time the share was last modified." + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair to associate with the share as metadata." + }, + "shareQuota": { + "type": "integer", + "minimum": 1, + "maximum": 102400, + "description": "The maximum size of the share, in gigabytes. Must be greater than 0, and less than or equal to 5TB (5120). For Large File Shares, the maximum size is 102400." + }, + "enabledProtocols": { + "type": "string", + "enum": [ + "SMB", + "NFS" + ], + "x-ms-enum": { + "name": "EnabledProtocols", + "modelAsString": true + }, + "description": "The authentication protocol that is used for the file share. Can only be specified when creating a share.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "rootSquash": { + "type": "string", + "enum": [ + "NoRootSquash", + "RootSquash", + "AllSquash" + ], + "x-ms-enum": { + "name": "RootSquashType", + "modelAsString": true + }, + "description": "The property is for NFS share only. The default is NoRootSquash." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version of the share." + }, + "deleted": { + "type": "boolean", + "readOnly": true, + "description": "Indicates whether the share was deleted." + }, + "deletedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The deleted time if the share was deleted." + }, + "remainingRetentionDays": { + "type": "integer", + "readOnly": true, + "description": "Remaining retention days for share that was soft deleted." + }, + "accessTier": { + "type": "string", + "enum": [ + "TransactionOptimized", + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "ShareAccessTier", + "modelAsString": true + }, + "description": "Access tier for specific share. GpV2 account can choose between TransactionOptimized (default), Hot, and Cool. FileStorage account can choose Premium." + }, + "accessTierChangeTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Indicates the last modification time for share access tier." + }, + "accessTierStatus": { + "type": "string", + "readOnly": true, + "description": "Indicates if there is a pending transition for access tier." + }, + "shareUsageBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The approximate size of the data stored on the share. Note that this value may not include all recently created or recently resized files." + }, + "leaseStatus": { + "type": "string", + "readOnly": true, + "enum": [ + "Locked", + "Unlocked" + ], + "x-ms-enum": { + "name": "LeaseStatus", + "modelAsString": true + }, + "description": "The lease status of the share." + }, + "leaseState": { + "type": "string", + "readOnly": true, + "enum": [ + "Available", + "Leased", + "Expired", + "Breaking", + "Broken" + ], + "x-ms-enum": { + "name": "LeaseState", + "modelAsString": true + }, + "description": "Lease state of the share." + }, + "leaseDuration": { + "type": "string", + "readOnly": true, + "enum": [ + "Infinite", + "Fixed" + ], + "x-ms-enum": { + "name": "LeaseDuration", + "modelAsString": true + }, + "description": "Specifies whether the lease on a share is of infinite or fixed duration, only when the share is leased." + }, + "signedIdentifiers": { + "type": "array", + "items": { + "$ref": "./common.json#/definitions/SignedIdentifier" + }, + "description": "List of stored access policies specified on the share." + }, + "snapshotTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Creation time of share snapshot returned in the response of list shares with expand param \"snapshots\"." + } + }, + "description": "The properties of the file share." + }, + "LeaseShareRequest": { + "properties": { + "action": { + "type": "string", + "enum": [ + "Acquire", + "Renew", + "Change", + "Release", + "Break" + ], + "x-ms-enum": { + "name": "LeaseShareAction", + "modelAsString": true + }, + "description": "Specifies the lease action. Can be one of the available actions." + }, + "leaseId": { + "type": "string", + "description": "Identifies the lease. Can be specified in any valid GUID string format." + }, + "breakPeriod": { + "type": "integer", + "format": "int32", + "description": "Optional. For a break action, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60." + }, + "leaseDuration": { + "type": "integer", + "format": "int32", + "description": "Required for acquire. Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires." + }, + "proposedLeaseId": { + "type": "string", + "description": "Optional for acquire, required for change. Proposed lease ID, in a GUID string format." + } + }, + "required": [ + "action" + ], + "description": "Lease Share request schema." + }, + "LeaseShareResponse": { + "properties": { + "leaseId": { + "type": "string", + "description": "Returned unique lease ID that must be included with any request to delete the share, or to renew, change, or release the lease." + }, + "leaseTimeSeconds": { + "type": "string", + "description": "Approximate time remaining in the lease period, in seconds." + } + }, + "description": "Lease Share response schema." + }, + "SignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "An unique identifier of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/AccessPolicy", + "description": "Access policy" + } + } + }, + "AccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "List of abbreviated permissions." + } + } + } + }, + "parameters": { + "FileServicesName": { + "name": "FileServicesName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file Service within the specified storage account. File Service Name must be \"default\"", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "FileServicesName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "ShareName": { + "name": "shareName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the file share within the specified storage account. File share names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/privatelinks.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/privatelinks.json new file mode 100644 index 000000000000..a556b99f6754 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/privatelinks.json @@ -0,0 +1,174 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "Common types" + }, + "paths": {}, + "definitions": { + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." + } + }, + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { + "type": "string", + "description": "The reason for approval/rejection of the connection." + }, + "actionRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." + } + }, + "description": "Properties of a private link resource." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + } + }, + "parameters": { + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Azure resource", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/queue.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/queue.json new file mode 100644 index 000000000000..9d71500afe2f --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/queue.json @@ -0,0 +1,564 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices": { + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_List", + "x-ms-examples": { + "QueueServicesList": { + "$ref": "./examples/QueueServicesList.json" + } + }, + "description": "List all queue services for the storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/ListQueueServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}": { + "put": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_SetServiceProperties", + "x-ms-examples": { + "QueueServicesPut": { + "$ref": "./examples/QueueServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "The properties of a storage account’s Queue service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Queue service successfully.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueServiceProperties" + ], + "operationId": "QueueServices_GetServiceProperties", + "x-ms-examples": { + "QueueServicesGet": { + "$ref": "./examples/QueueServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Queue service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Queue service.", + "schema": { + "$ref": "#/definitions/QueueServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues/{queueName}": { + "put": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Create", + "x-ms-examples": { + "QueueOperationPut": { + "$ref": "./examples/QueueOperationPut.json" + }, + "QueueOperationPutWithMetadata": { + "$ref": "./examples/QueueOperationPutWithMetadata.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Update", + "x-ms-examples": { + "QueueOperationPatch": { + "$ref": "./examples/QueueOperationPatch.json" + } + }, + "description": "Creates a new queue with the specified queue name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + }, + { + "name": "queue", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageQueue" + }, + "description": "Queue properties and metadata to be created with" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a queue with the given queue name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Get", + "x-ms-examples": { + "QueueOperationGet": { + "$ref": "./examples/QueueOperationGet.json" + } + }, + "description": "Gets the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/StorageQueue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_Delete", + "x-ms-examples": { + "QueueOperationDelete": { + "$ref": "./examples/QueueOperationDelete.json" + } + }, + "description": "Deletes the queue with the specified queue name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/QueueName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the queue with the specified queue name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/default/queues": { + "get": { + "tags": [ + "QueueService" + ], + "operationId": "Queue_List", + "x-ms-examples": { + "QueueOperationList": { + "$ref": "./examples/QueueOperationList.json" + } + }, + "description": "Gets a list of all the queues under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$maxpagesize", + "in": "query", + "type": "string", + "description": "Optional, a maximum number of queues that should be included in a list queue response" + }, + { + "name": "$filter", + "in": "query", + "type": "string", + "description": "Optional, When specified, only the queues with a name starting with the given filter will be listed." + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of queues successfully.", + "schema": { + "$ref": "#/definitions/ListQueueResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListQueueServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/QueueServiceProperties" + }, + "description": "List of queue services returned.", + "readOnly": true + } + } + }, + "QueueServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Queue service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Queue service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueServiceProperties", + "description": "The properties of a storage account’s Queue service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Queue service." + }, + "StorageQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/QueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "QueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + }, + "approximateMessageCount": { + "type": "integer", + "readOnly": true, + "description": "Integer indicating an approximate number of messages in the queue. This number is not lower than the actual number of messages in the queue, but could be higher." + } + } + }, + "ListQueue": { + "properties": { + "properties": { + "$ref": "#/definitions/ListQueueProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "QueueProperties", + "description": "List Queue resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "ListQueueProperties": { + "properties": { + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A name-value pair that represents queue metadata." + } + } + }, + "ListQueueResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ListQueue" + }, + "description": "List of queues returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to list next page of queues", + "readOnly": true + } + }, + "description": "Response schema. Contains list of queues returned" + } + }, + "parameters": { + "QueueServiceName": { + "name": "queueServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Queue Service within the specified storage account. Queue Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "QueueServiceName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "QueueName": { + "name": "queueName", + "in": "path", + "required": true, + "type": "string", + "description": "A queue name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of lowercase alphanumeric and dash(-) characters only, it should begin and end with an alphanumeric character and it cannot have two consecutive dash(-) characters.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/storage.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/storage.json new file mode 100644 index 000000000000..371d4c18236c --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/storage.json @@ -0,0 +1,5440 @@ +{ + "swagger": "2.0", + "info": { + "title": "StorageManagementClient", + "description": "The Azure Storage Management API.", + "version": "2021-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Storage/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Storage Rest API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/skus": { + "get": { + "tags": [ + "Skus" + ], + "operationId": "Skus_List", + "description": "Lists the available SKUs supported by Microsoft.Storage for given subscription.", + "x-ms-examples": { + "SkuList": { + "$ref": "./examples/SKUList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage SKUs in the given subscription retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageSkuListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/checkNameAvailability": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_CheckNameAvailability", + "description": "Checks that the storage account name is valid and is not already in use.", + "x-ms-examples": { + "StorageAccountCheckNameAvailability": { + "$ref": "./examples/StorageAccountCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "accountName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCheckNameAvailabilityParameters" + }, + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the storage account name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}": { + "put": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Create", + "description": "Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.", + "x-ms-examples": { + "StorageAccountCreate": { + "$ref": "./examples/StorageAccountCreate.json" + }, + "NfsV3AccountCreate": { + "$ref": "./examples/NfsV3AccountCreate.json" + }, + "StorageAccountCreateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountCreateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountCreateWithImmutabilityPolicy.json" + }, + "StorageAccountCreateDisallowPublicNetworkAccess": { + "$ref": "./examples/StorageAccountCreateDisallowPublicNetworkAccess.json" + }, + "StorageAccountCreateEnablePublicNetworkAccess": { + "$ref": "./examples/StorageAccountCreateEnablePublicNetworkAccess.json" + }, + "StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.": { + "$ref": "./examples/StorageAccountCreateUserAssignedIdentityWithFederatedIdentityClientId.json" + }, + "StorageAccountCreateAllowedCopyScopeToPrivateLink": { + "$ref": "./examples/StorageAccountCreateAllowedCopyScopeToPrivateLink.json" + }, + "StorageAccountCreateAllowedCopyScopeToAAD": { + "$ref": "./examples/StorageAccountCreateAllowedCopyScopeToAAD.json" + }, + "StorageAccountCreatePremiumBlockBlobStorage": { + "$ref": "./examples/StorageAccountCreatePremiumBlockBlobStorage.json" + }, + "StorageAccountCreateDnsEndpointTypeToAzureDnsZone": { + "$ref": "./examples/StorageAccountCreateDnsEndpointTypeToAzureDnsZone.json" + }, + "StorageAccountCreateDnsEndpointTypeToStandard": { + "$ref": "./examples/StorageAccountCreateDnsEndpointTypeToStandard.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountCreateParameters" + }, + "description": "The parameters to provide for the created account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned when the storage account was already created from a previous request with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + }, + "202": { + "description": "Accepted -- Create or update request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Delete", + "description": "Deletes a storage account in Microsoft Azure.", + "x-ms-examples": { + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account deleted successfully." + }, + "204": { + "description": "NoContent -- account does not exist in the subscription." + } + } + }, + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_GetProperties", + "description": "Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys.", + "x-ms-examples": { + "StorageAccountGetProperties": { + "$ref": "./examples/StorageAccountGetProperties.json" + }, + "StorageAccountGetPropertiesCMKEnabled": { + "$ref": "./examples/StorageAccountGetPropertiesCMKEnabled.json" + }, + "StorageAccountGetAsyncSkuConversionStatus": { + "$ref": "./examples/StorageAccountGetAsyncSkuConversionStatus.json" + }, + "StorageAccountGetPropertiesCMKVersionExpirationTime": { + "$ref": "./examples/StorageAccountGetPropertiesCMKVersionExpirationTime.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "geoReplicationStats", + "blobRestoreStatus" + ], + "x-ms-enum": { + "name": "StorageAccountExpand", + "modelAsString": false + } + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved successfully for the storage account.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + }, + "patch": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Update", + "description": "The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation.", + "x-ms-examples": { + "StorageAccountUpdate": { + "$ref": "./examples/StorageAccountUpdate.json" + }, + "StorageAccountEnableAD": { + "$ref": "./examples/StorageAccountEnableAD.json" + }, + "StorageAccountEnableCMK": { + "$ref": "./examples/StorageAccountEnableCMK.json" + }, + "StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountUpdateDisablePublicNetworkAccess": { + "$ref": "./examples/StorageAccountUpdateDisablePublicNetworkAccess.json" + }, + "StorageAccountUpdateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountUpdateWithImmutabilityPolicy.json" + }, + "StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId": { + "$ref": "./examples/StorageAccountUpdateUserAssignedIdentityWithFederatedIdentityClientId.json" + }, + "StorageAccountUpdateAllowedCopyScopeToAAD": { + "$ref": "./examples/StorageAccountUpdateAllowedCopyScopeToAAD.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountUpdateParameters" + }, + "description": "The parameters to provide for the updated account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- storage account properties updated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccount" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_List", + "description": "Lists deleted accounts under the subscription.", + "x-ms-examples": { + "DeletedAccountList": { + "$ref": "./examples/DeletedAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of deleted accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/DeletedAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_Get", + "description": "Get properties of specified deleted account resource.", + "x-ms-examples": { + "DeletedAccountGet": { + "$ref": "./examples/DeletedAccountGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeletedAccountName" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved and returned successfully for the deleted account.", + "schema": { + "$ref": "#/definitions/DeletedAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_List", + "description": "Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountList": { + "$ref": "./examples/StorageAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts": { + "get": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListByResourceGroup", + "description": "Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this.", + "x-ms-examples": { + "StorageAccountListByResourceGroup": { + "$ref": "./examples/StorageAccountListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of storage accounts in the given resource group retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/listKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListKeys", + "description": "Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.", + "x-ms-examples": { + "StorageAccountListKeys": { + "$ref": "./examples/StorageAccountListKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "kerb" + ], + "x-ms-enum": { + "name": "ListKeyExpand" + }, + "description": "Specifies type of the key to be listed. Possible value is kerb." + } + ], + "responses": { + "200": { + "description": "OK -- list of keys retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RegenerateKey", + "description": "Regenerates one of the access keys or Kerberos keys for the specified storage account.", + "x-ms-examples": { + "StorageAccountRegenerateKey": { + "$ref": "./examples/StorageAccountRegenerateKey.json" + }, + "StorageAccountRegenerateKerbKey": { + "$ref": "./examples/StorageAccountRegenerateKerbKey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "regenerateKey", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/StorageAccountRegenerateKeyParameters" + }, + "description": "Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- specified key regenerated successfully.", + "schema": { + "$ref": "#/definitions/StorageAccountListKeysResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages": { + "get": { + "tags": [ + "LocationUsage" + ], + "operationId": "Usages_ListByLocation", + "description": "Gets the current usage count and the limit for the resources of the location under the subscription.", + "x-ms-examples": { + "UsageList": { + "$ref": "./examples/StorageAccountListLocationUsage.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Azure Storage resource." + } + ], + "responses": { + "200": { + "description": "OK -- current usage count and limit retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListAccountSAS", + "description": "List SAS credentials of a storage account.", + "x-ms-examples": { + "StorageAccountListAccountSAS": { + "$ref": "./examples/StorageAccountListAccountSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountSasParameters" + }, + "description": "The parameters to provide to list SAS credentials for the storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the account SAS created for the storage account requested.", + "schema": { + "$ref": "#/definitions/ListAccountSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_ListServiceSAS", + "description": "List service SAS credentials of a specific resource.", + "x-ms-examples": { + "StorageAccountListServiceSAS": { + "$ref": "./examples/StorageAccountListServiceSAS.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceSasParameters" + }, + "description": "The parameters to provide to list service SAS credentials." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the service SAS created for the storage service requested.", + "schema": { + "$ref": "#/definitions/ListServiceSasResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Failover", + "description": "Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.", + "x-ms-examples": { + "StorageAccountFailover": { + "$ref": "./examples/StorageAccountFailover.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account failover is completed, and the secondary cluster has become primary." + }, + "202": { + "description": "Accepted -- Failover request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_HierarchicalNamespaceMigration", + "description": "Live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountHierarchicalNamespaceMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "requestType", + "in": "query", + "required": true, + "type": "string", + "description": "Required. Hierarchical namespace migration type can either be a hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the hydration request will migrate the account." + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is completed." + }, + "202": { + "description": "Accepted -- Hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_AbortHierarchicalNamespaceMigration", + "description": "Abort live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountAbortHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountAbortHierarchicalNamespaceMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is aborted." + }, + "202": { + "description": "Accepted -- Abort hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RestoreBlobRanges", + "description": "Restore blobs in the specified blob ranges", + "x-ms-examples": { + "BlobRangesRestore": { + "$ref": "./examples/BlobRangesRestore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobRestoreParameters" + }, + "description": "The parameters to provide for restore blob ranges." + } + ], + "responses": { + "200": { + "description": "OK -- returned when blob ranges are restored completely with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + }, + "202": { + "description": "Accepted -- Blob restore request accepted; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}": { + "get": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Get", + "description": "Gets the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetManagementPolicies": { + "$ref": "./examples/StorageAccountGetManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "put": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_CreateOrUpdate", + "description": "Sets the managementpolicy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetManagementPolicies": { + "$ref": "./examples/StorageAccountSetManagementPolicy.json" + }, + "StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json" + }, + "StorageAccountSetManagementPolicyWithSnapshotAndVersion": { + "$ref": "./examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json" + }, + "StorageAccountSetManagementPolicyForBlockAndAppendBlobs": { + "$ref": "./examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json" + }, + "StorageAccountSetManagementPolicy_LastTierChangeTimeActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastTierChangeTimeActions.json" + }, + "StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_BaseBlobDaysAfterCreationActions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagementPolicy" + }, + "description": "The ManagementPolicy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "delete": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Delete", + "description": "Deletes the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteManagementPolicies": { + "$ref": "./examples/StorageAccountDeleteManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the managementpolicy successfully." + }, + "204": { + "description": "No Content -- The managementpolicy does not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Get", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountGetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_CreateOrUpdate", + "description": "Sets the blob inventory policy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicy.json" + }, + "StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForHnsAccount.json" + }, + "StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicyIncludeDeleteAndNewSchemaForNonHnsAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "The blob inventory policy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Delete", + "description": "Deletes the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountDeleteBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the blob inventory policy successfully." + }, + "204": { + "description": "No Content -- The blob inventory policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_List", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountListBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policies successfully.", + "schema": { + "$ref": "#/definitions/ListBlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the storage account.", + "x-ms-examples": { + "StorageAccountListPrivateEndpointConnections": { + "$ref": "./examples/StorageAccountListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountGetPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountPutPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountPutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountDeletePrivateEndpointConnection": { + "$ref": "./examples/StorageAccountDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageAccount", + "description": "Gets the private link resources that need to be created for a storage account.", + "x-ms-examples": { + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/StorageAccountListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_List", + "description": "List the object replication policies associated with the storage account.", + "x-ms-examples": { + "StorageAccountListObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountListObjectReplicationPolicies.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List object replication policies successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Get", + "description": "Get the object replication policy of the storage account by policy ID.", + "x-ms-examples": { + "StorageAccountGetObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountGetObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Get the object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_CreateOrUpdate", + "description": "Create or update the object replication policy of the storage account.", + "x-ms-examples": { + "StorageAccountCreateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountCreateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnSource.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The object replication policy set to a storage account. A unique policy ID will be created if absent." + } + ], + "responses": { + "200": { + "description": "OK -- Put object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Delete", + "description": "Deletes the object replication policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountDeleteObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the object replication policy successfully." + }, + "204": { + "description": "No Content -- The object replication policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RevokeUserDelegationKeys", + "description": "Revoke user delegation keys.", + "x-ms-examples": { + "StorageAccountRevokeUserDelegationKeys": { + "$ref": "./examples/StorageAccountRevokeUserDelegationKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3 + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- revoke user delegation keys succeeded." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers": { + "get": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_List", + "description": "List the local users associated with the storage account.", + "x-ms-examples": { + "ListLocalUsers": { + "$ref": "./examples/LocalUsersList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List local users successfully.", + "schema": { + "$ref": "#/definitions/LocalUsers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}": { + "get": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_Get", + "description": "Get the local user of the storage account by username.", + "x-ms-examples": { + "GetLocalUser": { + "$ref": "./examples/LocalUserGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Get the local user properties successfully.", + "schema": { + "$ref": "#/definitions/LocalUser" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_CreateOrUpdate", + "description": "Create or update the properties of a local user associated with the storage account", + "x-ms-examples": { + "CreateLocalUser": { + "$ref": "./examples/LocalUserCreate.json" + }, + "UpdateLocalUser": { + "$ref": "./examples/LocalUserUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalUser" + }, + "description": "The local user associated with a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put local user successfully.", + "schema": { + "$ref": "#/definitions/LocalUser" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_Delete", + "description": "Deletes the local user associated with the specified storage account.", + "x-ms-examples": { + "DeleteLocalUser": { + "$ref": "./examples/LocalUserDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the local user successfully." + }, + "204": { + "description": "No content -- Delete the local user successfully." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/listKeys": { + "post": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_ListKeys", + "description": "List SSH authorized keys and shared key of the local user.", + "x-ms-examples": { + "ListLocalUserKeys": { + "$ref": "./examples/LocalUserListKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Get the local user keys successfully.", + "schema": { + "$ref": "#/definitions/LocalUserKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/localUsers/{username}/regeneratePassword": { + "post": { + "tags": [ + "LocalUsers" + ], + "operationId": "LocalUsers_RegeneratePassword", + "description": "Regenerate the local user SSH password.", + "x-ms-examples": { + "RegenerateLocalUserPassword": { + "$ref": "./examples/LocalUserRegeneratePassword.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/Username" + } + ], + "responses": { + "200": { + "description": "OK -- Regenerate local user password successfully.", + "schema": { + "$ref": "#/definitions/LocalUserRegeneratePasswordResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}": { + "put": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Put", + "description": "Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different properties, the encryption scope properties will be updated per the specified request.", + "x-ms-examples": { + "StorageAccountPutEncryptionScope": { + "$ref": "./examples/StorageAccountPutEncryptionScope.json" + }, + "StorageAccountPutEncryptionScopeWithInfrastructureEncryption": { + "$ref": "./examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the create or update." + } + ], + "responses": { + "201": { + "description": "Created -- Create encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Patch", + "description": "Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist.", + "x-ms-examples": { + "StorageAccountPatchEncryptionScope": { + "$ref": "./examples/StorageAccountPatchEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the update." + } + ], + "responses": { + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Get", + "description": "Returns the properties for the specified encryption scope.", + "x-ms-examples": { + "StorageAccountGetEncryptionScope": { + "$ref": "./examples/StorageAccountGetEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + } + ], + "responses": { + "200": { + "description": "OK -- Get encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_List", + "description": "Lists all the encryption scopes available under the specified storage account.", + "x-ms-examples": { + "StorageAccountEncryptionScopeList": { + "$ref": "./examples/StorageAccountEncryptionScopeList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List encryption scopes operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScopeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Storage 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 Storage.", + "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": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include 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." + } + } + }, + "StorageAccountCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The storage account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Storage/storageAccounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Storage/storageAccounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the storage account name." + }, + "SKUCapability": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "A string value to indicate states of given capability. Possibly 'true' or 'false'." + } + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction. As of now this can be \"QuotaId\" or \"NotAvailableForSubscription\". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The \"NotAvailableForSubscription\" is related to capacity at DC." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "StorageSkuListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "description": "Get the list result of storage SKUs and their properties." + } + }, + "description": "The response from the List Storage SKUs operation." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "SkuInformation": { + "properties": { + "name": { + "$ref": "./common.json#/definitions/SkuName" + }, + "tier": { + "$ref": "./common.json#/definitions/Tier" + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of the resource, usually it is 'storageAccounts'." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "required": [ + "name" + ], + "description": "Storage SKU and its properties" + }, + "CustomDomain": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source." + }, + "useSubDomainName": { + "type": "boolean", + "description": "Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates." + } + }, + "required": [ + "name" + ], + "description": "The custom domain assigned to this storage account. This can be set via Update." + }, + "SasPolicy": { + "properties": { + "sasExpirationPeriod": { + "type": "string", + "example": "1.15:59:59", + "description": "The SAS expiration period, DD.HH:MM:SS." + }, + "expirationAction": { + "type": "string", + "enum": [ + "Log" + ], + "x-ms-enum": { + "name": "ExpirationAction", + "modelAsString": true + }, + "default": "Log", + "description": "The SAS expiration action. Can only be Log." + } + }, + "required": [ + "sasExpirationPeriod", + "expirationAction" + ], + "description": "SasPolicy assigned to the storage account." + }, + "KeyPolicy": { + "properties": { + "keyExpirationPeriodInDays": { + "type": "integer", + "description": "The key expiration period in days.", + "format": "int32" + } + }, + "required": [ + "keyExpirationPeriodInDays" + ], + "description": "KeyPolicy assigned to the storage account." + }, + "KeyCreationTime": { + "properties": { + "key1": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + }, + "key2": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + } + }, + "description": "Storage account keys creation time." + }, + "EncryptionService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean indicating whether or not the service encrypts the data as it is stored. Encryption at rest is enabled by default today and cannot be disabled." + }, + "lastEnabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Data is encrypted at rest by default today and cannot be disabled." + }, + "keyType": { + "type": "string", + "description": "Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.", + "enum": [ + "Service", + "Account" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "A service that allows server-side encryption to be used." + }, + "EncryptionServices": { + "properties": { + "blob": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the blob storage service." + }, + "file": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the file storage service." + }, + "table": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the table storage service." + }, + "queue": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the queue storage service." + } + }, + "description": "A list of services that support encryption." + }, + "KeyVaultProperties": { + "description": "Properties of key vault.", + "properties": { + "keyname": { + "type": "string", + "description": "The name of KeyVault key.", + "x-ms-client-name": "KeyName" + }, + "keyversion": { + "type": "string", + "description": "The version of KeyVault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyvaulturi": { + "type": "string", + "description": "The Uri of KeyVault.", + "x-ms-client-name": "KeyVaultUri" + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use.", + "x-ms-client-name": "CurrentVersionedKeyIdentifier" + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key.", + "x-ms-client-name": "LastKeyRotationTimestamp" + }, + "currentVersionedKeyExpirationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "This is a read only property that represents the expiration time of the current version of the customer managed key used for encryption.", + "x-ms-client-name": "CurrentVersionedKeyExpirationTimestamp" + } + } + }, + "Encryption": { + "properties": { + "services": { + "$ref": "#/definitions/EncryptionServices", + "description": "List of services which support encryption." + }, + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault", + "enum": [ + "Microsoft.Storage", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Microsoft.Storage" + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "x-ms-client-name": "RequireInfrastructureEncryption", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + }, + "keyvaultproperties": { + "$ref": "#/definitions/KeyVaultProperties", + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties provided by key vault." + }, + "identity": { + "$ref": "#/definitions/EncryptionIdentity", + "x-ms-client-name": "EncryptionIdentity", + "description": "The identity to be used with service-side encryption at rest." + } + }, + "required": [ + "keySource" + ], + "description": "The encryption settings on the storage account." + }, + "EncryptionIdentity": { + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.", + "x-ms-client-name": "EncryptionUserAssignedIdentity" + }, + "federatedIdentityClientId": { + "type": "string", + "description": "ClientId of the multi-tenant application to be used in conjunction with the user-assigned identity for cross-tenant customer-managed-keys server-side encryption on the storage account.", + "x-ms-client-name": "EncryptionFederatedIdentityClientId" + } + }, + "description": "Encryption identity for the storage account." + }, + "UserAssignedIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of the identity." + } + }, + "description": "UserAssignedIdentity for the resource." + }, + "ResourceAccessRule": { + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id" + }, + "resourceId": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Resource Access Rule." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of virtual network rule." + }, + "state": { + "type": "string", + "enum": [ + "Provisioning", + "Deprovisioning", + "Succeeded", + "Failed", + "NetworkSourceDeleted" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + }, + "description": "Gets the state of virtual network rule." + } + }, + "required": [ + "id" + ], + "description": "Virtual Network rule." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of IP ACL rule." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "enum": [ + "None", + "Logging", + "Metrics", + "AzureServices" + ], + "x-ms-enum": { + "name": "Bypass", + "modelAsString": true + }, + "x-ms-client-name": "Bypass", + "default": "AzureServices", + "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, \"Logging, Metrics\"), or None to bypass none of those traffics." + }, + "resourceAccessRules": { + "type": "array", + "items": { + "description": "Resource Access Rules.", + "$ref": "#/definitions/ResourceAccessRule" + }, + "description": "Sets the resource access rules" + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "description": "Virtual Network rule.", + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Sets the virtual network rules" + }, + "ipRules": { + "type": "array", + "items": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "$ref": "#/definitions/IPRule" + }, + "description": "Sets the IP ACL rules" + }, + "defaultAction": { + "type": "string", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": false + }, + "default": "Allow", + "description": "Specifies the default action of allow or deny when no other rules match." + } + }, + "required": [ + "defaultAction" + ], + "description": "Network rule set" + }, + "AzureFilesIdentityBasedAuthentication": { + "properties": { + "directoryServiceOptions": { + "type": "string", + "description": "Indicates the directory service used.", + "enum": [ + "None", + "AADDS", + "AD" + ], + "x-ms-enum": { + "name": "DirectoryServiceOptions", + "modelAsString": true + } + }, + "activeDirectoryProperties": { + "$ref": "#/definitions/ActiveDirectoryProperties", + "description": "Required if choose AD." + }, + "defaultSharePermission": { + "type": "string", + "description": "Default share permission for users using Kerberos authentication if RBAC role is not assigned.", + "enum": [ + "None", + "StorageFileDataSmbShareReader", + "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor" + ], + "x-ms-enum": { + "name": "DefaultSharePermission", + "modelAsString": true + } + } + }, + "required": [ + "directoryServiceOptions" + ], + "description": "Settings for Azure Files identity based authentication." + }, + "ActiveDirectoryProperties": { + "properties": { + "domainName": { + "type": "string", + "description": "Specifies the primary domain that the AD DNS server is authoritative for." + }, + "netBiosDomainName": { + "type": "string", + "description": "Specifies the NetBIOS domain name." + }, + "forestName": { + "type": "string", + "description": "Specifies the Active Directory forest to get." + }, + "domainGuid": { + "type": "string", + "description": "Specifies the domain GUID." + }, + "domainSid": { + "type": "string", + "description": "Specifies the security identifier (SID)." + }, + "azureStorageSid": { + "type": "string", + "description": "Specifies the security identifier (SID) for Azure Storage." + }, + "samAccountName": { + "type": "string", + "description": "Specifies the Active Directory SAMAccountName for Azure Storage." + }, + "accountType": { + "type": "string", + "description": "Specifies the Active Directory account type for Azure Storage.", + "enum": [ + "User", + "Computer" + ] + } + }, + "required": [ + "domainName", + "netBiosDomainName", + "forestName", + "domainGuid", + "domainSid", + "azureStorageSid" + ], + "description": "Settings properties for Active Directory (AD)." + }, + "StorageAccountPropertiesCreateParameters": { + "properties": { + "allowedCopyScope": { + "type": "string", + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet.", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption settings to be used for server-side encryption for the storage account." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set" + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01." + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the new containers in the account by default." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + } + }, + "description": "The parameters used to create the storage account." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "StorageAccountCreateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Required. Gets or sets the SKU name." + }, + "kind": { + "type": "string", + "description": "Required. Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "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." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location" + }, + "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 for 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 with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesCreateParameters", + "description": "The parameters used to create the storage account." + } + }, + "required": [ + "sku", + "kind", + "location" + ], + "description": "The parameters used when creating a storage account." + }, + "Endpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + }, + "microsoftEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountMicrosoftEndpoints", + "description": "Gets the microsoft routing storage endpoints." + }, + "internetEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountInternetEndpoints", + "description": "Gets the internet routing storage endpoints" + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object." + }, + "StorageAccountMicrosoftEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint." + }, + "StorageAccountInternetEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint." + }, + "GeoReplicationStats": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.", + "enum": [ + "Live", + "Bootstrap", + "Unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatus", + "modelAsString": true + } + }, + "lastSyncTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap." + }, + "canFailover": { + "readOnly": true, + "type": "boolean", + "description": "A boolean flag which indicates whether or not account failover is supported for the account." + } + }, + "description": "Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account." + }, + "RoutingPreference": { + "properties": { + "routingChoice": { + "type": "string", + "description": "Routing Choice defines the kind of network routing opted by the user.", + "enum": [ + "MicrosoftRouting", + "InternetRouting" + ], + "x-ms-enum": { + "name": "RoutingChoice", + "modelAsString": true + } + }, + "publishMicrosoftEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether microsoft routing storage endpoints are to be published" + }, + "publishInternetEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether internet routing storage endpoints are to be published" + } + }, + "description": "Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing" + }, + "ImmutableStorageAccount": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default." + }, + "immutabilityPolicy": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/AccountImmutabilityPolicyProperties", + "description": "Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy." + } + }, + "description": "This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning." + }, + "AccountImmutabilityPolicyProperties": { + "type": "object", + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "minimum": 1, + "maximum": 146000, + "format": "int32", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "description": "The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.", + "enum": [ + "Unlocked", + "Locked", + "Disabled" + ], + "x-ms-enum": { + "name": "AccountImmutabilityPolicyState", + "modelAsString": true + } + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + } + }, + "description": "This defines account-level immutability policy properties." + }, + "StorageAccountSkuConversionStatus": { + "type": "object", + "properties": { + "skuConversionStatus": { + "readOnly": true, + "type": "string", + "description": "This property indicates the current sku conversion status.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SkuConversionStatus", + "modelAsString": true + } + }, + "targetSkuName": { + "$ref": "./common.json#/definitions/SkuName", + "description": "This property represents the target sku name to which the account sku is being converted asynchronously." + }, + "startTime": { + "readOnly": true, + "type": "string", + "description": "This property represents the sku conversion start time." + }, + "endTime": { + "readOnly": true, + "type": "string", + "description": "This property represents the sku conversion end time." + } + }, + "description": "This defines the sku conversion status object for asynchronous sku conversions." + }, + "BlobRestoreStatus": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.", + "enum": [ + "InProgress", + "Complete", + "Failed" + ], + "x-ms-enum": { + "name": "BlobRestoreProgressStatus", + "modelAsString": true + } + }, + "failureReason": { + "readOnly": true, + "type": "string", + "description": "Failure reason when blob restore is failed." + }, + "restoreId": { + "readOnly": true, + "type": "string", + "description": "Id for tracking blob restore request." + }, + "parameters": { + "readOnly": true, + "$ref": "#/definitions/BlobRestoreParameters", + "description": "Blob restore request parameters." + } + }, + "description": "Blob restore status." + }, + "DeletedAccountProperties": { + "properties": { + "storageAccountResourceId": { + "readOnly": true, + "type": "string", + "description": "Full resource id of the original storage account." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the deleted account." + }, + "restoreReference": { + "readOnly": true, + "type": "string", + "description": "Can be used to attempt recovering this deleted account via PutStorageAccount API." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "description": "Creation time of the deleted account." + }, + "deletionTime": { + "readOnly": true, + "type": "string", + "description": "Deletion time of the deleted account." + } + }, + "description": "Attributes of a deleted storage account." + }, + "StorageAccountProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the storage account at the time the operation was called.", + "enum": [ + "Creating", + "ResolvingDNS", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "primaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint." + }, + "primaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the primary data center for the storage account." + }, + "statusOfPrimary": { + "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": "AccountStatus", + "modelAsString": false + } + }, + "lastGeoFailoverTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "secondaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "statusOfSecondary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the storage account in UTC." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "readOnly": true, + "description": "Gets the custom domain the user assigned to this storage account." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "readOnly": true, + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "readOnly": true, + "description": "KeyPolicy assigned to the storage account." + }, + "keyCreationTime": { + "readOnly": true, + "$ref": "#/definitions/KeyCreationTime", + "description": "Storage account keys creation time." + }, + "secondaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "readOnly": true, + "description": "Encryption settings to be used for server-side encryption for the storage account." + }, + "accessTier": { + "readOnly": true, + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set", + "readOnly": true + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "geoReplicationStats": { + "$ref": "#/definitions/GeoReplicationStats", + "x-ms-client-name": "GeoReplicationStats", + "description": "Geo Replication Stats", + "readOnly": true + }, + "failoverInProgress": { + "type": "boolean", + "x-ms-client-name": "FailoverInProgress", + "description": "If the failover is in progress, the value will be true, otherwise, it will be null.", + "readOnly": true + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "blobRestoreStatus": { + "$ref": "#/definitions/BlobRestoreStatus", + "x-ms-client-name": "BlobRestoreStatus", + "description": "Blob restore status", + "readOnly": true + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." + }, + "allowedCopyScope": { + "type": "string", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + }, + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet." + }, + "storageAccountSkuConversionStatus": { + "$ref": "#/definitions/StorageAccountSkuConversionStatus", + "x-ms-client-name": "StorageAccountSkuConversionStatus", + "description": "This property is readOnly and is set by server during asynchronous storage account sku conversion operations." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + } + }, + "description": "Properties of the storage account." + }, + "DeletedAccount": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeletedAccountProperties", + "description": "Properties of the deleted account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Deleted storage account" + }, + "StorageAccount": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Gets the SKU." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Gets the Kind.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountProperties", + "description": "Properties of the storage account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The storage account." + }, + "StorageAccountKey": { + "properties": { + "keyName": { + "readOnly": true, + "type": "string", + "description": "Name of the key." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "Base 64-encoded value of the key." + }, + "permissions": { + "readOnly": true, + "type": "string", + "description": "Permissions for the key -- read-only or full permissions.", + "enum": [ + "Read", + "Full" + ], + "x-ms-enum": { + "name": "KeyPermission", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Creation time of the key, in round trip date format." + } + }, + "description": "An access key for the storage account." + }, + "StorageAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "Gets the list of storage accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Accounts operation." + }, + "DeletedAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DeletedAccount" + }, + "description": "Gets the list of deleted accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of deleted accounts. Returned when total number of requested deleted accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Deleted Accounts operation." + }, + "StorageAccountListKeysResult": { + "properties": { + "keys": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccountKey" + }, + "description": "Gets the list of storage account keys and their properties for the specified storage account." + } + }, + "description": "The response from the ListKeys operation." + }, + "StorageAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2." + } + }, + "required": [ + "keyName" + ], + "description": "The parameters used to regenerate the storage account key." + }, + "StorageAccountPropertiesUpdateParameters": { + "properties": { + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Not applicable. Azure Storage encryption at rest is enabled by default for all storage accounts and cannot be disabled." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier is used for billing. The 'Premium' access tier is the default value for premium block blobs storage account type and it cannot be changed for the premium block blobs storage account type.", + "enum": [ + "Hot", + "Cool", + "Premium" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "isSftpEnabled": { + "type": "boolean", + "x-ms-client-name": "IsSftpEnabled", + "description": "Enables Secure File Transfer Protocol, if set to true" + }, + "isLocalUserEnabled": { + "type": "boolean", + "x-ms-client-name": "IsLocalUserEnabled", + "description": "Enables local users feature, if set to true" + }, + "networkAcls": { + "description": "Network rule set", + "x-ms-client-name": "NetworkRuleSet", + "$ref": "#/definitions/NetworkRuleSet" + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." + }, + "allowedCopyScope": { + "type": "string", + "enum": [ + "PrivateLink", + "AAD" + ], + "x-ms-enum": { + "name": "AllowedCopyScope", + "modelAsString": true + }, + "description": "Restrict copy to and from Storage Accounts within an AAD tenant or with Private Links to the same VNet." + }, + "dnsEndpointType": { + "type": "string", + "enum": [ + "Standard", + "AzureDnsZone" + ], + "x-ms-enum": { + "name": "DnsEndpointType", + "modelAsString": true + }, + "description": "Allows you to specify the type of endpoint. Set this to AzureDNSZone to create a large number of accounts in a single subscription, which creates accounts in an Azure DNS Zone and the endpoint URL will have an alphanumeric DNS Zone identifier." + } + }, + "description": "The parameters used when updating a storage account." + }, + "StorageAccountUpdateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value." + }, + "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 in length than 128 characters and a value no greater in length than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesUpdateParameters", + "description": "The parameters used when updating a storage account." + }, + "kind": { + "type": "string", + "description": "Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + } + }, + "description": "The parameters that can be provided when updating the storage account properties." + }, + "BlobRestoreParameters": { + "properties": { + "timeToRestore": { + "type": "string", + "format": "date-time", + "description": "Restore blob to the specified time." + }, + "blobRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobRestoreRange" + }, + "description": "Blob ranges to restore." + } + }, + "required": [ + "timeToRestore", + "blobRanges" + ], + "description": "Blob restore parameters" + }, + "BlobRestoreRange": { + "properties": { + "startRange": { + "type": "string", + "description": "Blob start range. This is inclusive. Empty means account start." + }, + "endRange": { + "type": "string", + "description": "Blob end range. This is exclusive. Empty means account end." + } + }, + "required": [ + "startRange", + "endRange" + ], + "description": "Blob range" + }, + "UsageName": { + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "Gets a string describing the resource name." + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "Gets a localized string describing the resource name." + } + }, + "description": "The usage names that can be used; currently limited to StorageAccount." + }, + "Usage": { + "properties": { + "unit": { + "readOnly": true, + "type": "string", + "description": "Gets the unit of measurement.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountsPerSecond", + "BytesPerSecond" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the current count of the allocated resources in the subscription." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the maximum count of the resources that can be allocated in the subscription." + }, + "name": { + "$ref": "#/definitions/UsageName", + "readOnly": true, + "description": "Gets the name of the type of usage." + } + }, + "description": "Describes Storage Resource Usage." + }, + "UsageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "Gets or sets the list of Storage Resource Usages." + } + }, + "description": "The response from the List Usages operation." + }, + "AccountSasParameters": { + "properties": { + "signedServices": { + "type": "string", + "enum": [ + "b", + "q", + "t", + "f" + ], + "x-ms-enum": { + "name": "Services", + "modelAsString": true + }, + "x-ms-client-name": "Services", + "description": "The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f)." + }, + "signedResourceTypes": { + "type": "string", + "enum": [ + "s", + "c", + "o" + ], + "x-ms-enum": { + "name": "SignedResourceTypes", + "modelAsString": true + }, + "x-ms-client-name": "ResourceTypes", + "description": "The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + } + }, + "required": [ + "signedServices", + "signedResourceTypes", + "signedPermission", + "signedExpiry" + ], + "description": "The parameters to list SAS credentials of a storage account." + }, + "ListAccountSasResponse": { + "properties": { + "accountSasToken": { + "readOnly": true, + "type": "string", + "description": "List SAS credentials of storage account." + } + }, + "description": "The List SAS credentials operation response." + }, + "ServiceSasParameters": { + "properties": { + "canonicalizedResource": { + "type": "string", + "description": "The canonical path to the signed resource." + }, + "signedResource": { + "type": "string", + "enum": [ + "b", + "c", + "f", + "s" + ], + "x-ms-enum": { + "name": "signedResource", + "modelAsString": true + }, + "x-ms-client-name": "Resource", + "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." + }, + "signedPermission": { + "type": "string", + "enum": [ + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" + ], + "x-ms-enum": { + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." + }, + "signedProtocol": { + "type": "string", + "enum": [ + "https,http", + "https" + ], + "x-ms-enum": { + "name": "HttpProtocol", + "modelAsString": false + }, + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "signedIdentifier": { + "type": "string", + "maxLength": 64, + "x-ms-client-name": "Identifier", + "description": "A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table." + }, + "startPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyStart", + "description": "The start of partition key." + }, + "endPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyEnd", + "description": "The end of partition key." + }, + "startRk": { + "type": "string", + "x-ms-client-name": "RowKeyStart", + "description": "The start of row key." + }, + "endRk": { + "type": "string", + "x-ms-client-name": "RowKeyEnd", + "description": "The end of row key." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + }, + "rscc": { + "type": "string", + "x-ms-client-name": "CacheControl", + "description": "The response header override for cache control." + }, + "rscd": { + "type": "string", + "x-ms-client-name": "ContentDisposition", + "description": "The response header override for content disposition." + }, + "rsce": { + "type": "string", + "x-ms-client-name": "ContentEncoding", + "description": "The response header override for content encoding." + }, + "rscl": { + "type": "string", + "x-ms-client-name": "ContentLanguage", + "description": "The response header override for content language." + }, + "rsct": { + "type": "string", + "x-ms-client-name": "ContentType", + "description": "The response header override for content type." + } + }, + "required": [ + "canonicalizedResource" + ], + "description": "The parameters to list service SAS credentials of a specific resource." + }, + "ListServiceSasResponse": { + "properties": { + "serviceSasToken": { + "readOnly": true, + "type": "string", + "description": "List service SAS credentials of specific resource." + } + }, + "description": "The List service SAS credentials operation response." + }, + "ManagementPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagementPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Data Policies Rules." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Get Storage Account ManagementPolicies operation response." + }, + "ManagementPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the date and time the ManagementPolicies was last modified." + }, + "policy": { + "$ref": "#/definitions/ManagementPolicySchema", + "description": "The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "policy" + ], + "description": "The Storage Account ManagementPolicy properties." + }, + "ManagementPolicySchema": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementPolicyRule" + }, + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "rules" + ], + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + }, + "ManagementPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled if set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "type": { + "type": "string", + "description": "The valid value is Lifecycle", + "enum": [ + "Lifecycle" + ], + "x-ms-enum": { + "name": "RuleType", + "modelAsString": true + } + }, + "definition": { + "$ref": "#/definitions/ManagementPolicyDefinition", + "description": "An object that defines the Lifecycle rule." + } + }, + "required": [ + "name", + "type", + "definition" + ], + "description": "An object that wraps the Lifecycle rule. Each rule is uniquely defined by name." + }, + "ManagementPolicyDefinition": { + "properties": { + "actions": { + "$ref": "#/definitions/ManagementPolicyAction", + "description": "An object that defines the action set." + }, + "filters": { + "$ref": "#/definitions/ManagementPolicyFilter", + "description": "An object that defines the filter set." + } + }, + "required": [ + "actions" + ], + "description": "An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set." + }, + "ManagementPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings for prefixes to be match." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob." + }, + "blobIndexMatch": { + "type": "array", + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of blob index tag based filters, there can be at most 10 tag filters" + } + }, + "required": [ + "blobTypes" + ], + "description": "Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. " + }, + "TagFilter": { + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "This is the filter tag name, it can have 1 - 128 characters" + }, + "op": { + "type": "string", + "description": "This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported" + }, + "value": { + "type": "string", + "minLength": 0, + "maxLength": 256, + "description": "This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters" + } + }, + "required": [ + "name", + "op", + "value" + ], + "description": "Blob index tag based filtering for blob objects" + }, + "ManagementPolicyAction": { + "properties": { + "baseBlob": { + "$ref": "#/definitions/ManagementPolicyBaseBlob", + "description": "The management policy action for base blob" + }, + "snapshot": { + "$ref": "#/definitions/ManagementPolicySnapShot", + "description": "The management policy action for snapshot" + }, + "version": { + "$ref": "#/definitions/ManagementPolicyVersion", + "description": "The management policy action for version" + } + }, + "description": "Actions are applied to the filtered blobs when the execution condition is met." + }, + "ManagementPolicyBaseBlob": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to cool storage. Support blobs currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to delete the blob" + }, + "enableAutoTierToHotFromCool": { + "type": "boolean", + "description": "This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan." + } + }, + "description": "Management policy action for base blob." + }, + "ManagementPolicySnapShot": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to cool storage. Support blob snapshot currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to archive storage. Support blob snapshot currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob snapshot" + } + }, + "description": "Management policy action for snapshot." + }, + "ManagementPolicyVersion": { + "properties": { + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to cool storage. Support blob version currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to archive storage. Support blob version currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob version" + } + }, + "description": "Management policy action for blob version." + }, + "DateAfterModification": { + "properties": { + "daysAfterModificationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last modification" + }, + "daysAfterLastAccessTimeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy" + }, + "daysAfterLastTierChangeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterModificationGreaterThan to be set for baseBlobs based actions. The blob will be archived if both the conditions are satisfied." + }, + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after blob creation." + } + }, + "description": "Object to define the base blob action conditions. Properties daysAfterModificationGreaterThan, daysAfterLastAccessTimeGreaterThan and daysAfterCreationGreaterThan are mutually exclusive. The daysAfterLastTierChangeGreaterThan property is only applicable for tierToArchive actions which requires daysAfterModificationGreaterThan to be set, also it cannot be used in conjunction with daysAfterLastAccessTimeGreaterThan or daysAfterCreationGreaterThan." + }, + "DateAfterCreation": { + "properties": { + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after creation" + }, + "daysAfterLastTierChangeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob tier change time. This property is only applicable for tierToArchive actions and requires daysAfterCreationGreaterThan to be set for snapshots and blob version based actions. The blob will be archived if both the conditions are satisfied." + } + }, + "required": [ + "daysAfterCreationGreaterThan" + ], + "description": "Object to define snapshot and version action conditions." + }, + "EncryptionScope": { + "properties": { + "properties": { + "$ref": "#/definitions/EncryptionScopeProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "EncryptionScopeProperties", + "description": "Properties of the encryption scope." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Encryption Scope resource." + }, + "EncryptionScopeProperties": { + "properties": { + "source": { + "type": "string", + "enum": [ + "Microsoft.Storage", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "EncryptionScopeSource", + "modelAsString": true + }, + "description": "The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault." + }, + "state": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EncryptionScopeState", + "modelAsString": true + }, + "description": "The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the encryption scope in UTC." + }, + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the last modification date and time of the encryption scope in UTC." + }, + "keyVaultProperties": { + "$ref": "#/definitions/EncryptionScopeKeyVaultProperties", + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + } + }, + "description": "Properties of the encryption scope." + }, + "EncryptionScopeKeyVaultProperties": { + "properties": { + "keyUri": { + "type": "string", + "description": "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope." + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use." + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key." + } + }, + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "EncryptionScopeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "List of encryption scopes requested.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size.", + "readOnly": true + } + }, + "description": "List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes." + }, + "ObjectReplicationPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The replication policy between two storage accounts." + } + }, + "description": "List storage account object replication policies." + }, + "ObjectReplicationPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ObjectReplicationPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Object Replication Policy." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The replication policy between two storage accounts. Multiple rules can be defined in one policy." + }, + "ObjectReplicationPolicyProperties": { + "properties": { + "policyId": { + "readOnly": true, + "type": "string", + "description": "A unique id for object replication policy." + }, + "enabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Indicates when the policy is enabled on the source account." + }, + "sourceAccount": { + "type": "string", + "description": "Required. Source account name. It should be full resource id if allowCrossTenantReplication set to false." + }, + "destinationAccount": { + "type": "string", + "description": "Required. Destination account name. It should be full resource id if allowCrossTenantReplication set to false." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicyRule" + }, + "description": "The storage account object replication rules." + } + }, + "required": [ + "sourceAccount", + "destinationAccount" + ], + "description": "The Storage Account ObjectReplicationPolicy properties." + }, + "ObjectReplicationPolicyRule": { + "properties": { + "ruleId": { + "type": "string", + "description": "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account." + }, + "sourceContainer": { + "type": "string", + "description": "Required. Source container name." + }, + "destinationContainer": { + "type": "string", + "description": "Required. Destination container name." + }, + "filters": { + "$ref": "#/definitions/ObjectReplicationPolicyFilter", + "description": "Optional. An object that defines the filter set." + } + }, + "required": [ + "sourceContainer", + "destinationContainer" + ], + "description": "The replication policy rule between two containers." + }, + "ObjectReplicationPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Filters the results to replicate only blobs whose names begin with the specified prefix." + }, + "minCreationTime": { + "type": "string", + "description": "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z" + } + }, + "description": "Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters." + }, + "LocalUsers": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LocalUser" + }, + "description": "The local users associated with the storage account." + } + }, + "description": "List storage account local users." + }, + "LocalUser": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/LocalUserProperties", + "x-ms-client-flatten": true, + "description": "Storage account local user properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The local user associated with the storage accounts." + }, + "LocalUserProperties": { + "type": "object", + "properties": { + "permissionScopes": { + "type": "array", + "items": { + "$ref": "#/definitions/PermissionScope" + }, + "description": "The permission scopes of the local user." + }, + "homeDirectory": { + "type": "string", + "description": "Optional, local user home directory." + }, + "sshAuthorizedKeys": { + "$ref": "#/definitions/SshAuthorizedKeys" + }, + "sid": { + "readOnly": true, + "type": "string", + "description": "A unique Security Identifier that is generated by the server." + }, + "hasSharedKey": { + "type": "boolean", + "description": "Indicates whether shared key exists. Set it to false to remove existing shared key." + }, + "hasSshKey": { + "type": "boolean", + "description": "Indicates whether ssh key exists. Set it to false to remove existing SSH key." + }, + "hasSshPassword": { + "type": "boolean", + "description": "Indicates whether ssh password exists. Set it to false to remove existing SSH password." + } + }, + "description": "The Storage Account Local User properties." + }, + "LocalUserKeys": { + "type": "object", + "properties": { + "sshAuthorizedKeys": { + "$ref": "#/definitions/SshAuthorizedKeys" + }, + "sharedKey": { + "x-ms-secret": true, + "$ref": "#/definitions/SharedKey" + } + }, + "description": "The Storage Account Local User keys." + }, + "LocalUserRegeneratePasswordResult": { + "type": "object", + "properties": { + "sshPassword": { + "x-ms-secret": true, + "readOnly": true, + "type": "string", + "description": "Auto generated password by the server for SSH authentication if hasSshPassword is set to true on the creation of local user." + } + }, + "description": "The secrets of Storage Account Local User." + }, + "PermissionScope": { + "type": "object", + "properties": { + "permissions": { + "type": "string", + "description": "The permissions for the local user. Possible values include: Read (r), Write (w), Delete (d), List (l), and Create (c)." + }, + "service": { + "type": "string", + "description": "The service used by the local user, e.g. blob, file." + }, + "resourceName": { + "type": "string", + "description": "The name of resource, normally the container name or the file share name, used by the local user." + } + }, + "required": [ + "permissions", + "service", + "resourceName" + ] + }, + "SshAuthorizedKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "Optional, local user ssh authorized keys for SFTP." + }, + "SshPublicKey": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Optional. It is used to store the function/usage of the key" + }, + "key": { + "type": "string", + "description": "Ssh public key base64 encoded. The format should be: ' ', e.g. ssh-rsa AAAABBBB" + } + } + }, + "SharedKey": { + "readOnly": true, + "type": "string", + "description": "Auto generated by the server for SMB authentication." + }, + "ListBlobInventoryPolicy": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "List of blob inventory policies.", + "readOnly": true + } + }, + "description": "List of blob inventory policies returned." + }, + "BlobInventoryPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/BlobInventoryPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the storage account blob inventory policy rules." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The storage account blob inventory policy." + }, + "BlobInventoryPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Returns the last modified date and time of the blob inventory policy." + }, + "policy": { + "$ref": "#/definitions/BlobInventoryPolicySchema", + "description": "The storage account blob inventory policy object. It is composed of policy rules." + } + }, + "required": [ + "policy" + ], + "description": "The storage account blob inventory policy properties." + }, + "BlobInventoryPolicySchema": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Policy is enabled if set to true." + }, + "destination": { + "readOnly": true, + "type": "string", + "description": "Deprecated Property from API version 2021-04-01 onwards, the required destination container name must be specified at the rule level 'policy.rule.destination'" + }, + "type": { + "type": "string", + "description": "The valid value is Inventory", + "enum": [ + "Inventory" + ], + "x-ms-enum": { + "name": "InventoryRuleType", + "modelAsString": true + } + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicyRule" + }, + "description": "The storage account blob inventory policy rules. The rule is applied when it is enabled." + } + }, + "required": [ + "enabled", + "type", + "rules" + ], + "description": "The storage account blob inventory policy rules." + }, + "BlobInventoryPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled when set to true." + }, + "name": { + "type": "string", + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." + }, + "destination": { + "type": "string", + "description": "Container name where blob inventory files are stored. Must be pre-created." + }, + "definition": { + "$ref": "#/definitions/BlobInventoryPolicyDefinition", + "description": "An object that defines the blob inventory policy rule." + } + }, + "required": [ + "name", + "enabled", + "destination", + "definition" + ], + "description": "An object that wraps the blob inventory rule. Each rule is uniquely defined by name." + }, + "BlobInventoryPolicyDefinition": { + "properties": { + "filters": { + "$ref": "#/definitions/BlobInventoryPolicyFilter", + "description": "An object that defines the filter set." + }, + "format": { + "type": "string", + "description": "This is a required field, it specifies the format for the inventory files.", + "enum": [ + "Csv", + "Parquet" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true + } + }, + "schedule": { + "type": "string", + "description": "This is a required field. This field is used to schedule an inventory formation.", + "enum": [ + "Daily", + "Weekly" + ], + "x-ms-enum": { + "name": "schedule", + "modelAsString": true + } + }, + "objectType": { + "type": "string", + "description": "This is a required field. This field specifies the scope of the inventory created either at the blob or container level.", + "enum": [ + "Blob", + "Container" + ], + "x-ms-enum": { + "name": "objectType", + "modelAsString": true + } + }, + "schemaFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This is a required field. This field specifies the fields and properties of the object to be included in the inventory. The Schema field value 'Name' is always required. The valid values for this field for the 'Blob' definition.objectType include 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime, Tags, Etag, ContentType, ContentEncoding, ContentLanguage, ContentCRC64, CacheControl, ContentDisposition, LeaseStatus, LeaseState, LeaseDuration, ServerEncrypted, Deleted, DeletionId, DeletedTime, RemainingRetentionDays, ImmutabilityPolicyUntilDate, ImmutabilityPolicyMode, LegalHold, CopyId, CopyStatus, CopySource, CopyProgress, CopyCompletionTime, CopyStatusDescription, CustomerProvidedKeySha256, RehydratePriority, ArchiveStatus, XmsBlobSequenceNumber, EncryptionScope, IncrementalCopy, TagCount'. For Blob object type schema field value 'DeletedTime' is applicable only for Hns enabled accounts. The valid values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold, Etag, DefaultEncryptionScope, DenyEncryptionScopeOverride, ImmutableStorageWithVersioningEnabled, Deleted, Version, DeletedTime, RemainingRetentionDays'. Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, DeletionId' are valid only for Hns enabled accounts.Schema field values 'Tags, TagCount' are only valid for Non-Hns accounts." + } + }, + "required": [ + "format", + "schedule", + "objectType", + "schemaFields" + ], + "description": "An object that defines the blob inventory rule." + }, + "BlobInventoryPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings with maximum 10 blob prefixes to be included in the inventory." + }, + "excludePrefix": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings with maximum 10 blob prefixes to be excluded from the inventory." + }, + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when definition.objectType property is set to 'Blob'." + }, + "includeBlobVersions": { + "type": "boolean", + "description": "Includes blob versions in blob inventory when value is set to true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this property is set to true, else they must be excluded." + }, + "includeSnapshots": { + "type": "boolean", + "description": "Includes blob snapshots in blob inventory when value is set to true. The definition.schemaFields value 'Snapshot' is required if this property is set to true, else it must be excluded." + }, + "includeDeleted": { + "type": "boolean", + "description": "For 'Container' definition.objectType the definition.schemaFields must include 'Deleted, Version, DeletedTime and RemainingRetentionDays'. For 'Blob' definition.objectType and HNS enabled storage accounts the definition.schemaFields must include 'DeletionId, Deleted, DeletedTime and RemainingRetentionDays' and for Hns disabled accounts the definition.schemaFields must include 'Deleted and RemainingRetentionDays', else it must be excluded." + } + }, + "description": "An object that defines the blob inventory rule filter conditions. For 'Blob' definition.objectType all filter properties are applicable, 'blobTypes' is required and others are optional. For 'Container' definition.objectType only prefixMatch is applicable and is optional." + }, + "ErrorResponseBody": { + "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." + } + }, + "description": "Error response body contract." + }, + "ErrorResponse": { + "properties": { + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure Storage Resource Provider error response body." + } + }, + "description": "An error response from the storage resource provider." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "StorageAccountName": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DeletedAccountName": { + "name": "deletedAccountName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the deleted storage account.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ManagementPolicyName": { + "name": "managementPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Storage Account Management Policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagementPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "EncryptionScopeName": { + "name": "encryptionScopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ObjectReplicationPolicyId": { + "name": "objectReplicationPolicyId", + "in": "path", + "required": true, + "type": "string", + "description": "For the destination account, provide the value 'default'. Configure the policy on the destination account first. For the source account, provide the value of the policy ID that is returned when you download the policy that was defined on the destination account. The policy is downloaded as a JSON file.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "Username": { + "name": "username", + "in": "path", + "required": true, + "type": "string", + "description": "The name of local user. The username must contain lowercase letters and numbers only. It must be unique only within the storage account.", + "minLength": 3, + "maxLength": 64, + "x-ms-parameter-location": "method" + }, + "BlobInventoryPolicyName": { + "name": "blobInventoryPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account blob inventory policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobInventoryPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/table.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/table.json new file mode 100644 index 000000000000..fc8b55627fb8 --- /dev/null +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2021-09-01/table.json @@ -0,0 +1,570 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-09-01", + "title": "StorageManagementClient", + "description": "The Azure Storage Management API." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices": { + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_List", + "x-ms-examples": { + "TableServicesList": { + "$ref": "./examples/TableServicesList.json" + } + }, + "description": "List all table services for the storage account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/ListTableServices" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}": { + "put": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_SetServiceProperties", + "x-ms-examples": { + "TableServicesPut": { + "$ref": "./examples/TableServicesPut.json" + } + }, + "description": "Sets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules. ", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "The properties of a storage account’s Table service, only properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules can be specified." + } + ], + "responses": { + "200": { + "description": "OK -- Sets The properties of a storage account’s Table service successfully.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableServiceProperties" + ], + "operationId": "TableServices_GetServiceProperties", + "x-ms-examples": { + "TableServicesGet": { + "$ref": "./examples/TableServicesGet.json" + } + }, + "description": "Gets the properties of a storage account’s Table service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableServiceName" + } + ], + "responses": { + "200": { + "description": "OK -- returned the properties of a storage account’s Table service.", + "schema": { + "$ref": "#/definitions/TableServiceProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables/{tableName}": { + "put": { + "tags": [ + "TableService" + ], + "operationId": "Table_Create", + "x-ms-examples": { + "TableOperationPut": { + "$ref": "./examples/TableOperationPut.json" + }, + "TableOperationPutOrPatchAcls": { + "$ref": "./examples/TableOperationPutOrPatchAcls.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters to provide to create a table." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "TableService" + ], + "operationId": "Table_Update", + "x-ms-examples": { + "TableOperationPatch": { + "$ref": "./examples/TableOperationPatch.json" + }, + "TableOperationPutOrPatchAcls": { + "$ref": "./examples/TableOperationPutOrPatchAcls.json" + } + }, + "description": "Creates a new table with the specified table name, under the specified account.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/Table" + }, + "description": "The parameters to provide to create a table." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- Creates a table with the given table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_Get", + "x-ms-examples": { + "TableOperationGet": { + "$ref": "./examples/TableOperationGet.json" + } + }, + "description": "Gets the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "200": { + "description": "OK -- returned table with the specified table name successfully.", + "schema": { + "$ref": "#/definitions/Table" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "TableService" + ], + "operationId": "Table_Delete", + "x-ms-examples": { + "TableOperationDelete": { + "$ref": "./examples/TableOperationDelete.json" + } + }, + "description": "Deletes the table with the specified table name, under the specified account if it exists.", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/TableName" + } + ], + "responses": { + "204": { + "description": "No Content - Successfully deleted the table with the specified table name" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/default/tables": { + "get": { + "tags": [ + "TableService" + ], + "operationId": "Table_List", + "x-ms-examples": { + "TableOperationList": { + "$ref": "./examples/TableOperationList.json" + } + }, + "description": "Gets a list of all the tables under the specified storage account", + "parameters": [ + { + "$ref": "./storage.json#/parameters/ResourceGroupName" + }, + { + "$ref": "./storage.json#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- returned a list of tables successfully.", + "schema": { + "$ref": "#/definitions/ListTableResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ListTableServices": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TableServiceProperties" + }, + "description": "List of table services returned.", + "readOnly": true + } + } + }, + "TableServiceProperties": { + "properties": { + "properties": { + "properties": { + "cors": { + "$ref": "./common.json#/definitions/CorsRules", + "description": "Specifies CORS rules for the Table service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Table service." + } + }, + "x-ms-client-flatten": true, + "x-ms-client-name": "TableServiceProperties", + "description": "The properties of a storage account’s Table service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The properties of a storage account’s Table service." + }, + "Table": { + "properties": { + "properties": { + "$ref": "#/definitions/TableProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "TableProperties", + "description": "Table resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "Properties of the table, including Id, resource name, resource type." + }, + "TableProperties": { + "properties": { + "tableName": { + "type": "string", + "readOnly": true, + "description": "Table name under the specified account" + }, + "signedIdentifiers": { + "type": "array", + "items": { + "$ref": "#/definitions/TableSignedIdentifier" + }, + "description": "List of stored access policies specified on the table." + } + } + }, + "ListTableResource": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Table" + }, + "description": "List of tables returned.", + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of tables", + "readOnly": true + } + }, + "description": "Response schema. Contains list of tables returned" + }, + "TableSignedIdentifier": { + "properties": { + "id": { + "type": "string", + "description": "unique-64-character-value of the stored access policy." + }, + "accessPolicy": { + "$ref": "#/definitions/TableAccessPolicy", + "description": "Access policy" + } + }, + "required": [ + "id" + ], + "type": "object", + "description": "Object to set Table Access Policy." + }, + "TableAccessPolicy": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Start time of the access policy" + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the access policy" + }, + "permission": { + "type": "string", + "description": "Required. List of abbreviated permissions. Supported permission values include 'r','a','u','d'" + } + }, + "required": [ + "permission" + ], + "type": "object", + "description": "Table Access Policy Properties Object." + } + }, + "parameters": { + "TableServiceName": { + "name": "tableServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Table Service within the specified storage account. Table Service Name must be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "TableServiceName", + "modelAsString": false + }, + "x-ms-parameter-location": "method" + }, + "TableName": { + "name": "tableName", + "in": "path", + "required": true, + "type": "string", + "description": "A table name must be unique within a storage account and must be between 3 and 63 characters.The name must comprise of only alphanumeric characters and it cannot begin with a numeric character.", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z][A-Za-z0-9]{2,62}$", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/storage/resource-manager/readme.csharp.md b/specification/storage/resource-manager/readme.csharp.md index 729a9b2fe324..7a85741346bf 100644 --- a/specification/storage/resource-manager/readme.csharp.md +++ b/specification/storage/resource-manager/readme.csharp.md @@ -113,4 +113,15 @@ namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Storage output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.Management.Storage/src/Generated batch: - tag: profile-hybrid-2021-06-01 +``` + +### Profile: hybrid_2021_09_01 + +These settings apply only when `--csharp-profile=hybrid_2021_09_01` is specified on the command line. + +```yaml $(csharp-profile)=='hybrid_2021_09_01' +namespace: Microsoft.Azure.Management.Profiles.$(csharp-profile).Storage +output-folder: $(csharp-sdks-folder)/$(csharp-profile)/storage/Microsoft.Azure.Management.Storage/src/Generated +batch: + - tag: profile-hybrid-2021-09-01 ``` \ No newline at end of file diff --git a/specification/storage/resource-manager/readme.go.md b/specification/storage/resource-manager/readme.go.md index 8f55d579a8a5..79254ac82e85 100644 --- a/specification/storage/resource-manager/readme.go.md +++ b/specification/storage/resource-manager/readme.go.md @@ -23,6 +23,8 @@ modelerfour: ``` yaml $(go) && $(multiapi) batch: + - tag: package-2021-09 + - tag: package-2021-08 - tag: package-2021-06 - tag: package-2021-04 - tag: package-2021-02 @@ -43,6 +45,24 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2021-09 and go + +These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace) +``` + +### Tag: package-2021-08 and go + +These settings apply only when `--tag=package-2021-08 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2021-08' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace) +``` + ### Tag: package-2021-06 and go These settings apply only when `--tag=package-2021-06 --go` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.java.md b/specification/storage/resource-manager/readme.java.md index 74f4e48836d1..dd1ccedfd090 100644 --- a/specification/storage/resource-manager/readme.java.md +++ b/specification/storage/resource-manager/readme.java.md @@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-storage ``` yaml $(java) && $(multiapi) batch: + - tag: package-2021-09 - tag: package-2021-06 - tag: package-2021-04 - tag: package-2021-02 @@ -29,6 +30,19 @@ batch: - tag: package-2016-01 ``` +### Tag: package-2021-09 and java + +These settings apply only when `--tag=package-2021-09 --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.storage.v2021_09_01 + output-folder: $(azure-libraries-for-java-folder)/sdk/storage/mgmt-v2021_09_01 +regenerate-manager: true +generate-interface: true +``` + ### Tag: package-2021-06 and java These settings apply only when `--tag=package-2021-06 --java` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.md b/specification/storage/resource-manager/readme.md index 7fceefd52986..97a1af48dafa 100644 --- a/specification/storage/resource-manager/readme.md +++ b/specification/storage/resource-manager/readme.md @@ -26,7 +26,59 @@ These are the global settings for the Storage API. ``` yaml openapi-type: arm -tag: package-2021-08 +tag: package-2021-09 +``` +### Tag: package-2021-09 + +These settings apply only when `--tag=package-2021-09` is specified on the command line. + +``` yaml $(tag) == 'package-2021-09' +input-file: +- Microsoft.Storage/stable/2021-09-01/storage.json +- Microsoft.Storage/stable/2021-09-01/blob.json +- Microsoft.Storage/stable/2021-09-01/file.json +- Microsoft.Storage/stable/2021-09-01/queue.json +- Microsoft.Storage/stable/2021-09-01/table.json + +directive: + - suppress: R3018 + reason: Existing boolean properties + approved-by: "@fearthecowboy" + + - where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/setLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/default/containers/{containerName}/clearLegalHold"].post.operationId + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey"].post.operationId + suppress: R1003 + reason: APIs return array of values, is not actually a 'list' operation + approved-by: "@fearthecowboy" + + - where: + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].patch + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].patch + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}"].get + - $.paths["/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}"].get + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/tableServices/{tableServiceName}"].put + - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/queueServices/{queueServiceName}"].put + suppress: R4009 ``` ### Tag: package-2021-08 diff --git a/specification/storage/resource-manager/readme.python.md b/specification/storage/resource-manager/readme.python.md index ec7086503472..742ac8e8ff2b 100644 --- a/specification/storage/resource-manager/readme.python.md +++ b/specification/storage/resource-manager/readme.python.md @@ -19,6 +19,7 @@ Generate all API versions currently shipped for this package ```yaml $(multiapi) clear-output-folder: true batch: + - tag: package-2021-09 - tag: package-2021-08 - tag: package-2021-06 - tag: package-2021-04 @@ -41,10 +42,19 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/ -clear-output-folder: false perform-load: false ``` +### Tag: package-2021-09 and python + +These settings apply only when `--tag=package-2021-09 --python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09' +namespace: azure.mgmt.storage.v2021_09_01 +output-folder: $(python-sdks-folder)/storage/azure-mgmt-storage/azure/mgmt/storage/v2021_09_01 +``` + ### Tag: package-2021-08 and python These settings apply only when `--tag=package-2021-08 --python` is specified on the command line. diff --git a/specification/storage/resource-manager/readme.ruby.md b/specification/storage/resource-manager/readme.ruby.md index e7c5f25ac398..bb674e0d0e3a 100644 --- a/specification/storage/resource-manager/readme.ruby.md +++ b/specification/storage/resource-manager/readme.ruby.md @@ -12,6 +12,7 @@ azure-arm: true ``` yaml $(ruby) && $(multiapi) batch: + - tag: package-2021-09 - tag: package-2021-06 - tag: package-2021-04 - tag: package-2020-08-preview @@ -24,6 +25,16 @@ batch: - tag: package-2015-05-preview ``` +### Tag: package-2021-09 and ruby + +These settings apply only when `--tag=package-2021-09 --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2021-09' && $(ruby) +namespace: "Azure::Storage::Mgmt::V2021-09" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_storage/lib +``` + ### Tag: package-2021-06 and ruby These settings apply only when `--tag=package-2021-06 --ruby` is specified on the command line. diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/preview/2019-08-01-preview/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/preview/2019-08-01-preview/examples/StorageTargets_ListByCache.json index 9b55bdb8f8a8..5c7fba31cebe 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/preview/2019-08-01-preview/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/preview/2019-08-01-preview/examples/StorageTargets_ListByCache.json @@ -40,7 +40,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/" } ], diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/examples/StorageTargets_ListByCache.json index 51b7244b1efa..703dd4152846 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2019-11-01/examples/StorageTargets_ListByCache.json @@ -40,7 +40,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/" } ], diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/StorageTargets_ListByCache.json index 687a0eb4b515..885ecea664a9 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-03-01/examples/StorageTargets_ListByCache.json @@ -56,7 +56,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/" } ], diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-10-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-10-01/examples/StorageTargets_ListByCache.json index 242773033d70..14821a87be8d 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-10-01/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2020-10-01/examples/StorageTargets_ListByCache.json @@ -58,7 +58,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/", "nfsAccessPolicy": "default" } diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-03-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-03-01/examples/StorageTargets_ListByCache.json index 4c941f8e4327..75ce6087afc9 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-03-01/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-03-01/examples/StorageTargets_ListByCache.json @@ -58,7 +58,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/", "nfsAccessPolicy": "default" } diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-05-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-05-01/examples/StorageTargets_ListByCache.json index e72736362194..4b36d1a76a95 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-05-01/examples/StorageTargets_ListByCache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-05-01/examples/StorageTargets_ListByCache.json @@ -58,7 +58,7 @@ "properties": { "junctions": [ { - "namespacePath": "/some/crazy/place/on/cache", + "namespacePath": "/some/arbitrary/place/on/cache", "targetPath": "/", "nfsAccessPolicy": "default" } diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json index 30ec1e121af0..698beb3c88e0 100644 --- a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2021-09-01/storagecache.json @@ -1270,7 +1270,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } @@ -1291,6 +1294,9 @@ "items": { "$ref": "#/definitions/ApiOperation" }, + "x-ms-identifiers": [ + "name" + ], "type": "array" } }, @@ -1319,6 +1325,7 @@ "items": { "$ref": "#/definitions/CloudErrorBody" }, + "x-ms-identifiers": [], "type": "array" }, "message": { @@ -1646,6 +1653,9 @@ "items": { "$ref": "#/definitions/NfsAccessPolicy" }, + "x-ms-identifiers": [ + "name" + ], "type": "array" } } @@ -1829,7 +1839,8 @@ "type": "array", "items": { "$ref": "#/definitions/NfsAccessRule" - } + }, + "x-ms-identifiers": [] } }, "required": [ @@ -1971,7 +1982,11 @@ "type": "array", "items": { "$ref": "#/definitions/Condition" - } + }, + "x-ms-identifiers": [ + "message", + "timestamp" + ] } } }, @@ -2100,7 +2115,10 @@ "type": "array", "items": { "$ref": "#/definitions/NamespaceJunction" - } + }, + "x-ms-identifiers": [ + "namespacePath" + ] }, "targetType": { "description": "Type of the Storage Target.", @@ -2248,6 +2266,9 @@ "items": { "$ref": "#/definitions/ResourceSkuCapabilities" }, + "x-ms-identifiers": [ + "name" + ], "type": "array" }, "locations": { @@ -2263,6 +2284,9 @@ "items": { "$ref": "#/definitions/ResourceSkuLocationInfo" }, + "x-ms-identifiers": [ + "location" + ], "type": "array" }, "name": { @@ -2274,6 +2298,9 @@ "items": { "$ref": "#/definitions/Restriction" }, + "x-ms-identifiers": [ + "type" + ], "description": "The restrictions preventing this SKU from being used. This is empty if there are no restrictions." } }, @@ -2355,6 +2382,10 @@ "items": { "$ref": "#/definitions/ResourceSku" }, + "x-ms-identifiers": [ + "name", + "resourceType" + ], "type": "array" } } @@ -2439,6 +2470,9 @@ "items": { "$ref": "#/definitions/UsageModel" }, + "x-ms-identifiers": [ + "modelName" + ], "type": "array" } }, @@ -2497,7 +2531,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "internalName" + ] } } }, diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscOperations_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscOperations_Get.json new file mode 100644 index 000000000000..e3dcb9e22931 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscOperations_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "operationId": "testoperationid", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/id/locations/westus/ascOperations/testoperationid", + "name": "testoperationid", + "startTime": "2022-01-01T13:13:13.933Z", + "endTime": "2022-01-01T16:13:13.933Z", + "status": "Succeeded" + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscResourceUsages_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscResourceUsages_Get.json new file mode 100644 index 000000000000..d9893a4a0b00 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/AscResourceUsages_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "limit": 4, + "unit": "Count", + "currentValue": 1, + "name": { + "value": "Cache", + "localizedValue": "Cache" + } + }, + { + "limit": 4, + "unit": "Count", + "currentValue": 0, + "name": { + "value": "AmlFilesystem", + "localizedValue": "AmlFilesystem" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate.json new file mode 100644 index 000000000000..16db9695174d --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate.json @@ -0,0 +1,291 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2047/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "cacheNetBiosName": "contosoSmb", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "credentials": { + "username": "consotoAdmin", + "password": "" + } + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "202": {}, + "201": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "5.3.23", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "5.3.24" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "No" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + }, + "zones": [ + "1" + ] + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + }, + "zones": [ + "1" + ] + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate_ldap_only.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate_ldap_only.json new file mode 100644 index 000000000000..32a494e19213 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_CreateOrUpdate_ldap_only.json @@ -0,0 +1,252 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "202": {}, + "201": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "5.3.23", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "5.3.24" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_DebugInfo.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_DebugInfo.json new file mode 100644 index 000000000000..6a19e5d0b7e4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_DebugInfo.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Delete.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Delete.json new file mode 100644 index 000000000000..6a19e5d0b7e4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Flush.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Flush.json new file mode 100644 index 000000000000..6a19e5d0b7e4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Flush.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Get.json new file mode 100644 index 000000000000..d84833693db2 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Get.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + }, + "zones": [ + "1" + ] + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_List.json new file mode 100644 index 000000000000..a335f432d7b5 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_List.json @@ -0,0 +1,221 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + }, + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", + "location": "westus", + "name": "sc2", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + }, + "zones": [ + "1" + ] + }, + "sku": { + "name": "Standard_2G" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_ListByResourceGroup.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_ListByResourceGroup.json new file mode 100644 index 000000000000..57a145fd4575 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_ListByResourceGroup.json @@ -0,0 +1,225 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Succeeded", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + }, + "zones": [ + "1" + ] + }, + "sku": { + "name": "Standard_2G" + } + }, + { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc2", + "location": "westus", + "name": "sc2", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub2", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + } + ] + }, + "encryptionSettings": { + "keyEncryptionKey": { + "keyUrl": "https://keyvault-cmk.vault.azure.net/keys/key2048/test", + "sourceVault": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.KeyVault/vaults/keyvault-cmk" + } + } + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + }, + "zones": [ + "2" + ] + }, + "sku": { + "name": "Standard_2G" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Start.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Start.json new file mode 100644 index 000000000000..6a19e5d0b7e4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Start.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Stop.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Stop.json new file mode 100644 index 000000000000..6a19e5d0b7e4 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Stop.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update.json new file mode 100644 index 000000000000..87959630abca --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update.json @@ -0,0 +1,217 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "cacheNetBiosName": "contosoSmb", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "activeDirectory": { + "primaryDnsIpAddress": "192.0.2.10", + "secondaryDnsIpAddress": "192.0.2.11", + "domainName": "contosoAd.contoso.local", + "domainNetBiosName": "contosoAd", + "cacheNetBiosName": "contosoSmb", + "domainJoined": "Yes" + }, + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "AD", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "", + "ldapBaseDN": "", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "Yes" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update_ldap_only.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update_ldap_only.json new file mode 100644 index 000000000000..bede770e772f --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_Update_ldap_only.json @@ -0,0 +1,208 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cache": { + "tags": { + "Dept": "Contoso" + }, + "location": "westus", + "properties": { + "cacheSizeGB": 3072, + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "credentials": { + "bindDn": "cn=ldapadmin,dc=contosoad,dc=contoso,dc=local", + "bindPassword": "" + } + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + }, + "responses": { + "200": { + "body": { + "tags": { + "Dept": "Contoso" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1", + "location": "westus", + "name": "sc1", + "type": "Microsoft.StorageCache/Cache", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "cacheSizeGB": 3072, + "health": { + "state": "Transitioning", + "statusDescription": "Cache is being created.", + "conditions": [ + { + "timestamp": "2021-04-21T18:25:43.511Z", + "message": "Cannot contact DNS server" + } + ] + }, + "mountAddresses": [ + "192.168.1.1", + "192.168.1.2" + ], + "provisioningState": "Updating", + "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Network/virtualNetworks/scvnet/subnets/sub1", + "upgradeStatus": { + "currentFirmwareVersion": "V5.1.12", + "firmwareUpdateStatus": "available", + "firmwareUpdateDeadline": "2019-04-21T18:25:43.511Z", + "lastFirmwareUpdate": "2019-01-21T18:25:43.511Z", + "pendingFirmwareVersion": "V5.1.15" + }, + "networkSettings": { + "mtu": 1500, + "dnsServers": [ + "10.1.22.33", + "10.1.12.33" + ], + "dnsSearchDomain": "contoso.com", + "ntpServer": "time.contoso.com" + }, + "securitySettings": { + "accessPolicies": [ + { + "name": "default", + "accessRules": [ + { + "scope": "default", + "access": "rw", + "suid": false, + "submountAccess": true, + "rootSquash": false + } + ] + }, + { + "name": "restrictive", + "accessRules": [ + { + "scope": "host", + "filter": "10.99.3.145", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "network", + "filter": "10.99.1.0/24", + "access": "rw", + "suid": true, + "submountAccess": true, + "rootSquash": false + }, + { + "scope": "default", + "access": "no", + "suid": false, + "submountAccess": true, + "rootSquash": true, + "anonymousUID": "65534", + "anonymousGID": "65534" + } + ] + } + ] + }, + "directoryServicesSettings": { + "usernameDownload": { + "extendedGroups": true, + "usernameSource": "LDAP", + "groupFileURI": "", + "userFileURI": "", + "ldapServer": "192.0.2.12", + "ldapBaseDN": "dc=contosoad,dc=contoso,dc=local", + "encryptLdapConnection": false, + "requireValidCertificate": false, + "autoDownloadCertificate": false, + "caCertificateURI": "", + "usernameDownloaded": "No" + } + } + }, + "sku": { + "name": "Standard_2G" + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_UpgradeFirmware.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_UpgradeFirmware.json new file mode 100644 index 000000000000..83e7f14e5fa6 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Caches_UpgradeFirmware.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "201": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Operations_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Operations_List.json new file mode 100644 index 000000000000..b151958f0e3e --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Operations_List.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2022-01-01", + "x-ms-client-request-id": [ + "7e655b68-e491-4cb6-90c3-6a5b10b7bd17" + ], + "accept-language": [ + "en-US" + ] + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.StorageCache/caches/write", + "display": { + "operation": "Create or Update Cache", + "provider": "Azure Storage Cache", + "resource": "Caches" + } + }, + { + "name": "Microsoft.StorageCache/caches/delete", + "display": { + "operation": "Delete Cache", + "provider": "Azure Storage Cache", + "resource": "Caches" + } + }, + { + "origin": "system", + "name": "Microsoft.StorageCache/caches/providers/Microsoft.Insights/metricDefinitions/read", + "isDataAction": false, + "display": { + "operation": "Get Cache Metric Definitions", + "provider": "Microsoft Azure HPC Cache", + "resource": "StorageCache Metric Definitions", + "description": "Reads Cache Metric Definitions." + }, + "properties": { + "serviceSpecification": { + "metricSpecifications": [ + { + "name": "ClientIOPS", + "displayName": "Total Client IOPS", + "displayDescription": "The rate of client file operations processed by the Cache.", + "unit": "Count", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Minimum", + "Maximum", + "Average" + ], + "metricClass": "Transactions" + }, + { + "name": "ClientLatency", + "displayName": "Average Client Latency", + "displayDescription": "Average latency of client file operations to the Cache.", + "unit": "Milliseconds", + "aggregationType": "Average", + "supportedAggregationTypes": [ + "Minimum", + "Maximum", + "Average" + ], + "metricClass": "Latency" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Skus_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Skus_List.json new file mode 100644 index 000000000000..4f7bef884c28 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/Skus_List.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "caches", + "name": "Standard_2G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "2" + }, + { + "name": "cache sizes(GB)", + "value": "3072,6144,12288" + } + ], + "restrictions": [] + }, + { + "resourceType": "caches", + "name": "Standard_4G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "4" + }, + { + "name": "cache sizes(GB)", + "value": "6144,12288,24576" + } + ], + "restrictions": [] + }, + { + "resourceType": "caches", + "name": "Standard_8G", + "locations": [ + "eastus" + ], + "locationInfo": [ + { + "location": "eastus", + "zones": [] + } + ], + "capabilities": [ + { + "name": "throughput GB/s", + "value": "8" + }, + { + "name": "cache sizes(GB)", + "value": "12288,24576,49152" + } + ], + "restrictions": [] + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate.json new file mode 100644 index 000000000000..d6fb597ff111 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "rootSquash" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json new file mode 100644 index 000000000000..b230e467f333 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_BlobNfs.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "state": "Ready", + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "blobNfs", + "junctions": [ + { + "namespacePath": "/blobnfs" + } + ], + "state": "Ready", + "blobNfs": { + "target": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.Storage/storageAccounts/blofnfs/blobServices/default/containers/blobnfs", + "usageModel": "WRITE_WORKLOAD_15" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json new file mode 100644 index 000000000000..9d80ecc91ddc --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_CreateOrUpdate_NoJunctions.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1", + "storageTargetName": "st1", + "storagetarget": { + "properties": { + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "nfs3", + "state": "Ready", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "201": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "targetType": "nfs3", + "state": "Ready", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_INFREQ" + } + } + } + }, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Delete.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Delete.json new file mode 100644 index 000000000000..fb1b9a0c5d95 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_DnsRefresh.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_DnsRefresh.json new file mode 100644 index 000000000000..992ae7d930b8 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_DnsRefresh.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Flush.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Flush.json new file mode 100644 index 000000000000..8d79228c6970 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Flush.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Get.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Get.json new file mode 100644 index 000000000000..feb29461a40f --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1", + "storageTargetName": "st1" + }, + "responses": { + "200": { + "body": { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_FREQ" + } + } + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Invalidate.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Invalidate.json new file mode 100644 index 000000000000..8d79228c6970 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Invalidate.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_ListByCache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_ListByCache.json new file mode 100644 index 000000000000..63da7c511147 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_ListByCache.json @@ -0,0 +1,109 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "cacheName": "sc1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "st1", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st1", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/path/on/cache", + "targetPath": "/path/on/exp1", + "nfsExport": "exp1", + "nfsAccessPolicy": "default" + }, + { + "namespacePath": "/path2/on/cache", + "targetPath": "/path2/on/exp2", + "nfsExport": "exp2", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "nfs3", + "nfs3": { + "target": "10.0.44.44", + "usageModel": "READ_HEAVY_FREQ" + } + } + }, + { + "name": "st2", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st2", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/some/arbitrary/place/on/cache", + "targetPath": "/", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "clfs", + "clfs": { + "target": "https://contoso123.blob.core.windows.net/contoso123" + } + } + }, + { + "name": "st3", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scgroup/providers/Microsoft.StorageCache/caches/sc1/storagetargets/st3", + "type": "Microsoft.StorageCache/Cache/StorageTarget", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "junctions": [ + { + "namespacePath": "/some/crazier/place/on/cache", + "targetPath": "/", + "nfsExport": "", + "nfsAccessPolicy": "default" + } + ], + "state": "Ready", + "targetType": "unknown", + "unknown": { + "attributes": { + "foo": "bar", + "foo2": "test" + } + } + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Resume.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Resume.json new file mode 100644 index 000000000000..8d79228c6970 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Resume.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Suspend.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Suspend.json new file mode 100644 index 000000000000..8d79228c6970 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/StorageTargets_Suspend.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "resourceGroupName": "scgroup", + "cacheName": "sc", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01", + "storageTargetName": "st1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/UsageModels_List.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/UsageModels_List.json new file mode 100644 index 000000000000..82a34ef8ff10 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/examples/UsageModels_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2022-01-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "modelName": "READ_HEAVY_INFREQ", + "targetType": "nfs3", + "display": { + "description": "Read heavy, infrequent changes" + } + }, + { + "modelName": "WRITE_AROUND", + "targetType": "nfs3", + "display": { + "description": "Clients write directly to storage" + } + }, + { + "modelName": "WRITE_WORKLOAD_15", + "targetType": "nfs3", + "display": { + "description": "Write workload > 15%" + } + } + ] + } + } + } +} diff --git a/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/storagecache.json b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/storagecache.json new file mode 100644 index 000000000000..ab65470e3442 --- /dev/null +++ b/specification/storagecache/resource-manager/Microsoft.StorageCache/stable/2022-01-01/storagecache.json @@ -0,0 +1,2767 @@ +{ + "swagger": "2.0", + "info": { + "description": "A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as \"Storage Targets\"). These operations allow you to manage Caches.", + "title": "Storage Cache Mgmt Client", + "version": "2022-01-01" + }, + "host": "management.azure.com", + "basePath": "/", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "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.StorageCache/operations": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of available Resource Provider operations.", + "schema": { + "$ref": "#/definitions/ApiOperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "tags": [ + "Operations" + ], + "description": "Lists all of the available Resource Provider operations.", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "operationId": "Operations_List", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of SKU descriptors.", + "schema": { + "$ref": "#/definitions/ResourceSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Skus_List": { + "$ref": "./examples/Skus_List.json" + } + }, + "tags": [ + "SKUs" + ], + "description": "Get the list of StorageCache.Cache SKUs available to this subscription.", + "operationId": "Skus_List" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of UsageModel descriptors.", + "schema": { + "$ref": "#/definitions/UsageModelsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "UsageModels_List": { + "$ref": "./examples/UsageModels_List.json" + } + }, + "tags": [ + "UsageModels" + ], + "description": "Get the list of Cache Usage Models available to this subscription.", + "operationId": "UsageModels_List" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/locations/{location}/ascOperations/{operationId}": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the region used to look up the operation." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation id which uniquely identifies the asynchronous operation." + } + ], + "responses": { + "200": { + "description": "The asynchronous operation was returned.", + "schema": { + "$ref": "#/definitions/AscOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AscOperations_Get": { + "$ref": "./examples/AscOperations_Get.json" + } + }, + "tags": [ + "AscOperations" + ], + "description": "Gets the status of an asynchronous operation for the Azure HPC Cache", + "operationId": "AscOperations_Get" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/locations/{location}/usages": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the region to query for usage information." + } + ], + "responses": { + "200": { + "description": "The usage information was returned.", + "schema": { + "$ref": "#/definitions/ResourceUsagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "AscUsages_List": { + "$ref": "./examples/AscResourceUsages_Get.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "AscUsages" + ], + "description": "Gets the quantity used and quota limit for resources", + "operationId": "AscUsages_List" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of Cache objects. Note that entity references might replace complete Cache objects, as described in http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_EntityReference", + "schema": { + "$ref": "#/definitions/CachesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Caches_List": { + "$ref": "./examples/Caches_List.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Returns all Caches the user has access to under a subscription.", + "operationId": "Caches_List" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A list of Cache objects. Note that entity references might replace complete Cache objects, as described in http://docs.oasis-open.org/odata/odata-json-format/v4.01/cs01/odata-json-format-v4.01-cs01.html#sec_EntityReference", + "schema": { + "$ref": "#/definitions/CachesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_ListByResourceGroup": { + "$ref": "./examples/Caches_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "Caches" + ], + "description": "Returns all Caches the user has access to under a resource group.", + "operationId": "Caches_ListByResourceGroup" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}": { + "delete": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Cache deleted." + }, + "202": { + "description": "Started the Cache's transition to Deleted state. Poll the Cache to monitor." + }, + "204": { + "description": "Cache deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Delete": { + "$ref": "./examples/Caches_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "Caches" + ], + "description": "Schedules a Cache for deletion.", + "operationId": "Caches_Delete" + }, + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Cache object corresponding to cacheName.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Get": { + "$ref": "./examples/Caches_Get.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Returns a Cache.", + "operationId": "Caches_Get" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "description": "Object containing the user-selectable properties of the new Cache. If read-only properties are included, they must match the existing values of those properties.", + "in": "body", + "name": "cache", + "schema": { + "$ref": "#/definitions/Cache" + } + } + ], + "responses": { + "200": { + "description": "Cache created or updated.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "201": { + "description": "Cache creation or update has been initiated. Poll the Cache's provisioningState property to monitor creation/update progress.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "202": { + "description": "Cache creation or update has been initiated. Poll the Cache's provisioningState property to monitor creation/update progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_CreateOrUpdate": { + "$ref": "./examples/Caches_CreateOrUpdate.json" + }, + "Caches_CreateOrUpdate_ldap_only": { + "$ref": "./examples/Caches_CreateOrUpdate_ldap_only.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "Caches" + ], + "description": "Create or update a Cache.", + "operationId": "Caches_CreateOrUpdate" + }, + "patch": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "description": "Object containing the user-selectable properties of the Cache. If read-only properties are included, they must match the existing values of those properties.", + "in": "body", + "name": "cache", + "schema": { + "$ref": "#/definitions/Cache" + } + } + ], + "responses": { + "200": { + "description": "Updated the Cache.", + "schema": { + "$ref": "#/definitions/Cache" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Update": { + "$ref": "./examples/Caches_Update.json" + }, + "Caches_Update_ldap_only": { + "$ref": "./examples/Caches_Update_ldap_only.json" + } + }, + "tags": [ + "Caches" + ], + "description": "Update a Cache instance.", + "operationId": "Caches_Update" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/dnsRefresh": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Cache has refreshed the storage target's DNS information." + }, + "202": { + "description": "Cache has started refreshing storage target DNS information." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_DnsRefresh": { + "$ref": "./examples/StorageTargets_DnsRefresh.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Tells a storage target to refresh its DNS information.", + "operationId": "StorageTargets_DnsRefresh" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/debugInfo": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache has started generating debug info." + }, + "202": { + "description": "Cache has started generating debug info." + }, + "204": { + "description": "Cache has started generating debug info." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_DebugInfo": { + "$ref": "./examples/Caches_DebugInfo.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Cache to write generate debug info for support to process.", + "operationId": "Caches_DebugInfo" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "All cached data has been flushed to the Storage Target(s)." + }, + "202": { + "description": "Cache has started flushing to its Storage Target(s). Poll the Cache's state field to monitor." + }, + "204": { + "description": "Cache flush already in progress or has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Flush": { + "$ref": "./examples/Caches_Flush.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Cache to write all dirty data to the Storage Target(s). During the flush, clients will see errors returned until the flush is complete.", + "operationId": "Caches_Flush" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache is Active." + }, + "202": { + "description": "Cache has started the transition to Active. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Restarted VMs associated with the cache." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Start": { + "$ref": "./examples/Caches_Start.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells a Stopped state Cache to transition to Active state.", + "operationId": "Caches_Start" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Cache is stopped." + }, + "202": { + "description": "Cache has started the transition to Stopped. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Stopped VMs associated with the cache." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_Stop": { + "$ref": "./examples/Caches_Stop.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Tells an Active Cache to transition to Stopped state.", + "operationId": "Caches_Stop" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets": { + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "200": { + "description": "Returns the list of Storage Targets defined by cacheName.", + "schema": { + "$ref": "#/definitions/StorageTargetsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_List": { + "$ref": "./examples/StorageTargets_ListByCache.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "tags": [ + "StorageTargets" + ], + "description": "Returns a list of Storage Targets for the specified Cache.", + "operationId": "StorageTargets_ListByCache" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}": { + "delete": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "string", + "description": "Boolean value requesting the force delete operation for a storage target. Force delete discards unwritten-data in the cache instead of flushing it to back-end storage." + } + ], + "responses": { + "200": { + "description": "Storage Target deleted." + }, + "202": { + "description": "Started the Storage Target's deletion. Poll the Cache's Storage Targets to monitor." + }, + "204": { + "description": "Storage Target deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Delete": { + "$ref": "./examples/StorageTargets_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "StorageTargets" + ], + "description": "Removes a Storage Target from a Cache. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will be flushed before the Storage Target will be deleted.", + "operationId": "StorageTargets_Delete" + }, + "get": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Returns the Storage Target object corresponding to storageTargetName.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Get": { + "$ref": "./examples/StorageTargets_Get.json" + } + }, + "tags": [ + "StorageTargets" + ], + "description": "Returns a Storage Target from a Cache.", + "operationId": "StorageTargets_Get" + }, + "put": { + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + }, + { + "description": "Object containing the definition of a Storage Target.", + "in": "body", + "name": "storagetarget", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + } + ], + "responses": { + "200": { + "description": "Storage Target has been created or updated.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "201": { + "description": "Storage Target creation or update has been initiated. Poll the Storage Target's provisioningState property to monitor creation/update progress.", + "schema": { + "$ref": "#/definitions/StorageTarget" + } + }, + "202": { + "description": "Storage Target creation or update has been initiated. Poll the Storage Target's provisioningState property to monitor creation/update progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_CreateOrUpdate": { + "$ref": "./examples/StorageTargets_CreateOrUpdate.json" + }, + "StorageTargets_CreateOrUpdate_NoJunctions": { + "$ref": "./examples/StorageTargets_CreateOrUpdate_NoJunctions.json" + }, + "StorageTargets_CreateOrUpdate_BlobNfs": { + "$ref": "./examples/StorageTargets_CreateOrUpdate_BlobNfs.json" + } + }, + "x-ms-long-running-operation": true, + "tags": [ + "StorageTargets" + ], + "description": "Create or update a Storage Target. This operation is allowed at any time, but if the Cache is down or unhealthy, the actual creation/modification of the Storage Target may be delayed until the Cache is healthy again.", + "operationId": "StorageTargets_CreateOrUpdate" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/flush": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "All data has been flushed to the storage target." + }, + "202": { + "description": "Cache has started flushing to the storage target. Poll the storage target's state field to monitor." + }, + "204": { + "description": "Flush already in progress or has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Flush": { + "$ref": "./examples/StorageTargets_Flush.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Tells the cache to write all dirty data to the Storage Target's backend storage. Client requests to this storage target's namespace will return errors until the flush operation completes.", + "operationId": "StorageTarget_Flush" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/suspend": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Client access to the storage target has been suspended." + }, + "202": { + "description": "Storage target suspend has started. Poll the storage target's state field to monitor." + }, + "204": { + "description": "The storage target is already suspended or suspend is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Suspend": { + "$ref": "./examples/StorageTargets_Suspend.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Suspends client access to a storage target.", + "operationId": "StorageTarget_Suspend" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/resume": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "Client access to the storage target has been resumed." + }, + "202": { + "description": "Storage target resume has started. Poll the storage target's state field to monitor." + }, + "204": { + "description": "The storage target has already resumed or resume is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Resume": { + "$ref": "./examples/StorageTargets_Resume.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Resumes client access to a previously suspended storage target.", + "operationId": "StorageTarget_Resume" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}/invalidate": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + }, + { + "$ref": "#/parameters/StorageTargetParameter" + } + ], + "responses": { + "200": { + "description": "All cached data for the storage target was invalidated" + }, + "202": { + "description": "Storage target invalidation has started. Poll the storage target's state field to monitor progress." + }, + "204": { + "description": "The storage target already has been invalidated, or invalidate is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "StorageTargets_Invalidate": { + "$ref": "./examples/StorageTargets_Invalidate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "StorageTargets" + ], + "description": "Invalidate all cached data for a storage target. Cached files are discarded and fetched from the back end on the next request.", + "operationId": "StorageTarget_Invalidate" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade": { + "post": { + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/CacheNameParameter" + } + ], + "responses": { + "201": { + "description": "Cache firmware is up to date." + }, + "202": { + "description": "Cache has started the upgrade. Poll the Cache's state field to monitor." + }, + "204": { + "description": "Cache firmware is up to date." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Caches_UpgradeFirmware": { + "$ref": "./examples/Caches_UpgradeFirmware.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "tags": [ + "Caches" + ], + "description": "Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no effect.", + "operationId": "Caches_UpgradeFirmware" + } + } + }, + "definitions": { + "ApiOperation": { + "description": "REST API operation description: see https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation", + "properties": { + "display": { + "type": "object", + "description": "The object that represents the operation.", + "properties": { + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft.StorageCache", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Cache, etc.", + "type": "string" + }, + "description": { + "description": "The description of the operation", + "type": "string" + } + } + }, + "origin": { + "description": "Origin of the operation.", + "type": "string" + }, + "isDataAction": { + "description": "The flag that indicates whether the operation applies to data plane.", + "type": "boolean" + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Additional details about an operation.", + "type": "object", + "properties": { + "serviceSpecification": { + "type": "object", + "description": "Specification of the all the metrics provided for a resource type.", + "properties": { + "metricSpecifications": { + "description": "Details about operations related to metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + } + } + } + }, + "type": "object" + }, + "ApiOperationListResult": { + "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": { + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string" + }, + "value": { + "description": "List of Resource Provider operations supported by the Microsoft.StorageCache resource provider.", + "items": { + "$ref": "#/definitions/ApiOperation" + }, + "type": "array", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "CloudError": { + "x-ms-external": true, + "description": "An error response.", + "properties": { + "error": { + "description": "The body of the error.", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "type": "object" + }, + "CloudErrorBody": { + "description": "An error response.", + "properties": { + "code": { + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.", + "type": "string" + }, + "details": { + "description": "A list of additional details about the error.", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "message": { + "description": "A message describing the error, intended to be suitable for display in a user interface.", + "type": "string" + }, + "target": { + "description": "The target of the particular error. For example, the name of the property in error.", + "type": "string" + } + }, + "type": "object" + }, + "AscOperation": { + "description": "The status of operation.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + }, + "error": { + "type": "object", + "description": "The error detail of the operation if any.", + "$ref": "#/definitions/ErrorResponse" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Additional operation-specific properties", + "$ref": "#/definitions/AscOperationProperties" + } + } + }, + "AscOperationProperties": { + "type": "object", + "description": "Additional operation-specific output.", + "properties": { + "output": { + "type": "object", + "description": "Additional operation-specific output.", + "additionalProperties": { + "type": "object" + } + } + } + }, + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "Cache": { + "description": "A Cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "id": { + "description": "Resource ID of the Cache.", + "readOnly": true, + "$ref": "#/definitions/URLString" + }, + "location": { + "description": "Region name string.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "name": { + "description": "Name of Cache.", + "readOnly": true, + "$ref": "#/definitions/ResourceName" + }, + "type": { + "description": "Type of the Cache; Microsoft.StorageCache/Cache", + "readOnly": true, + "type": "string" + }, + "identity": { + "$ref": "#/definitions/CacheIdentity", + "description": "The identity of the cache, if configured." + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of the Cache.", + "properties": { + "cacheSizeGB": { + "description": "The size of this Cache, in GB.", + "type": "integer", + "format": "int32", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "health": { + "description": "Health of the Cache.", + "readOnly": true, + "$ref": "#/definitions/CacheHealth" + }, + "mountAddresses": { + "description": "Array of IP addresses that can be used by clients mounting this Cache.", + "readOnly": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "provisioningState": { + "description": "ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningStateType", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "subnet": { + "description": "Subnet used for the Cache.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "upgradeStatus": { + "description": "Upgrade status of the Cache.", + "$ref": "#/definitions/CacheUpgradeStatus", + "readOnly": true + }, + "networkSettings": { + "$ref": "#/definitions/CacheNetworkSettings", + "description": "Specifies network settings of the cache." + }, + "encryptionSettings": { + "$ref": "#/definitions/CacheEncryptionSettings", + "description": "Specifies encryption settings of the cache." + }, + "securitySettings": { + "$ref": "#/definitions/CacheSecuritySettings", + "description": "Specifies security settings of the cache." + }, + "directoryServicesSettings": { + "$ref": "#/definitions/CacheDirectorySettings", + "description": "Specifies Directory Services settings of the cache." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability zones for resources. This field should only contain a single element in the array.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "type": "object" + }, + "sku": { + "x-ms-mutability": [ + "read", + "create" + ], + "description": "SKU for the Cache.", + "properties": { + "name": { + "description": "SKU name for this Cache.", + "type": "string" + } + }, + "type": "object" + } + }, + "x-ms-azure-resource": true, + "type": "object" + }, + "CacheIdentity": { + "type": "object", + "description": "Cache identity properties.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID for the system-assigned identity of the cache." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID associated with the cache." + }, + "type": { + "type": "string", + "description": "The type of identity used for the cache", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "CacheIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "A dictionary where each key is a user assigned identity resource ID, and each key's value is an empty dictionary.", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the user-assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of the user-assigned identity." + } + } + } + } + } + }, + "CacheNetworkSettings": { + "type": "object", + "description": "Cache network settings.", + "properties": { + "mtu": { + "description": "The IPv4 maximum transmission unit configured for the subnet.", + "type": "integer", + "format": "int32", + "minimum": 576, + "maximum": 1500, + "default": 1500 + }, + "utilityAddresses": { + "description": "Array of additional IP addresses used by this Cache.", + "readOnly": true, + "items": { + "type": "string" + }, + "type": "array" + }, + "dnsServers": { + "description": "DNS servers for the cache to use. It will be set from the network configuration if no value is provided.", + "type": "array", + "items": { + "type": "string" + } + }, + "dnsSearchDomain": { + "description": "DNS search domain", + "type": "string" + }, + "ntpServer": { + "description": "NTP server IP Address or FQDN for the cache to use. The default is time.windows.com.", + "type": "string", + "default": "time.windows.com" + } + } + }, + "CacheEncryptionSettings": { + "type": "object", + "description": "Cache encryption settings.", + "properties": { + "keyEncryptionKey": { + "x-ms-secret": true, + "$ref": "#/definitions/KeyVaultKeyReference", + "description": "Specifies the location of the key encryption key in Key Vault." + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Specifies whether the service will automatically rotate to the newest version of the key in the Key Vault." + } + } + }, + "CacheSecuritySettings": { + "type": "object", + "description": "Cache security settings.", + "properties": { + "accessPolicies": { + "description": "NFS access policies defined for this cache.", + "items": { + "$ref": "#/definitions/NfsAccessPolicy" + }, + "type": "array", + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "CacheDirectorySettings": { + "description": "Cache Directory Services settings.", + "type": "object", + "properties": { + "activeDirectory": { + "$ref": "#/definitions/CacheActiveDirectorySettings", + "description": "Specifies settings for joining the HPC Cache to an Active Directory domain." + }, + "usernameDownload": { + "$ref": "#/definitions/CacheUsernameDownloadSettings", + "description": "Specifies settings for Extended Groups. Extended Groups allows users to be members of more than 16 groups." + } + } + }, + "CacheActiveDirectorySettings": { + "description": "Active Directory settings used to join a cache to a domain.", + "properties": { + "primaryDnsIpAddress": { + "description": "Primary DNS IP address used to resolve the Active Directory domain controller's fully qualified domain name.", + "type": "string" + }, + "secondaryDnsIpAddress": { + "description": "Secondary DNS IP address used to resolve the Active Directory domain controller's fully qualified domain name.", + "type": "string" + }, + "domainName": { + "description": "The fully qualified domain name of the Active Directory domain controller.", + "type": "string" + }, + "domainNetBiosName": { + "description": "The Active Directory domain's NetBIOS name.", + "type": "string" + }, + "cacheNetBiosName": { + "description": "The NetBIOS name to assign to the HPC Cache when it joins the Active Directory domain as a server. Length must 1-15 characters from the class [-0-9a-zA-Z].", + "pattern": "^[-0-9a-zA-Z]{1,15}$", + "type": "string" + }, + "domainJoined": { + "description": "True if the HPC Cache is joined to the Active Directory domain.", + "type": "string", + "readOnly": true, + "enum": [ + "Yes", + "No", + "Error" + ], + "x-ms-enum": { + "name": "DomainJoinedType", + "modelAsString": true + } + }, + "credentials": { + "type": "object", + "description": "Active Directory admin credentials used to join the HPC Cache to a domain.", + "properties": { + "username": { + "description": "Username of the Active Directory domain administrator. This value is stored encrypted and not returned on response.", + "type": "string" + }, + "password": { + "description": "Plain text password of the Active Directory domain administrator. This value is stored encrypted and not returned on response.", + "x-ms-secret": true, + "type": "string" + } + }, + "required": [ + "username", + "password" + ] + } + }, + "type": "object", + "required": [ + "primaryDnsIpAddress", + "domainNetBiosName", + "domainName", + "cacheNetBiosName" + ] + }, + "CacheUsernameDownloadSettings": { + "description": "Settings for Extended Groups username and group download.", + "type": "object", + "properties": { + "extendedGroups": { + "type": "boolean", + "description": "Whether or not Extended Groups is enabled." + }, + "usernameSource": { + "description": "This setting determines how the cache gets username and group names for clients.", + "enum": [ + "AD", + "LDAP", + "File", + "None" + ], + "x-ms-enum": { + "name": "UsernameSource", + "modelAsString": true + }, + "type": "string", + "default": "None" + }, + "groupFileURI": { + "type": "string", + "description": "The URI of the file containing group information (in /etc/group file format). This field must be populated when 'usernameSource' is set to 'File'." + }, + "userFileURI": { + "type": "string", + "description": "The URI of the file containing user information (in /etc/passwd file format). This field must be populated when 'usernameSource' is set to 'File'." + }, + "ldapServer": { + "type": "string", + "description": "The fully qualified domain name or IP address of the LDAP server to use." + }, + "ldapBaseDN": { + "type": "string", + "description": "The base distinguished name for the LDAP domain." + }, + "encryptLdapConnection": { + "type": "boolean", + "description": "Whether or not the LDAP connection should be encrypted." + }, + "requireValidCertificate": { + "type": "boolean", + "description": "Determines if the certificates must be validated by a certificate authority. When true, caCertificateURI must be provided." + }, + "autoDownloadCertificate": { + "type": "boolean", + "description": "Determines if the certificate should be automatically downloaded. This applies to 'caCertificateURI' only if 'requireValidCertificate' is true." + }, + "caCertificateURI": { + "type": "string", + "description": "The URI of the CA certificate to validate the LDAP secure connection. This field must be populated when 'requireValidCertificate' is set to true." + }, + "usernameDownloaded": { + "description": "Indicates whether or not the HPC Cache has performed the username download successfully.", + "type": "string", + "readOnly": true, + "enum": [ + "Yes", + "No", + "Error" + ], + "x-ms-enum": { + "name": "UsernameDownloadedType", + "modelAsString": true + } + }, + "credentials": { + "type": "object", + "description": "When present, these are the credentials for the secure LDAP connection.", + "properties": { + "bindDn": { + "type": "string", + "description": "The Bind Distinguished Name identity to be used in the secure LDAP connection. This value is stored encrypted and not returned on response." + }, + "bindPassword": { + "type": "string", + "x-ms-secret": true, + "description": "The Bind password to be used in the secure LDAP connection. This value is stored encrypted and not returned on response." + } + } + } + } + }, + "NfsAccessPolicy": { + "type": "object", + "description": "A set of rules describing access policies applied to NFSv3 clients of the cache.", + "properties": { + "name": { + "description": "Name identifying this policy. Access Policy names are not case sensitive.", + "type": "string" + }, + "accessRules": { + "description": "The set of rules describing client accesses allowed under this policy.", + "type": "array", + "items": { + "$ref": "#/definitions/NfsAccessRule" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "name", + "accessRules" + ] + }, + "NfsAccessRule": { + "type": "object", + "description": "Rule to place restrictions on portions of the cache namespace being presented to clients.", + "properties": { + "scope": { + "description": "Scope for this rule. The scope and filter determine which clients match the rule.", + "type": "string", + "enum": [ + "default", + "network", + "host" + ], + "x-ms-enum": { + "name": "NfsAccessRuleScope", + "modelAsString": true + } + }, + "filter": { + "description": "Filter applied to the scope for this rule. The filter's format depends on its scope. 'default' scope matches all clients and has no filter value. 'network' scope takes a filter in CIDR format (for example, 10.99.1.0/24). 'host' takes an IP address or fully qualified domain name as filter. If a client does not match any filter rule and there is no default rule, access is denied.", + "type": "string" + }, + "access": { + "description": "Access allowed by this rule.", + "type": "string", + "enum": [ + "no", + "ro", + "rw" + ], + "x-ms-enum": { + "name": "NfsAccessRuleAccess", + "modelAsString": true + } + }, + "suid": { + "description": "Allow SUID semantics.", + "type": "boolean" + }, + "submountAccess": { + "description": "For the default policy, allow access to subdirectories under the root export. If this is set to no, clients can only mount the path '/'. If set to yes, clients can mount a deeper path, like '/a/b'.", + "type": "boolean" + }, + "rootSquash": { + "description": "Map root accesses to anonymousUID and anonymousGID.", + "type": "boolean" + }, + "anonymousUID": { + "description": "UID value that replaces 0 when rootSquash is true. 65534 will be used if not provided.", + "type": "string" + }, + "anonymousGID": { + "description": "GID value that replaces 0 when rootSquash is true. This will use the value of anonymousUID if not provided.", + "type": "string" + } + }, + "required": [ + "scope", + "access" + ] + }, + "KeyVaultKeyReference": { + "type": "object", + "description": "Describes a reference to Key Vault Key.", + "properties": { + "keyUrl": { + "type": "string", + "description": "The URL referencing a key encryption key in Key Vault." + }, + "sourceVault": { + "type": "object", + "description": "Describes a resource Id to source Key Vault.", + "properties": { + "id": { + "type": "string", + "description": "Resource Id." + } + } + } + }, + "required": [ + "keyUrl", + "sourceVault" + ] + }, + "CachesListResult": { + "description": "Result of the request to list Caches. It contains a list of Caches and a URL link to get the next set of results.", + "properties": { + "nextLink": { + "description": "URL to get the next set of Cache list results, if there are any.", + "type": "string" + }, + "value": { + "description": "List of Caches.", + "items": { + "$ref": "#/definitions/Cache" + }, + "type": "array" + } + }, + "type": "object" + }, + "CacheHealth": { + "type": "object", + "description": "An indication of Cache health. Gives more information about health than just that related to provisioning.", + "properties": { + "state": { + "description": "List of Cache health states.", + "enum": [ + "Unknown", + "Healthy", + "Degraded", + "Down", + "Transitioning", + "Stopping", + "Stopped", + "Upgrading", + "Flushing" + ], + "x-ms-enum": { + "name": "HealthStateType", + "modelAsString": true + }, + "type": "string" + }, + "statusDescription": { + "description": "Describes explanation of state.", + "type": "string" + }, + "conditions": { + "description": "Outstanding conditions that need to be investigated and resolved.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Condition" + }, + "x-ms-identifiers": [] + } + } + }, + "Condition": { + "type": "object", + "description": "Outstanding conditions that will need to be resolved.", + "properties": { + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the condition was raised." + }, + "message": { + "readOnly": true, + "type": "string", + "description": "The issue requiring attention." + } + } + }, + "CacheUpgradeStatus": { + "description": "Properties describing the software upgrade state of the Cache.", + "properties": { + "currentFirmwareVersion": { + "description": "Version string of the firmware currently installed on this Cache.", + "type": "string", + "readOnly": true + }, + "firmwareUpdateStatus": { + "description": "True if there is a firmware update ready to install on this Cache. The firmware will automatically be installed after firmwareUpdateDeadline if not triggered earlier via the upgrade operation.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "FirmwareStatusType", + "modelAsString": true + }, + "readOnly": true, + "type": "string" + }, + "firmwareUpdateDeadline": { + "description": "Time at which the pending firmware update will automatically be installed on the Cache.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "lastFirmwareUpdate": { + "description": "Time of the last successful firmware update.", + "format": "date-time", + "type": "string", + "readOnly": true + }, + "pendingFirmwareVersion": { + "description": "When firmwareUpdateAvailable is true, this field holds the version string for the update.", + "type": "string", + "readOnly": true + } + }, + "type": "object" + }, + "UnknownProperties": { + "description": "Properties of an unknown type of Storage Target.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "StorageTarget": { + "type": "object", + "description": "Type of the Storage Target.", + "allOf": [ + { + "$ref": "#/definitions/StorageTargetResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "StorageTarget properties", + "$ref": "#/definitions/StorageTargetProperties" + } + } + }, + "StorageTargetResource": { + "type": "object", + "description": "Resource used by a Cache.", + "properties": { + "name": { + "description": "Name of the Storage Target.", + "readOnly": true, + "$ref": "#/definitions/ResourceName" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID of the Storage Target." + }, + "type": { + "description": "Type of the Storage Target; Microsoft.StorageCache/Cache/StorageTarget", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Region name string.", + "readOnly": true, + "type": "string" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "x-ms-azure-resource": true + }, + "StorageTargetProperties": { + "type": "object", + "description": "Properties of the Storage Target.", + "required": [ + "targetType" + ], + "properties": { + "junctions": { + "description": "List of Cache namespace junctions to target for namespace associations.", + "type": "array", + "items": { + "$ref": "#/definitions/NamespaceJunction" + }, + "x-ms-identifiers": [] + }, + "targetType": { + "description": "Type of the Storage Target.", + "enum": [ + "nfs3", + "clfs", + "unknown", + "blobNfs" + ], + "x-ms-enum": { + "name": "StorageTargetType", + "modelAsString": true + }, + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "provisioningState": { + "description": "ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Creating", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningStateType", + "modelAsString": true + }, + "type": "string", + "readOnly": true + }, + "state": { + "description": "Storage target operational state.", + "enum": [ + "Ready", + "Busy", + "Suspended", + "Flushing" + ], + "x-ms-enum": { + "name": "OperationalStateType", + "modelAsString": true + }, + "type": "string" + }, + "nfs3": { + "description": "Properties when targetType is nfs3.", + "$ref": "#/definitions/Nfs3Target" + }, + "clfs": { + "description": "Properties when targetType is clfs.", + "$ref": "#/definitions/ClfsTarget" + }, + "unknown": { + "description": "Properties when targetType is unknown.", + "$ref": "#/definitions/UnknownTarget" + }, + "blobNfs": { + "description": "Properties when targetType is blobNfs.", + "$ref": "#/definitions/BlobNfsTarget" + } + } + }, + "Nfs3Target": { + "type": "object", + "description": "Properties pertaining to the Nfs3Target", + "properties": { + "target": { + "description": "IP address or host name of an NFSv3 host (e.g., 10.0.44.44).", + "pattern": "^[-.,0-9a-zA-Z]+$", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageModel": { + "description": "Identifies the StorageCache usage model to be used for this storage target.", + "type": "string" + } + } + }, + "ClfsTarget": { + "type": "object", + "description": "Properties pertaining to the ClfsTarget", + "properties": { + "target": { + "description": "Resource ID of storage container.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "UnknownTarget": { + "type": "object", + "description": "Properties pertaining to the UnknownTarget", + "properties": { + "attributes": { + "description": "Dictionary of string->string pairs containing information about the Storage Target.", + "$ref": "#/definitions/UnknownProperties" + } + } + }, + "BlobNfsTarget": { + "type": "object", + "description": "Properties pertaining to the BlobNfsTarget.", + "properties": { + "target": { + "description": "Resource ID of the storage container.", + "$ref": "#/definitions/URLString", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "usageModel": { + "description": "Identifies the StorageCache usage model to be used for this storage target.", + "type": "string" + } + } + }, + "ResourceName": { + "description": "Schema for the name of resources served by this provider. Note that objects will contain an odata @id annotation as appropriate. This will contain the complete URL of the object. These names are case-preserving, but not case sensitive.", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "type": "string" + }, + "ResourceSku": { + "description": "A resource SKU.", + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "capabilities": { + "description": "A list of capabilities of this SKU, such as throughput or ops/sec.", + "items": { + "$ref": "#/definitions/ResourceSkuCapabilities" + }, + "type": "array", + "x-ms-identifiers": [ + "name" + ] + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations where the SKU is available. This is the supported and registered Azure Geo Regions (e.g., West US, East US, Southeast Asia, etc.)." + }, + "locationInfo": { + "description": "The set of locations where the SKU is available.", + "items": { + "$ref": "#/definitions/ResourceSkuLocationInfo" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "name": { + "description": "The name of this SKU.", + "type": "string" + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions preventing this SKU from being used. This is empty if there are no restrictions.", + "x-ms-identifiers": [] + } + }, + "type": "object" + }, + "Restriction": { + "type": "object", + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. In this version, the only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location, then this would be the different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction. As of now this can be \"QuotaId\" or \"NotAvailableForSubscription\". \"QuotaId\" is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. \"NotAvailableForSubscription\" is related to capacity at the datacenter." + } + }, + "description": "The restrictions preventing this SKU from being used." + }, + "ResourceSkuCapabilities": { + "description": "A resource SKU capability.", + "properties": { + "name": { + "description": "Name of a capability, such as ops/sec.", + "type": "string" + }, + "value": { + "description": "Quantity, if the capability is measured by quantity.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceSkuLocationInfo": { + "description": "Resource SKU location information.", + "properties": { + "location": { + "description": "Location where this SKU is available.", + "type": "string" + }, + "zones": { + "description": "Zones if any.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + }, + "ResourceSkusResult": { + "type": "object", + "description": "The response from the List Cache SKUs operation.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Cache SKUs.", + "type": "string" + }, + "value": { + "description": "The list of SKUs available for the subscription.", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "type": "array", + "x-ms-identifiers": [] + } + } + }, + "NamespaceJunction": { + "description": "A namespace junction.", + "type": "object", + "properties": { + "namespacePath": { + "description": "Namespace path on a Cache for a Storage Target.", + "type": "string" + }, + "targetPath": { + "description": "Path in Storage Target to which namespacePath points.", + "type": "string" + }, + "nfsExport": { + "description": "NFS export where targetPath exists.", + "type": "string" + }, + "nfsAccessPolicy": { + "description": "Name of the access policy applied to this junction.", + "type": "string", + "default": "default" + } + } + }, + "StorageTargetsResult": { + "description": "A list of Storage Targets.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Storage Targets.", + "type": "string" + }, + "value": { + "description": "The list of Storage Targets defined for the Cache.", + "items": { + "$ref": "#/definitions/StorageTarget" + }, + "type": "array" + } + }, + "type": "object" + }, + "URLString": { + "description": "A fully qualified URL.", + "type": "string" + }, + "UsageModel": { + "description": "A usage model.", + "properties": { + "display": { + "description": "Localized information describing this usage model.", + "type": "object", + "properties": { + "description": { + "description": "String to display for this usage model.", + "type": "string" + } + } + }, + "modelName": { + "description": "Non-localized keyword name for this usage model.", + "type": "string" + }, + "targetType": { + "description": "The type of Storage Target to which this model is applicable (only nfs3 as of this version).", + "type": "string" + } + }, + "type": "object" + }, + "UsageModelsResult": { + "description": "A list of Cache usage models.", + "properties": { + "nextLink": { + "description": "The URI to fetch the next page of Cache usage models.", + "type": "string" + }, + "value": { + "description": "The list of usage models available for the subscription.", + "items": { + "$ref": "#/definitions/UsageModel" + }, + "type": "array", + "x-ms-identifiers": [ + "modelName" + ] + } + }, + "type": "object" + }, + "ResourceUsagesListResult": { + "description": "Result of the request to list resource usages. It contains a list of resource usages & limits and a URL link to get the next set of results.", + "properties": { + "nextLink": { + "description": "URL to get the next set of resource usage list results if there are any.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "List of usages and limits for resources controlled by the Microsoft.StorageCache resource provider.", + "items": { + "$ref": "#/definitions/ResourceUsage" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [ + "name" + ] + } + }, + "type": "object" + }, + "ResourceUsage": { + "description": "The usage and limit (quota) for a resource.", + "properties": { + "limit": { + "description": "The limit (quota) for this resource.", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "unit": { + "description": "Unit that the limit and usages are expressed in, such as 'Count'.", + "readOnly": true, + "type": "string" + }, + "currentValue": { + "description": "The current usage of this resource.", + "readOnly": true, + "type": "integer", + "format": "int32", + "minimum": 0 + }, + "name": { + "description": "Naming information for this resource type.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "Canonical name for this resource type.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name for this resource type.", + "type": "string" + } + } + } + }, + "type": "object" + }, + "MetricSpecification": { + "type": "object", + "description": "Details about operation related to metrics.", + "properties": { + "name": { + "type": "string", + "description": "The name of the metric." + }, + "displayName": { + "type": "string", + "description": "Localized display name of the metric." + }, + "displayDescription": { + "type": "string", + "description": "The description of the metric." + }, + "unit": { + "type": "string", + "description": "The unit that the metric is measured in." + }, + "aggregationType": { + "type": "string", + "description": "The type of metric aggregation." + }, + "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 + } + } + }, + "metricClass": { + "description": "Type of metrics.", + "type": "string" + }, + "dimensions": { + "description": "Dimensions of the metric", + "type": "array", + "items": { + "$ref": "#/definitions/MetricDimension" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricDimension": { + "type": "object", + "description": "Specifications of the Dimension of metrics.", + "properties": { + "name": { + "type": "string", + "description": "Name of the dimension" + }, + "displayName": { + "type": "string", + "description": "Localized friendly display name of the dimension" + }, + "internalName": { + "type": "string", + "description": "Internal name of the dimension." + }, + "toBeExportedForShoebox": { + "description": "To be exported to shoe box.", + "type": "boolean" + } + } + } + }, + "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." + }, + "ResourceGroupParameter": { + "description": "Target resource group.", + "in": "path", + "name": "resourceGroupName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CacheNameParameter": { + "description": "Name of Cache. Length of name must not be greater than 80 and chars must be from the [-0-9a-zA-Z_] char class.", + "in": "path", + "name": "cacheName", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "StorageTargetParameter": { + "description": "Name of Storage Target.", + "in": "path", + "name": "storageTargetName", + "pattern": "^[-0-9a-zA-Z_]{1,80}$", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/storagecache/resource-manager/readme.go.md b/specification/storagecache/resource-manager/readme.go.md index a7142426f84a..593243959245 100644 --- a/specification/storagecache/resource-manager/readme.go.md +++ b/specification/storagecache/resource-manager/readme.go.md @@ -21,6 +21,7 @@ azure-arm: true ``` yaml $(go) && $(multiapi) batch: + - tag: package-2022-01 - tag: package-2021-09 - tag: package-2021-05 - tag: package-2021-03 @@ -30,6 +31,15 @@ batch: - tag: package-2019-08 ``` +### Tag: package-2022-01 and go + +These settings apply only when `--tag=package-2022-01 --go` is specified on the command line. +Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2022-01' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2022-01-01/$(namespace) +``` + ### Tag: package-2021-09 and go These settings apply only when `--tag=package-2021-09 --go` is specified on the command line. diff --git a/specification/storagecache/resource-manager/readme.md b/specification/storagecache/resource-manager/readme.md index 28efafb948a1..62660af96d11 100644 --- a/specification/storagecache/resource-manager/readme.md +++ b/specification/storagecache/resource-manager/readme.md @@ -26,20 +26,29 @@ These are the global settings for the StorageCache API. ``` yaml openapi-type: arm -tag: package-2021-09 +tag: package-2022-01 add-credentials: true title: StorageCacheManagementClient ``` +### Tag: package-2022-01 + +These settings apply only when `--tag=package-2022-01` is specified on the command line. + +```yaml $(tag) == 'package-2022-01' +input-file: + - Microsoft.StorageCache/stable/2022-01-01/storagecache.json +``` ### Tag: package-2021-09 These settings apply only when `--tag=package-2021-09` is specified on the command line. -```yaml $(tag) == 'package-2021-09' +``` yaml $(tag) == 'package-2021-09' input-file: - Microsoft.StorageCache/stable/2021-09-01/storagecache.json ``` + ### Tag: package-2021-05 These settings apply only when `--tag=package-2021-05` is specified on the command line. diff --git a/specification/storagecache/resource-manager/readme.python.md b/specification/storagecache/resource-manager/readme.python.md index 12d59d78664f..2d2f494e4213 100644 --- a/specification/storagecache/resource-manager/readme.python.md +++ b/specification/storagecache/resource-manager/readme.python.md @@ -4,19 +4,15 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-storagecache -no-namespace-folders: true +namespace: azure.mgmt.storagecache package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/storage/azure-mgmt-storagecache/azure/mgmt/storagecache ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/storage/azure-mgmt-storagecache -``` diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/preview/2021-01-01/storageimportexport.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/preview/2021-01-01/storageimportexport.json index bc26383f5be9..028e23977abe 100644 --- a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/preview/2021-01-01/storageimportexport.json +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/preview/2021-01-01/storageimportexport.json @@ -1287,10 +1287,7 @@ "in": "query", "description": "Specifies the API version to use for this request.", "required": true, - "type": "string", - "enum": [ - "2021-01-01" - ] + "type": "string" }, "subscriptionId": { "name": "subscriptionId", diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json index da06b26d0012..e058a952dcc0 100644 --- a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2016-11-01/storageimportexport.json @@ -46,9 +46,6 @@ "$ref": "examples/ListLocations.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -88,9 +85,6 @@ "$ref": "examples/GetLocation.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "locationName", @@ -134,9 +128,6 @@ "$ref": "examples/ListJobsInSubscription.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "$top", @@ -194,9 +185,6 @@ "$ref": "examples/ListJobsInResourceGroup.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "$top", @@ -260,9 +248,6 @@ "$ref": "examples/GetExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -313,9 +298,6 @@ "$ref": "examples/UpdateExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -375,9 +357,6 @@ "$ref": "examples/CreateExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -443,9 +422,6 @@ "$ref": "examples/DeleteJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -492,9 +468,6 @@ "$ref": "examples/ListBitLockerKeys.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -547,9 +520,6 @@ "$ref": "examples/ListOperations.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -616,7 +586,8 @@ "description": "Provides information about the error message." } } - } + }, + "x-ms-identifiers": [] }, "innererror": { "type": "object", @@ -711,7 +682,10 @@ "type": "array", "items": { "$ref": "#/definitions/DriveStatus" - } + }, + "x-ms-identifiers": [ + "driveId" + ] }, "export": { "description": "A property containing information about the blobs to be exported for an export job. This property is included for export jobs only.", @@ -827,7 +801,10 @@ "type": "array", "items": { "$ref": "#/definitions/DriveStatus" - } + }, + "x-ms-identifiers": [ + "driveId" + ] } }, "description": "Specifies the properties of a UpdateJob." @@ -1281,7 +1258,10 @@ "description": "drive status", "items": { "$ref": "#/definitions/DriveBitLockerKey" - } + }, + "x-ms-identifiers": [ + "driveId" + ] } } }, @@ -1306,7 +1286,10 @@ "description": "operations", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } @@ -1317,10 +1300,7 @@ "in": "query", "description": "Specifies the API version to use for this request.", "required": true, - "type": "string", - "enum": [ - "2016-11-01" - ] + "type": "string" }, "subscriptionId": { "name": "subscriptionId", diff --git a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json index 61fa46306e78..ad5fe670ddbe 100644 --- a/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json +++ b/specification/storageimportexport/resource-manager/Microsoft.ImportExport/stable/2020-08-01/storageimportexport.json @@ -46,9 +46,6 @@ "$ref": "examples/ListLocations.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -88,9 +85,6 @@ "$ref": "examples/GetLocation.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "locationName", @@ -134,9 +128,6 @@ "$ref": "examples/ListJobsInSubscription.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "$top", @@ -194,9 +185,6 @@ "$ref": "examples/ListJobsInResourceGroup.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "$top", @@ -260,9 +248,6 @@ "$ref": "examples/GetExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -313,9 +298,6 @@ "$ref": "examples/UpdateExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -375,9 +357,6 @@ "$ref": "examples/CreateExportJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -443,9 +422,6 @@ "$ref": "examples/DeleteJob.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -492,9 +468,6 @@ "$ref": "examples/ListBitLockerKeys.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "name": "jobName", @@ -547,9 +520,6 @@ "$ref": "examples/ListOperations.json" } }, - "externalDocs": { - "url": "" - }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -616,7 +586,8 @@ "description": "Provides information about the error message." } } - } + }, + "x-ms-identifiers": [] }, "innererror": { "type": "object", @@ -711,7 +682,10 @@ "type": "array", "items": { "$ref": "#/definitions/DriveStatus" - } + }, + "x-ms-identifiers": [ + "driveId" + ] }, "export": { "description": "A property containing information about the blobs to be exported for an export job. This property is included for export jobs only.", @@ -827,7 +801,10 @@ "type": "array", "items": { "$ref": "#/definitions/DriveStatus" - } + }, + "x-ms-identifiers": [ + "driveId" + ] } }, "description": "Specifies the properties of a UpdateJob." @@ -1281,7 +1258,10 @@ "description": "drive status", "items": { "$ref": "#/definitions/DriveBitLockerKey" - } + }, + "x-ms-identifiers": [ + "driveId" + ] } } }, @@ -1306,7 +1286,10 @@ "description": "operations", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } @@ -1317,10 +1300,7 @@ "in": "query", "description": "Specifies the API version to use for this request.", "required": true, - "type": "string", - "enum": [ - "2020-08-01" - ] + "type": "string" }, "subscriptionId": { "name": "subscriptionId", diff --git a/specification/storageimportexport/resource-manager/readme.python.md b/specification/storageimportexport/resource-manager/readme.python.md index 956d40130148..b383dd00e7b9 100644 --- a/specification/storageimportexport/resource-manager/readme.python.md +++ b/specification/storageimportexport/resource-manager/readme.python.md @@ -4,19 +4,15 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-storageimportexport -no-namespace-folders: true +namespace: azure.mgmt.storageimportexport package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/storage/azure-mgmt-storageimportexport/azure/mgmt/storageimportexport ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/storage/azure-mgmt-storageimportexport -``` diff --git a/specification/storagepool/resource-manager/readme.python.md b/specification/storagepool/resource-manager/readme.python.md index 7d7f211f121d..fc13f286a462 100644 --- a/specification/storagepool/resource-manager/readme.python.md +++ b/specification/storagepool/resource-manager/readme.python.md @@ -3,21 +3,17 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-storagepool -no-namespace-folders: true +namespace: azure.mgmt.storagepool package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/storagepool/azure-mgmt-storagepool/azure/mgmt/storagepool ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/storagepool/azure-mgmt-storagepool -``` diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json index 12b7659dfaf0..fd157b0c5469 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-03-01/storagesync.json @@ -3168,7 +3168,7 @@ "$ref": "#/definitions/StorageSyncErrorDetails", "description": "Error details of the given entry." }, - "innerError": { + "innererror": { "$ref": "#/definitions/StorageSyncInnerErrorDetails", "description": "Inner error details of the given entry." } @@ -3476,13 +3476,15 @@ "type": "integer", "minimum": 0, "maximum": 100, - "description": "Level of free space to be maintained by Cloud Tiering if it is enabled." + "description": "Level of free space to be maintained by Cloud Tiering if it is enabled.", + "default": 20 }, "tierFilesOlderThanDays": { "type": "integer", "minimum": 0, "maximum": 2147483647, - "description": "Tier files older than days." + "description": "Tier files older than days.", + "default": 0 }, "friendlyName": { "type": "string", @@ -3784,6 +3786,13 @@ "type": "string", "description": "Aggregation type for the metric." }, + "supportedAggregationTypes": { + "description": "Supported aggregation types for the metric.", + "type": "array", + "items": { + "type": "string" + } + }, "fillGapWithZero": { "type": "boolean", "description": "Fill gaps in the metric with zero." diff --git a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json index c4a8fca616ec..a847c773461d 100644 --- a/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json +++ b/specification/storagesync/resource-manager/Microsoft.StorageSync/stable/2020-09-01/storagesync.json @@ -28,7 +28,7 @@ "operationId": "Operations_List", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "description": "Lists all of the available Storage Sync Rest API operations.", @@ -91,10 +91,10 @@ "description": "The desired region for the name check." }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "name": "parameters", @@ -120,13 +120,13 @@ "put": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -199,10 +199,10 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "storageSyncServiceName", @@ -212,7 +212,7 @@ "type": "string" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "tags": [ @@ -253,13 +253,13 @@ "patch": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -341,13 +341,13 @@ "delete": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -423,13 +423,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "tags": [ @@ -475,10 +475,10 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "tags": [ @@ -534,23 +534,23 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/StorageSyncServiceNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Successfully retrieved private link resources.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkResourceListResult" } } } @@ -570,26 +570,26 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/StorageSyncServiceNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { "200": { "description": "OK -- Get the private endpoint connection properties successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" } }, "default": { @@ -613,26 +613,26 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/StorageSyncServiceNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" }, { "name": "properties", "in": "body", "required": true, "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" }, "description": "The private endpoint connection properties." } @@ -641,7 +641,7 @@ "200": { "description": "OK -- Update the private endpoint connection properties successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" } }, "202": { @@ -691,19 +691,19 @@ }, "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/StorageSyncServiceNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { @@ -752,13 +752,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -782,7 +782,7 @@ "200": { "description": "Array of Sync Group resources in Storage Sync Service", "schema": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" }, "headers": { "x-ms-request-id": { @@ -811,13 +811,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -870,13 +870,13 @@ "put": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -940,13 +940,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1001,13 +1001,13 @@ "delete": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1064,13 +1064,13 @@ "put": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1167,13 +1167,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1235,13 +1235,13 @@ "delete": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1331,13 +1331,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1397,13 +1397,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1497,13 +1497,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1600,13 +1600,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1686,13 +1686,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1755,13 +1755,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1841,13 +1841,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -1927,13 +1927,13 @@ "put": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2026,13 +2026,13 @@ "patch": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2124,13 +2124,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2192,13 +2192,13 @@ "delete": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2277,13 +2277,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2347,13 +2347,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2442,13 +2442,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2501,13 +2501,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2562,13 +2562,13 @@ "put": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2654,13 +2654,13 @@ "delete": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2735,13 +2735,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2823,13 +2823,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2882,13 +2882,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -2945,13 +2945,13 @@ "post": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "storageSyncServiceName", @@ -3006,13 +3006,13 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "locationName", @@ -3076,10 +3076,10 @@ "get": { "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "locationName", @@ -3168,7 +3168,7 @@ "$ref": "#/definitions/StorageSyncErrorDetails", "description": "Error details of the given entry." }, - "innerError": { + "innererror": { "$ref": "#/definitions/StorageSyncInnerErrorDetails", "description": "Inner error details of the given entry." } @@ -3270,7 +3270,7 @@ "description": "Storage Sync Service object.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { @@ -3286,7 +3286,7 @@ "description": "Sync Group object.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3302,7 +3302,7 @@ "description": "Cloud Endpoint object.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3382,7 +3382,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3403,7 +3403,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3449,7 +3449,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3483,7 +3483,8 @@ "type": "integer", "minimum": 0, "maximum": 2147483647, - "description": "Tier files older than days." + "description": "Tier files older than days.", + "default": 0 }, "friendlyName": { "type": "string", @@ -3532,7 +3533,7 @@ "type": "object", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3600,7 +3601,7 @@ "description": "Server Endpoint object.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3616,7 +3617,7 @@ "description": "Registered Server resource.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3649,7 +3650,7 @@ "description": "Workflow resource.", "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" } ], "properties": { @@ -3673,7 +3674,10 @@ "type": "array", "items": { "$ref": "#/definitions/OperationEntity" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -3762,6 +3766,9 @@ "items": { "$ref": "#/definitions/OperationResourceMetricSpecification" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of metric specifications." } } @@ -3790,6 +3797,13 @@ "type": "string", "description": "Aggregation type for the metric." }, + "supportedAggregationTypes": { + "description": "Supported aggregation types for the metric.", + "type": "array", + "items": { + "type": "string" + } + }, "fillGapWithZero": { "type": "boolean", "description": "Fill gaps in the metric with zero." @@ -3799,6 +3813,9 @@ "items": { "$ref": "#/definitions/OperationResourceMetricSpecificationDimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "Dimensions for the metric specification." } } @@ -3911,7 +3928,10 @@ "items": { "$ref": "#/definitions/RestoreFileSpec", "description": "Post Restore restore file spec items array." - } + }, + "x-ms-identifiers": [ + "path" + ] } } }, @@ -3953,7 +3973,10 @@ "items": { "$ref": "#/definitions/RestoreFileSpec", "description": "Pre Restore restore file spec items array." - } + }, + "x-ms-identifiers": [ + "path" + ] }, "pauseWaitForSyncDrainTimePeriodInSeconds": { "type": "integer", @@ -4153,7 +4176,7 @@ "readOnly": true, "type": "array", "items": { - "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateEndpointConnection" }, "description": "List of private endpoint connection associated with the specified storage sync service" } @@ -4622,6 +4645,9 @@ "items": { "$ref": "#/definitions/ServerEndpointFilesNotSyncingError" }, + "x-ms-identifiers": [ + "errorCode" + ], "description": "Array of per-item errors coming from the last sync session.", "readOnly": true }, @@ -5162,6 +5188,9 @@ "items": { "$ref": "#/definitions/FilesNotTieringError" }, + "x-ms-identifiers": [ + "errorCode" + ], "description": "Array of tiering errors", "readOnly": true } @@ -5254,6 +5283,9 @@ "items": { "$ref": "#/definitions/ServerEndpointRecallError" }, + "x-ms-identifiers": [ + "errorCode" + ], "description": "Array of recall errors", "readOnly": true } diff --git a/specification/storagesync/resource-manager/readme.python.md b/specification/storagesync/resource-manager/readme.python.md index 481ceabadd7c..1219b4e74684 100644 --- a/specification/storagesync/resource-manager/readme.python.md +++ b/specification/storagesync/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.storagesync @@ -13,12 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/storage/azure-mgmt-storagesync/azure/mgmt/storagesync ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/storage/azure-mgmt-storagesync -``` \ No newline at end of file diff --git a/specification/storsimple8000series/resource-manager/Microsoft.StorSimple/stable/2017-06-01/storsimple.json b/specification/storsimple8000series/resource-manager/Microsoft.StorSimple/stable/2017-06-01/storsimple.json index 757f160e77aa..0fd63de7f94e 100644 --- a/specification/storsimple8000series/resource-manager/Microsoft.StorSimple/stable/2017-06-01/storsimple.json +++ b/specification/storsimple8000series/resource-manager/Microsoft.StorSimple/stable/2017-06-01/storsimple.json @@ -5353,7 +5353,10 @@ "type": "array", "items": { "$ref": "#/definitions/AvailableProviderOperation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The NextLink.", @@ -5633,7 +5636,11 @@ "type": "array", "items": { "$ref": "#/definitions/BackupElement" - } + }, + "x-ms-identifiers": [ + "elementId", + "volumeContainerId" + ] } } }, @@ -5741,7 +5748,8 @@ "type": "array", "items": { "$ref": "#/definitions/BandwidthSchedule" - } + }, + "x-ms-identifiers": [] }, "volumeCount": { "format": "int32", @@ -6076,7 +6084,14 @@ "type": "array", "items": { "$ref": "#/definitions/VmImage" - } + }, + "x-ms-identifiers": [ + "name", + "offer", + "publisher", + "sku", + "version" + ] } } }, @@ -6691,7 +6706,10 @@ "type": "array", "items": { "$ref": "#/definitions/VolumeContainerFailoverMetadata" - } + }, + "x-ms-identifiers": [ + "volumeContainerId" + ] }, "eligibilityResult": { "$ref": "#/definitions/FailoverSetEligibilityResult", @@ -6722,7 +6740,8 @@ "type": "array", "items": { "$ref": "#/definitions/FailoverSet" - } + }, + "x-ms-identifiers": [] } } }, @@ -6806,7 +6825,10 @@ "type": "array", "items": { "$ref": "#/definitions/FailoverTarget" - } + }, + "x-ms-identifiers": [ + "deviceId" + ] } } }, @@ -6859,7 +6881,10 @@ "type": "array", "items": { "$ref": "#/definitions/Feature" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -6962,7 +6987,10 @@ "type": "array", "items": { "$ref": "#/definitions/HardwareComponent" - } + }, + "x-ms-identifiers": [ + "componentId" + ] } } }, @@ -7032,7 +7060,8 @@ "type": "array", "items": { "$ref": "#/definitions/JobErrorItem" - } + }, + "x-ms-identifiers": [] }, "code": { "description": "The error code intended for programmatic access.", @@ -7152,7 +7181,8 @@ "type": "array", "items": { "$ref": "#/definitions/JobStage" - } + }, + "x-ms-identifiers": [] }, "deviceId": { "description": "The device ID in which the job ran.", @@ -7507,14 +7537,20 @@ "type": "array", "items": { "$ref": "#/definitions/MetricAvailablity" - } + }, + "x-ms-identifiers": [ + "timeGrain" + ] }, "dimensions": { "description": "The available metric dimensions.", "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "category": { "description": "The category of the metric.", @@ -7535,7 +7571,11 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDefinition" - } + }, + "x-ms-identifiers": [ + "unit", + "/name/value" + ] } } }, @@ -7597,7 +7637,8 @@ "type": "array", "items": { "$ref": "#/definitions/Metrics" - } + }, + "x-ms-identifiers": [] } } }, @@ -7672,7 +7713,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricDimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "unit": { "description": "The unit of the metric data.", @@ -7699,7 +7743,10 @@ "type": "array", "items": { "$ref": "#/definitions/MetricData" - } + }, + "x-ms-identifiers": [ + "timeStamp" + ] } } }, @@ -7715,7 +7762,10 @@ "type": "array", "items": { "$ref": "#/definitions/NetworkAdapters" - } + }, + "x-ms-identifiers": [ + "interfaceId" + ] } } }, @@ -8349,7 +8399,8 @@ "type": "array", "items": { "$ref": "#/definitions/TargetEligibilityErrorMessage" - } + }, + "x-ms-identifiers": [] } } }, @@ -8554,7 +8605,8 @@ "type": "array", "items": { "$ref": "#/definitions/VolumeFailoverMetadata" - } + }, + "x-ms-identifiers": [] } } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json index 21e6eaf74a24..632741319486 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/common/v1/definitions.json @@ -122,6 +122,7 @@ "items": { "$ref": "#/definitions/ErrorDetails" }, + "x-ms-identifiers": [], "description": "Error details." } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureFunction.json new file mode 100644 index 000000000000..0b98b05b7306 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_AzureFunction.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DataWarehouse.json new file mode 100644 index 000000000000..24ea6e449407 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Create_DataWarehouse.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin", + "password": "password123" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin", + "password": "password123" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin", + "password": "password123" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json index 75f348b7fb39..fd21fcbcf134 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_AzureFunction.json @@ -4,7 +4,7 @@ "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", - "outputName": "output958" + "outputName": "azureFunction1" }, "responses": { "200": { @@ -12,8 +12,8 @@ "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" }, "body": { - "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/AzureFunction1", - "name": "AzureFunction1", + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", "properties": { "datasource": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json index a5c089e14b03..5785684c9975 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Get_DataWarehouse.json @@ -4,7 +4,7 @@ "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", - "outputName": "output958" + "outputName": "dwOutput" }, "responses": { "200": { @@ -12,8 +12,8 @@ "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" }, "body": { - "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/SynapseformerlySQLDW1", - "name": "SynapseformerlySQLDW1", + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", "properties": { "datasource": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureFunction.json new file mode 100644 index 000000000000..a39001ca65cd --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_AzureFunction.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionName": "differentFunctionName" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "differentFunctionName", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DataWarehouse.json new file mode 100644 index 000000000000..954168ac3f46 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/examples/Output_Update_DataWarehouse.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2017-04-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "table": "differentTable" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "differentTable", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json index c9cae92eed52..d40cccdc9258 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/inputs.json @@ -546,7 +546,7 @@ "sourcePartitionCount": { "type": "integer", "format": "int32", - "description": "The partition count of the blob input data source. Range 1 - 256." + "description": "The partition count of the blob input data source. Range 1 - 1024." } } }, @@ -743,6 +743,10 @@ "timeFormat": { "type": "string", "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode. " } } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json index bc4f331876d0..7b858c62588b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2017-04-01-preview/outputs.json @@ -53,6 +53,12 @@ "Create a DocumentDB output": { "$ref": "./examples/Output_Create_DocumentDB.json" }, + "Create an Azure Data Warehouse output": { + "$ref": "./examples/Output_Create_DataWarehouse.json" + }, + "Create an Azure Function output": { + "$ref": "./examples/Output_Create_AzureFunction.json" + }, "Create an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Create_EventHub_JSON.json" }, @@ -163,6 +169,12 @@ "Update a DocumentDB output": { "$ref": "./examples/Output_Update_DocumentDB.json" }, + "Update an Azure Data Warehouse output": { + "$ref": "./examples/Output_Update_DataWarehouse.json" + }, + "Update an Azure Function output": { + "$ref": "./examples/Output_Update_AzureFunction.json" + }, "Update an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Update_EventHub.json" }, @@ -580,13 +592,7 @@ { "$ref": "./inputs.json#/definitions/BlobDataSourceProperties" } - ], - "properties": { - "authenticationMode": { - "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", - "description": "Authentication Mode." - } - } + ] }, "AzureTableOutputDataSource": { "description": "Describes an Azure Table output data source.", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json index f090e917309e..2372f93eb1a8 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2020-03-01-preview/privateEndpoints.json @@ -298,7 +298,8 @@ }, "requestMessage": { "description": "A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars.", - "type": "string" + "type": "string", + "readOnly": true }, "privateLinkServiceConnectionState": { "description": "A collection of read-only information about the state of the connection to the private remote resource.", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json index 69ed2e331e3b..7b46a82428cc 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureML.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7", "jobName": "sj9093", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json index 876bda84fdc8..0f0fd43c9ac2 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_AzureMLService.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", @@ -36,7 +36,9 @@ } ], "batchSize": 1000, - "numberOfParallelRequests": 1 + "numberOfParallelRequests": 1, + "inputRequestName": "Inputs", + "outputResponseName": "Results" } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json index 46b9b81dfa06..32f5737a20ea 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_CSharp.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", @@ -22,7 +22,8 @@ "properties": { "dllPath": "ASAEdgeApplication2_CodeBehind", "class": "ASAEdgeUDFDemo.Class1", - "method": "SquareFunction" + "method": "SquareFunction", + "updateMode": "Static" } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json index 7cd4127718ef..b2642d62c77c 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Create_JavaScript.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json index 1074d7e85228..f34e843bb3a5 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json index 157e3ba1ff56..a6b021a12e4a 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_AzureML.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7", "jobName": "sj9093", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json index 3527ff821ff8..f8b5ef0711ea 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Get_JavaScript.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json index 6167da2fdbf6..e6b038d69afb 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_ListByStreamingJob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json index dbba2cfb93fc..49fb3da805b7 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_RetrieveDefaultDefinition_AzureML.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7", "jobName": "sj9093", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json index 320af08e57fa..d519167d092e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_AzureML.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7", "jobName": "sj9093", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json index 81012ea0a0c3..7e8ef2555190 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Test_JavaScript.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json index 8d854a17b55d..57acc74bdd0e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_AzureML.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7", "jobName": "sj9093", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json index 447600ee5d2f..74734def05cd 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Function_Update_JavaScript.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg1637", "jobName": "sj8653", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_EventGrid.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_EventGrid.json new file mode 100644 index 000000000000..9e21f4c93412 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_EventGrid.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3467", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.EventGrid/EventSubscriptions", + "properties": { + "subscriber": { + "type": "Microsoft.EventHub/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "sharedAccessPolicyKey": "someSharedAccessPolicyKey==", + "consumerGroupName": "sdkconsumergroup", + "eventHubName": "sdkeventhub", + "partitionCount": 16, + "authenticationMode": "Msi" + } + }, + "schema": "CloudEventSchema", + "storageAccounts": [ + { + "authenticationMode": "Msi", + "accountName": "myaccount", + "accountKey": "myaccountkey" + } + ], + "eventTypes": [ + "Microsoft.Storage.BlobCreated" + ] + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.EventGrid/EventSubscriptions", + "properties": { + "subscriber": { + "type": "Microsoft.EventHub/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "consumerGroupName": "sdkconsumergroup", + "eventHubName": "sdkeventhub", + "partitionCount": 16, + "authenticationMode": "Msi" + } + }, + "schema": "CloudEventSchema", + "storageAccounts": [ + { + "authenticationMode": "Msi", + "accountName": "myaccount" + } + ], + "eventTypes": [ + "Microsoft.Storage.BlobCreated" + ] + } + } + } + } + }, + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "Microsoft.EventGrid/EventSubscriptions", + "properties": { + "subscriber": { + "type": "Microsoft.EventHub/EventHub", + "properties": { + "serviceBusNamespace": "sdktest", + "sharedAccessPolicyName": "RootManageSharedAccessKey", + "consumerGroupName": "sdkconsumergroup", + "eventHubName": "sdkeventhub", + "partitionCount": 16, + "authenticationMode": "Msi" + } + }, + "schema": "CloudEventSchema", + "storageAccounts": [ + { + "authenticationMode": "Msi", + "accountName": "myaccount" + } + ], + "eventTypes": [ + "Microsoft.Storage.BlobCreated" + ] + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_GatewayMessageBus.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_GatewayMessageBus.json new file mode 100644 index 000000000000..60ee2b82c07e --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_GatewayMessageBus.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg3467", + "jobName": "sj9742", + "inputName": "input7970", + "input": { + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "bd8009b3-8165-4bd3-aad2-29a2b378dd14" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg3467/providers/Microsoft.StreamAnalytics/streamingjobs/sj9742/inputs/input7970", + "name": "input7970", + "type": "Microsoft.StreamAnalytics/streamingjobs/inputs", + "properties": { + "type": "Stream", + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json index 246d26615fd8..e512edbe685f 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Reference_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597", @@ -20,7 +20,12 @@ "container": "state", "pathPattern": "{date}/{time}", "dateFormat": "yyyy/MM/dd", - "timeFormat": "HH" + "timeFormat": "HH", + "blobName": "myblobinput", + "deltaPathPattern": "/testBlob/{date}/delta/{time}/", + "sourcePartitionCount": 16, + "fullSnapshotRefreshRate": "16:14:30", + "deltaSnapshotRefreshRate": "16:14:30" } }, "serialization": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json index 5363e8b20c03..8a90f457431b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8161", "jobName": "sj6695", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json index e5e0e01b3157..9a8f0522f6e5 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_EventHub_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3139", "jobName": "sj197", @@ -23,6 +23,9 @@ "properties": { "encoding": "UTF8" } + }, + "watermarkSettings": { + "watermarkMode": "ReadWatermark" } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json index b25c3fa07941..5ca13ddb04fd 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Create_Stream_IoTHub_Avro.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3467", "jobName": "sj9742", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json index 1b77c3612e93..6668398b03ab 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json index 3e4c0ea9def1..d3b50daab234 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Reference_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json index 4423ed4ea48c..cb78c30a16e1 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8161", "jobName": "sj6695", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json index bca28f2db653..be5b851e5a0d 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_EventHub_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3139", "jobName": "sj197", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json index c430732e55ec..65b298eaea4e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Get_Stream_IoTHub_Avro.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3467", "jobName": "sj9742", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json index ecaffe1516e1..427c10ebd26b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json index f123e7255f65..62b71495717b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_ListByStreamingJob_Diagnostics.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3276", "jobName": "sj7804", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json index 68f33e88613e..5c7961dd51c6 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Test.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json index 7210a8588c06..b1a2d9ee38ad 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Reference_Blob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8440", "jobName": "sj9597", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json index 3c1ef0fac9f6..8fcf7c29f485 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_Blob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg8161", "jobName": "sj6695", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json index a26bc6ebb359..b7ae49a59c56 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_EventHub.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3139", "jobName": "sj197", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json index 6fb30abb2a25..58151009b419 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Input_Update_Stream_IoTHub.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3467", "jobName": "sj9742", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json index 442cff126fb4..42cee72927e0 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Operation_List.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview" + "api-version": "2021-10-01-preview" }, "responses": { "200": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json index bfa5993ebd5c..b37e87227e13 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureDataLakeStore_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureFunction.json new file mode 100644 index 000000000000..56597faf13a0 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureFunction.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json index 7aeb177e7067..c7340a50deae 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureSQL.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json index ef5207bfee6a..5ab9096d7620 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_AzureTable.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5176", "jobName": "sj2790", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json index c9a16c7b12b6..091cac1eaad6 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5023", "jobName": "sj900", @@ -19,7 +19,9 @@ "container": "state", "pathPattern": "{date}/{time}", "dateFormat": "yyyy/MM/dd", - "timeFormat": "HH" + "timeFormat": "HH", + "blobPathPrefix": "my/path", + "blobWriteMode": "Once" } }, "serialization": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DataWarehouse.json new file mode 100644 index 000000000000..f2f1c8ca0726 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DataWarehouse.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin", + "password": "password123", + "authenticationMode": "Msi" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json index f9aac728127f..2e69dac0593e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_DocumentDB.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", @@ -15,7 +15,8 @@ "database": "db01", "collectionNamePattern": "collection", "partitionKey": "key", - "documentId": "documentId" + "documentId": "documentId", + "authenticationMode": "Msi" } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json index 049f7b280cfa..67e34434fc88 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_EventHub_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", @@ -23,6 +23,10 @@ "encoding": "UTF8", "format": "Array" } + }, + "watermarkSettings": { + "watermarkMode": "SendCurrentPartitionWatermark", + "maxWatermarkDifferenceAcrossPartitions": "16:14:30" } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_GatewayMessageBus.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_GatewayMessageBus.json new file mode 100644 index 000000000000..7fc9e0200cb6 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_GatewayMessageBus.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "GatewayMessageBus", + "properties": { + "topic": "EdgeTopic1" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PostgreSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PostgreSQL.json new file mode 100644 index 000000000000..6535e7416948 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PostgreSQL.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg7983", + "jobName": "sj2331", + "outputName": "output3022", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.DBForPostgreSQL/servers/databases", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "user", + "password": "somePassword", + "table": "someTable", + "maxWriterCount": 1, + "authenticationMode": "Msi" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DBForPostgreSQL/servers/databases", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "user", + "table": "someTable", + "maxWriterCount": 1, + "authenticationMode": "Msi" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "ccf8b864-259e-43c5-a628-ba10858b2c07" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg7983/providers/Microsoft.StreamAnalytics/streamingjobs/sj2331/outputs/output3022", + "name": "output3022", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.DBForPostgreSQL/servers/databases", + "properties": { + "server": "someServer", + "database": "someDatabase", + "user": "user", + "table": "someTable", + "maxWriterCount": 1, + "authenticationMode": "Msi" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json index 8d308b9b6f92..924fd535673d 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_PowerBI.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json index c8ae9754f367..5b159c146f2d 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusQueue_Avro.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3410", "jobName": "sj5095", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json index f24f697282ec..4c94be76716e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Create_ServiceBusTopic_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6450", "jobName": "sj7094", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json index 6dd5dcf09699..634055d12305 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json index 98609fa92fc1..19fafa328178 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureDataLakeStore_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json index 75f348b7fb39..4f960201eb7a 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureFunction.json @@ -1,10 +1,10 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", - "outputName": "output958" + "outputName": "azureFunction1" }, "responses": { "200": { @@ -12,8 +12,8 @@ "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" }, "body": { - "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/AzureFunction1", - "name": "AzureFunction1", + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", "properties": { "datasource": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json index 015c30665301..59ba1b46eaa4 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureSQL.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json index 418e85bd01e6..a4e26af6a486 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_AzureTable.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5176", "jobName": "sj2790", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json index 15b71828f0d9..f3ee4a9ea08b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_Blob_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5023", "jobName": "sj900", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json index e18b30233b6b..bcbac34254cd 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DataWarehouse.json @@ -1,10 +1,10 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", - "outputName": "output958" + "outputName": "dwOutput" }, "responses": { "200": { @@ -12,8 +12,8 @@ "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" }, "body": { - "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/SynapseformerlySQLDW1", - "name": "SynapseformerlySQLDW1", + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", "properties": { "datasource": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json index 794cd4e6e194..fde9899b5e49 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_DocumentDB.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json index 574aff9f170c..d383d27d9fc7 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_EventHub_JSON.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", @@ -31,7 +31,17 @@ "encoding": "UTF8", "format": "Array" } - } + }, + "lastOutputEventTimestamps": [ + { + "lastOutputEventTime": "2009-06-15T13:45:30", + "lastUpdateTime": "2009-06-15T13:45:30" + }, + { + "lastOutputEventTime": "2009-07-15T13:45:30", + "lastUpdateTime": "2009-06-15T13:45:30" + } + ] } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json index 86d089b9da1a..583e896d5eaf 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_PowerBI.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json index ab29340adc98..a9e5c859fdfc 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusQueue_Avro.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3410", "jobName": "sj5095", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json index 91f5fca3ddcb..83196409ab79 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Get_ServiceBusTopic_CSV.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6450", "jobName": "sj7094", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json index 48b9ff01f9d8..92e3e5b69b08 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_ListByStreamingJob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json index 9c332793b2d8..b8d5cf8aa27b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Test.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json index 41dfff5bf958..e3211b579a5f 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureDataLakeStore.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureFunction.json new file mode 100644 index 000000000000..39980a8a4ca1 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureFunction.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionName": "differentFunctionName" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "differentFunctionName", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json index 5206cf1c27f4..fcd4a2982bed 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureSQL.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg2157", "jobName": "sj6458", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json index d694e566de4d..3f0af034a8d8 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_AzureTable.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5176", "jobName": "sj2790", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json index e3fc42b0c87c..edd5ad3881d8 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_Blob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg5023", "jobName": "sj900", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DataWarehouse.json new file mode 100644 index 000000000000..521bc84d6035 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DataWarehouse.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2021-10-01-preview", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "table": "differentTable" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "differentTable", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json index 98b8de350c4a..a22ae2c19ed0 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_DocumentDB.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json index 78b423266cd1..304dc5634c0c 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_EventHub.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6912", "jobName": "sj3310", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json index 05987cc9c4f1..0b36bc774240 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_PowerBI.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg7983", "jobName": "sj2331", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json index ea54a3839c3e..efce6acab783 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusQueue.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3410", "jobName": "sj5095", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json index 86240021a89b..2139a4cf38cc 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Output_Update_ServiceBusTopic.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6450", "jobName": "sj7094", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json index d9d63322ae59..5c3c3e7b8844 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_CompleteJob.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3276", "jobName": "sj7804", @@ -66,7 +66,22 @@ "name": "outputtest" } ], - "functions": [] + "functions": [], + "externals": { + "storageAccount": { + "accountName": "mystorageaccount", + "accountKey": "mykey" + }, + "container": "mycontainer", + "path": "UserCustomCode.zip", + "refreshConfiguration": { + "pathPattern": "{date}\\\\{time}", + "dateFormat": "yyyy-dd-MM", + "timeFormat": "HH", + "refreshInterval": "00:01:00", + "refreshType": "Nonblocking" + } + } }, "location": "West US", "tags": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json index a511bb9cb1db..eed29c210dac 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Create_JobShell.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json index dce6f8093aaa..1cbce6980940 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Delete.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json index 6c053b6bf361..66305bed1ea8 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_Expand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3276", "jobName": "sj7804", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json index d1dd3c8eef79..58b772536edd 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Get_NoExpand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json index e0c4616535b0..38f14e0cd586 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_Expand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg3276", "$expand": "inputs,outputs,transformation,functions" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json index 6d20fab383d5..483c9aa1f466 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_ByResourceGroup_NoExpand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936" }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json index 61848d645b6c..5d0799d35929 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_Expand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "$expand": "inputs,outputs,transformation,functions" }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json index 105953203391..ea892df0f193 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_List_BySubscription_NoExpand.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d" }, "responses": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json index d8a9f92437c4..87a208cb4edf 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Scale.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json index 99d6cc724b4b..40af15fa3333 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_CustomTime.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json index ee6b99edbdb8..987837d5e4f6 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_JobStartTime.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json index 7f140640b826..d83dd9dabe99 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Start_LastOutputEventTime.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json index bc02eeacea95..b949b0cc07b7 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Stop.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59" diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json index 23773a5449c3..4cfc36d60fbe 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/StreamingJob_Update.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg6936", "jobName": "sj59", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json index 6a389438a862..6c723106a64a 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_CompileQuery.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US", "compileQuery": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json index d49fbfbf8e3b..56d59c60ed8d 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_ListQuotas.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US" }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json index c5015cc6c2c5..f9d552b12b60 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_SampleInput.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US", "sampleInput": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json index 24bc6ca20419..6990e3b2fb9b 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestInput.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US", "testInput": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json index d016882c7994..fd66b742501d 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestOutput.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US", "testOutput": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json index f4bce8a44f88..0c7a22183575 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Subscription_TestQuery.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2017-04-01-preview", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "location": "West US", "testQuery": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json index fafa8edc580d..6c05a97ba948 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Create.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg4423", "jobName": "sj8374", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json index b7d742b19dad..65d96c271be0 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Get.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg4423", "jobName": "sj8374", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json index 34b94c54310e..7949831acf64 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/examples/Transformation_Update.json @@ -1,6 +1,6 @@ { "parameters": { - "api-version": "2020-03-01", + "api-version": "2021-10-01-preview", "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg4423", "jobName": "sj8374", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json index 7dd88e823c7c..f47ab4da7c98 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/functions.json @@ -711,10 +711,6 @@ "description": "The binding properties associated with a CSharp function.", "type": "object", "properties": { - "script": { - "type": "string", - "description": "The Csharp code containing a single function definition." - }, "dllPath": { "type": "string", "description": "The Csharp code containing a single function definition." @@ -726,9 +722,24 @@ "method": { "type": "string", "description": "The Csharp code containing a single function definition." + }, + "updateMode": { + "$ref": "#/definitions/UpdateMode" } } }, + "UpdateMode": { + "type": "string", + "description": "Refresh modes for Stream Analytics functions.", + "enum": [ + "Static", + "Refreshable" + ], + "x-ms-enum": { + "name": "UpdateMode", + "modelAsString": true + } + }, "FunctionRetrieveDefaultDefinitionParameters": { "description": "Parameters used to specify the type of function to retrieve the default definition for.", "type": "object", @@ -919,6 +930,14 @@ "type": "integer", "format": "int32", "description": "The number of parallel requests that will be sent per partition of your job to the machine learning service. Default is 1." + }, + "inputRequestName": { + "type": "string", + "description": "Label for the input request object." + }, + "outputResponseName": { + "type": "string", + "description": "Label for the output request object." } } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json index 1c6c35011960..4a246448c8da 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/inputs.json @@ -52,6 +52,12 @@ }, "Create a stream IoT Hub input with Avro serialization": { "$ref": "./examples/Input_Create_Stream_IoTHub_Avro.json" + }, + "Create a Gateway Message Bus input": { + "$ref": "./examples/Input_Create_GatewayMessageBus.json" + }, + "Create an Event Grid input": { + "$ref": "./examples/Input_Create_EventGrid.json" } }, "parameters": [ @@ -466,6 +472,10 @@ "partitionKey": { "type": "string", "description": "partitionKey Describes a key in the input data which is used for partitioning the input data" + }, + "watermarkSettings": { + "$ref": "#/definitions/InputWatermarkProperties", + "description": "Settings which determine whether to read watermark events." } }, "required": [ @@ -547,7 +557,7 @@ "sourcePartitionCount": { "type": "integer", "format": "int32", - "description": "The partition count of the blob input data source. Range 1 - 256." + "description": "The partition count of the blob input data source. Range 1 - 1024." } } }, @@ -597,6 +607,11 @@ "consumerGroupName": { "type": "string", "description": "The name of an Event Hub Consumer Group that should be used to read events from the Event Hub. Specifying distinct consumer group names for multiple inputs allows each of those inputs to receive the same events from the Event Hub. If not specified, the input uses the Event Hub’s default consumer group." + }, + "prefetchCount": { + "type": "integer", + "format": "int32", + "description": "The number of messages that the message receiver can simultaneously request." } } }, @@ -700,7 +715,29 @@ "$ref": "#/definitions/BlobDataSourceProperties" } ], - "properties": {} + "properties": { + "blobName": { + "type": "string", + "description": "The name of the blob input." + }, + "deltaPathPattern": { + "type": "string", + "description": "The path pattern of the delta snapshot." + }, + "sourcePartitionCount": { + "type": "integer", + "format": "int32", + "description": "The partition count of the blob input data source. Range 1 - 256." + }, + "fullSnapshotRefreshRate": { + "type": "string", + "description": "The refresh interval of the blob input data source." + }, + "deltaSnapshotRefreshRate": { + "type": "string", + "description": "The interval that the user generates a delta snapshot of this reference blob input data source." + } + } }, "RawReferenceInputDataSource": { "description": "Describes a raw input data source that contains reference data. This data source type is only applicable/usable when using the query testing API. You cannot create a job with this data source type or add an input of this data source type to an existing job.", @@ -745,6 +782,10 @@ "timeFormat": { "type": "string", "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, @@ -774,6 +815,10 @@ "type": "string", "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests.", "x-ms-secret": true + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, @@ -812,6 +857,11 @@ "eventHubName": { "type": "string", "description": "The name of the Event Hub. Required on PUT (CreateOrReplace) requests." + }, + "partitionCount": { + "type": "integer", + "format": "int32", + "description": "The partition count of the event hub data source. Range 1 - 256." } } }, @@ -1175,10 +1225,6 @@ "type": "string", "x-ms-secret": true }, - "table": { - "description": "This element is associated with the datasource element. The name of the table in the Azure SQL database..", - "type": "string" - }, "refreshType": { "type": "object", "description": "Indicates the type of data refresh option.", @@ -1195,9 +1241,110 @@ "deltaSnapshotQuery": { "description": "This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.", "type": "string" + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "GatewayMessageBusStreamInputDataSource": { + "description": "Describes a blob input data source that contains stream data.", + "type": "object", + "x-ms-discriminator-value": "GatewayMessageBus", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GatewayMessageBusStreamInputDataSourceProperties", + "description": "The properties that are associated with a gateway message bus input containing stream data.", + "x-ms-client-flatten": true + } + } + }, + "GatewayMessageBusStreamInputDataSourceProperties": { + "description": "The properties that are associated with a gateway message bus input containing stream data.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GatewayMessageBusSourceProperties" + } + ] + }, + "GatewayMessageBusSourceProperties": { + "description": "The properties that are associated with a gateway message bus datasource.", + "type": "object", + "properties": { + "topic": { + "type": "string", + "description": "The name of the Service Bus topic." + } + } + }, + "EventGridStreamInputDataSource": { + "description": "Describes an event grid input data source that contains stream data.", + "type": "object", + "x-ms-discriminator-value": "Microsoft.EventGrid/EventSubscriptions", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventGridStreamInputDataSourceProperties", + "description": "The properties that are associated with an event grid input containing stream data.", + "x-ms-client-flatten": true + } + } + }, + "EventGridStreamInputDataSourceProperties": { + "description": "The properties that are associated with an event grid input containing stream data.", + "type": "object", + "properties": { + "subscriber": { + "type": "object", + "description": "Subscribers for the Event Grid. Currently only EventHub Subscriber is supported.", + "$ref": "#/definitions/EventHubV2StreamInputDataSource" + }, + "schema": { + "type": "object", + "description": "Indicates the Event Grid schema type.", + "$ref": "#/definitions/EventGridEventSchemaType" + }, + "storageAccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests.", + "x-ms-identifiers": [] + }, + "eventTypes": { + "type": "array", + "items": { + "type": "string", + "description": "Event Type." + }, + "description": "List of Event Types that are supported by the Event Grid adapter." } } }, + "EventGridEventSchemaType": { + "type": "string", + "description": "Supported Event Grid schema types.", + "enum": [ + "EventGridEventSchema", + "CloudEventSchema" + ], + "x-ms-enum": { + "name": "EventGridEventSchemaType", + "modelAsString": true + } + }, "RefreshType": { "type": "string", "description": "Indicates the type of data refresh option.", @@ -1210,6 +1357,28 @@ "name": "RefreshType", "modelAsString": true } + }, + "InputWatermarkProperties": { + "type": "object", + "description": "Settings which determine whether to read watermark events.", + "properties": { + "watermarkMode": { + "$ref": "#/definitions/InputWatermarkMode", + "description": "The input watermark mode." + } + } + }, + "InputWatermarkMode": { + "type": "string", + "description": "The input watermark mode.", + "enum": [ + "None", + "ReadWatermark" + ], + "x-ms-enum": { + "name": "InputWatermarkMode", + "modelAsString": true + } } }, "parameters": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json index bbae2874236c..0918fd20dad3 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/outputs.json @@ -53,6 +53,12 @@ "Create a DocumentDB output": { "$ref": "./examples/Output_Create_DocumentDB.json" }, + "Create an Azure Data Warehouse output": { + "$ref": "./examples/Output_Create_DataWarehouse.json" + }, + "Create an Azure Function output": { + "$ref": "./examples/Output_Create_AzureFunction.json" + }, "Create an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Create_EventHub_JSON.json" }, @@ -67,6 +73,12 @@ }, "Create an Azure Data Lake Store output with JSON serialization": { "$ref": "./examples/Output_Create_AzureDataLakeStore_JSON.json" + }, + "Create a Gateway Message Bus output": { + "$ref": "./examples/Output_Create_GatewayMessageBus.json" + }, + "Create a PostgreSQL output": { + "$ref": "./examples/Output_Create_PostgreSQL.json" } }, "parameters": [ @@ -163,6 +175,12 @@ "Update a DocumentDB output": { "$ref": "./examples/Output_Update_DocumentDB.json" }, + "Update an Azure Data Warehouse output": { + "$ref": "./examples/Output_Update_DataWarehouse.json" + }, + "Update an Azure Function output": { + "$ref": "./examples/Output_Update_AzureFunction.json" + }, "Update an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Update_EventHub.json" }, @@ -514,6 +532,19 @@ "readOnly": true, "type": "string", "description": "The current entity tag for the output. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "lastOutputEventTimestamps": { + "type": "array", + "items": { + "$ref": "#/definitions/LastOutputEventTimestamp" + }, + "readOnly": true, + "description": "A list of the last output event times for each output partition. The index of the array corresponds to the partition number.", + "x-ms-identifiers": [] + }, + "watermarkSettings": { + "$ref": "#/definitions/OutputWatermarkProperties", + "description": "Settings which determine whether to send watermarks to downstream." } } }, @@ -584,12 +615,28 @@ } ], "properties": { - "authenticationMode": { - "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", - "description": "Authentication Mode." + "blobPathPrefix": { + "type": "string", + "description": "Blob path prefix." + }, + "blobWriteMode": { + "$ref": "#/definitions/BlobWriteMode", + "description": "Blob write mode." } } }, + "BlobWriteMode": { + "type": "string", + "description": "Determines whether blob blocks are either committed automatically or appended.", + "enum": [ + "Append", + "Once" + ], + "x-ms-enum": { + "name": "BlobWriteMode", + "modelAsString": true + } + }, "AzureTableOutputDataSource": { "type": "object", "description": "Describes an Azure Table output data source.", @@ -780,6 +827,72 @@ "type": "string", "description": "The password that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests.", "x-ms-secret": true + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "PostgreSQLOutputDataSource": { + "type": "object", + "description": "Describes a PostgreSQL output data source.", + "x-ms-discriminator-value": "Microsoft.DBForPostgreSQL/servers/databases", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PostgreSQLOutputDataSourceProperties", + "description": "The properties that are associated with a PostgreSQL output data source. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "PostgreSQLOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a PostgreSQL output.", + "allOf": [ + { + "$ref": "#/definitions/PostgreSQLDataSourceProperties" + } + ], + "properties": {} + }, + "PostgreSQLDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure SQL database data source.", + "properties": { + "server": { + "type": "string", + "description": "The name of the SQL server containing the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "database": { + "type": "string", + "description": "The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "user": { + "type": "string", + "description": "The user name that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "password": { + "type": "string", + "description": "The password that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + }, + "maxWriterCount": { + "type": "number", + "description": "Max Writer count, currently only 1(single writer) and 0(based on query partition) are available. Optional on PUT requests." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, @@ -828,6 +941,10 @@ "documentId": { "type": "string", "description": "The name of the field in output events used to specify the primary key which insert or update operations are based on." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, @@ -849,7 +966,7 @@ } }, "AzureFunctionOutputDataSourceProperties": { - "description": "The properties that are associated with a DocumentDB output.", + "description": "The properties that are associated with an Azure Function output.", "type": "object", "properties": { "functionAppName": { @@ -1063,6 +1180,32 @@ } } }, + "GatewayMessageBusOutputDataSource": { + "type": "object", + "description": "Describes a Gateway Message Bus output data source.", + "x-ms-discriminator-value": "GatewayMessageBus", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GatewayMessageBusOutputDataSourceProperties", + "description": "The properties that are associated with a Gateway Message Bus output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "GatewayMessageBusOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a Gateway Message Bus.", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/GatewayMessageBusSourceProperties" + } + ] + }, "OutputListResult": { "type": "object", "properties": { @@ -1138,6 +1281,47 @@ } } }, + "LastOutputEventTimestamp": { + "type": "object", + "description": "An output event timestamp.", + "properties": { + "lastOutputEventTime": { + "type": "string", + "description": "The last output event time." + }, + "lastUpdateTime": { + "type": "string", + "description": "The time that the last update happened." + } + } + }, + "OutputWatermarkProperties": { + "type": "object", + "description": "Settings which determine whether to send watermarks to downstream.", + "properties": { + "watermarkMode": { + "$ref": "#/definitions/OutputWatermarkMode", + "description": "The output watermark mode." + }, + "maxWatermarkDifferenceAcrossPartitions": { + "type": "string", + "description": "Describes the maximal delta between the fastest and slowest partitions, so the out of order window that catches all necessary events in downstream jobs is well defined." + } + } + }, + "OutputWatermarkMode": { + "type": "string", + "description": "The output watermark mode.", + "enum": [ + "None", + "SendCurrentPartitionWatermark", + "SendLowestWatermarkAcrossPartitions" + ], + "x-ms-enum": { + "name": "OutputWatermarkMode", + "modelAsString": true + } + }, "SubResource": { "type": "object", "description": "The base sub-resource model definition.", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json index 1a221e44deea..bf56d8b827a6 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/preview/2021-10-01-preview/streamingjobs.json @@ -960,12 +960,56 @@ "$ref": "./inputs.json#/definitions/StorageAccount" }, "container": { - "type": "string" + "type": "string", + "description": "The UserCustomCode container." }, "path": { - "type": "string" + "type": "string", + "description": "The UserCustomCode path." + }, + "refreshConfiguration": { + "$ref": "#/definitions/RefreshConfiguration", + "description": "The refresh parameters for any/all updatable user defined functions present in the job config." } } + }, + "RefreshConfiguration": { + "description": "The refresh parameters for any/all updatable user defined functions present in the job config.", + "type": "object", + "properties": { + "pathPattern": { + "type": "string", + "description": "The blob path pattern. Not a regular expression. It represents a pattern against which blob names will be matched to determine whether or not they should be included as input or output to the job. See https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-input or https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-output for a more detailed explanation and example." + }, + "dateFormat": { + "type": "string", + "description": "The date format. Wherever {date} appears in pathPattern, the value of this property is used as the date format instead." + }, + "timeFormat": { + "type": "string", + "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + }, + "refreshInterval": { + "type": "string", + "description": "The refresh interval." + }, + "refreshType": { + "$ref": "#/definitions/UpdatableUdfRefreshType", + "description": "This property indicates which data refresh option to use, Blocking or Nonblocking." + } + } + }, + "UpdatableUdfRefreshType": { + "type": "string", + "description": "This property indicates which data refresh option to use, Blocking or Nonblocking.", + "enum": [ + "Blocking", + "Nonblocking" + ], + "x-ms-enum": { + "name": "RefreshType", + "modelAsString": true + } } } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json index 37e57bafa6b5..05cc59f0d757 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2016-03-01/inputs.json @@ -532,7 +532,7 @@ "sourcePartitionCount": { "type": "integer", "format": "int32", - "description": "The partition count of the blob input data source. Range 1 - 256." + "description": "The partition count of the blob input data source. Range 1 - 1024." } } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_AzureFunction.json new file mode 100644 index 000000000000..32c7c5bb3e64 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_AzureFunction.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_DataWarehouse.json new file mode 100644 index 000000000000..4a2e40e33294 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Create_DataWarehouse.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin", + "password": "password123" + } + } + } + } + }, + "responses": { + "201": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + }, + "200": { + "headers": { + "ETag": "731a47c6-ff67-4439-bde6-a2a3da4c1ecf" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "test2", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_AzureFunction.json new file mode 100644 index 000000000000..9abab52da137 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_AzureFunction.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1" + }, + "responses": { + "200": { + "headers": { + "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" + }, + "body": { + "id": "/subscriptions/7f31cba8-b597-4129-b158-8f21a7395bd0/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "HttpTrigger2", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + }, + "etag": "7b912929-346d-432e-9495-6972dbd63179" + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_DataWarehouse.json index e18b30233b6b..7e9fde8e6b98 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_DataWarehouse.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Get_DataWarehouse.json @@ -4,7 +4,7 @@ "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", "resourceGroupName": "sjrg", "jobName": "sjName", - "outputName": "output958" + "outputName": "dwOutput" }, "responses": { "200": { @@ -12,8 +12,8 @@ "ETag": "2409b6d1-c99c-405b-9a14-ea7833637038" }, "body": { - "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/kunAll0908npm2/outputs/SynapseformerlySQLDW1", - "name": "SynapseformerlySQLDW1", + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", "properties": { "datasource": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_AzureFunction.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_AzureFunction.json new file mode 100644 index 000000000000..8b5ac214a15b --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_AzureFunction.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "azureFunction1", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionName": "differentFunctionName" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/azureFunction1", + "name": "azureFunction1", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.AzureFunction", + "properties": { + "functionAppName": "functionappforasaautomation", + "functionName": "differentFunctionName", + "apiKey": null, + "maxBatchSize": 256, + "maxBatchCount": 100 + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_DataWarehouse.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_DataWarehouse.json new file mode 100644 index 000000000000..64a799562271 --- /dev/null +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/examples/Output_Update_DataWarehouse.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2020-03-01", + "subscriptionId": "56b5e0a9-b645-407d-99b0-c64f86013e3d", + "resourceGroupName": "sjrg", + "jobName": "sjName", + "outputName": "dwOutput", + "output": { + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/Database", + "properties": { + "table": "differentTable" + } + } + } + } + }, + "responses": { + "200": { + "headers": { + "ETag": "f489d6f3-fcd5-4bcb-b642-81e987ee16d6" + }, + "body": { + "id": "/subscriptions/56b5e0a9-b645-407d-99b0-c64f86013e3d/resourceGroups/sjrg/providers/Microsoft.StreamAnalytics/streamingjobs/sjName/outputs/dwOutput", + "name": "dwOutput", + "type": "Microsoft.StreamAnalytics/streamingjobs/outputs", + "properties": { + "datasource": { + "type": "Microsoft.Sql/Server/DataWarehouse", + "properties": { + "table": "differentTable", + "server": "asatestserver", + "database": "zhayaSQLpool", + "user": "tolladmin" + } + } + } + } + } + } +} diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/functions.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/functions.json index 0cc5c09af7d4..b32f7f839bde 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/functions.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/functions.json @@ -485,50 +485,43 @@ "readOnly": true, "type": "string", "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "properties": { + "$ref": "#/definitions/FunctionConfiguration", + "x-ms-client-flatten": true } }, "required": [ "type" ] }, - "ScalarFunctionProperties": { + "FunctionConfiguration": { "type": "object", - "description": "The properties that are associated with a scalar function.", - "x-ms-discriminator-value": "Scalar", - "allOf": [ - { - "$ref": "#/definitions/FunctionProperties" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ScalarFunctionConfiguration", - "description": "Describes the configuration of the scalar function.", - "x-ms-client-flatten": true - } - } - }, - "ScalarFunctionConfiguration": { - "type": "object", - "description": "Describes the configuration of the scalar function.", "properties": { "inputs": { "type": "array", "items": { "$ref": "#/definitions/FunctionInput" - }, - "description": "A list of inputs describing the parameters of the function." + } }, "output": { - "$ref": "#/definitions/FunctionOutput", - "description": "The output of the function." + "$ref": "#/definitions/FunctionOutput" }, "binding": { - "$ref": "#/definitions/FunctionBinding", - "description": "The physical binding of the function. For example, in the Azure Machine Learning web service’s case, this describes the endpoint." + "$ref": "#/definitions/FunctionBinding" } } }, + "ScalarFunctionProperties": { + "description": "The properties that are associated with a scalar function.", + "type": "object", + "x-ms-discriminator-value": "Scalar", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] + }, "FunctionInput": { "type": "object", "description": "Describes one input parameter of a function.", @@ -605,6 +598,9 @@ "items": { "$ref": "#/definitions/AzureMachineLearningWebServiceOutputColumn" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of outputs from the Azure Machine Learning web service endpoint execution." }, "batchSize": { @@ -627,6 +623,9 @@ "items": { "$ref": "#/definitions/AzureMachineLearningWebServiceInputColumn" }, + "x-ms-identifiers": [ + "name" + ], "description": "A list of input columns for the Azure Machine Learning web service endpoint." } } @@ -817,6 +816,16 @@ } }, "x-ms-azure-resource": true + }, + "AggregateFunctionProperties": { + "description": "The properties that are associated with an aggregate function.", + "type": "object", + "x-ms-discriminator-value": "Aggregate", + "allOf": [ + { + "$ref": "#/definitions/FunctionProperties" + } + ] } }, "parameters": { diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/inputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/inputs.json index 7ee84c08d90c..0588368d5806 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/inputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/inputs.json @@ -547,7 +547,7 @@ "sourcePartitionCount": { "type": "integer", "format": "int32", - "description": "The partition count of the blob input data source. Range 1 - 256." + "description": "The partition count of the blob input data source. Range 1 - 1024." } } }, @@ -693,6 +693,9 @@ "items": { "$ref": "#/definitions/StorageAccount" }, + "x-ms-identifiers": [ + "accountName" + ], "description": "A list of one or more Azure Storage accounts. Required on PUT (CreateOrReplace) requests." }, "container": { @@ -710,6 +713,10 @@ "timeFormat": { "type": "string", "description": "The time format. Wherever {time} appears in pathPattern, the value of this property is used as the time format instead." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, @@ -774,6 +781,7 @@ "items": { "$ref": "#/definitions/DiagnosticCondition" }, + "x-ms-identifiers": [], "description": "A collection of zero or more conditions applicable to the resource, or to the job overall, that warrant customer attention." } } diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/outputs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/outputs.json index d4041f3510f0..1e5ac0667c8e 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/outputs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/outputs.json @@ -53,6 +53,12 @@ "Create a DocumentDB output": { "$ref": "./examples/Output_Create_DocumentDB.json" }, + "Create an Azure Data Warehouse output": { + "$ref": "./examples/Output_Create_DataWarehouse.json" + }, + "Create an Azure Function output": { + "$ref": "./examples/Output_Create_AzureFunction.json" + }, "Create an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Create_EventHub_JSON.json" }, @@ -163,6 +169,12 @@ "Update a DocumentDB output": { "$ref": "./examples/Output_Update_DocumentDB.json" }, + "Update an Azure Data Warehouse output": { + "$ref": "./examples/Output_Update_DataWarehouse.json" + }, + "Update an Azure Function output": { + "$ref": "./examples/Output_Update_AzureFunction.json" + }, "Update an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Update_EventHub.json" }, @@ -299,6 +311,9 @@ "Get an Azure Data Warehouse output": { "$ref": "./examples/Output_Get_DataWarehouse.json" }, + "Get an Azure Function output": { + "$ref": "./examples/Output_Get_AzureFunction.json" + }, "Get an Event Hub output with JSON serialization": { "$ref": "./examples/Output_Get_EventHub_JSON.json" }, @@ -552,13 +567,7 @@ { "$ref": "./inputs.json#/definitions/BlobDataSourceProperties" } - ], - "properties": { - "authenticationMode": { - "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", - "description": "Authentication Mode." - } - } + ] }, "AzureTableOutputDataSource": { "type": "object", @@ -800,6 +809,49 @@ } } }, + "AzureFunctionOutputDataSource": { + "description": "Defines the metadata of AzureFunctionOutputDataSource", + "type": "object", + "x-ms-discriminator-value": "Microsoft.AzureFunction", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureFunctionOutputDataSourceProperties", + "description": "The properties that are associated with a Azure Function output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureFunctionOutputDataSourceProperties": { + "description": "The properties that are associated with an Azure Function output.", + "type": "object", + "properties": { + "functionAppName": { + "description": "The name of your Azure Functions app.", + "type": "string" + }, + "functionName": { + "description": "The name of the function in your Azure Functions app.", + "type": "string" + }, + "apiKey": { + "description": "If you want to use an Azure Function from another subscription, you can do so by providing the key to access your function.", + "type": "string" + }, + "maxBatchSize": { + "description": "A property that lets you set the maximum size for each output batch that's sent to your Azure function. The input unit is in bytes. By default, this value is 262,144 bytes (256 KB).", + "type": "number" + }, + "maxBatchCount": { + "description": "A property that lets you specify the maximum number of events in each batch that's sent to Azure Functions. The default value is 100.", + "type": "number" + } + } + }, "ServiceBusQueueOutputDataSource": { "type": "object", "description": "Describes a Service Bus Queue output data source.", diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json index 21357bd2fff4..54a585565849 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/privateEndpoints.json @@ -271,7 +271,10 @@ "type": "array", "items": { "$ref": "#/definitions/PrivateLinkServiceConnection" - } + }, + "x-ms-identifiers": [ + "/properties/privateLinkServiceId" + ] } } }, diff --git a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/streamingjobs.json b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/streamingjobs.json index ba3f27b32f2c..5ffcdc4a0348 100644 --- a/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/streamingjobs.json +++ b/specification/streamanalytics/resource-manager/Microsoft.StreamAnalytics/stable/2020-03-01/streamingjobs.json @@ -584,7 +584,10 @@ "readOnly": true, "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "URL to get the next set of operation list results if there are any.", diff --git a/specification/streamanalytics/resource-manager/readme.python.md b/specification/streamanalytics/resource-manager/readme.python.md index 62ec20dcfc6c..53768419f1e2 100644 --- a/specification/streamanalytics/resource-manager/readme.python.md +++ b/specification/streamanalytics/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-streamanalytics -no-namespace-folders: true +namespace: azure.mgmt.streamanalytics package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics/azure/mgmt/streamanalytics ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/streamanalytics/azure-mgmt-streamanalytics -``` diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json index 60771a02d266..f097d27dcd3c 100644 --- a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2016-06-01/subscriptions.json @@ -294,9 +294,6 @@ "description": "The URL to get the next set of results." } }, - "required": [ - "nextLink" - ], "description": "Subscription list operation response." }, "TenantIdDescription": { diff --git a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json index 8c22e74cae7b..d26ccd1bdde9 100644 --- a/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json +++ b/specification/subscription/resource-manager/Microsoft.Subscription/stable/2020-09-01/subscriptions.json @@ -85,7 +85,7 @@ "default": { "description": "Describes the error if the operation is not successful.", "schema": { - "$ref": "#/definitions/ErrorResponse" + "$ref": "#/definitions/ErrorResponseBody" } } } diff --git a/specification/subscription/resource-manager/readme.python.md b/specification/subscription/resource-manager/readme.python.md index 85e1d3960602..5dedac3dcd76 100644 --- a/specification/subscription/resource-manager/readme.python.md +++ b/specification/subscription/resource-manager/readme.python.md @@ -6,7 +6,6 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat ``` yaml $(python) -python-mode: create azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.subscription @@ -15,11 +14,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/subscription/azure-mgmt-subscription/azure/mgmt/subscription ``` -``` yaml $(python) && $(python-mode) == 'create' -basic-setup-py: true -output-folder: $(python-sdks-folder)/subscription/azure-mgmt-subscription -``` diff --git a/specification/support/resource-manager/Microsoft.Support/preview/2021-06-01-preview/supportResourceIdDetails.json b/specification/support/resource-manager/Microsoft.Support/preview/2021-06-01-preview/supportResourceIdDetails.json index 22a96fe03888..9f709f6041e4 100644 --- a/specification/support/resource-manager/Microsoft.Support/preview/2021-06-01-preview/supportResourceIdDetails.json +++ b/specification/support/resource-manager/Microsoft.Support/preview/2021-06-01-preview/supportResourceIdDetails.json @@ -123,7 +123,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -224,6 +227,7 @@ "items": { "$ref": "#/definitions/ServiceErrorDetail" }, + "x-ms-identifiers": [], "description": "The list of error details.", "readOnly": true } diff --git a/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json index 18f8f6b069be..b456f5dc375e 100644 --- a/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json +++ b/specification/support/resource-manager/Microsoft.Support/stable/2020-04-01/support.json @@ -788,7 +788,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1301,6 +1304,7 @@ "items": { "$ref": "#/definitions/ServiceErrorDetail" }, + "x-ms-identifiers": [], "description": "The list of error details.", "readOnly": true } @@ -1469,7 +1473,10 @@ "type": "array", "items": { "$ref": "#/definitions/QuotaChangeRequest" - } + }, + "x-ms-identifiers": [ + "region" + ] } } }, diff --git a/specification/support/resource-manager/readme.python.md b/specification/support/resource-manager/readme.python.md index 1974be4e363c..603ffac20124 100644 --- a/specification/support/resource-manager/readme.python.md +++ b/specification/support/resource-manager/readme.python.md @@ -4,7 +4,7 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.support @@ -13,11 +13,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/support/azure-mgmt-support/azure/mgmt/support ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/support/azure-mgmt-support -``` diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json index 7c9801518e66..c721e9fb666d 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-06-01-preview/entityTypes/Pipeline.json @@ -5990,6 +5990,10 @@ "description": "Authentication method used for calling the endpoint.", "$ref": "#/definitions/WebActivityAuthentication" }, + "disableCertValidation": { + "type": "boolean", + "description": "When set to true, Certificate validation will be disabled." + }, "datasets": { "type": "array", "description": "List of datasets passed to web endpoint.", @@ -7050,6 +7054,152 @@ "dataflow" ] }, + "ScriptActivity": { + "description": "Script activity type.", + "x-ms-discriminator-value": "Script", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExecutionActivity" + } + ], + "properties": { + "typeProperties": { + "x-ms-client-flatten": true, + "description": "Script activity properties.", + "$ref": "#/definitions/ScriptActivityTypeProperties" + } + }, + "required": [ + "typeProperties", + "linkedServiceName" + ] + }, + "ScriptActivityTypeProperties": { + "description": "Script activity properties.", + "type": "object", + "properties": { + "scripts": { + "type": "array", + "description": "Array of script blocks. Type: array.", + "items": { + "$ref": "#/definitions/ScriptActivityScriptBlock" + } + }, + "logSettings": { + "description": "Log settings of script activity.", + "type": "object", + "properties": { + "logDestination": { + "x-ms-enum": { + "name": "ScriptActivityLogDestination", + "modelAsString": true + }, + "enum": [ + "ActivityOutput", + "ExternalStore" + ], + "type": "string", + "description": "The destination of logs. Type: string." + }, + "logLocationSettings": { + "description": "Log location settings customer needs to provide when enabling log.", + "$ref": "#/definitions/LogLocationSettings" + } + }, + "required": [ + "logDestination" + ] + } + } + }, + "ScriptActivityScriptBlock": { + "description": "Script block of scripts.", + "type": "object", + "properties": { + "text": { + "type": "object", + "description": "The query text. Type: string (or Expression with resultType string)." + }, + "type": { + "x-ms-enum": { + "name": "ScriptType", + "modelAsString": true + }, + "enum": [ + "Query", + "NonQuery" + ], + "type": "string", + "description": "The type of the query. Type: string." + }, + "parameters": { + "type": "array", + "description": "Array of script parameters. Type: array.", + "items": { + "$ref": "#/definitions/ScriptActivityParameter" + } + } + }, + "required": [ + "text", + "type" + ] + }, + "ScriptActivityParameter": { + "description": "Parameters of a script block.", + "type": "object", + "properties": { + "name": { + "type": "object", + "description": "The name of the parameter. Type: string (or Expression with resultType string)." + }, + "type": { + "description": "The type of the parameter.", + "type": "string", + "enum": [ + "Boolean", + "DateTime", + "DateTimeOffset", + "Decimal", + "Double", + "Guid", + "Int16", + "Int32", + "Int64", + "Single", + "String", + "Timespan" + ], + "x-ms-enum": { + "name": "ScriptActivityParameterType", + "modelAsString": true + } + }, + "value": { + "description": "The value of the parameter.", + "type": "object" + }, + "direction": { + "description": "The direction of the parameter.", + "type": "string", + "enum": [ + "Input", + "Output", + "InputOutput" + ], + "x-ms-enum": { + "name": "ScriptActivityParameterDirection", + "modelAsString": true + } + }, + "size": { + "description": "The size of the output direction parameter.", + "type": "integer", + "format": "int32" + } + } + }, "SharePointOnlineListSource": { "description": "A copy activity source for sharePoint online list source.", "type": "object", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json new file mode 100644 index 000000000000..a90547657914 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_CreateOrUpdate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "linkConnection": { + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + }, + "landingZone": { + "linkedService": { + "referenceName": "exampleLandingZoneLinkedService", + "type": "LinkedServiceReference" + }, + "fileSystem": "exampleFileSystem", + "folderPath": "exampleFolderPath", + "sasToken": { + "type": "SecureString", + "value": "exampleSasToken" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json new file mode 100644 index 000000000000..ae23f6de2fe9 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Delete.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json new file mode 100644 index 000000000000..17fe52cfdac0 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_EditTables.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "editTablesRequest": { + "linkTables": [ + { + "id": "33f01131-553b-4b97-83a8-0db255a66901", + "source": { + "tableName": "exampleSourceTable", + "schemaName": "exampleSourceSchema" + }, + "target": { + "tableName": "exampleTargetTable", + "schemaName": "exampleTargetSchema", + "distributionOptions": { + "type": "Round_RoBin" + } + }, + "operationType": "Add" + } + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json new file mode 100644 index 000000000000..7fad77d1eff1 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json new file mode 100644 index 000000000000..0a92bee4a6e4 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_GetDetailedStatus.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "d20e417b-b5d1-4d5c-b2d6-4a581575c5b1", + "name": "testLinkConnection", + "isApplyingChanges": false, + "isPartiallyFailed": false, + "startTime": "2021-10-28T08:09:32.2976822Z", + "status": "Running", + "stopTime": "2021-10-28T09:24:47.2415789Z", + "continuousRunId": "23ded02c-056b-45e7-8852-a2fdb8d250dc" + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json new file mode 100644 index 000000000000..969a27d45efe --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_ListLinkTables.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "7bbb9091983b48f59808cb322a30e1e1", + "name": "testLinkConnection", + "source": { + "tableName": "exampleSourceTable", + "schemaName": "exampleSourceSchema" + }, + "target": { + "tableName": "exampleTargetTable", + "schemaName": "exampleTargetSchema" + } + } + ] + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json new file mode 100644 index 000000000000..4028aeafc8f2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_QueryTableStatus.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "queryTableStatusRequest": { + "maxSegmentCount": 50 + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "8bbb9091983b48f59808cb322a30e1e1", + "startTime": "2021-10-28T08:09:32.2976822Z", + "status": "Replicating", + "stopTime": "2021-10-28T09:24:47.2415789Z", + "errorMessage": "sampleErrorMessage" + } + ], + "continuationToken": null + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json new file mode 100644 index 000000000000..1acc7ada2394 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Start.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json new file mode 100644 index 000000000000..1acc7ada2394 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_Stop.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json new file mode 100644 index 000000000000..e4e4d311fd36 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnection_UpdateLandingZoneCredential.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "linkConnectionName": "testLinkConnection", + "api-version": "2021-12-01-preview", + "updateLandingZoneCredentialRequest": { + "sasToken": { + "type": "SecureString", + "value": "exampleSasToken" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json new file mode 100644 index 000000000000..fc410baf677f --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/examples/LinkConnections_ListByWorkspace.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "endpoint": "testWs.dev.azuresynapse.net", + "api-version": "2021-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Synapse/workspaces/testWs/linkConnections/testLinkConnection", + "name": "testLinkConnection", + "type": "Microsoft.Synapse/workspaces/linkConnections", + "properties": { + "compute": { + "coreCount": 8, + "computeType": "General" + }, + "sourceDatabase": { + "linkedService": { + "referenceName": "exampleSourceLinkedService", + "type": "LinkedServiceReference" + }, + "typeProperties": { + "resourceId": "/subscriptions/99c6ec47-aacb-485c-863c-018be33b9000/resourceGroups/testResourceGroup/providers/Microsoft.Sql/servers/testAzureSql", + "principalId": "fcf4d3a4-35b5-4c02-8b57-502cd6456d0b" + } + }, + "targetDatabase": { + "linkedService": { + "referenceName": "exampleTargetLinkedService", + "type": "LinkedServiceReference" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json new file mode 100644 index 000000000000..cf01a152eaf2 --- /dev/null +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json @@ -0,0 +1,931 @@ +{ + "swagger": "2.0", + "info": { + "version": "2021-12-01-preview", + "title": "ArtifactsClient", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "$ref": "#/parameters/Endpoint" + } + ] + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/linkconnections": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_ListLinkConnectionsByWorkspace", + "description": "List link connections", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnections_ListByWorkspace": { + "$ref": "./examples/LinkConnections_ListByWorkspace.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/linkconnections/{linkConnectionName}": { + "put": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_CreateOrUpdateLinkConnection", + "description": "Creates or updates a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "linkConnection", + "description": "Link connection resource definition", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_CreateOrUpdate": { + "$ref": "./examples/LinkConnection_CreateOrUpdate.json" + } + } + }, + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_GetLinkConnection", + "description": "Get a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Get": { + "$ref": "./examples/LinkConnection_Get.json" + } + } + }, + "delete": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_DeleteLinkConnection", + "description": "Delete a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Delete": { + "$ref": "./examples/LinkConnection_Delete.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/edittables": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_EditTables", + "description": "Edit tables for a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "editTablesRequest", + "description": "Edit tables request", + "required": true, + "schema": { + "$ref": "#/definitions/EditTablesRequest" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_EditTables": { + "$ref": "./examples/LinkConnection_EditTables.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/start": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_Start", + "description": "Start a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Start": { + "$ref": "./examples/LinkConnection_Start.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/stop": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_Stop", + "description": "Stop a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_Stop": { + "$ref": "./examples/LinkConnection_Stop.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/detailedstatus": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_GetDetailedStatus", + "description": "Get the detailed status of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionDetailedStatus" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_GetDetailedStatus": { + "$ref": "./examples/LinkConnection_GetDetailedStatus.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/linktables": { + "get": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_ListLinkTables", + "description": "List the link tables of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkTableListResponse" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_ListLinkTables": { + "$ref": "./examples/LinkConnection_ListLinkTables.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/querytablestatus": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_QueryTableStatus", + "description": "Query the link table status of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "queryTableStatusRequest", + "description": "Query table status request", + "required": true, + "schema": { + "$ref": "#/definitions/QueryTableStatusRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LinkConnectionQueryTableStatus" + } + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_QueryTableStatus": { + "$ref": "./examples/LinkConnection_QueryTableStatus.json" + } + } + } + }, + "/linkconnections/{linkConnectionName}/updateLandingZoneCredential": { + "post": { + "tags": [ + "linkConnections" + ], + "operationId": "LinkConnection_UpdateLandingZoneCredential", + "description": "Update landing zone credential of a link connection", + "parameters": [ + { + "$ref": "#/parameters/LinkConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "updateLandingZoneCredentialRequest", + "description": "update landing zone credential request", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateLandingZoneCredential" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "An error response received from the Azure Synapse service.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "LinkConnection_UpdateLandingZoneCredential": { + "$ref": "./examples/LinkConnection_UpdateLandingZoneCredential.json" + } + } + } + } + }, + "definitions": { + "LinkConnectionListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List link connection value", + "items": { + "$ref": "#/definitions/LinkConnectionResource" + } + }, + "nextLink": { + "type": "string", + "description": "List link connections next link" + } + }, + "required": [ + "value" + ] + }, + "LinkTableListResponse": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "List link table value", + "items": { + "$ref": "#/definitions/LinkTableResource" + } + } + } + }, + "LinkConnectionResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link connection id" + }, + "name": { + "type": "string", + "description": "Link connection name" + }, + "type": { + "type": "string", + "description": "Link connection type" + }, + "properties": { + "$ref": "#/definitions/LinkConnection", + "description": "Properties of link connection" + } + }, + "required": [ + "properties" + ] + }, + "LinkTableResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "name": { + "type": "string", + "description": "Link table name" + }, + "source": { + "$ref": "#/definitions/LinkTableRequestSource", + "description": "Source table properties for link table request" + }, + "target": { + "$ref": "#/definitions/LinkTableRequestTarget", + "description": "Target table properties for link table request" + } + } + }, + "LinkConnection": { + "type": "object", + "properties": { + "sourceDatabase": { + "$ref": "#/definitions/LinkConnectionSourceDatabase", + "description": "Properties of link connection's source database" + }, + "targetDatabase": { + "$ref": "#/definitions/LinkConnectionTargetDatabase", + "description": "Properties of link connection's target database" + }, + "landingZone": { + "$ref": "#/definitions/LinkConnectionLandingZone", + "description": "Properties of link connection's landing zone" + }, + "compute": { + "$ref": "#/definitions/LinkConnectionCompute", + "description": "Properties of link connection's compute" + } + } + }, + "LinkConnectionSourceDatabase": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + }, + "typeProperties": { + "$ref": "#/definitions/LinkConnectionSourceDatabaseTypeProperties", + "description": "Source database type properties" + } + } + }, + "LinkConnectionSourceDatabaseTypeProperties": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "Link connection source database server's resource id" + }, + "principalId": { + "type": "string", + "description": "Link connection source database server's principal id" + } + } + }, + "LinkConnectionTargetDatabase": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + } + } + }, + "LinkConnectionLandingZone": { + "type": "object", + "properties": { + "linkedService": { + "$ref": "#/definitions/LinkedServiceReference", + "description": "Linked service reference" + }, + "fileSystem": { + "type": "string", + "description": "Landing zone's file system name" + }, + "folderPath": { + "type": "string", + "description": "Landing zone's folder path name" + }, + "sasToken": { + "$ref": "#/definitions/SecureString", + "description": "Landing zone's sas token" + } + } + }, + "LinkConnectionCompute": { + "type": "object", + "properties": { + "coreCount": { + "type": "integer", + "description": "Link connection's compute core count" + }, + "computeType": { + "type": "string", + "description": "Link connection's compute type" + } + } + }, + "EditTablesRequest": { + "type": "object", + "properties": { + "linkTables": { + "type": "array", + "description": "Edit link tables request", + "items": { + "$ref": "#/definitions/LinkTableRequest" + } + } + } + }, + "LinkTableRequest": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "source": { + "$ref": "#/definitions/LinkTableRequestSource", + "description": "Source table properties for link table request" + }, + "target": { + "$ref": "#/definitions/LinkTableRequestTarget", + "description": "Target table properties for link table request" + }, + "operationType": { + "type": "string", + "description": "Link table operation type" + } + } + }, + "LinkTableRequestSource": { + "type": "object", + "properties": { + "tableName": { + "type": "string", + "description": "Source table table name" + }, + "schemaName": { + "type": "string", + "description": "Source table schema name" + } + } + }, + "LinkTableRequestTarget": { + "type": "object", + "properties": { + "tableName": { + "type": "string", + "description": "Target table table name" + }, + "schemaName": { + "type": "string", + "description": "Target table schema name" + }, + "distributionOptions": { + "$ref": "#/definitions/LinkTableRequestTargetDistributionOptions", + "description": "Target table distribution options for link table request" + } + } + }, + "LinkTableRequestTargetDistributionOptions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Target table distribution type" + }, + "distributionColumn": { + "type": "string", + "description": "Target table distribution column" + } + } + }, + "LinkConnectionDetailedStatus": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link connection id" + }, + "name": { + "type": "string", + "description": "Link connection name" + }, + "isApplyingChanges": { + "type": "boolean", + "description": "Is link connection applying changes" + }, + "isPartiallyFailed": { + "type": "boolean", + "description": "Is link connection partially failed" + }, + "startTime": { + "type": "object", + "description": "Link connection start time" + }, + "stopTime": { + "type": "object", + "description": "Link connection stop time" + }, + "status": { + "type": "string", + "description": "Link connection status" + }, + "continuousRunId": { + "type": "string", + "description": "Link connection's corresponding continuous run id" + }, + "error": { + "type": "object", + "description": "Link connection error" + } + } + }, + "LinkConnectionQueryTableStatus": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Link tables' status", + "items": { + "$ref": "#/definitions/LinkTableStatus" + } + }, + "continuationToken": { + "type": "object", + "description": "Continuation token to query table status" + } + } + }, + "LinkTableStatus": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Link table id" + }, + "status": { + "type": "string", + "description": "Link table status" + }, + "errorMessage": { + "type": "string", + "description": "Link table error message" + }, + "startTime": { + "type": "object", + "description": "Link table start time" + }, + "stopTime": { + "type": "object", + "description": "Link table stop time" + } + } + }, + "QueryTableStatusRequest": { + "type": "object", + "properties": { + "maxSegmentCount": { + "type": "integer", + "description": "Max segment count to query table status" + }, + "continuationToken": { + "type": "object", + "description": "Continuation token to query table status" + } + } + }, + "UpdateLandingZoneCredential": { + "type": "object", + "properties": { + "sasToken": { + "$ref": "#/definitions/SecureString", + "description": "Landing zone's sas token" + } + } + }, + "SecureString": { + "x-ms-discriminator-value": "SecureString", + "description": "Azure Synapse secure string definition. The string value will be masked with asterisks '*' during Get or List API calls.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretBase" + } + ], + "properties": { + "value": { + "type": "string", + "description": "Value of secure string." + } + }, + "required": [ + "value" + ] + }, + "SecretBase": { + "description": "The base definition of a secret type.", + "discriminator": "type", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Type of the secret." + } + }, + "required": [ + "type" + ] + }, + "CloudError": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error response.", + "type": "object", + "properties": { + "error": { + "x-ms-client-flatten": true, + "description": "Error data", + "$ref": "#/definitions/CloudErrorBody" + } + }, + "required": [ + "error" + ] + }, + "CloudErrorBody": { + "x-ms-external": true, + "description": "The object that defines the structure of an Azure Synapse error.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message.", + "type": "string" + }, + "target": { + "description": "Property name/path in request associated with error.", + "type": "string" + }, + "details": { + "description": "Array with additional error details.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudError" + } + } + }, + "required": [ + "code", + "message" + ] + }, + "LinkedServiceReference": { + "description": "Linked service reference type.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Linked service reference type.", + "enum": [ + "LinkedServiceReference" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + }, + "referenceName": { + "type": "string", + "description": "Reference LinkedService name." + }, + "parameters": { + "$ref": "#/definitions/ParameterValueSpecification", + "description": "Arguments for LinkedService." + } + }, + "required": [ + "type", + "referenceName" + ] + }, + "ParameterValueSpecification": { + "description": "An object mapping parameter names to argument values.", + "type": "object" + } + }, + "parameters": { + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The Synapse client API Version." + }, + "Endpoint": { + "name": "endpoint", + "description": "The workspace development endpoint, for example https://myworkspace.dev.azuresynapse.net.", + "required": true, + "type": "string", + "in": "path", + "x-ms-skip-url-encoding": true, + "x-ms-parameter-location": "client" + }, + "LinkConnectionName": { + "name": "linkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The link connection name", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json index d18b774130f2..5cdf4d9eb984 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/artifacts.json @@ -776,8 +776,8 @@ } }, "referenceName": { - "type": "string", - "description": "Reference notebook name." + "type": "object", + "description": "Reference notebook name. Type: string (or Expression with resultType string)." } }, "required": [ @@ -835,6 +835,31 @@ "referenceName" ] }, + "BigDataPoolParametrizationReference": { + "description": "Big data pool reference type.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "Big data pool reference type.", + "enum": [ + "BigDataPoolReference" + ], + "x-ms-enum": { + "name": "BigDataPoolReferenceType", + "modelAsString": true + } + }, + "referenceName": { + "type": "object", + "description": "Reference big data pool name. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "type", + "referenceName" + ] + }, "ArtifactRenameRequest": { "description": "Request body structure for rename artifact.", "type": "object", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json index ea30af1df007..5bfe733d7b6b 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/LinkedService.json @@ -2774,6 +2774,209 @@ "authenticationType" ] }, + "TeamDeskLinkedService": { + "x-ms-discriminator-value": "TeamDesk", + "description": "Linked service for TeamDesk.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "TeamDesk linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/TeamDeskLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "TeamDeskLinkedServiceTypeProperties": { + "description": "TeamDesk linked service type properties.", + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type to use.", + "type": "string", + "enum": [ + "Basic", + "Token" + ], + "x-ms-enum": { + "name": "TeamDeskAuthenticationType", + "modelAsString": true + } + }, + "url": { + "type": "object", + "description": "The url to connect TeamDesk source. Type: string (or Expression with resultType string)." + }, + "userName": { + "type": "object", + "description": "The username of the TeamDesk source. Type: string (or Expression with resultType string)." + }, + "password": { + "description": "The password of the TeamDesk source.", + "$ref": "../artifacts.json#/definitions/SecretBase" + }, + "apiToken": { + "$ref": "../artifacts.json#/definitions/SecretBase", + "description": "The api token for the TeamDesk source." + }, + "encryptedCredential": { + "type": "object", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "authenticationType", + "url" + ] + }, + "QuickbaseLinkedService": { + "x-ms-discriminator-value": "Quickbase", + "description": "Linked service for Quickbase.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Quickbase linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/QuickbaseLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "QuickbaseLinkedServiceTypeProperties": { + "description": "Quickbase linked service type properties.", + "type": "object", + "properties": { + "url": { + "type": "object", + "description": "The url to connect Quickbase source. Type: string (or Expression with resultType string)." + }, + "userToken": { + "$ref": "../artifacts.json#/definitions/SecretBase", + "description": "The user token for the Quickbase source." + }, + "encryptedCredential": { + "type": "object", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "url", + "userToken" + ] + }, + "SmartsheetLinkedService": { + "x-ms-discriminator-value": "Smartsheet", + "description": "Linked service for Smartsheet.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Smartsheet linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SmartsheetLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "SmartsheetLinkedServiceTypeProperties": { + "description": "Smartsheet linked service type properties.", + "type": "object", + "properties": { + "apiToken": { + "$ref": "../artifacts.json#/definitions/SecretBase", + "description": "The api token for the Smartsheet source." + }, + "encryptedCredential": { + "type": "object", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "apiToken" + ] + }, + "ZendeskLinkedService": { + "x-ms-discriminator-value": "Zendesk", + "description": "Linked service for Zendesk.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/LinkedService" + } + ], + "properties": { + "typeProperties": { + "description": "Zendesk linked service properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ZendeskLinkedServiceTypeProperties" + } + }, + "required": [ + "typeProperties" + ] + }, + "ZendeskLinkedServiceTypeProperties": { + "description": "Zendesk linked service type properties.", + "type": "object", + "properties": { + "authenticationType": { + "description": "The authentication type to use.", + "type": "string", + "enum": [ + "Basic", + "Token" + ], + "x-ms-enum": { + "name": "ZendeskAuthenticationType", + "modelAsString": true + } + }, + "url": { + "type": "object", + "description": "The url to connect Zendesk source. Type: string (or Expression with resultType string)." + }, + "userName": { + "type": "object", + "description": "The username of the Zendesk source. Type: string (or Expression with resultType string)." + }, + "password": { + "description": "The password of the Zendesk source.", + "$ref": "../artifacts.json#/definitions/SecretBase" + }, + "apiToken": { + "$ref": "../artifacts.json#/definitions/SecretBase", + "description": "The api token for the Zendesk source." + }, + "encryptedCredential": { + "type": "object", + "description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)." + } + }, + "required": [ + "authenticationType", + "url" + ] + }, "AmazonS3LinkedService": { "x-ms-discriminator-value": "AmazonS3", "description": "Linked service for Amazon S3.", diff --git a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json index c6ff16345cf3..6a89b1c8c5c8 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/stable/2020-12-01/entityTypes/Pipeline.json @@ -7080,6 +7080,152 @@ "dataflow" ] }, + "ScriptActivity": { + "description": "Script activity type.", + "x-ms-discriminator-value": "Script", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ExecutionActivity" + } + ], + "properties": { + "typeProperties": { + "x-ms-client-flatten": true, + "description": "Script activity properties.", + "$ref": "#/definitions/ScriptActivityTypeProperties" + } + }, + "required": [ + "typeProperties", + "linkedServiceName" + ] + }, + "ScriptActivityTypeProperties": { + "description": "Script activity properties.", + "type": "object", + "properties": { + "scripts": { + "type": "array", + "description": "Array of script blocks. Type: array.", + "items": { + "$ref": "#/definitions/ScriptActivityScriptBlock" + } + }, + "logSettings": { + "description": "Log settings of script activity.", + "type": "object", + "properties": { + "logDestination": { + "x-ms-enum": { + "name": "ScriptActivityLogDestination", + "modelAsString": true + }, + "enum": [ + "ActivityOutput", + "ExternalStore" + ], + "type": "string", + "description": "The destination of logs. Type: string." + }, + "logLocationSettings": { + "description": "Log location settings customer needs to provide when enabling log.", + "$ref": "#/definitions/LogLocationSettings" + } + }, + "required": [ + "logDestination" + ] + } + } + }, + "ScriptActivityScriptBlock": { + "description": "Script block of scripts.", + "type": "object", + "properties": { + "text": { + "type": "object", + "description": "The query text. Type: string (or Expression with resultType string)." + }, + "type": { + "x-ms-enum": { + "name": "ScriptType", + "modelAsString": true + }, + "enum": [ + "Query", + "NonQuery" + ], + "type": "string", + "description": "The type of the query. Type: string." + }, + "parameters": { + "type": "array", + "description": "Array of script parameters. Type: array.", + "items": { + "$ref": "#/definitions/ScriptActivityParameter" + } + } + }, + "required": [ + "text", + "type" + ] + }, + "ScriptActivityParameter": { + "description": "Parameters of a script block.", + "type": "object", + "properties": { + "name": { + "type": "object", + "description": "The name of the parameter. Type: string (or Expression with resultType string)." + }, + "type": { + "description": "The type of the parameter.", + "type": "string", + "enum": [ + "Boolean", + "DateTime", + "DateTimeOffset", + "Decimal", + "Double", + "Guid", + "Int16", + "Int32", + "Int64", + "Single", + "String", + "Timespan" + ], + "x-ms-enum": { + "name": "ScriptActivityParameterType", + "modelAsString": true + } + }, + "value": { + "description": "The value of the parameter.", + "type": "object" + }, + "direction": { + "description": "The direction of the parameter.", + "type": "string", + "enum": [ + "Input", + "Output", + "InputOutput" + ], + "x-ms-enum": { + "name": "ScriptActivityParameterDirection", + "modelAsString": true + } + }, + "size": { + "description": "The size of the output direction parameter.", + "type": "integer", + "format": "int32" + } + } + }, "SharePointOnlineListSource": { "description": "A copy activity source for sharePoint online list source.", "type": "object", @@ -7208,6 +7354,10 @@ "description": "Synapse notebook reference.", "$ref": "../artifacts.json#/definitions/SynapseNotebookReference" }, + "sparkPool": { + "description": "The name of the big data pool which will be used to execute the notebook.", + "$ref": "../artifacts.json#/definitions/BigDataPoolParametrizationReference" + }, "parameters": { "description": "Notebook parameters.", "type": "object", @@ -7255,6 +7405,41 @@ "items": { "description": "Type: string (or Expression with resultType string)." } + }, + "file": { + "type": "object", + "description": "The main file used for the job, which will override the 'file' of the spark job definition you provide. Type: string (or Expression with resultType string)." + }, + "className": { + "type": "object", + "description": "The fully-qualified identifier or the main class that is in the main definition file, which will override the 'className' of the spark job definition you provide. Type: string (or Expression with resultType string)." + }, + "files": { + "description": "Additional files used for reference in the main definition file, which will override the 'files' of the spark job definition you provide.", + "type": "array", + "items": { + "description": "Type: string (or Expression with resultType string)." + } + }, + "targetBigDataPool": { + "$ref": "../artifacts.json#/definitions/BigDataPoolParametrizationReference", + "description": "The name of the big data pool which will be used to execute the spark batch job, which will override the 'targetBigDataPool' of the spark job definition you provide." + }, + "executorSize": { + "type": "object", + "description": "Number of core and memory to be used for executors allocated in the specified Spark pool for the job, which will be used for overriding 'executorCores' and 'executorMemory' of the spark job definition you provide. Type: string (or Expression with resultType string)." + }, + "conf": { + "type": "object", + "description": "Spark configuration properties, which will override the 'conf' of the spark job definition you provide." + }, + "driverSize": { + "type": "object", + "description": "Number of core and memory to be used for driver allocated in the specified Spark pool for the job, which will be used for overriding 'driverCores' and 'driverMemory' of the spark job definition you provide. Type: string (or Expression with resultType string)." + }, + "numExecutors": { + "description": "Number of executors to launch for this job, which will override the 'numExecutors' of the spark job definition you provide.", + "type": "integer" } }, "required": [ diff --git a/specification/synapse/data-plane/readme.md b/specification/synapse/data-plane/readme.md index 67b8d0b09c73..0e42d82b6751 100644 --- a/specification/synapse/data-plane/readme.md +++ b/specification/synapse/data-plane/readme.md @@ -206,6 +206,17 @@ input-file: - Microsoft.Synapse/preview/2021-06-01-preview/kqlScripts.json ``` +### Tag: package-link-connection-2021-12-01-preview + +These settings apply only when `--tag=package-link-connection-2021-12-01-preview` is specified on the command line. + +**ATTENTION**: Please DO NOT generate SDK based on this tag. Link connection API set is not ready to be widely used. + +``` yaml $(tag) == 'package-link-connection-2021-12-01-preview' +input-file: + - Microsoft.Synapse/preview/2021-12-01-preview/linkConnections.json +``` + ### Tag: package-artifacts-2020-12-01 These settings apply only when `--tag=package-artifacts-2020-12-01` is specified on the command line. diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..3d1db9c72719 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "dedicatedSQLminimalTlsSettingsName": "default", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..f36256e50246 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "api-version": "2021-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + } + ] + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..5d79350d39da --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "dedicatedSQLminimalTlsSettingsName": "default", + "api-version": "2021-06-01-preview", + "parameters": { + "properties": { + "minimalTlsVersion": "1.1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "properties": { + "minimalTlsVersion": "1.1" + } + } + }, + "202": {} + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json index b39c7e183140..74776a40a66b 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/preview/2021-06-01-preview/sqlServer.json @@ -1188,6 +1188,185 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/dedicatedSQLminimalTlsSettings/{dedicatedSQLminimalTlsSettingsName}": { + "put": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_Update", + "summary": "Update server's tls settings.", + "description": "Update workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "deprecated": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dedicatedSQLminimalTlsSettingsName", + "in": "path", + "description": "The name of the dedicated sql minimal tls settings.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "DedicatedSQLMinimalTlsSettingsName", + "modelAsString": true + } + }, + { + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + }, + "in": "body", + "name": "parameters", + "description": "minimal tls settings", + "required": true + } + ], + "responses": { + "200": { + "description": "Successfully updated dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update tls version of the workspace managed sql server": { + "$ref": "./examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + }, + "get": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_Get", + "summary": "Get server's minimal tls settings.", + "description": "Get workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dedicatedSQLminimalTlsSettingsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated sql minimal tls settings." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + } + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Get workspace managed sql server dedicated sql minimal tls settings": { + "$ref": "./examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/dedicatedSQLminimalTlsSettings": { + "get": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_List", + "summary": "List workspace server's minimal tls settings.", + "description": "List workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettingsListResult" + } + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List dedicated sql minimal tls settings of the workspace managed sql server": { + "$ref": "./examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + } } }, "definitions": { @@ -1788,6 +1967,56 @@ "readOnly": true } } + }, + "DedicatedSQLminimalTlsSettingsProperties": { + "description": "Properties of a dedicated sql minimal tls settings.", + "type": "object", + "properties": { + "minimalTlsVersion": { + "type": "string", + "description": "The minimal tls version of the sql server." + } + } + }, + "DedicatedSQLminimalTlsSettings": { + "description": "Dedicated Sql Minimal Tls Settings Info", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettingsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DedicatedSQLminimalTlsSettingsListResult": { + "description": "A list of the server's dedicated sql minimal tls settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } } } } diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..8050a350c356 --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "dedicatedSQLminimalTlsSettingsName": "default", + "api-version": "2021-06-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..014fdfb5bf1e --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "api-version": "2021-06-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + }, + { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "location": "eastus", + "properties": { + "minimalTlsVersion": "1.1" + } + } + ] + } + } + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json new file mode 100644 index 000000000000..04302c925aca --- /dev/null +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-1111-2222-3333-444444444444", + "resourceGroupName": "workspace-6852", + "workspaceName": "workspace-2080", + "dedicatedSQLminimalTlsSettingsName": "default", + "api-version": "2021-06-01", + "parameters": { + "properties": { + "minimalTlsVersion": "1.1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/workspace-6852/providers/Microsoft.Synapse/workspaces/workspace-2080/dedicatedSQLminimalTlsSettings/default", + "name": "default", + "type": "Microsoft.Synapse/workspaces/dedicatedSQLminimalTlsSettings", + "properties": { + "minimalTlsVersion": "1.1" + } + } + }, + "202": {} + } +} diff --git a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json index cdf4c29b1b9f..bdb60d60eca9 100644 --- a/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json +++ b/specification/synapse/resource-manager/Microsoft.Synapse/stable/2021-06-01/sqlServer.json @@ -1188,6 +1188,185 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/dedicatedSQLminimalTlsSettings/{dedicatedSQLminimalTlsSettingsName}": { + "put": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_Update", + "summary": "Update server's tls settings.", + "description": "Update workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "deprecated": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dedicatedSQLminimalTlsSettingsName", + "in": "path", + "description": "The name of the dedicated sql minimal tls settings.", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "DedicatedSQLMinimalTlsSettingsName", + "modelAsString": true + } + }, + { + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + }, + "in": "body", + "name": "parameters", + "description": "minimal tls settings", + "required": true + } + ], + "responses": { + "200": { + "description": "Successfully updated dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update tls version of the workspace managed sql server": { + "$ref": "./examples/UpdateWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + }, + "get": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_Get", + "summary": "Get server's minimal tls settings.", + "description": "Get workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + }, + { + "name": "dedicatedSQLminimalTlsSettingsName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated sql minimal tls settings." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + } + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "x-ms-examples": { + "Get workspace managed sql server dedicated sql minimal tls settings": { + "$ref": "./examples/GetWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Synapse/workspaces/{workspaceName}/dedicatedSQLminimalTlsSettings": { + "get": { + "operationId": "WorkspaceManagedSqlServerDedicatedSQLMinimalTlsSettings_List", + "summary": "List workspace server's minimal tls settings.", + "description": "List workspace managed sql server's minimal tls settings.", + "tags": [ + "WorkspaceManagedSqlServer, DedicatedSQLminimalTlsSettings" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../common/v1/types.json#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved dedicated sql minimal tls settings.", + "schema": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettingsListResult" + } + }, + "default": { + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + }, + "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found.\n\n * 404 ServerNotInSubscriptionResourceGroup - Specified server does not exist in the specified resource group and subscription.\n\n * 409 UnsupportedWorkspaceType - Unsupported operation for the workspace type.\n\n * 500 InternalServerError - Something went wrong." + } + }, + "consumes": [], + "produces": [ + "application/json" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List dedicated sql minimal tls settings of the workspace managed sql server": { + "$ref": "./examples/ListWorkspaceManagedSqlServerDedicatedSQLminimalTlsSettings.json" + } + } + } } }, "definitions": { @@ -1792,6 +1971,67 @@ "readOnly": true } } + }, + "DedicatedSQLminimalTlsSettingsPatchInfo": { + "type": "object", + "title": "Dedicated SQL minimal tls settings patch info", + "description": "Dedicated SQL minimal tls settings patch info", + "properties": { + "minimalTlsVersion": { + "type": "string", + "description": "minimal tls version" + } + } + }, + "DedicatedSQLminimalTlsSettingsProperties": { + "description": "Properties of a dedicated sql minimal tls settings.", + "type": "object", + "properties": { + "minimalTlsVersion": { + "type": "string", + "description": "The minimal tls version of the sql server." + } + } + }, + "DedicatedSQLminimalTlsSettings": { + "description": "Dedicated Sql Minimal Tls Settings Info", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "location": { + "description": "Resource location.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettingsProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + } + }, + "DedicatedSQLminimalTlsSettingsListResult": { + "description": "A list of the server's dedicated sql minimal tls settings.", + "type": "object", + "properties": { + "value": { + "description": "Array of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedSQLminimalTlsSettings" + }, + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + } } } } diff --git a/specification/synapse/resource-manager/readme.python.md b/specification/synapse/resource-manager/readme.python.md index 06e05495007f..da07a7ab6c1c 100644 --- a/specification/synapse/resource-manager/readme.python.md +++ b/specification/synapse/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.synapse @@ -14,16 +13,12 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/synapse/azure-mgmt-synapse/azure/mgmt/synapse ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/synapse/azure-mgmt-synapse -``` -``` yaml $(python) && $(track2) +``` yaml $(python) modelerfour: lenient-model-deduplication: true ``` diff --git a/specification/testbase/resource-manager/readme.python.md b/specification/testbase/resource-manager/readme.python.md index 5153796cde47..5fc06054c124 100644 --- a/specification/testbase/resource-manager/readme.python.md +++ b/specification/testbase/resource-manager/readme.python.md @@ -7,14 +7,12 @@ 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) && $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.timeseriesinsights @@ -14,11 +14,7 @@ clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/timeseriesinsights/azure-mgmt-timeseriesinsights/azure/mgmt/timeseriesinsights ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/timeseriesinsights/azure-mgmt-timeseriesinsights -``` \ No newline at end of file diff --git a/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2018-08-01/trafficmanager.json b/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2018-08-01/trafficmanager.json index a57ff9a37790..bb9d0d72d867 100644 --- a/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2018-08-01/trafficmanager.json +++ b/specification/trafficmanager/resource-manager/Microsoft.Network/stable/2018-08-01/trafficmanager.json @@ -781,6 +781,10 @@ "enum": [ "default" ], + "x-ms-enum": { + "name": "HeatMapType", + "modelAsString": false + }, "description": "The type of HeatMap for the Traffic Manager profile." }, { diff --git a/specification/trafficmanager/resource-manager/readme.python.md b/specification/trafficmanager/resource-manager/readme.python.md index 13ca7fc5fb51..4ebf43f5e5be 100644 --- a/specification/trafficmanager/resource-manager/readme.python.md +++ b/specification/trafficmanager/resource-manager/readme.python.md @@ -3,7 +3,7 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.trafficmanager @@ -12,12 +12,7 @@ package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/trafficmanager/azure-mgmt-trafficmanager/azure/mgmt/trafficmanager ``` - -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/trafficmanager/azure-mgmt-trafficmanager -``` diff --git a/specification/vi/resource-manager/readme.python.md b/specification/vi/resource-manager/readme.python.md index f22983d377c3..bd400258edaf 100644 --- a/specification/vi/resource-manager/readme.python.md +++ b/specification/vi/resource-manager/readme.python.md @@ -3,21 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -```yaml $(python) && $(track2) +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-videoindexer clear-output-folder: true -no-namespace-folders: true +namespace: azure.mgmt.videoindexer package-version: 1.0.0b1 ``` -```yaml $(python) && $(python-mode) == 'update' && $(track2) +```yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/videoindexer/azure-mgmt-videoindexer/azure/mgmt/videoindexer ``` - -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/videoindexer/azure-mgmt-videoindexer -``` diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json index cf56c808ff63..5f7c4225bac4 100644 --- a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/PipelineTopologies.json @@ -88,6 +88,9 @@ "items": { "$ref": "#/definitions/ParameterDeclaration" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology parameter declarations. Parameters declared here can be referenced throughout the topology nodes through the use of \"${PARAMETER_NAME}\" string pattern. Parameters can have optional default values and can later be defined in individual instances of the pipeline." }, "sources": { @@ -95,6 +98,9 @@ "items": { "$ref": "#/definitions/SourceNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology source nodes. Source nodes enable external data to be ingested by the pipeline." }, "processors": { @@ -102,6 +108,9 @@ "items": { "$ref": "#/definitions/ProcessorNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed, processed or transformed." }, "sinks": { @@ -109,6 +118,9 @@ "items": { "$ref": "#/definitions/SinkNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported." } }, @@ -130,6 +142,9 @@ "items": { "$ref": "#/definitions/ParameterDeclaration" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology parameter declarations. Parameters declared here can be referenced throughout the topology nodes through the use of \"${PARAMETER_NAME}\" string pattern. Parameters can have optional default values and can later be defined in individual instances of the pipeline." }, "sources": { @@ -137,6 +152,9 @@ "items": { "$ref": "#/definitions/SourceNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology source nodes. Source nodes enable external data to be ingested by the pipeline." }, "processors": { @@ -144,6 +162,9 @@ "items": { "$ref": "#/definitions/ProcessorNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology processor nodes. Processor nodes enable pipeline data to be analyzed, processed or transformed." }, "sinks": { @@ -151,6 +172,9 @@ "items": { "$ref": "#/definitions/SinkNodeBase" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the topology sink nodes. Sink nodes allow pipeline data to be stored or exported." } }, @@ -273,6 +297,9 @@ "items": { "$ref": "#/definitions/NodeInput" }, + "x-ms-identifiers": [ + "nodeName" + ], "description": "An array of upstream node references within the topology to be used as inputs for this node." } }, @@ -301,6 +328,9 @@ "items": { "$ref": "#/definitions/NodeInput" }, + "x-ms-identifiers": [ + "nodeName" + ], "description": "An array of upstream node references within the topology to be used as inputs for this node." } }, @@ -1036,6 +1066,9 @@ "items": { "$ref": "#/definitions/ParameterDefinition" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." } }, @@ -1100,6 +1133,9 @@ "items": { "$ref": "#/definitions/ParameterDefinition" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." } }, @@ -1199,6 +1235,9 @@ "items": { "$ref": "#/definitions/ParameterDefinition" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." } }, @@ -1269,6 +1308,9 @@ "items": { "$ref": "#/definitions/ParameterDefinition" }, + "x-ms-identifiers": [ + "name" + ], "description": "List of the instance level parameter values for the user-defined topology parameters. A pipeline can only define or override parameters values for parameters which have been declared in the referenced topology. Topology parameters without a default value must be defined. Topology parameters with a default value can be optionally be overridden." } }, diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json index 17d90f3b53e6..b068bbfd71c2 100644 --- a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/VideoAnalyzers.json @@ -187,6 +187,9 @@ "items": { "$ref": "#/definitions/MetricDimension" }, + "x-ms-identifiers": [ + "name" + ], "description": "The metric dimensions.", "readOnly": true }, @@ -236,6 +239,10 @@ "items": { "$ref": "#/definitions/LogSpecification" }, + "x-ms-identifiers": [ + "blobDuration", + "name" + ], "description": "List of log specifications.", "readOnly": true }, @@ -244,6 +251,10 @@ "items": { "$ref": "#/definitions/MetricSpecification" }, + "x-ms-identifiers": [ + "name", + "unit" + ], "description": "List of metric specifications.", "readOnly": true } @@ -356,6 +367,9 @@ "items": { "$ref": "#/definitions/Endpoint" }, + "x-ms-identifiers": [ + "endpointUrl" + ], "description": "The endpoints associated with this resource.", "readOnly": true }, @@ -456,6 +470,9 @@ "items": { "$ref": "#/definitions/Endpoint" }, + "x-ms-identifiers": [ + "endpointUrl" + ], "description": "The endpoints associated with this resource.", "readOnly": true }, @@ -881,6 +898,9 @@ "items": { "$ref": "#/definitions/Operation" }, + "x-ms-identifiers": [ + "name" + ], "description": "A collection of Operation items." } }, diff --git a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json index c2eb6605e2cb..3cc0af5503d9 100644 --- a/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json +++ b/specification/videoanalyzer/resource-manager/Microsoft.Media/preview/2021-11-01-preview/Videos.json @@ -243,6 +243,10 @@ "items": { "$ref": "#/definitions/TokenClaim" }, + "x-ms-identifiers": [ + "name", + "value" + ], "description": "List of additional token claims to be validated. Token must contains all claims and respective values for it to be valid." }, "keys": { @@ -250,6 +254,9 @@ "items": { "$ref": "#/definitions/TokenKey" }, + "x-ms-identifiers": [ + "kid" + ], "description": "List of keys which can be used to validate access tokens. Having multiple keys allow for seamless key rotation of the token signing key. Token signature must match exactly one key." } }, diff --git a/specification/videoanalyzer/resource-manager/readme.python.md b/specification/videoanalyzer/resource-manager/readme.python.md index dda81cc659a9..4d8768339c18 100644 --- a/specification/videoanalyzer/resource-manager/readme.python.md +++ b/specification/videoanalyzer/resource-manager/readme.python.md @@ -3,20 +3,16 @@ These settings apply only when `--python` is specified on the command line. Please also specify `--python-sdks-folder=`. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-videoanalyzer -no-namespace-folders: true +namespace: azure.mgmt.videoanalyzer package-version: 1.0.0b1 ``` -``` yaml $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/videoanalyzer/azure-mgmt-videoanalyzer/azure/mgmt/videoanalyzer ``` -``` yaml $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/videoanalyzer/azure-mgmt-videoanalyzer -``` diff --git a/specification/vmware/resource-manager/readme.python.md b/specification/vmware/resource-manager/readme.python.md index a73f74a4f354..f672623bec1a 100644 --- a/specification/vmware/resource-manager/readme.python.md +++ b/specification/vmware/resource-manager/readme.python.md @@ -4,19 +4,7 @@ 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) && !$(track2) -python-mode: create -package-version: 0.1.0 -azure-arm: true -license-header: MICROSOFT_MIT_NO_VERSION -payload-flattening-threshold: 2 -override-client-name: AVSClient -namespace: azure.mgmt.avs -package-name: azure-mgmt-avs -clear-output-folder: true -``` -```yaml $(python) && $(track2) -python-mode: create +```yaml $(python) package-version: 1.0.0b1 azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION @@ -26,19 +14,7 @@ package-name: azure-mgmt-avs clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && !$(track2) -no-namespace-folders: true -output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs/azure/mgmt/avs -``` -``` yaml $(python) && $(python-mode) == 'create' && !$(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs -``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs/azure/mgmt/avs ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs -``` diff --git a/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json b/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json index d571a6afe183..b5d57c8ec28d 100644 --- a/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json +++ b/specification/vmwarecloudsimple/resource-manager/Microsoft.VMwareCloudSimple/stable/2019-04-01/vmwarecloudsimple.json @@ -2212,7 +2212,11 @@ "items": { "description": "The list of specification's metrics", "$ref": "#/definitions/AvailableOperationDisplayPropertyServiceSpecificationMetricsItem" - } + }, + "x-ms-identifiers": [ + "name", + "unit" + ] } } }, @@ -2228,7 +2232,10 @@ "type": "array", "items": { "$ref": "#/definitions/AvailableOperation" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2255,6 +2262,7 @@ "items": { "$ref": "#/definitions/CSRPErrorBody" }, + "x-ms-identifiers": [], "readOnly": true }, "message": { @@ -2465,7 +2473,10 @@ "type": "array", "items": { "$ref": "#/definitions/CustomizationNicSetting" - } + }, + "x-ms-identifiers": [ + "macAddress" + ] } } }, @@ -3153,7 +3164,12 @@ "type": "array", "items": { "$ref": "#/definitions/SkuAvailability" - } + }, + "x-ms-identifiers": [ + "dedicatedAvailabilityZoneId", + "dedicatedPlacementGroupId", + "skuId" + ] } } }, @@ -3232,6 +3248,9 @@ "items": { "$ref": "#/definitions/Usage" }, + "x-ms-identifiers": [ + "/name/value" + ], "readOnly": true } } @@ -3401,7 +3420,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualDisk" - } + }, + "x-ms-identifiers": [ + "virtualDiskId" + ] }, "dnsname": { "description": "The DNS name of Virtual Machine in VCenter", @@ -3441,7 +3463,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualNic" - } + }, + "x-ms-identifiers": [ + "virtualNicId" + ] }, "numberOfCores": { "description": "The number of CPU cores", @@ -3603,7 +3628,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualDisk" - } + }, + "x-ms-identifiers": [ + "virtualDiskId" + ] }, "exposeToGuestVM": { "description": "Expose Guest OS or not", @@ -3624,7 +3652,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualNic" - } + }, + "x-ms-identifiers": [ + "virtualNicId" + ] }, "numberOfCores": { "description": "The number of CPU cores", @@ -3806,7 +3837,7 @@ }, "referer": { "type": "string", - "x-ms-parameter-location": "client", + "x-ms-parameter-location": "method", "description": "referer url", "name": "Referer", "in": "header", diff --git a/specification/vmwarecloudsimple/resource-manager/readme.python.md b/specification/vmwarecloudsimple/resource-manager/readme.python.md index e65969467827..ec81f56d3114 100644 --- a/specification/vmwarecloudsimple/resource-manager/readme.python.md +++ b/specification/vmwarecloudsimple/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +```yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.vmwarecloudsimple @@ -13,11 +12,7 @@ package-name: azure-mgmt-vmwarecloudsimple package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmwarecloudsimple/azure/mgmt/vmwarecloudsimple ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/compute/azure-mgmt-vmwarecloudsimple -``` \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/Domains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/Domains.json index 41985def9575..c65d3d6b35f1 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/Domains.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/Domains.json @@ -988,7 +988,10 @@ "items": { "$ref": "#/definitions/HostName" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] }, "consent": { "$ref": "#/definitions/DomainPurchaseConsent", @@ -1303,7 +1306,10 @@ "items": { "$ref": "#/definitions/HostName" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] }, "consent": { "$ref": "#/definitions/DomainPurchaseConsent", @@ -1471,7 +1477,10 @@ "type": "array", "items": { "$ref": "../../../Microsoft.Web/stable/2021-03-01/CommonDefinitions.json#/definitions/NameIdentifier" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to next page of resources.", diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/TopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/TopLevelDomains.json index 823501dd4c8c..86260718c074 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/TopLevelDomains.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/stable/2021-03-01/TopLevelDomains.json @@ -196,7 +196,10 @@ "type": "array", "items": { "$ref": "#/definitions/TldLegalAgreement" - } + }, + "x-ms-identifiers": [ + "agreementKey" + ] }, "nextLink": { "description": "Link to next page of resources.", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/AppServiceEnvironments.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/AppServiceEnvironments.json index ff24faac2d46..f36d5cf03314 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/AppServiceEnvironments.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/AppServiceEnvironments.json @@ -2178,7 +2178,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualIPMapping" - } + }, + "x-ms-identifiers": [ + "virtualIP" + ] } }, "x-ms-client-flatten": true @@ -2303,7 +2306,11 @@ "type": "array", "items": { "$ref": "#/definitions/EndpointDetail" - } + }, + "x-ms-identifiers": [ + "ipAddress", + "port" + ] } } }, @@ -2381,7 +2388,8 @@ "type": "array", "items": { "$ref": "#/definitions/InboundEnvironmentEndpoint" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "Link to next page of resources.", @@ -2403,7 +2411,10 @@ "type": "array", "items": { "$ref": "#/definitions/EndpointDependency" - } + }, + "x-ms-identifiers": [ + "domainName" + ] } } }, @@ -2419,7 +2430,10 @@ "type": "array", "items": { "$ref": "#/definitions/OutboundEnvironmentEndpoint" - } + }, + "x-ms-identifiers": [ + "category" + ] }, "nextLink": { "description": "Link to next page of resources.", @@ -2473,7 +2487,8 @@ "items": { "$ref": "#/definitions/ResourceMetricAvailability" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] }, "resourceUri": { "description": "Resource URI.", @@ -2544,7 +2559,11 @@ "type": "array", "items": { "$ref": "#/definitions/SkuInfo" - } + }, + "x-ms-identifiers": [ + "/sku/name", + "resourceType" + ] }, "nextLink": { "description": "Link to next page of resources.", @@ -2645,7 +2664,10 @@ "type": "array", "items": { "$ref": "#/definitions/StampCapacity" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to next page of resources.", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/CommonDefinitions.json index 7b42713406bb..244b5439f9fa 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/CommonDefinitions.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/CommonDefinitions.json @@ -132,7 +132,10 @@ "type": "array", "items": { "$ref": "#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "userWhitelistedIpRanges": { "description": "User added ip ranges to whitelist on ASE db", @@ -428,7 +431,10 @@ "type": "array", "items": { "$ref": "#/definitions/StatusCodesBasedTrigger" - } + }, + "x-ms-identifiers": [ + "path" + ] }, "slowRequests": { "$ref": "#/definitions/SlowRequestsBasedTrigger", @@ -439,14 +445,20 @@ "type": "array", "items": { "$ref": "#/definitions/SlowRequestsBasedTrigger" - } + }, + "x-ms-identifiers": [ + "path" + ] }, "statusCodesRange": { "description": "A rule based on status codes ranges.", "type": "array", "items": { "$ref": "#/definitions/StatusCodesRangeBasedTrigger" - } + }, + "x-ms-identifiers": [ + "path" + ] } } }, @@ -642,7 +654,10 @@ "type": "array", "items": { "$ref": "#/definitions/EnvironmentVar" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "resources": { "$ref": "#/definitions/ContainerResources", @@ -694,7 +709,10 @@ "type": "array", "items": { "$ref": "#/definitions/CsmOperationDescription" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to next page of resources.", @@ -792,7 +810,10 @@ "type": "array", "items": { "$ref": "#/definitions/CsmUsageQuota" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to next page of resources.", @@ -821,7 +842,10 @@ "type": "array", "items": { "$ref": "#/definitions/ScaleRuleAuth" - } + }, + "x-ms-identifiers": [ + "triggerParameter" + ] } } }, @@ -847,7 +871,10 @@ "type": "array", "items": { "$ref": "#/definitions/DaprComponent" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -872,7 +899,10 @@ "type": "array", "items": { "$ref": "#/definitions/DaprMetadata" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -907,7 +937,10 @@ "items": { "$ref": "#/definitions/KeyValuePair[String,Object]" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "key" + ] } } }, @@ -942,7 +975,10 @@ "type": "array", "items": { "$ref": "#/definitions/DataTableResponseColumn" - } + }, + "x-ms-identifiers": [ + "columnName" + ] }, "rows": { "description": "Raw row values", @@ -1002,7 +1038,8 @@ } }, "readOnly": true - } + }, + "x-ms-identifiers": [] }, "innererror": { "description": "More information to debug error.", @@ -1162,7 +1199,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiagnosticData" - } + }, + "x-ms-identifiers": [] }, "status": { "$ref": "#/definitions/Status", @@ -1173,7 +1211,10 @@ "type": "array", "items": { "$ref": "#/definitions/DataProviderMetadata" - } + }, + "x-ms-identifiers": [ + "providerName" + ] }, "suggestedUtterances": { "$ref": "#/definitions/QueryUtterancesResults", @@ -1279,14 +1320,16 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorEntity" - } + }, + "x-ms-identifiers": [] }, "details": { "description": "Error Details.", "type": "array", "items": { "$ref": "#/definitions/ErrorEntity" - } + }, + "x-ms-identifiers": [] }, "target": { "description": "The error target.", @@ -1311,7 +1354,10 @@ "type": "array", "items": { "$ref": "#/definitions/RampUpRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1572,7 +1618,10 @@ "type": "array", "items": { "$ref": "#/definitions/ScaleRuleAuth" - } + }, + "x-ms-identifiers": [ + "triggerParameter" + ] } } }, @@ -1905,7 +1954,10 @@ "type": "array", "items": { "$ref": "#/definitions/Dimension" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "category": { "type": "string" @@ -1914,7 +1966,8 @@ "type": "array", "items": { "$ref": "#/definitions/MetricAvailability" - } + }, + "x-ms-identifiers": [] }, "supportedTimeGrainTypes": { "type": "array", @@ -1986,7 +2039,8 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorEntity" - } + }, + "x-ms-identifiers": [] }, "createdTime": { "format": "date-time", @@ -2234,7 +2288,8 @@ "type": "array", "items": { "$ref": "#/definitions/QueryUtterancesResult" - } + }, + "x-ms-identifiers": [] } } }, @@ -2256,7 +2311,10 @@ "type": "array", "items": { "$ref": "#/definitions/ScaleRuleAuth" - } + }, + "x-ms-identifiers": [ + "triggerParameter" + ] } } }, @@ -2483,7 +2541,10 @@ "type": "array", "items": { "$ref": "#/definitions/ScaleRule" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2531,13 +2592,19 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "logSpecifications": { "type": "array", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2616,7 +2683,10 @@ "type": "array", "items": { "$ref": "#/definitions/HostNameSslState" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "serverFarmId": { "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", @@ -2918,14 +2988,20 @@ "type": "array", "items": { "$ref": "#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "connectionStrings": { "description": "Connection strings.", "type": "array", "items": { "$ref": "#/definitions/ConnStringInfo" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "machineKey": { "$ref": "#/definitions/SiteMachineKey", @@ -2937,7 +3013,10 @@ "type": "array", "items": { "$ref": "#/definitions/HandlerMapping" - } + }, + "x-ms-identifiers": [ + "extension" + ] }, "documentRoot": { "description": "Document root.", @@ -3012,7 +3091,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualApplication" - } + }, + "x-ms-identifiers": [ + "virtualPath" + ] }, "loadBalancing": { "description": "Site load balancing.", @@ -3111,14 +3193,20 @@ "type": "array", "items": { "$ref": "#/definitions/IpSecurityRestriction" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "scmIpSecurityRestrictions": { "description": "IP security restrictions for scm.", "type": "array", "items": { "$ref": "#/definitions/IpSecurityRestriction" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "scmIpSecurityRestrictionsUseMain": { "description": "IP security restrictions for scm to use main.", @@ -3327,7 +3415,10 @@ "type": "array", "items": { "$ref": "#/definitions/Capability" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -3528,7 +3619,10 @@ "type": "array", "items": { "$ref": "#/definitions/Container" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "scale": { "$ref": "#/definitions/Scale", @@ -3605,7 +3699,10 @@ "type": "array", "items": { "$ref": "#/definitions/VirtualDirectory" - } + }, + "x-ms-identifiers": [ + "virtualPath" + ] } } }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ContainerApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ContainerApps.json index afb9ba61ef4a..aeb895a90a39 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ContainerApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ContainerApps.json @@ -309,7 +309,10 @@ "type": "array", "items": { "$ref": "#/definitions/Secret" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "activeRevisionsMode": { "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode", @@ -332,7 +335,10 @@ "type": "array", "items": { "$ref": "#/definitions/RegistryCredentials" - } + }, + "x-ms-identifiers": [ + "server" + ] } } }, @@ -428,7 +434,10 @@ "type": "array", "items": { "$ref": "#/definitions/ContainerAppSecret" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -468,7 +477,10 @@ "type": "array", "items": { "$ref": "#/definitions/TrafficWeight" - } + }, + "x-ms-identifiers": [ + "revisionName" + ] }, "allowInsecure": { "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Diagnostics.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Diagnostics.json index 3c328d205c73..4f89876bfa36 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Diagnostics.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Diagnostics.json @@ -1549,7 +1549,8 @@ "type": "array", "items": { "$ref": "#/definitions/DetectorAbnormalTimePeriod" - } + }, + "x-ms-identifiers": [] }, "solutions": { "description": "List of proposed solutions", @@ -1577,7 +1578,10 @@ "type": "array", "items": { "$ref": "#/definitions/DiagnosticMetricSet" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "data": { "description": "Additional Source Data", @@ -1586,7 +1590,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "detectorMetaData": { @@ -1634,7 +1641,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1672,7 +1682,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "type": { @@ -1774,21 +1787,28 @@ "type": "array", "items": { "$ref": "#/definitions/AbnormalTimePeriod" - } + }, + "x-ms-identifiers": [] }, "payload": { "description": "Data by each detector", "type": "array", "items": { "$ref": "#/definitions/AnalysisData" - } + }, + "x-ms-identifiers": [ + "source" + ] }, "nonCorrelatedDetectors": { "description": "Data by each detector for detectors that did not corelate", "type": "array", "items": { "$ref": "#/definitions/DetectorDefinition" - } + }, + "x-ms-identifiers": [ + "displayName" + ] } }, "x-ms-client-flatten": true @@ -1917,14 +1937,18 @@ "type": "array", "items": { "$ref": "#/definitions/DiagnosticMetricSet" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "abnormalTimePeriods": { "description": "List of Correlated events found by the detector", "type": "array", "items": { "$ref": "#/definitions/DetectorAbnormalTimePeriod" - } + }, + "x-ms-identifiers": [] }, "data": { "description": "Additional Data that detector wants to send.", @@ -1933,7 +1957,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "responseMetaData": { @@ -2010,7 +2037,8 @@ "type": "array", "items": { "$ref": "#/definitions/DiagnosticMetricSample" - } + }, + "x-ms-identifiers": [] } } }, @@ -2065,7 +2093,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "metadata": { @@ -2075,7 +2106,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/NameValuePair" - } + }, + "x-ms-identifiers": [ + "name" + ] } } } diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Provider.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Provider.json index 21a14817cbab..f3bcd5fe5da5 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Provider.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/Provider.json @@ -388,21 +388,30 @@ "type": "array", "items": { "$ref": "#/definitions/StackMajorVersion" - } + }, + "x-ms-identifiers": [ + "runtimeVersion" + ] }, "frameworks": { "description": "List of frameworks associated with application stack.", "type": "array", "items": { "$ref": "#/definitions/ApplicationStack" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "isDeprecated": { "description": "true if this is the stack is deprecated; otherwise, false.", "type": "array", "items": { "$ref": "#/definitions/ApplicationStack" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -464,7 +473,10 @@ "items": { "$ref": "#/definitions/FunctionAppMinorVersion" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "value" + ] } } }, @@ -622,7 +634,10 @@ "items": { "$ref": "#/definitions/FunctionAppMajorVersion" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "value" + ] }, "preferredOs": { "description": "Function App stack preferred OS.", @@ -773,7 +788,10 @@ "type": "array", "items": { "$ref": "#/definitions/StackMinorVersion" - } + }, + "x-ms-identifiers": [ + "runtimeVersion" + ] }, "applicationInsights": { "description": "true if this supports Application Insights; otherwise, false.", @@ -849,7 +867,10 @@ "items": { "$ref": "#/definitions/WebAppMinorVersion" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "value" + ] } } }, @@ -991,7 +1012,10 @@ "items": { "$ref": "#/definitions/WebAppMajorVersion" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "value" + ] }, "preferredOs": { "description": "Web App stack preferred OS.", diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ResourceProvider.json index a2df7a1fed31..bc833fc86f44 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ResourceProvider.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/ResourceProvider.json @@ -860,14 +860,18 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment" - } + }, + "x-ms-identifiers": [] }, "hostingEnvironmentDeploymentInfos": { "description": "Available App Service Environments with basic information.", "type": "array", "items": { "$ref": "#/definitions/HostingEnvironmentDeploymentInfo" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -961,7 +965,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/Capability" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1146,7 +1153,10 @@ "type": "array", "items": { "$ref": "#/definitions/GlobalCsmSkuDescription" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/WebApps.json index bc1867636f03..715a793c7623 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2021-03-01/WebApps.json @@ -9858,6 +9858,52 @@ } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets site's Authentication / Authorization settings for apps via the V2 format", + "operationId": "WebApps_GetAuthSettingsV2WithoutSecretsSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the settings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteAuthSettingsV2" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, "put": { "tags": [ "WebApps" @@ -21788,7 +21834,10 @@ "items": { "$ref": "#/definitions/DatabaseBackupSetting" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] }, "scheduled": { "description": "True if this backup has been created due to a schedule being triggered.", @@ -21881,7 +21930,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatabaseBackupSetting" - } + }, + "x-ms-identifiers": [ + "name" + ] } }, "x-ms-client-flatten": true @@ -23364,7 +23416,10 @@ "type": "array", "items": { "$ref": "#/definitions/MSDeployCore" - } + }, + "x-ms-identifiers": [ + "packageUri" + ] } }, "x-ms-client-flatten": true @@ -23427,7 +23482,8 @@ "items": { "$ref": "#/definitions/MSDeployLogEntry" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [] } }, "x-ms-client-flatten": true @@ -23773,7 +23829,8 @@ "type": "array", "items": { "$ref": "#/definitions/PerfMonResponse" - } + }, + "x-ms-identifiers": [] }, "nextLink": { "description": "Link to next page of resources.", @@ -23847,7 +23904,8 @@ "type": "array", "items": { "$ref": "#/definitions/PerfMonSample" - } + }, + "x-ms-identifiers": [] } } }, @@ -23949,7 +24007,10 @@ "type": "array", "items": { "$ref": "#/definitions/PrivateAccessVirtualNetwork" - } + }, + "x-ms-identifiers": [ + "key" + ] } }, "x-ms-client-flatten": true @@ -23993,7 +24054,10 @@ "type": "array", "items": { "$ref": "#/definitions/PrivateAccessSubnet" - } + }, + "x-ms-identifiers": [ + "key" + ] } } }, @@ -24549,7 +24613,10 @@ "type": "array", "items": { "$ref": "#/definitions/DatabaseBackupSetting" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "ignoreConflictingHostNames": { "description": "Changes a logic when restoring an app with custom domains. true to remove custom domains automatically. If false, custom domains are added to \nthe app's object when it is being restored, but that might fail due to conflicts during the operation.", @@ -24866,21 +24933,30 @@ "type": "array", "items": { "$ref": "#/definitions/SiteCloneabilityCriterion" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "unsupportedFeatures": { "description": "List of features enabled on app that are non-blocking but cannot be cloned. The app can still be cloned\nbut the features in this list will not be set up on cloned app.", "type": "array", "items": { "$ref": "#/definitions/SiteCloneabilityCriterion" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "blockingCharacteristics": { "description": "List of blocking application characteristics.", "type": "array", "items": { "$ref": "#/definitions/SiteCloneabilityCriterion" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -25228,7 +25304,10 @@ "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/HostNameSslState" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "serverFarmId": { "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", @@ -25879,7 +25958,10 @@ "type": "array", "items": { "$ref": "#/definitions/TriggeredJobRun" - } + }, + "x-ms-identifiers": [ + "web_job_id" + ] } }, "x-ms-client-flatten": true diff --git a/specification/web/resource-manager/readme.python.md b/specification/web/resource-manager/readme.python.md index 800a64b7b773..b62d929cdcf2 100644 --- a/specification/web/resource-manager/readme.python.md +++ b/specification/web/resource-manager/readme.python.md @@ -40,7 +40,6 @@ batch: ``` yaml $(multiapiscript) output-folder: $(python-sdks-folder)/appservice/azure-mgmt-web/azure/mgmt/web/ -clear-output-folder: false perform-load: false ``` diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/stable/2021-10-01/webpubsub.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/stable/2021-10-01/webpubsub.json index dad3011b9e43..b04270021981 100644 --- a/specification/webpubsub/resource-manager/Microsoft.SignalRService/stable/2021-10-01/webpubsub.json +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/stable/2021-10-01/webpubsub.json @@ -1433,7 +1433,10 @@ "type": "array", "items": { "$ref": "#/definitions/LiveTraceCategory" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1537,7 +1540,10 @@ "type": "array", "items": { "$ref": "#/definitions/Dimension" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1653,7 +1659,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", @@ -1817,7 +1826,8 @@ "type": "array", "items": { "$ref": "#/definitions/ShareablePrivateLinkResourceType" - } + }, + "x-ms-identifiers": [] } } }, @@ -1934,7 +1944,10 @@ "type": "array", "items": { "$ref": "#/definitions/ResourceLogCategory" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -1991,14 +2004,21 @@ "type": "array", "items": { "$ref": "#/definitions/MetricSpecification" - } + }, + "x-ms-identifiers": [ + "name", + "unit" + ] }, "logSpecifications": { "description": "Specifications of the Logs for Azure Monitoring.", "type": "array", "items": { "$ref": "#/definitions/LogSpecification" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, @@ -2238,6 +2258,11 @@ "items": { "$ref": "#/definitions/Sku" }, + "x-ms-identifiers": [ + "resourceType", + "/sku/name", + "/sku/tier" + ], "readOnly": true }, "nextLink": { @@ -2361,7 +2386,10 @@ "type": "array", "items": { "$ref": "#/definitions/EventHandler" - } + }, + "x-ms-identifiers": [ + "urlTemplate" + ] }, "anonymousConnectPolicy": { "description": "The settings for configuring if anonymous connections are allowed for this hub: \"allow\" or \"deny\". Default to \"deny\".", @@ -2411,7 +2439,10 @@ "type": "array", "items": { "$ref": "#/definitions/PrivateEndpointACL" - } + }, + "x-ms-identifiers": [ + "name" + ] } } }, diff --git a/specification/webpubsub/resource-manager/readme.python.md b/specification/webpubsub/resource-manager/readme.python.md index 50cd164f28ef..711daf0194ed 100644 --- a/specification/webpubsub/resource-manager/readme.python.md +++ b/specification/webpubsub/resource-manager/readme.python.md @@ -4,8 +4,7 @@ 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) && $(track2) -python-mode: create +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION namespace: azure.mgmt.webpubsub @@ -13,13 +12,9 @@ package-name: azure-mgmt-webpubsub package-version: 0.1.0 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/webpubsub/azure-mgmt-webpubsub/azure/mgmt/webpubsub ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/webpubsub/azure-mgmt-webpubsub -``` diff --git a/specification/windowsiot/resource-manager/readme.md b/specification/windowsiot/resource-manager/readme.md index 312cb4936338..067bb897d43d 100644 --- a/specification/windowsiot/resource-manager/readme.md +++ b/specification/windowsiot/resource-manager/readme.md @@ -59,7 +59,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-powershell - repo: azure-sdk-for-net - - repo: azure-sdk-for-python + - repo: azure-sdk-for-python-track2 - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-go-track2 diff --git a/specification/windowsiot/resource-manager/readme.python.md b/specification/windowsiot/resource-manager/readme.python.md index 534f3b35f6c0..6e0a2c79e4d3 100644 --- a/specification/windowsiot/resource-manager/readme.python.md +++ b/specification/windowsiot/resource-manager/readme.python.md @@ -2,28 +2,17 @@ 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.windowsiot - package-name: azure-mgmt-windowsiot - package-version: 0.1.0 - clear-output-folder: true +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.windowsiot +package-name: azure-mgmt-windowsiot +package-version: 0.1.0 +clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/azure-mgmt-windowsiot/azure/mgmt/windowsiot -``` - -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/azure-mgmt-windowsiot +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/windowsiot/azure-mgmt-windowsiot/azure/mgmt/windowsiot ``` diff --git a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json index 8161165e45a8..e1ee1cd290bd 100644 --- a/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json +++ b/specification/workloadmonitor/resource-manager/Microsoft.WorkloadMonitor/preview/2020-01-13-preview/Microsoft.WorkloadMonitor.json @@ -632,7 +632,10 @@ "type": "array", "items": { "$ref": "#/definitions/Operation" - } + }, + "x-ms-identifiers": [ + "name" + ] }, "nextLink": { "description": "Link to next page if the list is too long.", @@ -715,7 +718,8 @@ "type": "array", "items": { "$ref": "#/definitions/ErrorDetails" - } + }, + "x-ms-identifiers": [] } } } diff --git a/specification/workloadmonitor/resource-manager/readme.python.md b/specification/workloadmonitor/resource-manager/readme.python.md index d214575e423e..758de3f2e1d0 100644 --- a/specification/workloadmonitor/resource-manager/readme.python.md +++ b/specification/workloadmonitor/resource-manager/readme.python.md @@ -7,21 +7,17 @@ Use `--python-mode=update` if you already have a setup.py and just want to updat These settings apply only when `--track2` is specified on the command line. -``` yaml $(track2) +``` yaml $(python) azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-workloadmonitor -no-namespace-folders: true +namespace: azure.mgmt.workloadmonitor package-version: 1.0.0b1 clear-output-folder: true ``` -``` yaml $(python) && $(python-mode) == 'update' && $(track2) +``` yaml $(python) no-namespace-folders: true output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor/azure/mgmt/workloadmonitor ``` -``` yaml $(python) && $(python-mode) == 'create' && $(track2) -basic-setup-py: true -output-folder: $(python-sdks-folder)/workloadmonitor/azure-mgmt-workloadmonitor -```